From 245bf2f2df8e6f892f2d1e5977f453053fd9958a Mon Sep 17 00:00:00 2001 From: Evan Kranzler Date: Thu, 7 Sep 2017 21:18:19 -0400 Subject: [PATCH] Refactored subtypes to enum --- .../src/mage/cards/a/AdmiralBeckettBrass.java | 4 +- Mage.Sets/src/mage/cards/a/Ambuscade.java | 162 +++---- .../src/mage/cards/a/AngrathsMarauders.java | 5 +- .../src/mage/cards/a/AphettoVulture.java | 4 +- .../src/mage/cards/a/AppealAuthority.java | 182 ++++---- .../mage/cards/b/BelligerentBrontodon.java | 2 +- .../src/mage/cards/b/BellowingAegisaur.java | 3 +- .../src/mage/cards/b/BishopOfRebirth.java | 5 +- .../src/mage/cards/b/BloodcrazedPaladin.java | 5 +- .../src/mage/cards/b/BloodletterQuill.java | 154 +++--- Mage.Sets/src/mage/cards/b/BlurOfBlades.java | 132 +++--- .../src/mage/cards/b/BreathstealersCrypt.java | 256 +++++----- .../src/mage/cards/b/BurningSunsAvatar.java | 5 +- Mage.Sets/src/mage/cards/c/C3POAndR2D2.java | 3 +- Mage.Sets/src/mage/cards/c/CabalArchon.java | 4 +- .../src/mage/cards/c/CabalExecutioner.java | 5 +- .../src/mage/cards/c/CabalInquisitor.java | 4 +- .../src/mage/cards/c/CabalInterrogator.java | 5 +- .../src/mage/cards/c/CabalPatriarch.java | 5 +- Mage.Sets/src/mage/cards/c/CabalSlaver.java | 4 +- Mage.Sets/src/mage/cards/c/CabalSurgeon.java | 5 +- Mage.Sets/src/mage/cards/c/CabalTorturer.java | 5 +- Mage.Sets/src/mage/cards/c/CabalTrainee.java | 5 +- Mage.Sets/src/mage/cards/c/CacheRaiders.java | 5 +- Mage.Sets/src/mage/cards/c/CacklingFiend.java | 3 +- Mage.Sets/src/mage/cards/c/CacklingImp.java | 3 +- Mage.Sets/src/mage/cards/c/CacklingWitch.java | 5 +- Mage.Sets/src/mage/cards/c/CadaverImp.java | 3 +- .../src/mage/cards/c/CadaverousKnight.java | 5 +- Mage.Sets/src/mage/cards/c/CageOfHands.java | 3 +- Mage.Sets/src/mage/cards/c/Cagemail.java | 2 +- Mage.Sets/src/mage/cards/c/CairnWanderer.java | 2 +- Mage.Sets/src/mage/cards/c/Calciderm.java | 3 +- .../src/mage/cards/c/CalciteSnapper.java | 3 +- .../src/mage/cards/c/CalderaHellion.java | 3 +- Mage.Sets/src/mage/cards/c/CalderaKavu.java | 3 +- Mage.Sets/src/mage/cards/c/CallForBlood.java | 3 +- .../src/mage/cards/c/CallOfTheFullMoon.java | 2 +- Mage.Sets/src/mage/cards/c/CallToServe.java | 2 +- .../src/mage/cards/c/CallToTheKindred.java | 2 +- Mage.Sets/src/mage/cards/c/CallerOfGales.java | 5 +- .../src/mage/cards/c/CallerOfTheClaw.java | 3 +- .../src/mage/cards/c/CallerOfTheHunt.java | 304 ++++++------ .../src/mage/cards/c/CallerOfThePack.java | 3 +- .../src/mage/cards/c/CallousDeceiver.java | 3 +- Mage.Sets/src/mage/cards/c/CallousGiant.java | 3 +- Mage.Sets/src/mage/cards/c/CallowJushi.java | 7 +- Mage.Sets/src/mage/cards/c/CalmingLicid.java | 3 +- Mage.Sets/src/mage/cards/c/CanalCourier.java | 5 +- .../src/mage/cards/c/CankerAbomination.java | 5 +- Mage.Sets/src/mage/cards/c/CanopyCover.java | 2 +- Mage.Sets/src/mage/cards/c/CanopyCrawler.java | 3 +- Mage.Sets/src/mage/cards/c/CanopyDragon.java | 3 +- Mage.Sets/src/mage/cards/c/CanopyGorger.java | 3 +- Mage.Sets/src/mage/cards/c/CanopySpider.java | 3 +- Mage.Sets/src/mage/cards/c/CanopyVista.java | 5 +- Mage.Sets/src/mage/cards/c/CantinaBand.java | 3 +- Mage.Sets/src/mage/cards/c/Cantivore.java | 3 +- Mage.Sets/src/mage/cards/c/CanyonDrake.java | 3 +- Mage.Sets/src/mage/cards/c/CanyonLurkers.java | 5 +- .../src/mage/cards/c/CanyonMinotaur.java | 5 +- Mage.Sets/src/mage/cards/c/CanyonSlough.java | 5 +- Mage.Sets/src/mage/cards/c/CanyonWildcat.java | 3 +- .../src/mage/cards/c/CaoCaoLordOfWei.java | 5 +- .../src/mage/cards/c/CaoRenWeiCommander.java | 7 +- .../src/mage/cards/c/CapashenKnight.java | 5 +- .../src/mage/cards/c/CapashenStandard.java | 3 +- .../src/mage/cards/c/CapashenTemplar.java | 5 +- .../src/mage/cards/c/CapashenUnicorn.java | 3 +- .../src/mage/cards/c/CapriciousEfreet.java | 3 +- .../src/mage/cards/c/CapriciousSorcerer.java | 5 +- .../src/mage/cards/c/CaptainLanneryStorm.java | 4 +- .../src/mage/cards/c/CaptainOfTheMists.java | 4 +- .../src/mage/cards/c/CaptainOfTheWatch.java | 4 +- Mage.Sets/src/mage/cards/c/CaptainSisay.java | 5 +- Mage.Sets/src/mage/cards/c/CaptainsClaws.java | 3 +- .../src/mage/cards/c/CaptivatingGlance.java | 3 +- .../src/mage/cards/c/CaptivatingVampire.java | 2 +- .../mage/cards/c/CapturedByTheConsulate.java | 2 +- Mage.Sets/src/mage/cards/c/Carapace.java | 2 +- .../src/mage/cards/c/CarapaceForger.java | 5 +- Mage.Sets/src/mage/cards/c/CaravanEscort.java | 5 +- Mage.Sets/src/mage/cards/c/CaravanHurda.java | 3 +- .../src/mage/cards/c/CarboniteChamber.java | 3 +- Mage.Sets/src/mage/cards/c/Caregiver.java | 5 +- Mage.Sets/src/mage/cards/c/CaribouRange.java | 2 +- .../src/mage/cards/c/CarnageGladiator.java | 5 +- Mage.Sets/src/mage/cards/c/CarnageTyrant.java | 3 +- Mage.Sets/src/mage/cards/c/CarnageWurm.java | 3 +- Mage.Sets/src/mage/cards/c/Carnassid.java | 3 +- Mage.Sets/src/mage/cards/c/CarnifexDemon.java | 3 +- .../src/mage/cards/c/CarnivalHellsteed.java | 5 +- .../mage/cards/c/CarnivorousMossBeast.java | 7 +- .../src/mage/cards/c/CarnivorousPlant.java | 5 +- Mage.Sets/src/mage/cards/c/Carnophage.java | 3 +- .../src/mage/cards/c/CarrierPigeons.java | 3 +- Mage.Sets/src/mage/cards/c/CarrierThrall.java | 3 +- Mage.Sets/src/mage/cards/c/CarrionAnts.java | 3 +- .../src/mage/cards/c/CarrionBeetles.java | 3 +- Mage.Sets/src/mage/cards/c/CarrionCrow.java | 5 +- Mage.Sets/src/mage/cards/c/CarrionFeeder.java | 3 +- Mage.Sets/src/mage/cards/c/CarrionHowler.java | 5 +- .../src/mage/cards/c/CarrionScreecher.java | 5 +- Mage.Sets/src/mage/cards/c/CarrionThrash.java | 5 +- Mage.Sets/src/mage/cards/c/CarrionWall.java | 3 +- Mage.Sets/src/mage/cards/c/CarryAway.java | 3 +- .../src/mage/cards/c/CartelAristocrat.java | 5 +- Mage.Sets/src/mage/cards/c/Cartographer.java | 3 +- .../src/mage/cards/c/CarvenCaryatid.java | 3 +- .../src/mage/cards/c/CastIntoDarkness.java | 2 +- .../src/mage/cards/c/CastawaysDespair.java | 3 +- Mage.Sets/src/mage/cards/c/CastleRaptors.java | 5 +- Mage.Sets/src/mage/cards/c/CatBurglar.java | 7 +- Mage.Sets/src/mage/cards/c/CatWarriors.java | 5 +- .../src/mage/cards/c/CataclysmicGearhulk.java | 3 +- .../src/mage/cards/c/CatacombSifter.java | 5 +- Mage.Sets/src/mage/cards/c/CatacombSlug.java | 3 +- .../src/mage/cards/c/CatapultMaster.java | 4 +- Mage.Sets/src/mage/cards/c/CatapultSquad.java | 4 +- Mage.Sets/src/mage/cards/c/CateranBrute.java | 4 +- .../src/mage/cards/c/CateranEnforcer.java | 4 +- .../src/mage/cards/c/CateranKidnappers.java | 4 +- .../src/mage/cards/c/CateranOverlord.java | 4 +- .../src/mage/cards/c/CateranPersuader.java | 4 +- Mage.Sets/src/mage/cards/c/CateranSlaver.java | 4 +- .../src/mage/cards/c/CaterwaulingBoggart.java | 4 +- .../src/mage/cards/c/CatharsCompanion.java | 3 +- Mage.Sets/src/mage/cards/c/CatharsShield.java | 3 +- .../src/mage/cards/c/CatharticAdept.java | 5 +- .../src/mage/cards/c/CathedralMembrane.java | 2 +- .../src/mage/cards/c/CathedralSanctifier.java | 5 +- Mage.Sets/src/mage/cards/c/Cathodion.java | 3 +- .../src/mage/cards/c/CaughtInTheBrights.java | 2 +- .../src/mage/cards/c/CausticCaterpillar.java | 3 +- .../src/mage/cards/c/CausticCrawler.java | 3 +- Mage.Sets/src/mage/cards/c/CausticHound.java | 3 +- Mage.Sets/src/mage/cards/c/CausticTar.java | 2 +- Mage.Sets/src/mage/cards/c/CausticWasps.java | 3 +- Mage.Sets/src/mage/cards/c/CauterySliver.java | 2 +- Mage.Sets/src/mage/cards/c/CavalryMaster.java | 5 +- .../src/mage/cards/c/CavalryPegasus.java | 2 +- Mage.Sets/src/mage/cards/c/CavePeople.java | 3 +- Mage.Sets/src/mage/cards/c/CaveSense.java | 3 +- Mage.Sets/src/mage/cards/c/CaveTiger.java | 3 +- Mage.Sets/src/mage/cards/c/CavernCrawler.java | 3 +- Mage.Sets/src/mage/cards/c/CavernHarpy.java | 5 +- Mage.Sets/src/mage/cards/c/CavernLampad.java | 3 +- Mage.Sets/src/mage/cards/c/CavernThoctar.java | 3 +- .../src/mage/cards/c/CeaselessSearblades.java | 4 +- .../src/mage/cards/c/CelestialAncient.java | 3 +- .../src/mage/cards/c/CelestialArchon.java | 3 +- .../src/mage/cards/c/CelestialColonnade.java | 3 +- .../mage/cards/c/CelestialConvergence.java | 290 ++++++------ .../src/mage/cards/c/CelestialCrusader.java | 3 +- .../src/mage/cards/c/CelestialForce.java | 3 +- .../src/mage/cards/c/CelestialKirin.java | 4 +- .../src/mage/cards/c/CelestialMantle.java | 3 +- Mage.Sets/src/mage/cards/c/CemeteryGate.java | 3 +- Mage.Sets/src/mage/cards/c/CemeteryPuca.java | 3 +- .../src/mage/cards/c/CemeteryReaper.java | 2 +- Mage.Sets/src/mage/cards/c/CennsHeir.java | 4 +- .../src/mage/cards/c/CennsTactician.java | 4 +- Mage.Sets/src/mage/cards/c/CentaurArcher.java | 5 +- .../src/mage/cards/c/CentaurBattlemaster.java | 5 +- .../src/mage/cards/c/CentaurChieftain.java | 3 +- .../src/mage/cards/c/CentaurCourser.java | 5 +- Mage.Sets/src/mage/cards/c/CentaurHealer.java | 5 +- .../src/mage/cards/c/CentaurOmenreader.java | 5 +- .../src/mage/cards/c/CentaurRootcaster.java | 5 +- .../src/mage/cards/c/CentaurSafeguard.java | 5 +- .../src/mage/cards/c/CentaurVeteran.java | 3 +- .../src/mage/cards/c/CentaurVinecrasher.java | 5 +- .../src/mage/cards/c/CentaursHerald.java | 5 +- .../src/mage/cards/c/CephalidAristocrat.java | 3 +- .../src/mage/cards/c/CephalidBroker.java | 3 +- .../src/mage/cards/c/CephalidConstable.java | 5 +- .../src/mage/cards/c/CephalidIllusionist.java | 5 +- .../src/mage/cards/c/CephalidInkshrouder.java | 3 +- .../src/mage/cards/c/CephalidLooter.java | 5 +- .../src/mage/cards/c/CephalidPathmage.java | 5 +- .../src/mage/cards/c/CephalidRetainer.java | 3 +- Mage.Sets/src/mage/cards/c/CephalidSage.java | 3 +- Mage.Sets/src/mage/cards/c/CephalidScout.java | 7 +- .../src/mage/cards/c/CephalidVandal.java | 5 +- .../src/mage/cards/c/CeremonialGuard.java | 5 +- .../src/mage/cards/c/CerodonYearling.java | 3 +- .../src/mage/cards/c/CeruleanSphinx.java | 3 +- .../src/mage/cards/c/CeruleanWyvern.java | 3 +- Mage.Sets/src/mage/cards/c/Cessation.java | 3 +- Mage.Sets/src/mage/cards/c/CetaDisciple.java | 5 +- Mage.Sets/src/mage/cards/c/Cetavolver.java | 3 +- Mage.Sets/src/mage/cards/c/Chainbreaker.java | 3 +- .../src/mage/cards/c/ChainedThroatseeker.java | 3 +- .../src/mage/cards/c/ChainedToTheRocks.java | 2 +- .../mage/cards/c/ChainerDementiaMaster.java | 4 +- Mage.Sets/src/mage/cards/c/Chainflinger.java | 3 +- .../mage/cards/c/ChamberOfManipulation.java | 2 +- .../src/mage/cards/c/ChamberedNautilus.java | 5 +- .../src/mage/cards/c/ChameleonColossus.java | 3 +- .../src/mage/cards/c/ChampionOfArashin.java | 5 +- .../src/mage/cards/c/ChampionOfLambholt.java | 5 +- .../src/mage/cards/c/ChampionOfRhonas.java | 5 +- .../mage/cards/c/ChampionOfStraySouls.java | 5 +- .../src/mage/cards/c/ChampionOfTheParish.java | 4 +- .../src/mage/cards/c/ChampionOfWits.java | 5 +- .../src/mage/cards/c/ChampionsDrake.java | 3 +- Mage.Sets/src/mage/cards/c/ChampionsHelm.java | 2 +- .../mage/cards/c/ChancellorOfTheAnnex.java | 3 +- .../mage/cards/c/ChancellorOfTheDross.java | 3 +- .../mage/cards/c/ChancellorOfTheForge.java | 3 +- .../mage/cards/c/ChancellorOfTheSpires.java | 3 +- .../mage/cards/c/ChancellorOfTheTangle.java | 3 +- Mage.Sets/src/mage/cards/c/Chandler.java | 5 +- Mage.Sets/src/mage/cards/c/ChandraAblaze.java | 3 +- .../mage/cards/c/ChandraFireOfKaladesh.java | 5 +- .../src/mage/cards/c/ChandraFlamecaller.java | 3 +- Mage.Sets/src/mage/cards/c/ChandraNalaar.java | 3 +- .../src/mage/cards/c/ChandraPyrogenius.java | 3 +- .../src/mage/cards/c/ChandraPyromaster.java | 2 +- .../src/mage/cards/c/ChandraRoaringFlame.java | 3 +- .../src/mage/cards/c/ChandraTheFirebrand.java | 3 +- .../mage/cards/c/ChandraTorchOfDefiance.java | 3 +- .../src/mage/cards/c/ChandrasPhoenix.java | 3 +- .../src/mage/cards/c/ChandrasSpitfire.java | 3 +- .../src/mage/cards/c/ChangelingBerserker.java | 3 +- .../src/mage/cards/c/ChangelingHero.java | 3 +- .../src/mage/cards/c/ChangelingSentinel.java | 3 +- .../src/mage/cards/c/ChangelingTitan.java | 3 +- .../src/mage/cards/c/ChannelerInitiate.java | 5 +- .../src/mage/cards/c/ChantOfTheSkifsang.java | 3 +- .../src/mage/cards/c/ChantOfVituGhazi.java | 196 ++++---- Mage.Sets/src/mage/cards/c/ChaosImps.java | 3 +- Mage.Sets/src/mage/cards/c/ChaosMaw.java | 3 +- Mage.Sets/src/mage/cards/c/Chaosphere.java | 234 +++++----- Mage.Sets/src/mage/cards/c/ChaoticGoo.java | 3 +- Mage.Sets/src/mage/cards/c/ChapelGeist.java | 3 +- Mage.Sets/src/mage/cards/c/CharRumbler.java | 3 +- .../mage/cards/c/ChargeAcrossTheAraba.java | 2 +- .../src/mage/cards/c/ChargingBadger.java | 3 +- .../src/mage/cards/c/ChargingBandits.java | 5 +- .../src/mage/cards/c/ChargingCinderhorn.java | 5 +- .../src/mage/cards/c/ChargingGriffin.java | 3 +- .../src/mage/cards/c/ChargingPaladin.java | 5 +- Mage.Sets/src/mage/cards/c/ChargingRhino.java | 3 +- .../src/mage/cards/c/ChargingSlateback.java | 3 +- Mage.Sets/src/mage/cards/c/ChargingTroll.java | 3 +- .../src/mage/cards/c/ChariotOfVictory.java | 3 +- Mage.Sets/src/mage/cards/c/Charisma.java | 3 +- .../src/mage/cards/c/CharmbreakerDevils.java | 3 +- .../src/mage/cards/c/CharmedGriffin.java | 3 +- .../src/mage/cards/c/CharnelhoardWurm.java | 3 +- .../src/mage/cards/c/ChartoothCougar.java | 5 +- Mage.Sets/src/mage/cards/c/ChasmDrake.java | 3 +- Mage.Sets/src/mage/cards/c/ChasmGuide.java | 7 +- Mage.Sets/src/mage/cards/c/ChasmSkulker.java | 5 +- Mage.Sets/src/mage/cards/c/Chewbacca.java | 5 +- Mage.Sets/src/mage/cards/c/ChiefChirpa.java | 4 +- Mage.Sets/src/mage/cards/c/ChiefEngineer.java | 5 +- .../src/mage/cards/c/ChiefOfTheEdge.java | 4 +- .../src/mage/cards/c/ChiefOfTheFoundry.java | 3 +- .../src/mage/cards/c/ChiefOfTheScale.java | 4 +- .../src/mage/cards/c/ChieftainEnDal.java | 5 +- Mage.Sets/src/mage/cards/c/ChildOfAlara.java | 3 +- Mage.Sets/src/mage/cards/c/ChildOfGaea.java | 3 +- Mage.Sets/src/mage/cards/c/ChildOfNight.java | 3 +- Mage.Sets/src/mage/cards/c/ChildOfThorns.java | 3 +- .../src/mage/cards/c/ChildhoodHorror.java | 3 +- .../src/mage/cards/c/ChildrenOfKorlis.java | 7 +- .../src/mage/cards/c/ChillingApparition.java | 3 +- Mage.Sets/src/mage/cards/c/ChillingShade.java | 3 +- Mage.Sets/src/mage/cards/c/ChimeOfNight.java | 3 +- Mage.Sets/src/mage/cards/c/ChimericEgg.java | 3 +- Mage.Sets/src/mage/cards/c/ChimericIdol.java | 3 +- Mage.Sets/src/mage/cards/c/ChimericMass.java | 3 +- Mage.Sets/src/mage/cards/c/ChimneyImp.java | 3 +- .../src/mage/cards/c/ChiseiHeartOfOceans.java | 3 +- .../src/mage/cards/c/ChitinousCloak.java | 3 +- .../src/mage/cards/c/ChitteringHost.java | 5 +- .../src/mage/cards/c/ChitteringRats.java | 3 +- Mage.Sets/src/mage/cards/c/Chlorophant.java | 2 +- .../src/mage/cards/c/ChoArrimAlchemist.java | 5 +- .../src/mage/cards/c/ChoArrimBruiser.java | 5 +- .../src/mage/cards/c/ChoArrimLegate.java | 4 +- .../mage/cards/c/ChoMannoRevolutionary.java | 5 +- .../src/mage/cards/c/ChoMannosBlessing.java | 3 +- .../src/mage/cards/c/ChoiceOfDamnations.java | 3 +- .../src/mage/cards/c/ChokingRestraints.java | 3 +- .../src/mage/cards/c/ChorusOfTheConclave.java | 2 +- .../src/mage/cards/c/ChorusOfTheTides.java | 3 +- .../src/mage/cards/c/ChosenByHeliod.java | 3 +- .../src/mage/cards/c/ChosenOfMarkov.java | 2 +- Mage.Sets/src/mage/cards/c/Chromanticore.java | 3 +- Mage.Sets/src/mage/cards/c/ChromeSteed.java | 3 +- .../src/mage/cards/c/ChromescaleDrake.java | 3 +- .../src/mage/cards/c/ChromeshellCrab.java | 5 +- Mage.Sets/src/mage/cards/c/Chromium.java | 5 +- Mage.Sets/src/mage/cards/c/Chronatog.java | 3 +- .../src/mage/cards/c/ChronatogTotem.java | 3 +- .../src/mage/cards/c/ChronicFlooding.java | 3 +- .../src/mage/cards/c/ChroniclerOfHeroes.java | 5 +- Mage.Sets/src/mage/cards/c/Chronomaton.java | 3 +- Mage.Sets/src/mage/cards/c/Chronosavant.java | 3 +- Mage.Sets/src/mage/cards/c/Chronozoa.java | 3 +- Mage.Sets/src/mage/cards/c/ChubToad.java | 3 +- .../src/mage/cards/c/CinderElemental.java | 3 +- Mage.Sets/src/mage/cards/c/CinderGiant.java | 3 +- Mage.Sets/src/mage/cards/c/CinderGlade.java | 5 +- Mage.Sets/src/mage/cards/c/CinderHellion.java | 3 +- .../src/mage/cards/c/CinderPyromancer.java | 5 +- Mage.Sets/src/mage/cards/c/CinderShade.java | 3 +- Mage.Sets/src/mage/cards/c/CinderWall.java | 3 +- Mage.Sets/src/mage/cards/c/Cinderbones.java | 5 +- .../src/mage/cards/c/CinderhazeWretch.java | 5 +- .../src/mage/cards/c/CircleOfElders.java | 5 +- .../mage/cards/c/CircuDimirLobotomist.java | 359 +++++++------- .../src/mage/cards/c/CitadelCastellan.java | 5 +- .../src/mage/cards/c/CitanulCentaurs.java | 3 +- Mage.Sets/src/mage/cards/c/CitanulDruid.java | 5 +- .../src/mage/cards/c/CitanulHierophants.java | 5 +- .../src/mage/cards/c/CitanulWoodreaders.java | 5 +- .../src/mage/cards/c/CivicGuildmage.java | 5 +- Mage.Sets/src/mage/cards/c/CivicSaber.java | 3 +- .../src/mage/cards/c/CivicWayfinder.java | 7 +- .../src/mage/cards/c/CivilizedScholar.java | 5 +- Mage.Sets/src/mage/cards/c/ClaimFame.java | 176 +++---- Mage.Sets/src/mage/cards/c/ClaimOfErebos.java | 2 +- .../src/mage/cards/c/Claustrophobia.java | 3 +- .../src/mage/cards/c/ClawsOfValakut.java | 2 +- Mage.Sets/src/mage/cards/c/ClayStatue.java | 3 +- Mage.Sets/src/mage/cards/c/Cleanfall.java | 3 +- Mage.Sets/src/mage/cards/c/ClergyEnVec.java | 5 +- .../mage/cards/c/ClergyOfTheHolyNimbus.java | 5 +- .../mage/cards/c/ClericOfTheForwardOrder.java | 5 +- .../src/mage/cards/c/CleverImpersonator.java | 3 +- Mage.Sets/src/mage/cards/c/Clickslither.java | 2 +- Mage.Sets/src/mage/cards/c/CliffThreader.java | 5 +- .../src/mage/cards/c/CliffhavenVampire.java | 7 +- .../src/mage/cards/c/CliffrunnerBehemoth.java | 5 +- .../src/mage/cards/c/CliffsideLookout.java | 7 +- .../src/mage/cards/c/ClingingAnemones.java | 3 +- .../src/mage/cards/c/ClingingDarkness.java | 3 +- .../src/mage/cards/c/CloakAndDagger.java | 4 +- .../src/mage/cards/c/CloakOfInvisibility.java | 2 +- Mage.Sets/src/mage/cards/c/CloakOfMists.java | 3 +- Mage.Sets/src/mage/cards/c/CloakedSiren.java | 3 +- .../src/mage/cards/c/CloakingDevice.java | 3 +- .../src/mage/cards/c/ClockworkAvian.java | 3 +- .../src/mage/cards/c/ClockworkBeast.java | 3 +- .../src/mage/cards/c/ClockworkBeetle.java | 3 +- .../src/mage/cards/c/ClockworkCondor.java | 3 +- .../src/mage/cards/c/ClockworkDragon.java | 3 +- .../src/mage/cards/c/ClockworkGnomes.java | 3 +- .../src/mage/cards/c/ClockworkHydra.java | 3 +- .../src/mage/cards/c/ClockworkVorrac.java | 5 +- .../src/mage/cards/c/CloisteredYouth.java | 3 +- Mage.Sets/src/mage/cards/c/Clone.java | 3 +- Mage.Sets/src/mage/cards/c/CloneShell.java | 3 +- Mage.Sets/src/mage/cards/c/ClotSliver.java | 2 +- Mage.Sets/src/mage/cards/c/CloudCrusader.java | 5 +- Mage.Sets/src/mage/cards/c/CloudDjinn.java | 3 +- Mage.Sets/src/mage/cards/c/CloudDragon.java | 5 +- .../src/mage/cards/c/CloudElemental.java | 3 +- Mage.Sets/src/mage/cards/c/CloudManta.java | 3 +- .../src/mage/cards/c/CloudOfFaeries.java | 3 +- Mage.Sets/src/mage/cards/c/CloudPirates.java | 5 +- Mage.Sets/src/mage/cards/c/CloudSpirit.java | 3 +- Mage.Sets/src/mage/cards/c/CloudSprite.java | 3 +- Mage.Sets/src/mage/cards/c/Cloudblazer.java | 5 +- .../src/mage/cards/c/CloudchaserEagle.java | 3 +- .../src/mage/cards/c/CloudchaserKestrel.java | 3 +- Mage.Sets/src/mage/cards/c/CloudcrownOak.java | 5 +- .../src/mage/cards/c/CloudfinRaptor.java | 5 +- .../src/mage/cards/c/CloudgoatRanger.java | 4 +- .../src/mage/cards/c/CloudheathDrake.java | 3 +- .../src/mage/cards/c/CloudhoofKirin.java | 5 +- .../src/mage/cards/c/CloudreachCavalry.java | 4 +- Mage.Sets/src/mage/cards/c/Cloudseeder.java | 5 +- Mage.Sets/src/mage/cards/c/Cloudskate.java | 3 +- Mage.Sets/src/mage/cards/c/Cloudthresher.java | 3 +- .../src/mage/cards/c/CloutOfTheDominus.java | 3 +- .../src/mage/cards/c/ClutchOfUndeath.java | 2 +- Mage.Sets/src/mage/cards/c/CoalGolem.java | 3 +- Mage.Sets/src/mage/cards/c/CoalStoker.java | 3 +- .../src/mage/cards/c/CoalhaulerSwine.java | 5 +- .../src/mage/cards/c/CoalitionHonorGuard.java | 4 +- Mage.Sets/src/mage/cards/c/CoastWatcher.java | 5 +- Mage.Sets/src/mage/cards/c/CoastalDrake.java | 2 +- .../src/mage/cards/c/CoastalHornclaw.java | 3 +- Mage.Sets/src/mage/cards/c/CoastalWizard.java | 5 +- .../src/mage/cards/c/CoastlineChimera.java | 3 +- Mage.Sets/src/mage/cards/c/CobaltGolem.java | 3 +- Mage.Sets/src/mage/cards/c/Cobblebrute.java | 3 +- Mage.Sets/src/mage/cards/c/CobbledWings.java | 3 +- Mage.Sets/src/mage/cards/c/Cockatrice.java | 2 +- Mage.Sets/src/mage/cards/c/CoffinPuppets.java | 2 +- Mage.Sets/src/mage/cards/c/CoffinQueen.java | 5 +- Mage.Sets/src/mage/cards/c/Cognivore.java | 3 +- .../src/mage/cards/c/CogworkAssembler.java | 3 +- .../src/mage/cards/c/CoiledTinviper.java | 3 +- Mage.Sets/src/mage/cards/c/CoilingOracle.java | 7 +- .../src/mage/cards/c/CoilingWoodworm.java | 4 +- .../src/mage/cards/c/ColdEyedSelkie.java | 5 +- Mage.Sets/src/mage/cards/c/ColfenorsUrn.java | 276 +++++------ Mage.Sets/src/mage/cards/c/ColosYearling.java | 5 +- Mage.Sets/src/mage/cards/c/ColossalWhale.java | 3 +- Mage.Sets/src/mage/cards/c/Colossapede.java | 3 +- .../src/mage/cards/c/ColossodonYearling.java | 3 +- .../src/mage/cards/c/ColossusOfAkros.java | 3 +- .../src/mage/cards/c/ColossusOfSardia.java | 3 +- Mage.Sets/src/mage/cards/c/ComaVeil.java | 3 +- .../src/mage/cards/c/CombatCelebrant.java | 5 +- Mage.Sets/src/mage/cards/c/CombatMedic.java | 7 +- .../src/mage/cards/c/CombustibleGearhulk.java | 3 +- Mage.Sets/src/mage/cards/c/CommanderCody.java | 4 +- .../src/mage/cards/c/CommanderEesha.java | 5 +- .../mage/cards/c/CommanderGrevenIlVec.java | 5 +- .../src/mage/cards/c/CommandersAuthority.java | 2 +- .../mage/cards/c/CompanionOfTheTrials.java | 4 +- .../src/mage/cards/c/ComplexAutomaton.java | 3 +- .../src/mage/cards/c/CompositeGolem.java | 3 +- .../src/mage/cards/c/CompulsoryRest.java | 3 +- .../src/mage/cards/c/ConclaveEquenaut.java | 5 +- .../src/mage/cards/c/ConclaveNaturalists.java | 3 +- .../src/mage/cards/c/ConclavePhalanx.java | 5 +- .../src/mage/cards/c/ConclavesBlessing.java | 3 +- .../src/mage/cards/c/ConcordiaPegasus.java | 3 +- .../src/mage/cards/c/ConduitOfEmrakul.java | 5 +- Mage.Sets/src/mage/cards/c/ConduitOfRuin.java | 3 +- .../src/mage/cards/c/ConduitOfStorms.java | 5 +- Mage.Sets/src/mage/cards/c/Confessor.java | 5 +- Mage.Sets/src/mage/cards/c/Confiscate.java | 3 +- .../src/mage/cards/c/ConiferStrider.java | 3 +- Mage.Sets/src/mage/cards/c/Conquer.java | 3 +- .../src/mage/cards/c/ConqueringManticore.java | 3 +- .../src/mage/cards/c/ConquerorsFlail.java | 3 +- .../src/mage/cards/c/ConquerorsGalleon.java | 3 +- .../src/mage/cards/c/ConsecrateLand.java | 2 +- .../src/mage/cards/c/ConsecratedByBlood.java | 2 +- .../src/mage/cards/c/ConsecratedSphinx.java | 3 +- .../src/mage/cards/c/ConsignOblivion.java | 144 +++--- .../src/mage/cards/c/ConstrictingSliver.java | 2 +- .../src/mage/cards/c/ConsulateSkygate.java | 3 +- .../src/mage/cards/c/ConsulsLieutenant.java | 5 +- .../src/mage/cards/c/ConsulsShieldguard.java | 5 +- .../src/mage/cards/c/ConsumingAberration.java | 3 +- .../src/mage/cards/c/ConsumingBonfire.java | 2 +- .../src/mage/cards/c/ConsumingFerocity.java | 2 +- .../src/mage/cards/c/ConsumingFervor.java | 3 +- .../src/mage/cards/c/ConsumingVortex.java | 3 +- .../src/mage/cards/c/ConsumptiveGoo.java | 3 +- Mage.Sets/src/mage/cards/c/ContagiousNim.java | 3 +- .../src/mage/cards/c/ContainmentMembrane.java | 3 +- .../src/mage/cards/c/ContainmentPriest.java | 5 +- .../src/mage/cards/c/ContaminatedBond.java | 3 +- .../src/mage/cards/c/ContaminatedGround.java | 2 +- .../src/mage/cards/c/ContrabandKingpin.java | 5 +- Mage.Sets/src/mage/cards/c/ControlMagic.java | 3 +- .../src/mage/cards/c/ControlledInstincts.java | 3 +- .../src/mage/cards/c/ConvictedKiller.java | 5 +- Mage.Sets/src/mage/cards/c/Conviction.java | 3 +- .../src/mage/cards/c/ConvincingMirage.java | 2 +- .../src/mage/cards/c/ConvulsingLicid.java | 3 +- .../src/mage/cards/c/CopperCarapace.java | 3 +- Mage.Sets/src/mage/cards/c/CopperGnomes.java | 3 +- .../src/mage/cards/c/CopperLeafAngel.java | 3 +- Mage.Sets/src/mage/cards/c/CopperMyr.java | 3 +- .../src/mage/cards/c/CopperhoofVorrac.java | 5 +- .../src/mage/cards/c/CopperhornScout.java | 5 +- Mage.Sets/src/mage/cards/c/CoralBarrier.java | 3 +- Mage.Sets/src/mage/cards/c/CoralEel.java | 3 +- Mage.Sets/src/mage/cards/c/CoralFighters.java | 5 +- Mage.Sets/src/mage/cards/c/CoralMerfolk.java | 3 +- Mage.Sets/src/mage/cards/c/CoralNet.java | 2 +- .../src/mage/cards/c/CoralTrickster.java | 5 +- .../src/mage/cards/c/CoralhelmCommander.java | 4 +- .../src/mage/cards/c/CoralhelmGuide.java | 7 +- Mage.Sets/src/mage/cards/c/CoreProwler.java | 3 +- .../src/mage/cards/c/CorellianCorvette.java | 3 +- Mage.Sets/src/mage/cards/c/Coretapper.java | 3 +- Mage.Sets/src/mage/cards/c/CorpseAugur.java | 5 +- .../src/mage/cards/c/CorpseBlockade.java | 3 +- .../src/mage/cards/c/CorpseConnoisseur.java | 5 +- Mage.Sets/src/mage/cards/c/CorpseCur.java | 3 +- .../src/mage/cards/c/CorpseHarvester.java | 4 +- Mage.Sets/src/mage/cards/c/CorpseHauler.java | 5 +- Mage.Sets/src/mage/cards/c/CorpseTraders.java | 5 +- .../src/mage/cards/c/CorpsejackMenace.java | 3 +- .../src/mage/cards/c/CorpulentCorpse.java | 3 +- .../src/mage/cards/c/CorrosiveMentor.java | 5 +- .../mage/cards/c/CorruptCourtOfficial.java | 5 +- .../src/mage/cards/c/CorruptEunuchs.java | 5 +- .../src/mage/cards/c/CorruptOfficial.java | 5 +- .../src/mage/cards/c/CorruptedConscience.java | 3 +- .../src/mage/cards/c/CorruptedHarvester.java | 3 +- .../src/mage/cards/c/CorruptedRoots.java | 2 +- .../src/mage/cards/c/CorruptedZendikon.java | 5 +- .../src/mage/cards/c/CorruptingLicid.java | 3 +- Mage.Sets/src/mage/cards/c/CosisRavager.java | 3 +- .../src/mage/cards/c/CosisTrickster.java | 5 +- Mage.Sets/src/mage/cards/c/CosmicHorror.java | 3 +- Mage.Sets/src/mage/cards/c/CosmicLarva.java | 3 +- .../src/mage/cards/c/CouncilGuardian.java | 5 +- .../src/mage/cards/c/CouncilOfAdvisors.java | 5 +- .../mage/cards/c/CouncilOfTheAbsolute.java | 4 +- .../src/mage/cards/c/CountervailingWinds.java | 138 +++--- .../mage/cards/c/CountlessGearsRenegade.java | 5 +- .../src/mage/cards/c/CountrysideCrusher.java | 5 +- .../src/mage/cards/c/CourageousOutrider.java | 4 +- .../src/mage/cards/c/CourierGriffin.java | 3 +- Mage.Sets/src/mage/cards/c/CourierHawk.java | 3 +- .../src/mage/cards/c/CourserOfKruphix.java | 3 +- Mage.Sets/src/mage/cards/c/CourtArchers.java | 5 +- .../src/mage/cards/c/CourtHomunculus.java | 3 +- Mage.Sets/src/mage/cards/c/CourtHussar.java | 5 +- .../src/mage/cards/c/CourtStreetDenizen.java | 5 +- .../src/mage/cards/c/CourtlyProvocateur.java | 5 +- .../src/mage/cards/c/CovertOperative.java | 5 +- .../src/mage/cards/c/CovetedPeacock.java | 3 +- .../src/mage/cards/c/CovetousDragon.java | 3 +- Mage.Sets/src/mage/cards/c/CowedByWisdom.java | 3 +- Mage.Sets/src/mage/cards/c/CowlProwler.java | 3 +- Mage.Sets/src/mage/cards/c/CrabUmbra.java | 3 +- .../src/mage/cards/c/CrabappleCohort.java | 5 +- Mage.Sets/src/mage/cards/c/CrackTheEarth.java | 3 +- .../src/mage/cards/c/CrackdownConstruct.java | 3 +- Mage.Sets/src/mage/cards/c/Crackleburr.java | 3 +- Mage.Sets/src/mage/cards/c/CracklingClub.java | 3 +- .../src/mage/cards/c/CracklingTriton.java | 5 +- Mage.Sets/src/mage/cards/c/CradleGuard.java | 3 +- .../src/mage/cards/c/CradleOfTheAccursed.java | 3 +- .../src/mage/cards/c/CraftyPathmage.java | 5 +- Mage.Sets/src/mage/cards/c/CragPuca.java | 3 +- .../src/mage/cards/c/CragganwickCremator.java | 5 +- .../src/mage/cards/c/CranialPlating.java | 3 +- Mage.Sets/src/mage/cards/c/CrashOfRhinos.java | 3 +- Mage.Sets/src/mage/cards/c/CrashingBoars.java | 3 +- .../src/mage/cards/c/CrashingCentaur.java | 3 +- .../src/mage/cards/c/CraterElemental.java | 3 +- Mage.Sets/src/mage/cards/c/CraterHellion.java | 5 +- .../src/mage/cards/c/CraterhoofBehemoth.java | 3 +- Mage.Sets/src/mage/cards/c/CravenGiant.java | 3 +- Mage.Sets/src/mage/cards/c/CravenKnight.java | 5 +- Mage.Sets/src/mage/cards/c/CrawGiant.java | 3 +- Mage.Sets/src/mage/cards/c/CrawWurm.java | 3 +- Mage.Sets/src/mage/cards/c/CrawlingFilth.java | 3 +- Mage.Sets/src/mage/cards/c/CrazedArmodon.java | 3 +- Mage.Sets/src/mage/cards/c/CrazedFirecat.java | 5 +- Mage.Sets/src/mage/cards/c/CrazedGoblin.java | 5 +- Mage.Sets/src/mage/cards/c/CrazedSkirge.java | 3 +- .../src/mage/cards/c/CreakwoodGhoul.java | 5 +- .../src/mage/cards/c/CreakwoodLiege.java | 3 +- Mage.Sets/src/mage/cards/c/CreatureBond.java | 3 +- Mage.Sets/src/mage/cards/c/Creeperhulk.java | 5 +- .../src/mage/cards/c/CreepingTarPit.java | 3 +- Mage.Sets/src/mage/cards/c/CreepyDoll.java | 3 +- .../src/mage/cards/c/CrenellatedWall.java | 3 +- .../src/mage/cards/c/CrestedCraghorn.java | 5 +- .../src/mage/cards/c/CrestedSunmare.java | 182 ++++---- Mage.Sets/src/mage/cards/c/CribSwap.java | 3 +- .../src/mage/cards/c/CrimsonAcolyte.java | 5 +- .../src/mage/cards/c/CrimsonHellkite.java | 3 +- .../src/mage/cards/c/CrimsonHonorGuard.java | 5 +- .../src/mage/cards/c/CrimsonKobolds.java | 3 +- Mage.Sets/src/mage/cards/c/CrimsonMage.java | 5 +- .../src/mage/cards/c/CrimsonManticore.java | 3 +- .../src/mage/cards/c/CrimsonMuckwader.java | 2 +- .../src/mage/cards/c/CripplingBlight.java | 2 +- Mage.Sets/src/mage/cards/c/Crocanura.java | 5 +- .../mage/cards/c/CrocodileOfTheCrossing.java | 3 +- Mage.Sets/src/mage/cards/c/Cromat.java | 3 +- .../src/mage/cards/c/CrookOfComdemnation.java | 154 +++--- .../src/mage/cards/c/CrookOfCondemnation.java | 154 +++--- .../src/mage/cards/c/CrookclawElder.java | 4 +- .../src/mage/cards/c/CrookclawTransmuter.java | 5 +- .../src/mage/cards/c/CrookshankKobolds.java | 3 +- .../src/mage/cards/c/CrosisThePurger.java | 3 +- .../src/mage/cards/c/CrosissAttendant.java | 3 +- .../src/mage/cards/c/CrossbowInfantry.java | 7 +- .../mage/cards/c/CrossroadsConsecrator.java | 4 +- .../src/mage/cards/c/CrosstownCourier.java | 3 +- .../src/mage/cards/c/CrosswayVampire.java | 3 +- .../src/mage/cards/c/CrovaxAscendantHero.java | 3 +- .../src/mage/cards/c/CrovaxTheCursed.java | 2 +- .../src/mage/cards/c/CrowOfDarkTidings.java | 5 +- .../src/mage/cards/c/CrowdFavorites.java | 5 +- .../src/mage/cards/c/CrowdOfCinders.java | 3 +- .../src/mage/cards/c/CrownHunterHireling.java | 5 +- Mage.Sets/src/mage/cards/c/CrownOfFlames.java | 2 +- .../src/mage/cards/c/CrownedCeratok.java | 3 +- Mage.Sets/src/mage/cards/c/CrudeRampart.java | 3 +- Mage.Sets/src/mage/cards/c/CruelDeceiver.java | 3 +- Mage.Sets/src/mage/cards/c/CruelSadist.java | 5 +- .../src/mage/cards/c/CrumblingColossus.java | 3 +- .../src/mage/cards/c/CrusaderOfOdric.java | 5 +- .../src/mage/cards/c/CrusadingKnight.java | 4 +- .../src/mage/cards/c/CrushUnderfoot.java | 2 +- .../src/mage/cards/c/CrusherZendikon.java | 5 +- Mage.Sets/src/mage/cards/c/CrushingPain.java | 3 +- Mage.Sets/src/mage/cards/c/CryptAngel.java | 3 +- Mage.Sets/src/mage/cards/c/CryptChampion.java | 3 +- Mage.Sets/src/mage/cards/c/CryptCobra.java | 3 +- Mage.Sets/src/mage/cards/c/CryptCreeper.java | 3 +- Mage.Sets/src/mage/cards/c/CryptGhast.java | 2 +- .../src/mage/cards/c/CryptOfTheEternals.java | 104 ++--- Mage.Sets/src/mage/cards/c/CryptRats.java | 3 +- Mage.Sets/src/mage/cards/c/CryptRipper.java | 3 +- Mage.Sets/src/mage/cards/c/CryptSliver.java | 2 +- .../src/mage/cards/c/CryptbornHorror.java | 3 +- Mage.Sets/src/mage/cards/c/Cryptbreaker.java | 2 +- .../src/mage/cards/c/CrypticAnnelid.java | 5 +- .../src/mage/cards/c/CrypticCruiser.java | 5 +- .../src/mage/cards/c/CrypticSerpent.java | 3 +- Mage.Sets/src/mage/cards/c/Cryptoplasm.java | 3 +- Mage.Sets/src/mage/cards/c/CrystalGolem.java | 3 +- Mage.Sets/src/mage/cards/c/CrystalSeer.java | 5 +- .../src/mage/cards/c/CrystallineCrawler.java | 3 +- .../src/mage/cards/c/CrystallineNautilus.java | 3 +- .../src/mage/cards/c/CrystallineSliver.java | 2 +- .../src/mage/cards/c/Crystallization.java | 3 +- Mage.Sets/src/mage/cards/c/CudgelTroll.java | 3 +- Mage.Sets/src/mage/cards/c/CullingDrone.java | 5 +- .../src/mage/cards/c/CultOfTheWaxingMoon.java | 4 +- .../src/mage/cards/c/CultbrandCinder.java | 5 +- Mage.Sets/src/mage/cards/c/CultistsStaff.java | 3 +- .../src/mage/cards/c/CultivatorDrone.java | 5 +- .../src/mage/cards/c/CultivatorOfBlades.java | 5 +- .../src/mage/cards/c/CunningAdvisor.java | 5 +- Mage.Sets/src/mage/cards/c/CunningBandit.java | 7 +- .../src/mage/cards/c/CunningBreezedancer.java | 3 +- .../src/mage/cards/c/CunningLethemancer.java | 5 +- .../src/mage/cards/c/CunningSparkmage.java | 5 +- .../src/mage/cards/c/CunningSurvivor.java | 145 +++--- .../src/mage/cards/c/CuombajjWitches.java | 5 +- .../src/mage/cards/c/CuratorOfMysteries.java | 3 +- Mage.Sets/src/mage/cards/c/CurioVendor.java | 3 +- Mage.Sets/src/mage/cards/c/Curiosity.java | 3 +- .../src/mage/cards/c/CuriousHomunculus.java | 3 +- Mage.Sets/src/mage/cards/c/CurseOfChains.java | 3 +- Mage.Sets/src/mage/cards/c/Cursecatcher.java | 5 +- Mage.Sets/src/mage/cards/c/CursedFlesh.java | 2 +- Mage.Sets/src/mage/cards/c/CursedLand.java | 3 +- .../src/mage/cards/c/CursedMinotaur.java | 5 +- .../src/mage/cards/c/CursedMonstrosity.java | 3 +- Mage.Sets/src/mage/cards/c/CursedRonin.java | 5 +- Mage.Sets/src/mage/cards/c/CustodiLich.java | 5 +- .../src/mage/cards/c/CustodiSoulbinders.java | 5 +- Mage.Sets/src/mage/cards/c/CustodiSquire.java | 5 +- .../src/mage/cards/c/CustodianOfTheTrove.java | 3 +- Mage.Sets/src/mage/cards/c/CustodyBattle.java | 3 +- .../src/mage/cards/c/CutthroatIlDal.java | 5 +- Mage.Sets/src/mage/cards/c/CycloneSire.java | 3 +- .../src/mage/cards/c/CyclopeanMummy.java | 3 +- .../src/mage/cards/c/CyclopsGladiator.java | 5 +- .../mage/cards/c/CyclopsOfEternalFury.java | 3 +- .../mage/cards/c/CyclopsOfOneEyedPass.java | 3 +- Mage.Sets/src/mage/cards/c/CyclopsTyrant.java | 3 +- Mage.Sets/src/mage/cards/c/CylianElf.java | 5 +- .../src/mage/cards/c/CylianSunsinger.java | 5 +- Mage.Sets/src/mage/cards/c/Cystbearer.java | 3 +- .../mage/cards/c/CytoplastManipulator.java | 7 +- .../src/mage/cards/c/CytoplastRootKin.java | 5 +- .../src/mage/cards/c/CytospawnShambler.java | 5 +- .../src/mage/cards/d/DAvenantArcher.java | 7 +- .../src/mage/cards/d/DAvenantHealer.java | 7 +- Mage.Sets/src/mage/cards/d/DackFayden.java | 2 +- .../src/mage/cards/d/DacksDuplicate.java | 3 +- .../src/mage/cards/d/DaggerOfTheWorthy.java | 149 +++--- .../src/mage/cards/d/DaggerbackBasilisk.java | 3 +- Mage.Sets/src/mage/cards/d/DaggerclawImp.java | 3 +- .../src/mage/cards/d/DaggerdromeImp.java | 3 +- .../src/mage/cards/d/DaghatarTheAdamant.java | 5 +- .../src/mage/cards/d/DagobahMawSlug.java | 3 +- Mage.Sets/src/mage/cards/d/DailyRegimen.java | 3 +- .../src/mage/cards/d/DakkonBlackblade.java | 5 +- Mage.Sets/src/mage/cards/d/DakmorBat.java | 3 +- Mage.Sets/src/mage/cards/d/DakmorGhoul.java | 3 +- Mage.Sets/src/mage/cards/d/DakmorLancer.java | 5 +- .../src/mage/cards/d/DakmorScorpion.java | 3 +- .../src/mage/cards/d/DakmorSorceress.java | 4 +- Mage.Sets/src/mage/cards/d/DakraMystic.java | 5 +- .../src/mage/cards/d/DamiaSageOfStone.java | 5 +- Mage.Sets/src/mage/cards/d/DampenThought.java | 3 +- .../src/mage/cards/d/DanceOfTheDead.java | 2 +- .../src/mage/cards/d/DanceOfTheSkywise.java | 5 +- .../src/mage/cards/d/DancingScimitar.java | 3 +- Mage.Sets/src/mage/cards/d/Dandan.java | 2 +- Mage.Sets/src/mage/cards/d/DarajaGriffin.java | 3 +- Mage.Sets/src/mage/cards/d/Darba.java | 5 +- .../cards/d/DarettiIngeniousIconoclast.java | 3 +- .../src/mage/cards/d/DarettiScrapSavant.java | 3 +- .../src/mage/cards/d/DarienKingOfKjeldor.java | 5 +- .../src/mage/cards/d/DarigaazTheIgniter.java | 3 +- .../src/mage/cards/d/DarigaazsAttendant.java | 3 +- .../src/mage/cards/d/DaringApprentice.java | 5 +- .../src/mage/cards/d/DaringSaboteur.java | 5 +- Mage.Sets/src/mage/cards/d/DaringSkyjek.java | 5 +- Mage.Sets/src/mage/cards/d/DaringSleuth.java | 5 +- Mage.Sets/src/mage/cards/d/DaringThief.java | 5 +- Mage.Sets/src/mage/cards/d/DarkConfidant.java | 5 +- Mage.Sets/src/mage/cards/d/DarkFavor.java | 3 +- Mage.Sets/src/mage/cards/d/DarkHatchling.java | 3 +- Mage.Sets/src/mage/cards/d/DarkImpostor.java | 4 +- Mage.Sets/src/mage/cards/d/DarkMaze.java | 3 +- Mage.Sets/src/mage/cards/d/DarkPrivilege.java | 3 +- Mage.Sets/src/mage/cards/d/DarkRevenant.java | 3 +- .../src/mage/cards/d/DarkSupplicant.java | 4 +- Mage.Sets/src/mage/cards/d/DarkTrooper.java | 5 +- .../src/mage/cards/d/DarkheartSliver.java | 3 +- .../src/mage/cards/d/DarklingStalker.java | 5 +- .../src/mage/cards/d/DarklitGargoyle.java | 3 +- .../src/mage/cards/d/DarkslickDrake.java | 3 +- Mage.Sets/src/mage/cards/d/DarksteelAxe.java | 3 +- .../src/mage/cards/d/DarksteelColossus.java | 3 +- .../src/mage/cards/d/DarksteelGargoyle.java | 3 +- .../src/mage/cards/d/DarksteelJuggernaut.java | 3 +- .../src/mage/cards/d/DarksteelMutation.java | 5 +- Mage.Sets/src/mage/cards/d/DarksteelMyr.java | 3 +- .../src/mage/cards/d/DarksteelPlate.java | 2 +- .../src/mage/cards/d/DarksteelSentinel.java | 3 +- .../src/mage/cards/d/DarkthicketWolf.java | 3 +- .../src/mage/cards/d/DarkwatchElves.java | 3 +- Mage.Sets/src/mage/cards/d/DarthMaul.java | 5 +- .../mage/cards/d/DarthSidiousSithLord.java | 3 +- Mage.Sets/src/mage/cards/d/DarthTyranus.java | 3 +- Mage.Sets/src/mage/cards/d/DarthVader.java | 4 +- .../src/mage/cards/d/DartingMerfolk.java | 3 +- Mage.Sets/src/mage/cards/d/DaruCavalier.java | 5 +- Mage.Sets/src/mage/cards/d/DaruHealer.java | 5 +- Mage.Sets/src/mage/cards/d/DaruLancer.java | 5 +- Mage.Sets/src/mage/cards/d/DaruMender.java | 5 +- .../src/mage/cards/d/DaruSanctifier.java | 5 +- .../src/mage/cards/d/DaruSpiritualist.java | 4 +- Mage.Sets/src/mage/cards/d/DaruStinger.java | 3 +- Mage.Sets/src/mage/cards/d/DaruWarchief.java | 4 +- .../src/mage/cards/d/DaughterOfAutumn.java | 3 +- .../src/mage/cards/d/DauntingDefender.java | 4 +- Mage.Sets/src/mage/cards/d/DauntlessAven.java | 5 +- .../src/mage/cards/d/DauntlessCathar.java | 5 +- .../src/mage/cards/d/DauntlessDourbark.java | 4 +- .../src/mage/cards/d/DauntlessEscort.java | 5 +- .../mage/cards/d/DauntlessRiverMarshal.java | 4 +- .../src/mage/cards/d/DauthiCutthroat.java | 5 +- Mage.Sets/src/mage/cards/d/DauthiGhoul.java | 5 +- Mage.Sets/src/mage/cards/d/DauthiHorror.java | 5 +- Mage.Sets/src/mage/cards/d/DauthiJackal.java | 5 +- .../src/mage/cards/d/DauthiMarauder.java | 5 +- .../src/mage/cards/d/DauthiMercenary.java | 7 +- .../src/mage/cards/d/DauthiMindripper.java | 5 +- Mage.Sets/src/mage/cards/d/DauthiSlayer.java | 5 +- Mage.Sets/src/mage/cards/d/DauthiTrapper.java | 5 +- Mage.Sets/src/mage/cards/d/DauthiWarlord.java | 5 +- Mage.Sets/src/mage/cards/d/DawnElemental.java | 3 +- Mage.Sets/src/mage/cards/d/DawnGryff.java | 3 +- .../src/mage/cards/d/DawnbreakReclaimer.java | 3 +- .../mage/cards/d/DawnbringerCharioteers.java | 5 +- .../src/mage/cards/d/DawnfeatherEagle.java | 3 +- Mage.Sets/src/mage/cards/d/Dawnfluke.java | 3 +- .../src/mage/cards/d/DawnglareInvoker.java | 5 +- Mage.Sets/src/mage/cards/d/DawningPurist.java | 5 +- Mage.Sets/src/mage/cards/d/DawnrayArcher.java | 5 +- .../src/mage/cards/d/DawnsReflection.java | 3 +- Mage.Sets/src/mage/cards/d/Dawnstrider.java | 5 +- .../src/mage/cards/d/DawnstrikePaladin.java | 5 +- .../src/mage/cards/d/DawntreaderElk.java | 3 +- .../src/mage/cards/d/DaxosOfMeletis.java | 4 +- .../src/mage/cards/d/DaxosTheReturned.java | 4 +- Mage.Sets/src/mage/cards/d/DaxossTorment.java | 3 +- .../src/mage/cards/d/DaybreakCoronet.java | 2 +- .../src/mage/cards/d/DaybreakRanger.java | 7 +- .../src/mage/cards/d/DazzlingRamparts.java | 3 +- Mage.Sets/src/mage/cards/d/DeadReveler.java | 3 +- Mage.Sets/src/mage/cards/d/DeadWeight.java | 3 +- .../src/mage/cards/d/DeadbridgeGoliath.java | 3 +- .../src/mage/cards/d/DeadbridgeShaman.java | 5 +- .../src/mage/cards/d/DeadeyeHarpooner.java | 5 +- .../src/mage/cards/d/DeadeyeNavigator.java | 3 +- .../src/mage/cards/d/DeadeyePlunderers.java | 5 +- .../mage/cards/d/DeadeyeQuartermaster.java | 4 +- .../src/mage/cards/d/DeadeyeTormentor.java | 5 +- .../src/mage/cards/d/DeadeyeTracker.java | 5 +- Mage.Sets/src/mage/cards/d/DeadlyGrub.java | 3 +- Mage.Sets/src/mage/cards/d/DeadlyInsect.java | 3 +- Mage.Sets/src/mage/cards/d/DeadlyRecluse.java | 3 +- .../src/mage/cards/d/DeadshotMinotaur.java | 3 +- .../src/mage/cards/d/DeadwoodTreefolk.java | 3 +- .../src/mage/cards/d/DearlyDeparted.java | 2 +- Mage.Sets/src/mage/cards/d/DeathBaron.java | 4 +- Mage.Sets/src/mage/cards/d/DeathCultist.java | 5 +- .../src/mage/cards/d/DeathHoodCobra.java | 3 +- Mage.Sets/src/mage/cards/d/DeathSpeakers.java | 5 +- Mage.Sets/src/mage/cards/d/DeathTrooper.java | 4 +- Mage.Sets/src/mage/cards/d/DeathWatch.java | 3 +- .../src/mage/cards/d/DeathbellowRaider.java | 5 +- .../src/mage/cards/d/DeathbringerLiege.java | 3 +- .../src/mage/cards/d/DeathbringerRegent.java | 3 +- .../src/mage/cards/d/DeathbringerThoctar.java | 5 +- .../src/mage/cards/d/DeathcapCultivator.java | 5 +- Mage.Sets/src/mage/cards/d/DeathcoilWurm.java | 3 +- .../src/mage/cards/d/DeathcultRogue.java | 4 +- .../src/mage/cards/d/DeathcurseOgre.java | 5 +- .../src/mage/cards/d/DeathforgeShaman.java | 5 +- .../src/mage/cards/d/DeathgazeCockatrice.java | 3 +- Mage.Sets/src/mage/cards/d/Deathgazer.java | 3 +- Mage.Sets/src/mage/cards/d/Deathgreeter.java | 5 +- .../src/mage/cards/d/DeathknellKami.java | 3 +- .../src/mage/cards/d/DeathlessAncient.java | 4 +- .../src/mage/cards/d/DeathlessAngel.java | 3 +- .../src/mage/cards/d/DeathlessBehemoth.java | 2 +- .../src/mage/cards/d/DeathmarkPrelate.java | 4 +- .../src/mage/cards/d/DeathmaskNezumi.java | 5 +- .../src/mage/cards/d/DeathpactAngel.java | 3 +- Mage.Sets/src/mage/cards/d/Deathrender.java | 3 +- .../src/mage/cards/d/DeathriteShaman.java | 5 +- .../src/mage/cards/d/DeathsApproach.java | 3 +- .../src/mage/cards/d/DeathsHeadBuzzard.java | 3 +- Mage.Sets/src/mage/cards/d/DeathsShadow.java | 3 +- .../src/mage/cards/d/DeathsporeThallid.java | 4 +- .../src/mage/cards/d/DebilitatingInjury.java | 3 +- Mage.Sets/src/mage/cards/d/DebtorsPulpit.java | 2 +- .../src/mage/cards/d/DeceiverExarch.java | 3 +- .../src/mage/cards/d/DeceiverOfForm.java | 2 +- .../src/mage/cards/d/DecimatorBeetle.java | 3 +- .../mage/cards/d/DecimatorOfTheProvinces.java | 5 +- .../src/mage/cards/d/DecoratedGriffin.java | 3 +- .../src/mage/cards/d/DedicatedMartyr.java | 5 +- Mage.Sets/src/mage/cards/d/DeepSeaKraken.java | 3 +- .../src/mage/cards/d/DeepSeaSerpent.java | 2 +- Mage.Sets/src/mage/cards/d/DeepSeaTerror.java | 3 +- .../src/mage/cards/d/DeepSlumberTitan.java | 5 +- Mage.Sets/src/mage/cards/d/DeepSpawn.java | 3 +- Mage.Sets/src/mage/cards/d/DeepcavernImp.java | 5 +- .../src/mage/cards/d/DeepchannelMentor.java | 5 +- .../src/mage/cards/d/DeepfathomSkulker.java | 3 +- .../src/mage/cards/d/DeepfireElemental.java | 3 +- Mage.Sets/src/mage/cards/d/DeepglowSkate.java | 3 +- .../src/mage/cards/d/DeeprootChampion.java | 5 +- .../src/mage/cards/d/DeeptreadMerrow.java | 5 +- .../src/mage/cards/d/DeepwaterHypnotist.java | 5 +- .../src/mage/cards/d/DeepwoodDrummer.java | 5 +- Mage.Sets/src/mage/cards/d/DeepwoodGhoul.java | 3 +- .../src/mage/cards/d/DeepwoodLegate.java | 2 +- .../src/mage/cards/d/DeepwoodTantiv.java | 3 +- .../src/mage/cards/d/DeepwoodWolverine.java | 3 +- Mage.Sets/src/mage/cards/d/Defang.java | 3 +- Mage.Sets/src/mage/cards/d/DefenderEnVec.java | 5 +- .../src/mage/cards/d/DefenderOfChaos.java | 5 +- Mage.Sets/src/mage/cards/d/DefenderOfLaw.java | 5 +- .../src/mage/cards/d/DefenderOfTheOrder.java | 5 +- .../src/mage/cards/d/DefensiveStance.java | 3 +- .../src/mage/cards/d/DefiantBloodlord.java | 3 +- Mage.Sets/src/mage/cards/d/DefiantElf.java | 3 +- Mage.Sets/src/mage/cards/d/DefiantFalcon.java | 4 +- .../src/mage/cards/d/DefiantGreatmaw.java | 3 +- Mage.Sets/src/mage/cards/d/DefiantKhenra.java | 5 +- Mage.Sets/src/mage/cards/d/DefiantOgre.java | 5 +- .../src/mage/cards/d/DefiantSalvager.java | 5 +- .../src/mage/cards/d/DefiantVanguard.java | 4 +- .../src/mage/cards/d/DefilerOfSouls.java | 3 +- Mage.Sets/src/mage/cards/d/DeftDuelist.java | 5 +- .../src/mage/cards/d/DeftbladeElite.java | 5 +- Mage.Sets/src/mage/cards/d/DegaDisciple.java | 5 +- Mage.Sets/src/mage/cards/d/Degavolver.java | 3 +- Mage.Sets/src/mage/cards/d/Dehydration.java | 3 +- Mage.Sets/src/mage/cards/d/DeityOfScars.java | 5 +- Mage.Sets/src/mage/cards/d/Delraich.java | 3 +- .../src/mage/cards/d/DelverOfSecrets.java | 5 +- Mage.Sets/src/mage/cards/d/DementiaBat.java | 3 +- .../src/mage/cards/d/DementiaSliver.java | 2 +- .../src/mage/cards/d/DemigodOfRevenge.java | 5 +- .../src/mage/cards/d/DemonOfDarkSchemes.java | 3 +- .../src/mage/cards/d/DemonOfDeathsGate.java | 3 +- .../mage/cards/d/DemonOfWailingAgonies.java | 3 +- .../src/mage/cards/d/DemonPossessedWitch.java | 5 +- .../src/mage/cards/d/DemonicAppetite.java | 2 +- Mage.Sets/src/mage/cards/d/DemonicHordes.java | 3 +- .../src/mage/cards/d/DemonicTaskmaster.java | 3 +- .../src/mage/cards/d/DemonicTorment.java | 2 +- .../src/mage/cards/d/DemonlordOfAshmouth.java | 3 +- .../src/mage/cards/d/DemonmailHauberk.java | 3 +- Mage.Sets/src/mage/cards/d/DemonsHerald.java | 5 +- Mage.Sets/src/mage/cards/d/DemonsJester.java | 3 +- .../src/mage/cards/d/DemonspineWhip.java | 3 +- Mage.Sets/src/mage/cards/d/DenProtector.java | 5 +- .../src/mage/cards/d/DenizenOfTheDeep.java | 3 +- .../src/mage/cards/d/DepalaPilotExemplar.java | 4 +- .../src/mage/cards/d/DeputizedProtester.java | 5 +- .../src/mage/cards/d/DeputyOfAcquittals.java | 5 +- .../src/mage/cards/d/DerangedAssistant.java | 5 +- .../src/mage/cards/d/DerangedHermit.java | 2 +- .../src/mage/cards/d/DerangedOutcast.java | 4 +- Mage.Sets/src/mage/cards/d/DerangedWhelp.java | 3 +- Mage.Sets/src/mage/cards/d/Derelor.java | 3 +- .../mage/cards/d/DereviEmpyrialTactician.java | 5 +- Mage.Sets/src/mage/cards/d/Dermoplasm.java | 3 +- .../mage/cards/d/DescendantOfKiyomaro.java | 5 +- .../mage/cards/d/DescendantOfMasumaro.java | 5 +- .../mage/cards/d/DescendantOfSoramaro.java | 5 +- .../src/mage/cards/d/DesecrationDemon.java | 3 +- .../mage/cards/d/DesecrationElemental.java | 3 +- Mage.Sets/src/mage/cards/d/DesecratorHag.java | 3 +- Mage.Sets/src/mage/cards/d/Desert.java | 3 +- Mage.Sets/src/mage/cards/d/DesertCerodon.java | 3 +- Mage.Sets/src/mage/cards/d/DesertDrake.java | 3 +- Mage.Sets/src/mage/cards/d/DesertNomads.java | 4 +- .../src/mage/cards/d/DesertOfTheFervent.java | 3 +- .../mage/cards/d/DesertOfTheGlorified.java | 3 +- .../mage/cards/d/DesertOfTheIndomitable.java | 3 +- .../src/mage/cards/d/DesertOfTheMindful.java | 3 +- .../src/mage/cards/d/DesertOfTheTrue.java | 3 +- Mage.Sets/src/mage/cards/d/DesertsHold.java | 198 ++++---- .../src/mage/cards/d/DesiccatedNaga.java | 4 +- .../src/mage/cards/d/DesolationAngel.java | 3 +- .../src/mage/cards/d/DesolationGiant.java | 3 +- .../src/mage/cards/d/DesolationTwin.java | 3 +- .../src/mage/cards/d/DesperateRitual.java | 3 +- .../src/mage/cards/d/DesperateSentry.java | 5 +- .../src/mage/cards/d/DespoilerOfSouls.java | 3 +- Mage.Sets/src/mage/cards/d/Despondency.java | 3 +- .../src/mage/cards/d/DestructiveUrge.java | 3 +- .../src/mage/cards/d/DestructorDragon.java | 3 +- Mage.Sets/src/mage/cards/d/Detritivore.java | 3 +- .../src/mage/cards/d/DeusOfCalamity.java | 5 +- Mage.Sets/src/mage/cards/d/DeviantGlee.java | 2 +- Mage.Sets/src/mage/cards/d/DevilthornFox.java | 3 +- .../src/mage/cards/d/DevotedCaretaker.java | 5 +- .../src/mage/cards/d/DevotedCropMate.java | 5 +- Mage.Sets/src/mage/cards/d/DevotedDruid.java | 5 +- Mage.Sets/src/mage/cards/d/DevotedHero.java | 5 +- .../src/mage/cards/d/DevotedRetainer.java | 5 +- .../src/mage/cards/d/DevoteeOfStrength.java | 141 +++--- Mage.Sets/src/mage/cards/d/DevouringDeep.java | 3 +- .../src/mage/cards/d/DevouringGreed.java | 2 +- Mage.Sets/src/mage/cards/d/DevouringRage.java | 2 +- .../src/mage/cards/d/DevouringStrossus.java | 3 +- .../src/mage/cards/d/DevouringSwarm.java | 3 +- .../src/mage/cards/d/DevoutChaplain.java | 4 +- Mage.Sets/src/mage/cards/d/DevoutHarpist.java | 2 +- .../src/mage/cards/d/DevoutLightcaster.java | 5 +- Mage.Sets/src/mage/cards/d/DevoutMonk.java | 7 +- Mage.Sets/src/mage/cards/d/DevoutWitness.java | 5 +- Mage.Sets/src/mage/cards/d/DewdropSpy.java | 5 +- .../src/mage/cards/d/DhundOperative.java | 5 +- .../src/mage/cards/d/DiabolicMachine.java | 3 +- Mage.Sets/src/mage/cards/d/DiamondFaerie.java | 3 +- .../mage/cards/d/DiaochanArtfulBeauty.java | 5 +- .../src/mage/cards/d/DiffusionSliver.java | 2 +- .../src/mage/cards/d/DiligentFarmhand.java | 5 +- .../src/mage/cards/d/DiluvianPrimordial.java | 3 +- .../src/mage/cards/d/DimensionalBreach.java | 332 ++++++------- .../mage/cards/d/DimensionalInfiltrator.java | 3 +- Mage.Sets/src/mage/cards/d/DimirCutpurse.java | 3 +- .../src/mage/cards/d/DimirDoppelganger.java | 3 +- .../src/mage/cards/d/DimirGuildmage.java | 5 +- .../src/mage/cards/d/DimirHouseGuard.java | 3 +- .../src/mage/cards/d/DimirInfiltrator.java | 3 +- Mage.Sets/src/mage/cards/d/DimirKeyrune.java | 3 +- Mage.Sets/src/mage/cards/d/DinrovaHorror.java | 3 +- .../src/mage/cards/d/DiplomaticEscort.java | 5 +- .../src/mage/cards/d/DiplomaticImmunity.java | 3 +- .../src/mage/cards/d/DireFleetCaptain.java | 4 +- .../src/mage/cards/d/DiregrafCaptain.java | 4 +- .../src/mage/cards/d/DiregrafColossus.java | 4 +- .../src/mage/cards/d/DiregrafEscort.java | 4 +- Mage.Sets/src/mage/cards/d/DiregrafGhoul.java | 3 +- Mage.Sets/src/mage/cards/d/DirgurNemesis.java | 3 +- Mage.Sets/src/mage/cards/d/DirtcowlWurm.java | 3 +- .../src/mage/cards/d/DirtwaterWraith.java | 3 +- Mage.Sets/src/mage/cards/d/DirtyWererat.java | 7 +- .../src/mage/cards/d/DiscipleOfBolas.java | 5 +- .../src/mage/cards/d/DiscipleOfDeceit.java | 5 +- .../src/mage/cards/d/DiscipleOfGrace.java | 5 +- .../mage/cards/d/DiscipleOfGriselbrand.java | 5 +- .../src/mage/cards/d/DiscipleOfKangee.java | 5 +- Mage.Sets/src/mage/cards/d/DiscipleOfLaw.java | 5 +- .../src/mage/cards/d/DiscipleOfMalice.java | 5 +- .../src/mage/cards/d/DiscipleOfPhenax.java | 5 +- .../mage/cards/d/DiscipleOfTeveshSzat.java | 5 +- .../mage/cards/d/DiscipleOfTheOldWays.java | 5 +- .../src/mage/cards/d/DiscipleOfTheRing.java | 5 +- .../src/mage/cards/d/DiscipleOfTheVault.java | 5 +- .../src/mage/cards/d/DiseaseCarriers.java | 3 +- .../src/mage/cards/d/DisownedAncestor.java | 5 +- .../src/mage/cards/d/DispersalTechnician.java | 5 +- Mage.Sets/src/mage/cards/d/DisposalMummy.java | 5 +- .../src/mage/cards/d/DisruptionAura.java | 2 +- .../src/mage/cards/d/DisruptivePitmage.java | 5 +- .../src/mage/cards/d/DisruptiveStudent.java | 5 +- .../src/mage/cards/d/DistendedMindbender.java | 5 +- Mage.Sets/src/mage/cards/d/DiveBomber.java | 5 +- .../src/mage/cards/d/DivebomberGriffin.java | 3 +- Mage.Sets/src/mage/cards/d/DivineFavor.java | 3 +- .../mage/cards/d/DivineTransformation.java | 3 +- Mage.Sets/src/mage/cards/d/DivinerSpirit.java | 3 +- Mage.Sets/src/mage/cards/d/DivinersWand.java | 4 +- Mage.Sets/src/mage/cards/d/DivingGriffin.java | 3 +- Mage.Sets/src/mage/cards/d/DiviningWitch.java | 5 +- .../src/mage/cards/d/DivinityOfPride.java | 5 +- .../src/mage/cards/d/DjeruWithEyesOpen.java | 253 +++++----- .../src/mage/cards/d/DjinnIlluminatus.java | 2 +- .../mage/cards/d/DjinnOfInfiniteDeceits.java | 2 +- .../src/mage/cards/d/DjinnOfTheLamp.java | 3 +- Mage.Sets/src/mage/cards/d/DjinnOfWishes.java | 3 +- .../src/mage/cards/d/DocentOfPerfection.java | 4 +- Mage.Sets/src/mage/cards/d/Dodecapod.java | 3 +- Mage.Sets/src/mage/cards/d/DoggedHunter.java | 5 +- Mage.Sets/src/mage/cards/d/Dogpile.java | 142 +++--- .../src/mage/cards/d/DomesticatedHydra.java | 3 +- Mage.Sets/src/mage/cards/d/Domestication.java | 3 +- .../src/mage/cards/d/DominatingLicid.java | 3 +- .../src/mage/cards/d/DominatorDrone.java | 5 +- Mage.Sets/src/mage/cards/d/Domineer.java | 3 +- .../src/mage/cards/d/DominusOfFealty.java | 5 +- Mage.Sets/src/mage/cards/d/DomriRade.java | 3 +- .../src/mage/cards/d/DongZhouTheTyrant.java | 5 +- .../src/mage/cards/d/DoomedDissenter.java | 129 ++--- .../src/mage/cards/d/DoomedNecromancer.java | 7 +- .../src/mage/cards/d/DoomedTraveler.java | 5 +- Mage.Sets/src/mage/cards/d/Doomgape.java | 3 +- .../src/mage/cards/d/DoomsdaySpecter.java | 3 +- Mage.Sets/src/mage/cards/d/DoomwakeGiant.java | 3 +- Mage.Sets/src/mage/cards/d/Doorkeeper.java | 3 +- .../src/mage/cards/d/DoranTheSiegeTower.java | 4 +- .../src/mage/cards/d/DormantGomazoa.java | 3 +- Mage.Sets/src/mage/cards/d/DormantSliver.java | 2 +- .../src/mage/cards/d/DosanTheFallingLeaf.java | 4 +- Mage.Sets/src/mage/cards/d/DoubtlessOne.java | 4 +- Mage.Sets/src/mage/cards/d/DovinBaan.java | 3 +- Mage.Sets/src/mage/cards/d/DowsingShaman.java | 5 +- Mage.Sets/src/mage/cards/d/Draco.java | 2 +- Mage.Sets/src/mage/cards/d/Dracoplasm.java | 2 +- .../src/mage/cards/d/DragonBellMonk.java | 5 +- Mage.Sets/src/mage/cards/d/DragonBreath.java | 2 +- .../src/mage/cards/d/DragonBroodmother.java | 3 +- Mage.Sets/src/mage/cards/d/DragonEgg.java | 3 +- Mage.Sets/src/mage/cards/d/DragonEngine.java | 3 +- Mage.Sets/src/mage/cards/d/DragonFangs.java | 2 +- Mage.Sets/src/mage/cards/d/DragonGrip.java | 2 +- .../src/mage/cards/d/DragonHatchling.java | 3 +- Mage.Sets/src/mage/cards/d/DragonHunter.java | 4 +- Mage.Sets/src/mage/cards/d/DragonMage.java | 5 +- Mage.Sets/src/mage/cards/d/DragonMantle.java | 2 +- Mage.Sets/src/mage/cards/d/DragonScales.java | 2 +- .../src/mage/cards/d/DragonScarredBear.java | 3 +- Mage.Sets/src/mage/cards/d/DragonShadow.java | 2 +- .../src/mage/cards/d/DragonStyleTwins.java | 5 +- .../mage/cards/d/DragonThroneOfTarkir.java | 2 +- Mage.Sets/src/mage/cards/d/DragonTyrant.java | 3 +- Mage.Sets/src/mage/cards/d/DragonWhelp.java | 3 +- .../src/mage/cards/d/DragonWhisperer.java | 5 +- Mage.Sets/src/mage/cards/d/DragonWings.java | 2 +- .../src/mage/cards/d/DragonlairSpider.java | 3 +- .../src/mage/cards/d/DragonloftIdol.java | 2 +- .../src/mage/cards/d/DragonlordAtarka.java | 5 +- .../src/mage/cards/d/DragonlordDromoka.java | 4 +- .../src/mage/cards/d/DragonlordKolaghan.java | 5 +- .../src/mage/cards/d/DragonlordOjutai.java | 5 +- .../src/mage/cards/d/DragonlordSilumgar.java | 5 +- .../src/mage/cards/d/DragonlordsServant.java | 4 +- .../src/mage/cards/d/DragonmasterOutcast.java | 5 +- .../src/mage/cards/d/DragonsEyeSavants.java | 5 +- .../src/mage/cards/d/DragonsEyeSentry.java | 5 +- Mage.Sets/src/mage/cards/d/DragonsHerald.java | 5 +- .../src/mage/cards/d/DragonscaleGeneral.java | 5 +- Mage.Sets/src/mage/cards/d/Dragonshift.java | 3 +- .../src/mage/cards/d/DragonsoulKnight.java | 4 +- .../src/mage/cards/d/DragonspeakerShaman.java | 6 +- Mage.Sets/src/mage/cards/d/Dragonstalker.java | 4 +- Mage.Sets/src/mage/cards/d/DrainingWhelk.java | 3 +- .../src/mage/cards/d/DrainpipeVermin.java | 3 +- Mage.Sets/src/mage/cards/d/DrakeFamiliar.java | 3 +- .../src/mage/cards/d/DrakeHatchling.java | 3 +- Mage.Sets/src/mage/cards/d/DrakeUmbra.java | 2 +- .../src/mage/cards/d/DrakestownForgotten.java | 3 +- .../src/mage/cards/d/DrakewingKrasis.java | 5 +- .../src/mage/cards/d/DralnuLichLord.java | 4 +- Mage.Sets/src/mage/cards/d/DralnusPet.java | 3 +- .../cards/d/DranaKalastriaBloodchief.java | 5 +- .../mage/cards/d/DranaLiberatorOfMalakir.java | 5 +- Mage.Sets/src/mage/cards/d/DranasChosen.java | 6 +- .../src/mage/cards/d/DranasEmissary.java | 7 +- Mage.Sets/src/mage/cards/d/Dread.java | 5 +- .../src/mage/cards/d/DreadCacodemon.java | 3 +- Mage.Sets/src/mage/cards/d/DreadDefiler.java | 3 +- Mage.Sets/src/mage/cards/d/DreadDrone.java | 5 +- Mage.Sets/src/mage/cards/d/DreadReaper.java | 3 +- Mage.Sets/src/mage/cards/d/DreadSlag.java | 3 +- Mage.Sets/src/mage/cards/d/DreadSlaver.java | 4 +- Mage.Sets/src/mage/cards/d/DreadSpecter.java | 3 +- Mage.Sets/src/mage/cards/d/DreadStatuary.java | 3 +- Mage.Sets/src/mage/cards/d/DreadWanderer.java | 5 +- Mage.Sets/src/mage/cards/d/DreadWarlock.java | 5 +- .../src/mage/cards/d/DreadbringerLampads.java | 3 +- Mage.Sets/src/mage/cards/d/Dreadwing.java | 3 +- Mage.Sets/src/mage/cards/d/DreamLeash.java | 3 +- Mage.Sets/src/mage/cards/d/DreamPillager.java | 2 +- Mage.Sets/src/mage/cards/d/DreamProwler.java | 3 +- Mage.Sets/src/mage/cards/d/DreamStalker.java | 3 +- Mage.Sets/src/mage/cards/d/DreamThief.java | 5 +- Mage.Sets/src/mage/cards/d/DreamThrush.java | 3 +- Mage.Sets/src/mage/cards/d/DreambornMuse.java | 3 +- .../src/mage/cards/d/DreamcallerSiren.java | 4 +- Mage.Sets/src/mage/cards/d/Dreamcatcher.java | 3 +- Mage.Sets/src/mage/cards/d/DreampodDruid.java | 5 +- .../src/mage/cards/d/DreamscapeArtist.java | 5 +- .../src/mage/cards/d/DreamspoilerWitches.java | 5 +- Mage.Sets/src/mage/cards/d/Dreamstealer.java | 5 +- Mage.Sets/src/mage/cards/d/Dreamwinder.java | 2 +- Mage.Sets/src/mage/cards/d/DregMangler.java | 5 +- Mage.Sets/src/mage/cards/d/DregReaver.java | 5 +- .../src/mage/cards/d/DregscapeZombie.java | 3 +- Mage.Sets/src/mage/cards/d/Drekavac.java | 3 +- Mage.Sets/src/mage/cards/d/Drelnoch.java | 5 +- .../src/mage/cards/d/DriftOfPhantasms.java | 3 +- Mage.Sets/src/mage/cards/d/DrifterIlDal.java | 5 +- Mage.Sets/src/mage/cards/d/DriftingDjinn.java | 3 +- Mage.Sets/src/mage/cards/d/DriftingShade.java | 3 +- Mage.Sets/src/mage/cards/d/DrillSkimmer.java | 3 +- Mage.Sets/src/mage/cards/d/DrippingDead.java | 3 +- .../mage/cards/d/DrippingTongueZubera.java | 5 +- Mage.Sets/src/mage/cards/d/DrivenDespair.java | 162 +++---- .../src/mage/cards/d/DriverOfTheDead.java | 3 +- .../src/mage/cards/d/DrogskolCaptain.java | 4 +- .../src/mage/cards/d/DrogskolCavalry.java | 4 +- .../src/mage/cards/d/DrogskolReaver.java | 3 +- .../src/mage/cards/d/DrogskolShieldmate.java | 5 +- Mage.Sets/src/mage/cards/d/DroidCommando.java | 3 +- Mage.Sets/src/mage/cards/d/Droideka.java | 3 +- .../src/mage/cards/d/DromadPurebred.java | 5 +- .../src/mage/cards/d/DromarTheBanisher.java | 3 +- .../src/mage/cards/d/DromarsAttendant.java | 3 +- .../src/mage/cards/d/DromokaCaptain.java | 5 +- .../src/mage/cards/d/DromokaDunecaster.java | 5 +- .../src/mage/cards/d/DromokaMonument.java | 3 +- .../src/mage/cards/d/DromokaTheEternal.java | 2 +- .../src/mage/cards/d/DromokaWarrior.java | 5 +- .../src/mage/cards/d/DronepackKindred.java | 5 +- .../src/mage/cards/d/DroolingGroodion.java | 2 +- Mage.Sets/src/mage/cards/d/DroolingOgre.java | 3 +- .../src/mage/cards/d/DrossCrocodile.java | 5 +- Mage.Sets/src/mage/cards/d/DrossGolem.java | 2 +- .../src/mage/cards/d/DrossHarvester.java | 3 +- Mage.Sets/src/mage/cards/d/DrossHopper.java | 5 +- Mage.Sets/src/mage/cards/d/DrossProwler.java | 3 +- Mage.Sets/src/mage/cards/d/DrossRipper.java | 3 +- Mage.Sets/src/mage/cards/d/DrossScorpion.java | 3 +- Mage.Sets/src/mage/cards/d/DroveOfElves.java | 3 +- .../src/mage/cards/d/DroverOfTheMighty.java | 4 +- Mage.Sets/src/mage/cards/d/Drowned.java | 3 +- .../src/mage/cards/d/DrownedRusalka.java | 3 +- .../src/mage/cards/d/DrownerInitiate.java | 5 +- Mage.Sets/src/mage/cards/d/DrownerOfHope.java | 2 +- .../src/mage/cards/d/DrownerOfSecrets.java | 4 +- .../src/mage/cards/d/DrownyardBehemoth.java | 5 +- .../src/mage/cards/d/DrownyardExplorers.java | 5 +- Mage.Sets/src/mage/cards/d/DrudgeBeetle.java | 3 +- Mage.Sets/src/mage/cards/d/DrudgeReavers.java | 3 +- .../src/mage/cards/d/DrudgeSkeletons.java | 3 +- Mage.Sets/src/mage/cards/d/DruidLyrist.java | 5 +- .../src/mage/cards/d/DruidOfTheAnima.java | 5 +- .../src/mage/cards/d/DruidOfTheCowl.java | 5 +- Mage.Sets/src/mage/cards/d/DruidsCall.java | 3 +- .../src/mage/cards/d/DruidsFamiliar.java | 3 +- Mage.Sets/src/mage/cards/d/Drumhunter.java | 7 +- .../src/mage/cards/d/DrunauCorpseTrawler.java | 2 +- Mage.Sets/src/mage/cards/d/DryadArbor.java | 5 +- Mage.Sets/src/mage/cards/d/DryadMilitant.java | 5 +- .../src/mage/cards/d/DryadSophisticate.java | 3 +- Mage.Sets/src/mage/cards/d/DryadsFavor.java | 3 +- Mage.Sets/src/mage/cards/d/DualCasting.java | 2 +- .../src/mage/cards/d/DualcasterMage.java | 5 +- Mage.Sets/src/mage/cards/d/DuctCrawler.java | 3 +- .../src/mage/cards/d/DuergarAssailant.java | 5 +- .../src/mage/cards/d/DuergarCaveGuard.java | 5 +- .../src/mage/cards/d/DuergarHedgeMage.java | 4 +- .../src/mage/cards/d/DuergarMineCaptain.java | 5 +- .../src/mage/cards/d/DukharaPeafowl.java | 3 +- .../src/mage/cards/d/DukharaScavenger.java | 3 +- Mage.Sets/src/mage/cards/d/DulcetSirens.java | 3 +- Mage.Sets/src/mage/cards/d/DuneBeetle.java | 3 +- .../src/mage/cards/d/DuneBroodNephilim.java | 3 +- Mage.Sets/src/mage/cards/d/DuneDiviner.java | 4 +- .../src/mage/cards/d/DuneriderOutlaw.java | 7 +- .../src/mage/cards/d/DunesOfTheDead.java | 129 ++--- Mage.Sets/src/mage/cards/d/DungeonGeists.java | 2 +- Mage.Sets/src/mage/cards/d/DungeonShade.java | 5 +- Mage.Sets/src/mage/cards/d/DungroveElder.java | 2 +- Mage.Sets/src/mage/cards/d/Duplicant.java | 2 +- .../src/mage/cards/d/DurkwoodBaloth.java | 3 +- Mage.Sets/src/mage/cards/d/DurkwoodBoars.java | 3 +- Mage.Sets/src/mage/cards/d/DuskFeaster.java | 2 +- Mage.Sets/src/mage/cards/d/DuskImp.java | 3 +- .../mage/cards/d/DuskLegionDreadnought.java | 3 +- Mage.Sets/src/mage/cards/d/DuskUrchins.java | 3 +- .../src/mage/cards/d/DuskborneSkymarcher.java | 4 +- Mage.Sets/src/mage/cards/d/DuskdaleWurm.java | 3 +- Mage.Sets/src/mage/cards/d/DuskhunterBat.java | 3 +- .../src/mage/cards/d/DuskmantleGuildmage.java | 5 +- .../src/mage/cards/d/DuskmantleProwler.java | 5 +- .../src/mage/cards/d/DuskmantleSeer.java | 5 +- .../src/mage/cards/d/DuskriderFalcon.java | 3 +- .../src/mage/cards/d/DuskriderPeregrine.java | 3 +- Mage.Sets/src/mage/cards/d/Duskwalker.java | 5 +- .../src/mage/cards/d/DuskwatchRecruiter.java | 7 +- Mage.Sets/src/mage/cards/d/Duskworker.java | 3 +- Mage.Sets/src/mage/cards/d/DustCorona.java | 2 +- Mage.Sets/src/mage/cards/d/DustElemental.java | 3 +- Mage.Sets/src/mage/cards/d/DustStalker.java | 3 +- .../src/mage/cards/d/DutifulAttendant.java | 5 +- .../src/mage/cards/d/DutifulServants.java | 3 +- Mage.Sets/src/mage/cards/d/DutifulThrull.java | 3 +- Mage.Sets/src/mage/cards/d/DutyBoundDead.java | 3 +- .../src/mage/cards/d/DwarvenArmorer.java | 3 +- .../src/mage/cards/d/DwarvenBerserker.java | 5 +- .../src/mage/cards/d/DwarvenBlastminer.java | 3 +- .../src/mage/cards/d/DwarvenBloodboiler.java | 2 +- .../mage/cards/d/DwarvenDemolitionTeam.java | 2 +- .../src/mage/cards/d/DwarvenDriller.java | 3 +- Mage.Sets/src/mage/cards/d/DwarvenGrunt.java | 3 +- .../src/mage/cards/d/DwarvenLieutenant.java | 4 +- Mage.Sets/src/mage/cards/d/DwarvenMiner.java | 3 +- Mage.Sets/src/mage/cards/d/DwarvenNomad.java | 5 +- Mage.Sets/src/mage/cards/d/DwarvenPatrol.java | 3 +- Mage.Sets/src/mage/cards/d/DwarvenPony.java | 2 +- .../src/mage/cards/d/DwarvenRecruiter.java | 2 +- .../src/mage/cards/d/DwarvenSoldier.java | 4 +- .../src/mage/cards/d/DwarvenStrikeForce.java | 5 +- .../mage/cards/d/DwarvenThaumaturgist.java | 5 +- Mage.Sets/src/mage/cards/d/DwarvenTrader.java | 3 +- .../src/mage/cards/d/DwarvenVigilantes.java | 3 +- .../src/mage/cards/d/DwarvenWarriors.java | 5 +- .../src/mage/cards/d/DwarvenWeaponsmith.java | 5 +- .../src/mage/cards/d/DwynenGiltLeafDaen.java | 4 +- Mage.Sets/src/mage/cards/d/DwynensElite.java | 4 +- Mage.Sets/src/mage/cards/d/DyingWail.java | 3 +- Mage.Sets/src/mage/cards/d/DyingWish.java | 3 +- Mage.Sets/src/mage/cards/e/EagerCadet.java | 5 +- .../src/mage/cards/e/EagerConstruct.java | 3 +- .../src/mage/cards/e/EagleOfTheWatch.java | 3 +- .../src/mage/cards/e/EarsplittingRats.java | 3 +- .../src/mage/cards/e/EarthElemental.java | 3 +- Mage.Sets/src/mage/cards/e/EarthServant.java | 2 +- Mage.Sets/src/mage/cards/e/Earthbind.java | 3 +- Mage.Sets/src/mage/cards/e/Earthblighter.java | 4 +- Mage.Sets/src/mage/cards/e/Earthshaker.java | 3 +- .../src/mage/cards/e/EarthshakerKhenra.java | 5 +- Mage.Sets/src/mage/cards/e/EarwigSquad.java | 5 +- .../src/mage/cards/e/EasternPaladin.java | 5 +- Mage.Sets/src/mage/cards/e/EaterOfDays.java | 3 +- Mage.Sets/src/mage/cards/e/EaterOfHope.java | 3 +- .../src/mage/cards/e/EaterOfTheDead.java | 3 +- Mage.Sets/src/mage/cards/e/EbonDragon.java | 3 +- Mage.Sets/src/mage/cards/e/EbonDrake.java | 3 +- Mage.Sets/src/mage/cards/e/EbonPraetor.java | 4 +- .../src/mage/cards/e/EbonbladeReaper.java | 5 +- Mage.Sets/src/mage/cards/e/EbonyRhino.java | 3 +- Mage.Sets/src/mage/cards/e/EbonyTreefolk.java | 3 +- .../src/mage/cards/e/EchoBaseCommando.java | 4 +- Mage.Sets/src/mage/cards/e/EchoCirclet.java | 2 +- Mage.Sets/src/mage/cards/e/EchoMage.java | 5 +- Mage.Sets/src/mage/cards/e/EchoTracer.java | 5 +- Mage.Sets/src/mage/cards/e/EddytrailHawk.java | 3 +- Mage.Sets/src/mage/cards/e/EdgarMarkov.java | 4 +- .../src/mage/cards/e/EdgeOfTheDivinity.java | 3 +- Mage.Sets/src/mage/cards/e/Edgewalker.java | 4 +- .../src/mage/cards/e/EdificeOfAuthority.java | 376 +++++++-------- .../mage/cards/e/EdricSpymasterOfTrest.java | 5 +- Mage.Sets/src/mage/cards/e/EelUmbra.java | 3 +- .../src/mage/cards/e/EfreetWeaponmaster.java | 5 +- Mage.Sets/src/mage/cards/e/EgoErasure.java | 2 +- .../src/mage/cards/e/EidolonOfBlossoms.java | 3 +- .../cards/e/EidolonOfCountlessBattles.java | 2 +- .../src/mage/cards/e/EidolonOfRhetoric.java | 3 +- .../mage/cards/e/EidolonOfTheGreatRevel.java | 3 +- .../src/mage/cards/e/EiganjoFreeRiders.java | 5 +- .../src/mage/cards/e/EightAndAHalfTails.java | 5 +- Mage.Sets/src/mage/cards/e/EkunduGriffin.java | 3 +- Mage.Sets/src/mage/cards/e/ElHajjaj.java | 5 +- .../mage/cards/e/EladamriLordOfLeaves.java | 4 +- Mage.Sets/src/mage/cards/e/ElandUmbra.java | 3 +- .../mage/cards/e/ElbrusTheBindingBlade.java | 3 +- Mage.Sets/src/mage/cards/e/ElderCathar.java | 4 +- .../src/mage/cards/e/ElderDeepFiend.java | 5 +- Mage.Sets/src/mage/cards/e/ElderDruid.java | 7 +- Mage.Sets/src/mage/cards/e/ElderMastery.java | 2 +- .../src/mage/cards/e/ElderOfLaurels.java | 5 +- .../src/mage/cards/e/ElderPineOfJukai.java | 3 +- .../src/mage/cards/e/ElderscaleWurm.java | 3 +- .../src/mage/cards/e/ElderwoodScion.java | 2 +- .../src/mage/cards/e/EldraziAggressor.java | 5 +- .../src/mage/cards/e/EldraziConscription.java | 4 +- .../src/mage/cards/e/EldraziDevastator.java | 3 +- .../src/mage/cards/e/EldraziDisplacer.java | 3 +- Mage.Sets/src/mage/cards/e/EldraziMimic.java | 2 +- .../src/mage/cards/e/EldraziObligator.java | 3 +- .../src/mage/cards/e/EldraziSkyspawner.java | 5 +- Mage.Sets/src/mage/cards/e/ElectricEel.java | 3 +- .../mage/cards/e/ElectrostaticPummeler.java | 3 +- .../src/mage/cards/e/ElegantEdgecrafters.java | 5 +- .../src/mage/cards/e/ElementalMastery.java | 3 +- .../src/mage/cards/e/ElementalUprising.java | 3 +- Mage.Sets/src/mage/cards/e/ElephantGuide.java | 3 +- .../mage/cards/e/EleshNornGrandCenobite.java | 3 +- Mage.Sets/src/mage/cards/e/ElfReplica.java | 3 +- .../src/mage/cards/e/ElgaudInquisitor.java | 5 +- .../src/mage/cards/e/ElgaudShieldmate.java | 5 +- Mage.Sets/src/mage/cards/e/EliteArcanist.java | 5 +- Mage.Sets/src/mage/cards/e/EliteArchers.java | 7 +- .../src/mage/cards/e/EliteCatWarrior.java | 5 +- .../src/mage/cards/e/EliteInquisitor.java | 4 +- .../src/mage/cards/e/EliteJavelineer.java | 5 +- .../src/mage/cards/e/EliteScaleguard.java | 5 +- .../src/mage/cards/e/EliteSkirmisher.java | 5 +- Mage.Sets/src/mage/cards/e/EliteVanguard.java | 5 +- .../src/mage/cards/e/ElspethKnightErrant.java | 3 +- .../src/mage/cards/e/ElspethSunsChampion.java | 3 +- Mage.Sets/src/mage/cards/e/ElspethTirel.java | 3 +- Mage.Sets/src/mage/cards/e/ElusiveKrasis.java | 5 +- .../src/mage/cards/e/ElusiveSpellfist.java | 5 +- .../src/mage/cards/e/ElusiveTormentor.java | 5 +- Mage.Sets/src/mage/cards/e/ElvenRiders.java | 2 +- .../src/mage/cards/e/ElvenWarhounds.java | 3 +- .../src/mage/cards/e/ElvesOfDeepShadow.java | 5 +- .../src/mage/cards/e/ElvishAberration.java | 5 +- .../src/mage/cards/e/ElvishArchdruid.java | 4 +- Mage.Sets/src/mage/cards/e/ElvishArchers.java | 5 +- Mage.Sets/src/mage/cards/e/ElvishBard.java | 5 +- .../src/mage/cards/e/ElvishBerserker.java | 5 +- .../src/mage/cards/e/ElvishBranchbender.java | 6 +- .../src/mage/cards/e/ElvishChampion.java | 2 +- .../src/mage/cards/e/ElvishEulogist.java | 4 +- Mage.Sets/src/mage/cards/e/ElvishFarmer.java | 2 +- .../src/mage/cards/e/ElvishGuidance.java | 2 +- .../src/mage/cards/e/ElvishHandservant.java | 4 +- .../src/mage/cards/e/ElvishHarbinger.java | 4 +- Mage.Sets/src/mage/cards/e/ElvishHerder.java | 3 +- .../src/mage/cards/e/ElvishHexhunter.java | 5 +- Mage.Sets/src/mage/cards/e/ElvishHunter.java | 5 +- Mage.Sets/src/mage/cards/e/ElvishLookout.java | 3 +- Mage.Sets/src/mage/cards/e/ElvishLyrist.java | 3 +- Mage.Sets/src/mage/cards/e/ElvishMystic.java | 5 +- .../src/mage/cards/e/ElvishPathcutter.java | 4 +- Mage.Sets/src/mage/cards/e/ElvishPioneer.java | 5 +- Mage.Sets/src/mage/cards/e/ElvishPiper.java | 5 +- .../src/mage/cards/e/ElvishPromenade.java | 2 +- Mage.Sets/src/mage/cards/e/ElvishRanger.java | 3 +- Mage.Sets/src/mage/cards/e/ElvishScout.java | 5 +- .../src/mage/cards/e/ElvishScrapper.java | 3 +- .../src/mage/cards/e/ElvishSkysweeper.java | 5 +- .../src/mage/cards/e/ElvishSoultiller.java | 4 +- .../src/mage/cards/e/ElvishSpiritGuide.java | 5 +- .../src/mage/cards/e/ElvishVanguard.java | 4 +- .../src/mage/cards/e/ElvishVisionary.java | 5 +- Mage.Sets/src/mage/cards/e/ElvishWarrior.java | 5 +- .../src/mage/cards/e/EmancipationAngel.java | 3 +- .../src/mage/cards/e/EmbalmedBrawler.java | 3 +- Mage.Sets/src/mage/cards/e/EmberBeast.java | 3 +- Mage.Sets/src/mage/cards/e/EmberEyeWolf.java | 3 +- .../src/mage/cards/e/EmberFistZubera.java | 5 +- Mage.Sets/src/mage/cards/e/EmberHauler.java | 3 +- .../src/mage/cards/e/EmberSwallower.java | 3 +- Mage.Sets/src/mage/cards/e/EmberWeaver.java | 3 +- .../src/mage/cards/e/EmberhornMinotaur.java | 151 +++--- .../src/mage/cards/e/EmbermageGoblin.java | 5 +- .../src/mage/cards/e/EmbermawHellion.java | 3 +- Mage.Sets/src/mage/cards/e/Embersmith.java | 5 +- .../src/mage/cards/e/EmberstrikeDuo.java | 7 +- .../src/mage/cards/e/EmberwildeAugur.java | 5 +- .../src/mage/cards/e/EmblemOfTheWarmind.java | 3 +- .../src/mage/cards/e/EmbodimentOfFury.java | 5 +- .../src/mage/cards/e/EmbodimentOfInsight.java | 5 +- .../src/mage/cards/e/EmbodimentOfSpring.java | 3 +- .../src/mage/cards/e/EmbraalBruiser.java | 5 +- .../src/mage/cards/e/EmbraalGearSmasher.java | 5 +- .../src/mage/cards/e/EmeraldDragonfly.java | 3 +- Mage.Sets/src/mage/cards/e/EmeraldOryx.java | 3 +- Mage.Sets/src/mage/cards/e/EmeriaAngel.java | 3 +- .../src/mage/cards/e/EmeriaShepherd.java | 3 +- .../src/mage/cards/e/EmissaryOfDespair.java | 3 +- .../src/mage/cards/e/EmissaryOfHope.java | 3 +- .../mage/cards/e/EmissaryOfTheSleepless.java | 3 +- Mage.Sets/src/mage/cards/e/EmmaraTandris.java | 4 +- .../src/mage/cards/e/EmperorCrocodile.java | 3 +- .../src/mage/cards/e/EmperorsVanguard.java | 5 +- Mage.Sets/src/mage/cards/e/EmpressGalina.java | 3 +- .../src/mage/cards/e/EmptyShrineKannushi.java | 5 +- .../src/mage/cards/e/EmpyrealVoyager.java | 5 +- .../src/mage/cards/e/EmpyrialArchangel.java | 3 +- Mage.Sets/src/mage/cards/e/EmpyrialArmor.java | 3 +- Mage.Sets/src/mage/cards/e/EmpyrialPlate.java | 3 +- .../src/mage/cards/e/EmrakulTheAeonsTorn.java | 3 +- .../mage/cards/e/EmrakulThePromisedEnd.java | 2 +- .../src/mage/cards/e/EmrakulsEvangel.java | 4 +- .../src/mage/cards/e/EmrakulsHatcher.java | 5 +- Mage.Sets/src/mage/cards/e/EnatuGolem.java | 3 +- Mage.Sets/src/mage/cards/e/EncaseInIce.java | 3 +- .../src/mage/cards/e/EnclaveCryptologist.java | 5 +- Mage.Sets/src/mage/cards/e/EnclaveElite.java | 5 +- Mage.Sets/src/mage/cards/e/Encrust.java | 3 +- .../src/mage/cards/e/EndangeredArmodon.java | 3 +- Mage.Sets/src/mage/cards/e/Endbringer.java | 3 +- .../src/mage/cards/e/EndlessCockroaches.java | 3 +- Mage.Sets/src/mage/cards/e/EndlessOne.java | 3 +- Mage.Sets/src/mage/cards/e/EndlessSands.java | 3 +- Mage.Sets/src/mage/cards/e/EndlessScream.java | 3 +- Mage.Sets/src/mage/cards/e/EndlessWurm.java | 3 +- .../mage/cards/e/EndrekSahrMasterBreeder.java | 4 +- .../src/mage/cards/e/EnduringScalelord.java | 3 +- .../src/mage/cards/e/EnemyOfTheGuildpact.java | 3 +- Mage.Sets/src/mage/cards/e/Energizer.java | 3 +- Mage.Sets/src/mage/cards/e/Enfeeblement.java | 3 +- .../src/mage/cards/e/EngulfingSlagwurm.java | 3 +- Mage.Sets/src/mage/cards/e/EnigmaDrake.java | 3 +- Mage.Sets/src/mage/cards/e/EnigmaEidolon.java | 3 +- Mage.Sets/src/mage/cards/e/EnigmaSphinx.java | 3 +- .../src/mage/cards/e/EnlightenedAscetic.java | 5 +- .../src/mage/cards/e/EnlightenedManiac.java | 3 +- Mage.Sets/src/mage/cards/e/EnlistedWurm.java | 3 +- .../src/mage/cards/e/EnlistmentOfficer.java | 4 +- .../src/mage/cards/e/EnormousBaloth.java | 3 +- Mage.Sets/src/mage/cards/e/EnragedGiant.java | 3 +- .../mage/cards/e/EnragedRevolutionary.java | 5 +- Mage.Sets/src/mage/cards/e/EnragingLicid.java | 3 +- Mage.Sets/src/mage/cards/e/Enslave.java | 3 +- Mage.Sets/src/mage/cards/e/EnslavedDwarf.java | 3 +- Mage.Sets/src/mage/cards/e/EnslavedScout.java | 5 +- .../src/mage/cards/e/EnsoulArtifact.java | 3 +- .../src/mage/cards/e/EnsouledScimitar.java | 5 +- Mage.Sets/src/mage/cards/e/Entangler.java | 3 +- .../src/mage/cards/e/EntanglingVines.java | 3 +- .../src/mage/cards/e/EnthrallingVictor.java | 5 +- .../src/mage/cards/e/EntomberExarch.java | 3 +- .../src/mage/cards/e/EntourageOfTrest.java | 5 +- .../src/mage/cards/e/EntropicEidolon.java | 3 +- .../src/mage/cards/e/EntropicSpecter.java | 4 +- .../src/mage/cards/e/EpharaGodOfThePolis.java | 2 +- .../mage/cards/e/EpharasEnlightenment.java | 3 +- .../src/mage/cards/e/EpharasRadiance.java | 2 +- Mage.Sets/src/mage/cards/e/EpharasWarden.java | 5 +- Mage.Sets/src/mage/cards/e/Ephemeron.java | 3 +- .../src/mage/cards/e/EpicProportions.java | 2 +- Mage.Sets/src/mage/cards/e/EpiphanyStorm.java | 3 +- Mage.Sets/src/mage/cards/e/EpitaphGolem.java | 3 +- Mage.Sets/src/mage/cards/e/Epochrasite.java | 3 +- .../src/mage/cards/e/EquestrianSkill.java | 2 +- .../mage/cards/e/ErayoSoratamiAscendant.java | 5 +- .../src/mage/cards/e/ErdwalIlluminator.java | 3 +- Mage.Sets/src/mage/cards/e/ErdwalRipper.java | 3 +- .../src/mage/cards/e/ErebosGodOfTheDead.java | 2 +- .../src/mage/cards/e/ErebossEmissary.java | 2 +- Mage.Sets/src/mage/cards/e/ErebossTitan.java | 3 +- Mage.Sets/src/mage/cards/e/ErgRaiders.java | 5 +- Mage.Sets/src/mage/cards/e/ErhnamDjinn.java | 2 +- .../src/mage/cards/e/EronTheRelentless.java | 5 +- .../src/mage/cards/e/ErrantDoomsayers.java | 5 +- .../src/mage/cards/e/ErrantEphemeron.java | 3 +- Mage.Sets/src/mage/cards/e/Errantry.java | 3 +- Mage.Sets/src/mage/cards/e/ErsatzGnomes.java | 3 +- .../src/mage/cards/e/ErtaiTheCorrupted.java | 5 +- .../src/mage/cards/e/ErtaiWizardAdept.java | 5 +- .../src/mage/cards/e/EruptingDreadwolf.java | 5 +- Mage.Sets/src/mage/cards/e/EscapeArtist.java | 5 +- Mage.Sets/src/mage/cards/e/EscapedNull.java | 5 +- .../src/mage/cards/e/EsperBattlemage.java | 5 +- .../src/mage/cards/e/EsperCormorants.java | 3 +- .../src/mage/cards/e/EsperSojourners.java | 5 +- .../src/mage/cards/e/EsperStormblade.java | 5 +- Mage.Sets/src/mage/cards/e/Esperzoa.java | 3 +- .../src/mage/cards/e/EssenceDepleter.java | 5 +- .../src/mage/cards/e/EssenceOfTheWild.java | 3 +- Mage.Sets/src/mage/cards/e/EssenceSliver.java | 2 +- Mage.Sets/src/mage/cards/e/EssenceWarden.java | 5 +- .../src/mage/cards/e/EtchedChampion.java | 3 +- .../src/mage/cards/e/EtchedMonstrosity.java | 3 +- Mage.Sets/src/mage/cards/e/EtchedOracle.java | 3 +- Mage.Sets/src/mage/cards/e/EternalDragon.java | 5 +- .../mage/cards/e/EternalOfHarshTruths.java | 137 +++--- .../src/mage/cards/e/EternalScourge.java | 4 +- Mage.Sets/src/mage/cards/e/EternalThirst.java | 2 +- .../src/mage/cards/e/EternalWarrior.java | 3 +- .../src/mage/cards/e/EternalWitness.java | 5 +- Mage.Sets/src/mage/cards/e/EternitySnare.java | 3 +- .../src/mage/cards/e/EthercasteKnight.java | 5 +- Mage.Sets/src/mage/cards/e/EtherealArmor.java | 2 +- .../src/mage/cards/e/EtherealChampion.java | 3 +- Mage.Sets/src/mage/cards/e/EtherealUsher.java | 3 +- .../src/mage/cards/e/EtherealWhiskergill.java | 2 +- .../src/mage/cards/e/EtheriumAbomination.java | 3 +- .../mage/cards/e/EtheriumHornSorcerer.java | 5 +- .../src/mage/cards/e/EtheriumSculptor.java | 5 +- .../mage/cards/e/EtherswornAdjudicator.java | 5 +- .../src/mage/cards/e/EtherswornCanonist.java | 4 +- .../mage/cards/e/EtherswornShieldmage.java | 5 +- .../src/mage/cards/e/EvanescentIntellect.java | 2 +- .../src/mage/cards/e/EvangelOfHeliod.java | 5 +- .../src/mage/cards/e/EverbarkShaman.java | 4 +- .../src/mage/cards/e/EverflameEidolon.java | 3 +- .../src/mage/cards/e/EvergloveCourier.java | 2 +- .../src/mage/cards/e/EvernightShade.java | 3 +- Mage.Sets/src/mage/cards/e/Evershrike.java | 4 +- .../src/mage/cards/e/EvilEyeOfOrmsByGore.java | 2 +- .../src/mage/cards/e/EvilEyeOfUrborg.java | 2 +- Mage.Sets/src/mage/cards/e/EvilPresence.java | 2 +- Mage.Sets/src/mage/cards/e/EvilTwin.java | 3 +- Mage.Sets/src/mage/cards/e/Eviscerator.java | 3 +- .../src/mage/cards/e/EwokFiredancers.java | 5 +- Mage.Sets/src/mage/cards/e/ExaltedAngel.java | 3 +- Mage.Sets/src/mage/cards/e/ExaltedDragon.java | 3 +- .../mage/cards/e/ExavaRakdosBloodWitch.java | 4 +- Mage.Sets/src/mage/cards/e/Excruciator.java | 195 ++++---- .../src/mage/cards/e/ExecutionersHood.java | 3 +- .../src/mage/cards/e/ExemplarOfStrength.java | 5 +- Mage.Sets/src/mage/cards/e/ExhumerThrull.java | 3 +- Mage.Sets/src/mage/cards/e/ExiledBoggart.java | 5 +- Mage.Sets/src/mage/cards/e/Exogorth.java | 3 +- Mage.Sets/src/mage/cards/e/Exorcist.java | 5 +- .../src/mage/cards/e/ExoskeletalArmor.java | 3 +- Mage.Sets/src/mage/cards/e/ExoticCurse.java | 3 +- .../src/mage/cards/e/ExpeditionEnvoy.java | 7 +- .../src/mage/cards/e/ExpeditionRaptor.java | 3 +- .../src/mage/cards/e/ExpendableTroops.java | 5 +- .../src/mage/cards/e/ExperimentKraj.java | 4 +- Mage.Sets/src/mage/cards/e/ExperimentOne.java | 5 +- .../src/mage/cards/e/ExperimentalAviator.java | 5 +- .../src/mage/cards/e/ExplorersScope.java | 3 +- .../src/mage/cards/e/ExquisiteArchangel.java | 3 +- Mage.Sets/src/mage/cards/e/ExtraArms.java | 3 +- .../src/mage/cards/e/ExtractorDemon.java | 3 +- .../src/mage/cards/e/ExtricatorOfFlesh.java | 4 +- .../src/mage/cards/e/ExtricatorOfSin.java | 5 +- Mage.Sets/src/mage/cards/e/Extruder.java | 3 +- .../src/mage/cards/e/ExuberantFirestoker.java | 7 +- .../src/mage/cards/e/ExultantCultist.java | 5 +- .../src/mage/cards/e/EyeblightAssassin.java | 5 +- .../src/mage/cards/e/EyeblightsEnding.java | 2 +- .../src/mage/cards/e/EyelessWatcher.java | 5 +- .../src/mage/cards/e/EyesOfTheWisent.java | 3 +- .../src/mage/cards/e/EzuriClawOfProgress.java | 4 +- .../src/mage/cards/e/EzuriRenegadeLeader.java | 4 +- Mage.Sets/src/mage/cards/e/EzurisArchers.java | 5 +- Mage.Sets/src/mage/cards/e/EzurisBrigade.java | 5 +- Mage.Sets/src/mage/cards/f/FaadiyahSeer.java | 5 +- Mage.Sets/src/mage/cards/f/FabledHero.java | 5 +- Mage.Sets/src/mage/cards/f/FaceOfFear.java | 3 +- .../src/mage/cards/f/FacelessButcher.java | 5 +- .../src/mage/cards/f/FacelessDevourer.java | 5 +- Mage.Sets/src/mage/cards/f/Facevaulter.java | 4 +- .../src/mage/cards/f/FaerieArtisans.java | 4 +- .../src/mage/cards/f/FaerieConclave.java | 3 +- .../src/mage/cards/f/FaerieHarbinger.java | 4 +- .../src/mage/cards/f/FaerieImpostor.java | 5 +- .../src/mage/cards/f/FaerieInvaders.java | 5 +- Mage.Sets/src/mage/cards/f/FaerieMacabre.java | 5 +- .../src/mage/cards/f/FaerieMechanist.java | 5 +- .../src/mage/cards/f/FaerieMiscreant.java | 5 +- Mage.Sets/src/mage/cards/f/FaerieNoble.java | 2 +- .../src/mage/cards/f/FaerieSquadron.java | 3 +- Mage.Sets/src/mage/cards/f/FaerieSwarm.java | 3 +- .../src/mage/cards/f/FaerieTauntings.java | 3 +- .../src/mage/cards/f/FaerieTrickery.java | 2 +- .../mage/cards/f/FairgroundsTrumpeter.java | 3 +- .../src/mage/cards/f/FairgroundsWarden.java | 5 +- Mage.Sets/src/mage/cards/f/FaithHealer.java | 5 +- .../src/mage/cards/f/FaithOfTheDevoted.java | 140 +++--- Mage.Sets/src/mage/cards/f/FaithUnbroken.java | 2 +- .../src/mage/cards/f/FaithbearerPaladin.java | 5 +- .../src/mage/cards/f/FaithfulSquire.java | 7 +- Mage.Sets/src/mage/cards/f/FaithsFetters.java | 2 +- .../mage/cards/f/FalkenrathAristocrat.java | 2 +- .../mage/cards/f/FalkenrathExterminator.java | 5 +- .../src/mage/cards/f/FalkenrathGorger.java | 4 +- .../src/mage/cards/f/FalkenrathMarauders.java | 5 +- .../src/mage/cards/f/FalkenrathNoble.java | 3 +- .../src/mage/cards/f/FalkenrathReaver.java | 3 +- .../src/mage/cards/f/FalkenrathTorturer.java | 2 +- Mage.Sets/src/mage/cards/f/FallenAngel.java | 3 +- Mage.Sets/src/mage/cards/f/FallenAskari.java | 5 +- Mage.Sets/src/mage/cards/f/FallenCleric.java | 4 +- .../src/mage/cards/f/FallenFerromancer.java | 5 +- Mage.Sets/src/mage/cards/f/FallenIdeal.java | 2 +- Mage.Sets/src/mage/cards/f/FallowWurm.java | 3 +- Mage.Sets/src/mage/cards/f/Fallowsage.java | 5 +- Mage.Sets/src/mage/cards/f/FalseDemise.java | 3 +- Mage.Sets/src/mage/cards/f/FalseProphet.java | 5 +- Mage.Sets/src/mage/cards/f/FamishedGhoul.java | 3 +- Mage.Sets/src/mage/cards/f/FanBearer.java | 3 +- .../src/mage/cards/f/FanaticOfMogis.java | 5 +- .../src/mage/cards/f/FanaticOfXenagos.java | 5 +- Mage.Sets/src/mage/cards/f/FangOfThePack.java | 3 +- Mage.Sets/src/mage/cards/f/FangSkulkin.java | 3 +- .../src/mage/cards/f/FangrenFirstborn.java | 3 +- Mage.Sets/src/mage/cards/f/FangrenHunter.java | 3 +- .../src/mage/cards/f/FangrenMarauder.java | 3 +- .../src/mage/cards/f/FangrenPathcutter.java | 3 +- .../src/mage/cards/f/FarbogBoneflinger.java | 3 +- .../src/mage/cards/f/FarbogExplorer.java | 5 +- .../src/mage/cards/f/FarbogRevenant.java | 3 +- Mage.Sets/src/mage/cards/f/FarhavenElf.java | 5 +- Mage.Sets/src/mage/cards/f/FarmMarket.java | 142 +++--- Mage.Sets/src/mage/cards/f/Farmstead.java | 2 +- .../src/mage/cards/f/FarrelitePriest.java | 5 +- Mage.Sets/src/mage/cards/f/FarrelsMantle.java | 2 +- Mage.Sets/src/mage/cards/f/FarrelsZealot.java | 3 +- .../src/mage/cards/f/FatalAttraction.java | 3 +- Mage.Sets/src/mage/cards/f/FatalMutation.java | 3 +- Mage.Sets/src/mage/cards/f/FateForetold.java | 3 +- Mage.Sets/src/mage/cards/f/FateUnraveler.java | 3 +- Mage.Sets/src/mage/cards/f/Fatespinner.java | 4 +- Mage.Sets/src/mage/cards/f/Fatestitcher.java | 5 +- Mage.Sets/src/mage/cards/f/FathomFeeder.java | 5 +- .../src/mage/cards/f/FathomFleetCaptain.java | 4 +- Mage.Sets/src/mage/cards/f/FathomMage.java | 5 +- Mage.Sets/src/mage/cards/f/FathomSeer.java | 2 +- Mage.Sets/src/mage/cards/f/FaultRiders.java | 5 +- Mage.Sets/src/mage/cards/f/Faultgrinder.java | 3 +- Mage.Sets/src/mage/cards/f/FaunaShaman.java | 5 +- .../src/mage/cards/f/FavorOfTheMighty.java | 2 +- .../src/mage/cards/f/FavorOfTheOverbeing.java | 3 +- .../src/mage/cards/f/FavorOfTheWoods.java | 3 +- .../src/mage/cards/f/FavoredHoplite.java | 5 +- Mage.Sets/src/mage/cards/f/Fear.java | 3 +- .../src/mage/cards/f/FearsomeTemper.java | 2 +- .../src/mage/cards/f/FeastOfTheUnicorn.java | 3 +- Mage.Sets/src/mage/cards/f/Feebleness.java | 3 +- Mage.Sets/src/mage/cards/f/Feedback.java | 3 +- .../mage/cards/f/FeldonOfTheThirdPath.java | 5 +- .../src/mage/cards/f/FelhideBrawler.java | 2 +- .../src/mage/cards/f/FelhideMinotaur.java | 3 +- .../src/mage/cards/f/FelhidePetrifier.java | 4 +- .../src/mage/cards/f/FelhideSpiritbinder.java | 5 +- Mage.Sets/src/mage/cards/f/FelidarCub.java | 5 +- .../src/mage/cards/f/FelidarGuardian.java | 5 +- .../src/mage/cards/f/FelidarSovereign.java | 5 +- Mage.Sets/src/mage/cards/f/FelidarUmbra.java | 3 +- Mage.Sets/src/mage/cards/f/FellShepherd.java | 2 +- .../src/mage/cards/f/FemerefArchers.java | 5 +- .../src/mage/cards/f/FemerefEnchantress.java | 5 +- Mage.Sets/src/mage/cards/f/FemerefHealer.java | 5 +- Mage.Sets/src/mage/cards/f/FemerefKnight.java | 5 +- Mage.Sets/src/mage/cards/f/FemerefScouts.java | 5 +- Mage.Sets/src/mage/cards/f/FenHauler.java | 3 +- Mage.Sets/src/mage/cards/f/FenStalker.java | 3 +- Mage.Sets/src/mage/cards/f/FencerClique.java | 5 +- .../src/mage/cards/f/FencersMagemark.java | 2 +- Mage.Sets/src/mage/cards/f/FencingAce.java | 5 +- .../src/mage/cards/f/FendeepSummoner.java | 8 +- Mage.Sets/src/mage/cards/f/FeralAnimist.java | 5 +- Mage.Sets/src/mage/cards/f/FeralDeceiver.java | 3 +- Mage.Sets/src/mage/cards/f/FeralHydra.java | 5 +- .../src/mage/cards/f/FeralInvocation.java | 3 +- Mage.Sets/src/mage/cards/f/FeralKrushok.java | 3 +- Mage.Sets/src/mage/cards/f/FeralProwler.java | 3 +- .../src/mage/cards/f/FeralRidgewolf.java | 3 +- Mage.Sets/src/mage/cards/f/FeralShadow.java | 3 +- Mage.Sets/src/mage/cards/f/FeralThallid.java | 3 +- .../src/mage/cards/f/FeralThrowback.java | 3 +- Mage.Sets/src/mage/cards/f/Ferropede.java | 3 +- Mage.Sets/src/mage/cards/f/Ferrovore.java | 3 +- Mage.Sets/src/mage/cards/f/FertileGround.java | 3 +- Mage.Sets/src/mage/cards/f/Fertilid.java | 3 +- Mage.Sets/src/mage/cards/f/FerventCathar.java | 5 +- .../src/mage/cards/f/FerventPaincaster.java | 161 +++---- Mage.Sets/src/mage/cards/f/Festercreep.java | 3 +- .../src/mage/cards/f/FesterhideBoar.java | 3 +- .../src/mage/cards/f/FesteringGoblin.java | 5 +- .../src/mage/cards/f/FesteringMummy.java | 137 +++--- Mage.Sets/src/mage/cards/f/FesteringNewt.java | 3 +- .../src/mage/cards/f/FesteringWound.java | 2 +- Mage.Sets/src/mage/cards/f/FetidHorror.java | 5 +- Mage.Sets/src/mage/cards/f/FetidImp.java | 3 +- Mage.Sets/src/mage/cards/f/FetidPools.java | 5 +- Mage.Sets/src/mage/cards/f/Fettergeist.java | 3 +- .../src/mage/cards/f/FeudkillersVerdict.java | 3 +- .../src/mage/cards/f/FibrousEntangler.java | 5 +- .../src/mage/cards/f/FiddleheadKami.java | 3 +- Mage.Sets/src/mage/cards/f/FieldCreeper.java | 3 +- Mage.Sets/src/mage/cards/f/FieldMarshal.java | 4 +- .../src/mage/cards/f/FieldOfReality.java | 2 +- Mage.Sets/src/mage/cards/f/FieldSurgeon.java | 5 +- Mage.Sets/src/mage/cards/f/FiendBinder.java | 5 +- Mage.Sets/src/mage/cards/f/FiendHunter.java | 5 +- .../src/mage/cards/f/FiendOfTheShadows.java | 4 +- .../src/mage/cards/f/FiendslayerPaladin.java | 5 +- Mage.Sets/src/mage/cards/f/FierceEmpath.java | 3 +- .../src/mage/cards/f/FieryHellhound.java | 5 +- Mage.Sets/src/mage/cards/f/FieryMantle.java | 2 +- Mage.Sets/src/mage/cards/f/FightingDrake.java | 3 +- .../src/mage/cards/f/FigureOfDestiny.java | 20 +- Mage.Sets/src/mage/cards/f/FiligreeAngel.java | 3 +- .../src/mage/cards/f/FiligreeCrawler.java | 3 +- .../src/mage/cards/f/FiligreeFamiliar.java | 3 +- Mage.Sets/src/mage/cards/f/FiligreeSages.java | 5 +- Mage.Sets/src/mage/cards/f/Filth.java | 2 +- Mage.Sets/src/mage/cards/f/FilthyCur.java | 3 +- .../src/mage/cards/f/FinalIteration.java | 4 +- .../src/mage/cards/f/FinalStingFaerie.java | 5 +- Mage.Sets/src/mage/cards/f/FireAnts.java | 3 +- .../src/mage/cards/f/FireBellyChangeling.java | 3 +- Mage.Sets/src/mage/cards/f/FireBowman.java | 7 +- Mage.Sets/src/mage/cards/f/FireDragon.java | 2 +- Mage.Sets/src/mage/cards/f/FireDrake.java | 3 +- Mage.Sets/src/mage/cards/f/FireElemental.java | 3 +- Mage.Sets/src/mage/cards/f/FireFieldOgre.java | 5 +- Mage.Sets/src/mage/cards/f/FireImp.java | 3 +- Mage.Sets/src/mage/cards/f/FireJuggler.java | 5 +- Mage.Sets/src/mage/cards/f/FireServant.java | 3 +- Mage.Sets/src/mage/cards/f/FireSnake.java | 3 +- Mage.Sets/src/mage/cards/f/FireSprites.java | 3 +- Mage.Sets/src/mage/cards/f/FireWhip.java | 2 +- .../src/mage/cards/f/FirebrandArcher.java | 149 +++--- .../src/mage/cards/f/FirebrandRanger.java | 5 +- Mage.Sets/src/mage/cards/f/Firebreathing.java | 2 +- Mage.Sets/src/mage/cards/f/FirecatBlitz.java | 254 +++++----- .../src/mage/cards/f/FiredrinkerSatyr.java | 5 +- .../src/mage/cards/f/FirefiendElemental.java | 3 +- .../src/mage/cards/f/FirefistStriker.java | 5 +- Mage.Sets/src/mage/cards/f/Firefly.java | 3 +- .../src/mage/cards/f/FirefrightMage.java | 5 +- .../src/mage/cards/f/FirehoofCavalry.java | 5 +- Mage.Sets/src/mage/cards/f/FiremaneAngel.java | 3 +- .../src/mage/cards/f/FiremaneAvenger.java | 3 +- .../src/mage/cards/f/FiremantleMage.java | 7 +- Mage.Sets/src/mage/cards/f/FiremawKavu.java | 3 +- Mage.Sets/src/mage/cards/f/Firescreamer.java | 3 +- Mage.Sets/src/mage/cards/f/Fireshrieker.java | 3 +- Mage.Sets/src/mage/cards/f/Fireslinger.java | 5 +- .../src/mage/cards/f/FirestormHellkite.java | 3 +- .../src/mage/cards/f/FirewakeSliver.java | 2 +- .../src/mage/cards/f/FirewingPhoenix.java | 3 +- Mage.Sets/src/mage/cards/f/FishliverOil.java | 3 +- .../src/mage/cards/f/FistsOfIronwood.java | 3 +- .../src/mage/cards/f/FistsOfTheDemigod.java | 3 +- Mage.Sets/src/mage/cards/f/FlailingDrake.java | 3 +- .../src/mage/cards/f/FlailingManticore.java | 3 +- Mage.Sets/src/mage/cards/f/FlailingOgre.java | 3 +- .../src/mage/cards/f/FlailingSoldier.java | 5 +- .../src/mage/cards/f/FlameKinWarScout.java | 5 +- .../src/mage/cards/f/FlameKinZealot.java | 5 +- Mage.Sets/src/mage/cards/f/FlameSpirit.java | 5 +- .../mage/cards/f/FlameWreathedPhoenix.java | 3 +- .../src/mage/cards/f/FlamebladeAdept.java | 5 +- .../src/mage/cards/f/FlamebladeAngel.java | 3 +- .../src/mage/cards/f/FlameblastDragon.java | 3 +- .../src/mage/cards/f/FlamebornHellion.java | 3 +- .../src/mage/cards/f/FlamebornViron.java | 3 +- .../src/mage/cards/f/FlamecoreElemental.java | 3 +- .../src/mage/cards/f/FlameheartWerewolf.java | 3 +- .../src/mage/cards/f/FlamekinBladewhirl.java | 4 +- .../src/mage/cards/f/FlamekinBrawler.java | 5 +- .../src/mage/cards/f/FlamekinHarbinger.java | 4 +- .../src/mage/cards/f/FlamekinSpitfire.java | 5 +- .../src/mage/cards/f/FlamerushRider.java | 5 +- .../src/mage/cards/f/FlamespeakerAdept.java | 5 +- .../src/mage/cards/f/FlamespeakersWill.java | 2 +- .../src/mage/cards/f/FlamestickCourier.java | 2 +- .../src/mage/cards/f/FlametongueKavu.java | 3 +- .../src/mage/cards/f/FlamewakePhoenix.java | 3 +- .../src/mage/cards/f/FlamewaveInvoker.java | 5 +- Mage.Sets/src/mage/cards/f/Flamewright.java | 5 +- .../src/mage/cards/f/FlankingTroops.java | 5 +- .../src/mage/cards/f/FlaringFlameKin.java | 5 +- .../src/mage/cards/f/FlashConscription.java | 240 +++++----- Mage.Sets/src/mage/cards/f/FlayerDrone.java | 5 +- Mage.Sets/src/mage/cards/f/FlayerHusk.java | 3 +- .../mage/cards/f/FlayerOfTheHatebound.java | 3 +- .../src/mage/cards/f/FledglingDjinn.java | 3 +- .../src/mage/cards/f/FledglingDragon.java | 3 +- .../src/mage/cards/f/FledglingGriffin.java | 3 +- Mage.Sets/src/mage/cards/f/FledglingImp.java | 3 +- .../src/mage/cards/f/FledglingMawcor.java | 3 +- .../src/mage/cards/f/FledglingOsprey.java | 3 +- .../src/mage/cards/f/FleecemaneLion.java | 3 +- .../src/mage/cards/f/FleetFootedMonk.java | 5 +- .../mage/cards/f/FleetfeatherCockatrice.java | 3 +- .../src/mage/cards/f/FleetfeatherSandals.java | 2 +- .../src/mage/cards/f/FleetfootPanther.java | 3 +- Mage.Sets/src/mage/cards/f/FleetingImage.java | 3 +- Mage.Sets/src/mage/cards/f/Flensermite.java | 3 +- Mage.Sets/src/mage/cards/f/FleshCarver.java | 5 +- Mage.Sets/src/mage/cards/f/FleshEaterImp.java | 3 +- .../src/mage/cards/f/FleshbagMarauder.java | 5 +- Mage.Sets/src/mage/cards/f/Fleshformer.java | 5 +- Mage.Sets/src/mage/cards/f/Fleshgrafter.java | 5 +- Mage.Sets/src/mage/cards/f/FleshmadSteed.java | 3 +- .../src/mage/cards/f/FleshpulperGiant.java | 3 +- Mage.Sets/src/mage/cards/f/Fleshwrither.java | 3 +- Mage.Sets/src/mage/cards/f/Flickerform.java | 2 +- .../src/mage/cards/f/FlickeringSpirit.java | 3 +- .../src/mage/cards/f/FlickeringWard.java | 3 +- Mage.Sets/src/mage/cards/f/Flickerwisp.java | 3 +- Mage.Sets/src/mage/cards/f/Flight.java | 3 +- Mage.Sets/src/mage/cards/f/FlightOfFancy.java | 3 +- Mage.Sets/src/mage/cards/f/FlinthoofBoar.java | 2 +- .../src/mage/cards/f/FlitterstepEidolon.java | 3 +- .../src/mage/cards/f/FloatingDreamZubera.java | 5 +- Mage.Sets/src/mage/cards/f/Floodbringer.java | 5 +- Mage.Sets/src/mage/cards/f/Floodchaser.java | 2 +- .../src/mage/cards/f/FloodedWoodlands.java | 196 ++++---- .../src/mage/cards/f/FloodtideSerpent.java | 3 +- Mage.Sets/src/mage/cards/f/FlowOfMaggots.java | 2 +- .../src/mage/cards/f/FloweringField.java | 2 +- .../src/mage/cards/f/FloweringLumberknot.java | 3 +- .../src/mage/cards/f/FlowstoneBlade.java | 3 +- .../src/mage/cards/f/FlowstoneCharger.java | 3 +- .../src/mage/cards/f/FlowstoneCrusher.java | 3 +- .../src/mage/cards/f/FlowstoneEmbrace.java | 3 +- .../src/mage/cards/f/FlowstoneGiant.java | 3 +- .../src/mage/cards/f/FlowstoneHellion.java | 5 +- .../src/mage/cards/f/FlowstoneMauler.java | 3 +- .../src/mage/cards/f/FlowstoneOverseer.java | 3 +- .../src/mage/cards/f/FlowstoneSalamander.java | 3 +- .../src/mage/cards/f/FlowstoneSculpture.java | 3 +- .../src/mage/cards/f/FlowstoneShambler.java | 3 +- .../src/mage/cards/f/FlowstoneThopter.java | 3 +- Mage.Sets/src/mage/cards/f/FlowstoneWall.java | 3 +- .../src/mage/cards/f/FlowstoneWyvern.java | 3 +- Mage.Sets/src/mage/cards/f/Fluxcharger.java | 3 +- Mage.Sets/src/mage/cards/f/FlyingMen.java | 3 +- Mage.Sets/src/mage/cards/f/FodderLaunch.java | 2 +- .../src/mage/cards/f/FoeRazerRegent.java | 3 +- Mage.Sets/src/mage/cards/f/FogBank.java | 3 +- Mage.Sets/src/mage/cards/f/FogElemental.java | 3 +- Mage.Sets/src/mage/cards/f/FogOfGnats.java | 3 +- Mage.Sets/src/mage/cards/f/Fogwalker.java | 3 +- Mage.Sets/src/mage/cards/f/FolkOfAnHavva.java | 3 +- .../src/mage/cards/f/FolkOfThePines.java | 3 +- .../src/mage/cards/f/FollowedFootsteps.java | 3 +- Mage.Sets/src/mage/cards/f/FomoriNomad.java | 5 +- Mage.Sets/src/mage/cards/f/FoolsDemise.java | 3 +- Mage.Sets/src/mage/cards/f/FootSoldiers.java | 5 +- Mage.Sets/src/mage/cards/f/FoothillGuide.java | 4 +- Mage.Sets/src/mage/cards/f/Foratog.java | 2 +- Mage.Sets/src/mage/cards/f/ForbiddenLore.java | 2 +- .../mage/cards/f/ForbiddingWatchtower.java | 3 +- Mage.Sets/src/mage/cards/f/ForceOfNature.java | 3 +- .../src/mage/cards/f/ForceOfSavagery.java | 3 +- .../src/mage/cards/f/ForcedAdaptation.java | 3 +- Mage.Sets/src/mage/cards/f/ForcedWorship.java | 3 +- .../mage/cards/f/ForerunnerOfSlaughter.java | 5 +- Mage.Sets/src/mage/cards/f/ForestBear.java | 3 +- Mage.Sets/src/mage/cards/f/ForgeDevil.java | 3 +- .../src/mage/cards/f/ForgebornOreads.java | 3 +- .../src/mage/cards/f/ForgestokerDragon.java | 3 +- .../src/mage/cards/f/ForgottenAncient.java | 3 +- .../src/mage/cards/f/ForgottenCreation.java | 5 +- .../src/mage/cards/f/ForiysianBrigade.java | 5 +- .../mage/cards/f/ForiysianInterceptor.java | 5 +- .../src/mage/cards/f/ForiysianTotem.java | 3 +- .../src/mage/cards/f/ForkedBranchGarami.java | 3 +- .../src/mage/cards/f/ForlornPseudamma.java | 3 +- .../src/mage/cards/f/ForsakenDrifters.java | 3 +- .../src/mage/cards/f/FortifiedRampart.java | 3 +- Mage.Sets/src/mage/cards/f/Fortitude.java | 2 +- Mage.Sets/src/mage/cards/f/FortressCrab.java | 3 +- .../src/mage/cards/f/FortressCyclops.java | 5 +- Mage.Sets/src/mage/cards/f/FortuneThief.java | 5 +- Mage.Sets/src/mage/cards/f/FoulEmissary.java | 5 +- Mage.Sets/src/mage/cards/f/FoulFamiliar.java | 3 +- Mage.Sets/src/mage/cards/f/FoulImp.java | 3 +- Mage.Sets/src/mage/cards/f/FoulPresence.java | 2 +- Mage.Sets/src/mage/cards/f/FoulSpirit.java | 3 +- .../src/mage/cards/f/FoundryAssembler.java | 3 +- .../src/mage/cards/f/FoundryChampion.java | 5 +- Mage.Sets/src/mage/cards/f/FoundryHornet.java | 3 +- .../src/mage/cards/f/FoundryInspector.java | 3 +- .../src/mage/cards/f/FoundryScreecher.java | 3 +- .../mage/cards/f/FoundryStreetDenizen.java | 5 +- Mage.Sets/src/mage/cards/f/FountainWatch.java | 5 +- .../src/mage/cards/f/FourthBridgeProwler.java | 5 +- Mage.Sets/src/mage/cards/f/FoxfireOak.java | 5 +- .../src/mage/cards/f/FreedFromTheReal.java | 3 +- Mage.Sets/src/mage/cards/f/FreejamRegent.java | 3 +- .../src/mage/cards/f/FreewindEquenaut.java | 5 +- .../src/mage/cards/f/FreewindFalcon.java | 3 +- .../src/mage/cards/f/FreneticEfreet.java | 3 +- Mage.Sets/src/mage/cards/f/FreneticOgre.java | 3 +- .../src/mage/cards/f/FreneticRaptor.java | 4 +- .../src/mage/cards/f/FreneticSliver.java | 2 +- Mage.Sets/src/mage/cards/f/FrenziedFugue.java | 3 +- .../src/mage/cards/f/FrenziedGoblin.java | 5 +- Mage.Sets/src/mage/cards/f/FrenzySliver.java | 2 +- .../src/mage/cards/f/FreshVolunteers.java | 5 +- .../src/mage/cards/f/FretworkColony.java | 3 +- .../mage/cards/f/FreyaliseLlanowarsFury.java | 3 +- Mage.Sets/src/mage/cards/f/Frightcrawler.java | 3 +- .../src/mage/cards/f/FrightshroudCourier.java | 2 +- Mage.Sets/src/mage/cards/f/FrilledOculus.java | 3 +- .../src/mage/cards/f/FrilledSandwalla.java | 135 +++--- Mage.Sets/src/mage/cards/f/FrogTongue.java | 3 +- Mage.Sets/src/mage/cards/f/Frogmite.java | 3 +- .../src/mage/cards/f/FrogtosserBanneret.java | 4 +- Mage.Sets/src/mage/cards/f/FrontierGuide.java | 5 +- .../src/mage/cards/f/FrontierMastodon.java | 3 +- .../src/mage/cards/f/FrontlineDevastator.java | 143 +++--- .../src/mage/cards/f/FrontlineMedic.java | 5 +- .../src/mage/cards/f/FrontlineRebel.java | 5 +- Mage.Sets/src/mage/cards/f/FrontlineSage.java | 5 +- Mage.Sets/src/mage/cards/f/FrostGiant.java | 3 +- Mage.Sets/src/mage/cards/f/FrostLynx.java | 5 +- Mage.Sets/src/mage/cards/f/FrostOgre.java | 5 +- Mage.Sets/src/mage/cards/f/FrostRaptor.java | 3 +- Mage.Sets/src/mage/cards/f/FrostTitan.java | 3 +- Mage.Sets/src/mage/cards/f/FrostWalker.java | 3 +- .../src/mage/cards/f/FrostburnWeird.java | 3 +- Mage.Sets/src/mage/cards/f/Frostling.java | 3 +- Mage.Sets/src/mage/cards/f/Frostwielder.java | 5 +- .../src/mage/cards/f/FrostwindInvoker.java | 5 +- Mage.Sets/src/mage/cards/f/FrozenShade.java | 3 +- Mage.Sets/src/mage/cards/f/FrozenSolid.java | 3 +- .../src/mage/cards/f/FruitOfTheFirstTree.java | 3 +- Mage.Sets/src/mage/cards/f/FugitiveDruid.java | 4 +- .../src/mage/cards/f/FugitiveWizard.java | 5 +- .../src/mage/cards/f/FulminatorMage.java | 5 +- Mage.Sets/src/mage/cards/f/FumeSpitter.java | 3 +- .../src/mage/cards/f/FumikoTheLowblood.java | 5 +- Mage.Sets/src/mage/cards/f/FuneralPyre.java | 204 ++++---- .../src/mage/cards/f/FungalBehemoth.java | 3 +- .../src/mage/cards/f/FungalShambler.java | 5 +- Mage.Sets/src/mage/cards/f/FungusSliver.java | 4 +- Mage.Sets/src/mage/cards/f/FurnaceBrood.java | 3 +- Mage.Sets/src/mage/cards/f/FurnaceDragon.java | 3 +- Mage.Sets/src/mage/cards/f/FurnaceScamp.java | 3 +- Mage.Sets/src/mage/cards/f/FurnaceSpirit.java | 3 +- Mage.Sets/src/mage/cards/f/FurnaceWhelp.java | 3 +- .../src/mage/cards/f/FurorOfTheBitten.java | 2 +- .../src/mage/cards/f/FurtiveHomunculus.java | 3 +- Mage.Sets/src/mage/cards/f/FurySliver.java | 3 +- .../src/mage/cards/f/FurybladeVampire.java | 5 +- .../src/mage/cards/f/FurybornHellkite.java | 3 +- .../src/mage/cards/f/FurystokeGiant.java | 5 +- .../src/mage/cards/f/FusionElemental.java | 3 +- Mage.Sets/src/mage/cards/f/Fylamarid.java | 5 +- .../src/mage/cards/f/FyndhornBrownie.java | 3 +- Mage.Sets/src/mage/cards/f/FyndhornElder.java | 5 +- Mage.Sets/src/mage/cards/f/FyndhornElves.java | 5 +- Mage.Sets/src/mage/cards/g/GaddockTeeg.java | 4 +- Mage.Sets/src/mage/cards/g/GaeasAvenger.java | 3 +- Mage.Sets/src/mage/cards/g/GaeasEmbrace.java | 2 +- Mage.Sets/src/mage/cards/g/GaeasHerald.java | 3 +- Mage.Sets/src/mage/cards/g/GaeasLiege.java | 2 +- Mage.Sets/src/mage/cards/g/GaeasRevenge.java | 3 +- Mage.Sets/src/mage/cards/g/GaeasSkyfolk.java | 5 +- .../src/mage/cards/g/GahijiHonoredOne.java | 3 +- .../src/mage/cards/g/GalecasterColossus.java | 4 +- .../src/mage/cards/g/GalepowderMage.java | 5 +- .../src/mage/cards/g/GaleriderSliver.java | 3 +- Mage.Sets/src/mage/cards/g/Galestrike.java | 144 +++--- Mage.Sets/src/mage/cards/g/GalinasKnight.java | 5 +- Mage.Sets/src/mage/cards/g/Gallowbraid.java | 3 +- Mage.Sets/src/mage/cards/g/GallowsWarden.java | 2 +- .../src/mage/cards/g/GalvanicAlchemist.java | 5 +- Mage.Sets/src/mage/cards/g/GalvanicArc.java | 3 +- .../src/mage/cards/g/GalvanicJuggernaut.java | 3 +- Mage.Sets/src/mage/cards/g/Galvanoth.java | 3 +- .../src/mage/cards/g/GameTrailChangeling.java | 3 +- Mage.Sets/src/mage/cards/g/Gamekeeper.java | 3 +- .../mage/cards/g/GamorreanPrisonGuard.java | 4 +- Mage.Sets/src/mage/cards/g/GangOfDevils.java | 3 +- Mage.Sets/src/mage/cards/g/GangOfElk.java | 5 +- .../src/mage/cards/g/GangrenousGoliath.java | 4 +- .../src/mage/cards/g/GangrenousZombies.java | 180 +++---- .../src/mage/cards/g/GargoyleSentinel.java | 2 +- .../src/mage/cards/g/GarrukApexPredator.java | 2 +- .../mage/cards/g/GarrukCallerOfBeasts.java | 3 +- .../src/mage/cards/g/GarrukPrimalHunter.java | 3 +- .../src/mage/cards/g/GarrukRelentless.java | 3 +- .../src/mage/cards/g/GarrukTheVeilCursed.java | 3 +- .../src/mage/cards/g/GarrukWildspeaker.java | 3 +- .../src/mage/cards/g/GarruksCompanion.java | 3 +- Mage.Sets/src/mage/cards/g/GarruksHorde.java | 3 +- .../src/mage/cards/g/GarruksPackleader.java | 3 +- .../src/mage/cards/g/GarrulousSycophant.java | 5 +- .../src/mage/cards/g/GarzaZolPlagueQueen.java | 3 +- Mage.Sets/src/mage/cards/g/GaseousForm.java | 3 +- Mage.Sets/src/mage/cards/g/GateHound.java | 3 +- Mage.Sets/src/mage/cards/g/GateSmasher.java | 3 +- .../src/mage/cards/g/GatecreeperVine.java | 2 +- .../src/mage/cards/g/GatekeeperOfMalakir.java | 5 +- Mage.Sets/src/mage/cards/g/GatewayShade.java | 2 +- Mage.Sets/src/mage/cards/g/GathanRaiders.java | 5 +- .../src/mage/cards/g/GathererOfGraces.java | 4 +- .../src/mage/cards/g/GatstafArsonists.java | 5 +- Mage.Sets/src/mage/cards/g/GatstafHowler.java | 3 +- .../src/mage/cards/g/GatstafRavagers.java | 3 +- .../src/mage/cards/g/GatstafShepherd.java | 5 +- .../src/mage/cards/g/GavonyIronwright.java | 5 +- .../src/mage/cards/g/GavonyUnhallowed.java | 3 +- Mage.Sets/src/mage/cards/g/GazeOfAdamaro.java | 3 +- .../src/mage/cards/g/GazeOfTheGorgon.java | 234 +++++----- .../src/mage/cards/g/GearseekerSerpent.java | 2 +- Mage.Sets/src/mage/cards/g/GearshiftAce.java | 5 +- .../src/mage/cards/g/GeierReachBandit.java | 7 +- .../mage/cards/g/GeistFueledScarecrow.java | 3 +- .../src/mage/cards/g/GeistHonoredMonk.java | 5 +- .../src/mage/cards/g/GeistOfSaintTraft.java | 5 +- .../src/mage/cards/g/GeistOfTheArchives.java | 3 +- .../mage/cards/g/GeistOfTheLonelyVigil.java | 5 +- .../src/mage/cards/g/GeistOfTheMoors.java | 3 +- Mage.Sets/src/mage/cards/g/GeistTrappers.java | 5 +- .../src/mage/cards/g/GeistcatchersRig.java | 3 +- Mage.Sets/src/mage/cards/g/Gelectrode.java | 3 +- Mage.Sets/src/mage/cards/g/GelidShackles.java | 2 +- Mage.Sets/src/mage/cards/g/GemhideSliver.java | 2 +- .../src/mage/cards/g/GempalmAvenger.java | 4 +- .../src/mage/cards/g/GempalmIncinerator.java | 2 +- .../src/mage/cards/g/GempalmPolluter.java | 2 +- .../src/mage/cards/g/GempalmStrider.java | 2 +- .../src/mage/cards/g/GeneralGrievous.java | 3 +- Mage.Sets/src/mage/cards/g/GeneralTazri.java | 4 +- .../src/mage/cards/g/GeneralsKabuto.java | 2 +- .../src/mage/cards/g/GeneratorServant.java | 2 +- Mage.Sets/src/mage/cards/g/Genesis.java | 3 +- Mage.Sets/src/mage/cards/g/GenesisHydra.java | 5 +- .../src/mage/cards/g/GenjuOfTheCedars.java | 4 +- .../src/mage/cards/g/GenjuOfTheFalls.java | 4 +- .../src/mage/cards/g/GenjuOfTheFens.java | 4 +- .../src/mage/cards/g/GenjuOfTheFields.java | 4 +- .../src/mage/cards/g/GenjuOfTheRealm.java | 4 +- .../src/mage/cards/g/GenjuOfTheSpires.java | 4 +- .../src/mage/cards/g/GeralfsMasterpiece.java | 5 +- .../src/mage/cards/g/GeralfsMessenger.java | 3 +- .../src/mage/cards/g/GeralfsMindcrusher.java | 5 +- .../src/mage/cards/g/GerrardCapashen.java | 4 +- .../src/mage/cards/g/GerrardsIrregulars.java | 5 +- .../src/mage/cards/g/GethLordOfTheVault.java | 3 +- Mage.Sets/src/mage/cards/g/GeyserGlider.java | 5 +- .../src/mage/cards/g/GeyserfieldStalker.java | 3 +- Mage.Sets/src/mage/cards/g/GhalmasWarden.java | 5 +- .../src/mage/cards/g/GhastlordOfFugue.java | 5 +- .../src/mage/cards/g/GhastlyHaunting.java | 3 +- .../src/mage/cards/g/GhastlyRemains.java | 3 +- .../src/mage/cards/g/GhaveGuruOfSpores.java | 5 +- Mage.Sets/src/mage/cards/g/GhazbanOgre.java | 3 +- .../src/mage/cards/g/GhirapurGearcrafter.java | 5 +- Mage.Sets/src/mage/cards/g/GhirapurGuide.java | 5 +- .../src/mage/cards/g/GhirapurOsprey.java | 3 +- .../src/mage/cards/g/GhituEncampment.java | 3 +- .../src/mage/cards/g/GhituFireEater.java | 5 +- .../src/mage/cards/g/GhituFirebreathing.java | 2 +- Mage.Sets/src/mage/cards/g/GhituSlinger.java | 5 +- .../src/mage/cards/g/GhorClanBloodscale.java | 5 +- .../src/mage/cards/g/GhorClanRampager.java | 3 +- .../src/mage/cards/g/GhorClanSavage.java | 5 +- .../mage/cards/g/GhostCouncilOfOrzhova.java | 3 +- Mage.Sets/src/mage/cards/g/GhostHounds.java | 5 +- .../src/mage/cards/g/GhostLitNourisher.java | 3 +- .../src/mage/cards/g/GhostLitRaider.java | 3 +- .../src/mage/cards/g/GhostLitRedeemer.java | 3 +- .../src/mage/cards/g/GhostLitStalker.java | 3 +- .../src/mage/cards/g/GhostLitWarder.java | 3 +- Mage.Sets/src/mage/cards/g/GhostShip.java | 3 +- .../src/mage/cards/g/GhostTactician.java | 5 +- Mage.Sets/src/mage/cards/g/GhostWarden.java | 3 +- .../src/mage/cards/g/GhostbladeEidolon.java | 3 +- .../src/mage/cards/g/GhostfireBlade.java | 3 +- .../src/mage/cards/g/GhostflameSliver.java | 2 +- .../src/mage/cards/g/GhosthelmCourier.java | 4 +- .../src/mage/cards/g/GhostlyChangeling.java | 3 +- .../src/mage/cards/g/GhostlyPossession.java | 2 +- .../src/mage/cards/g/GhostlySentinel.java | 5 +- Mage.Sets/src/mage/cards/g/GhostlyTouch.java | 3 +- Mage.Sets/src/mage/cards/g/GhostlyWings.java | 2 +- .../src/mage/cards/g/GhostsOfTheDamned.java | 3 +- .../src/mage/cards/g/GhostsOfTheInnocent.java | 231 ++++----- .../src/mage/cards/g/GhoulcallerGisa.java | 5 +- .../mage/cards/g/GhoulcallersAccomplice.java | 5 +- Mage.Sets/src/mage/cards/g/Ghoulflesh.java | 2 +- Mage.Sets/src/mage/cards/g/Ghoulraiser.java | 2 +- Mage.Sets/src/mage/cards/g/Ghoulsteed.java | 5 +- Mage.Sets/src/mage/cards/g/Ghoultree.java | 5 +- Mage.Sets/src/mage/cards/g/GiantAdephage.java | 3 +- .../src/mage/cards/g/GiantAmbushBeetle.java | 3 +- Mage.Sets/src/mage/cards/g/GiantBadger.java | 3 +- .../src/mage/cards/g/GiantCaterpillar.java | 3 +- .../src/mage/cards/g/GiantCockroach.java | 3 +- Mage.Sets/src/mage/cards/g/GiantCrab.java | 3 +- Mage.Sets/src/mage/cards/g/GiantDustwasp.java | 3 +- .../src/mage/cards/g/GiantHarbinger.java | 4 +- Mage.Sets/src/mage/cards/g/GiantMantis.java | 3 +- Mage.Sets/src/mage/cards/g/GiantOctopus.java | 3 +- Mage.Sets/src/mage/cards/g/GiantScorpion.java | 3 +- Mage.Sets/src/mage/cards/g/GiantSolifuge.java | 3 +- .../src/mage/cards/g/GiantSpectacle.java | 3 +- Mage.Sets/src/mage/cards/g/GiantSpider.java | 3 +- Mage.Sets/src/mage/cards/g/GiantStrength.java | 3 +- Mage.Sets/src/mage/cards/g/GiantTortoise.java | 3 +- .../src/mage/cards/g/GiantTrapDoorSpider.java | 3 +- Mage.Sets/src/mage/cards/g/GiantWarthog.java | 5 +- Mage.Sets/src/mage/cards/g/GiantsIre.java | 2 +- .../src/mage/cards/g/GibberingFiend.java | 3 +- Mage.Sets/src/mage/cards/g/GibberingKami.java | 3 +- .../mage/cards/g/GideonAllyOfZendikar.java | 9 +- .../src/mage/cards/g/GideonBattleForged.java | 7 +- .../mage/cards/g/GideonChampionOfJustice.java | 7 +- Mage.Sets/src/mage/cards/g/GideonJura.java | 7 +- .../mage/cards/g/GideonMartialParagon.java | 7 +- .../src/mage/cards/g/GideonOfTheTrials.java | 7 +- .../src/mage/cards/g/GideonsAvenger.java | 5 +- .../src/mage/cards/g/GideonsLawkeeper.java | 5 +- .../src/mage/cards/g/GiftOfImmortality.java | 3 +- Mage.Sets/src/mage/cards/g/GiftOfOrzhova.java | 2 +- .../src/mage/cards/g/GiftOfParadise.java | 3 +- .../src/mage/cards/g/GiftOfTheDeity.java | 3 +- .../src/mage/cards/g/GiftedAetherborn.java | 5 +- .../src/mage/cards/g/GiftedInitiate.java | 5 +- Mage.Sets/src/mage/cards/g/Gigantiform.java | 2 +- Mage.Sets/src/mage/cards/g/Gigantomancer.java | 5 +- Mage.Sets/src/mage/cards/g/Gigantoplasm.java | 3 +- Mage.Sets/src/mage/cards/g/Gigapede.java | 3 +- Mage.Sets/src/mage/cards/g/GildedCerodon.java | 216 ++++----- Mage.Sets/src/mage/cards/g/GildedDrake.java | 3 +- Mage.Sets/src/mage/cards/g/GilderBairn.java | 3 +- .../src/mage/cards/g/GiltLeafAmbush.java | 3 +- .../src/mage/cards/g/GiltLeafArchdruid.java | 4 +- Mage.Sets/src/mage/cards/g/GiltLeafSeer.java | 5 +- .../src/mage/cards/g/GiltLeafWinnower.java | 4 +- .../src/mage/cards/g/GiltspireAvenger.java | 5 +- Mage.Sets/src/mage/cards/g/GisaAndGeralf.java | 4 +- .../mage/cards/g/GiselaBladeOfGoldnight.java | 2 +- .../mage/cards/g/GiselaTheBrokenBlade.java | 5 +- .../src/mage/cards/g/GishathSunsAvatar.java | 4 +- .../src/mage/cards/g/GlacialCrasher.java | 2 +- .../src/mage/cards/g/GlacialStalker.java | 3 +- Mage.Sets/src/mage/cards/g/GlacialWall.java | 3 +- Mage.Sets/src/mage/cards/g/GladeGnarr.java | 3 +- Mage.Sets/src/mage/cards/g/GladeWatcher.java | 3 +- .../src/mage/cards/g/GladecoverScout.java | 5 +- .../src/mage/cards/g/GladehartCavalry.java | 5 +- .../src/mage/cards/g/GlamerSpinners.java | 5 +- Mage.Sets/src/mage/cards/g/Glarewielder.java | 5 +- Mage.Sets/src/mage/cards/g/GlaringAegis.java | 2 +- Mage.Sets/src/mage/cards/g/GlassAsp.java | 3 +- Mage.Sets/src/mage/cards/g/GlassGolem.java | 3 +- .../mage/cards/g/GlassblowersPuzzleknot.java | 154 +++--- Mage.Sets/src/mage/cards/g/GlassdustHulk.java | 3 +- Mage.Sets/src/mage/cards/g/GlazeFiend.java | 3 +- .../src/mage/cards/g/GleamOfAuthority.java | 2 +- Mage.Sets/src/mage/cards/g/Gleancrawler.java | 5 +- .../src/mage/cards/g/GlenElendraArchmage.java | 5 +- .../src/mage/cards/g/GlenElendraLiege.java | 5 +- .../mage/cards/g/GlenElendraPranksters.java | 5 +- Mage.Sets/src/mage/cards/g/GlidingLicid.java | 3 +- .../src/mage/cards/g/GlimmerdustNap.java | 3 +- .../src/mage/cards/g/GlimmeringAngel.java | 3 +- .../src/mage/cards/g/GlimmerpointStag.java | 3 +- .../src/mage/cards/g/GlintEyeNephilim.java | 3 +- Mage.Sets/src/mage/cards/g/GlintHawk.java | 3 +- Mage.Sets/src/mage/cards/g/GlintHawkIdol.java | 2 +- .../src/mage/cards/g/GlintNestCrane.java | 3 +- .../src/mage/cards/g/GlintSleeveArtisan.java | 5 +- .../src/mage/cards/g/GlintSleeveSiphoner.java | 5 +- .../src/mage/cards/g/GlintwingInvoker.java | 7 +- .../src/mage/cards/g/GlissaSunseeker.java | 3 +- .../src/mage/cards/g/GlissaTheTraitor.java | 5 +- .../src/mage/cards/g/GlissasCourier.java | 3 +- Mage.Sets/src/mage/cards/g/GlistenerElf.java | 5 +- Mage.Sets/src/mage/cards/g/GlisteningOil.java | 2 +- Mage.Sets/src/mage/cards/g/Glitterfang.java | 3 +- Mage.Sets/src/mage/cards/g/GloomSurgeon.java | 3 +- Mage.Sets/src/mage/cards/g/Gloomdrifter.java | 5 +- Mage.Sets/src/mage/cards/g/Gloomhunter.java | 3 +- Mage.Sets/src/mage/cards/g/Gloomwidow.java | 3 +- Mage.Sets/src/mage/cards/g/Glory.java | 3 +- .../src/mage/cards/g/GloryBoundInitiate.java | 5 +- Mage.Sets/src/mage/cards/g/GlorySeeker.java | 5 +- Mage.Sets/src/mage/cards/g/Glorybringer.java | 2 +- .../src/mage/cards/g/GloryscaleViashino.java | 5 +- .../src/mage/cards/g/GloweringRogon.java | 3 +- Mage.Sets/src/mage/cards/g/Glowrider.java | 4 +- .../src/mage/cards/g/GluttonousCyclops.java | 3 +- .../src/mage/cards/g/GluttonousSlime.java | 3 +- .../src/mage/cards/g/GluttonousZombie.java | 3 +- Mage.Sets/src/mage/cards/g/GlyphKeeper.java | 3 +- Mage.Sets/src/mage/cards/g/GnarledMass.java | 3 +- .../src/mage/cards/g/GnarledScarhide.java | 3 +- Mage.Sets/src/mage/cards/g/GnarlidPack.java | 3 +- .../src/mage/cards/g/GnarlrootTrapper.java | 4 +- .../src/mage/cards/g/GnarlwoodDryad.java | 5 +- .../src/mage/cards/g/GnatAlleyCreeper.java | 5 +- Mage.Sets/src/mage/cards/g/GnatMiser.java | 5 +- Mage.Sets/src/mage/cards/g/Gnathosaur.java | 3 +- Mage.Sets/src/mage/cards/g/GnawingZombie.java | 3 +- Mage.Sets/src/mage/cards/g/Goatnapper.java | 4 +- Mage.Sets/src/mage/cards/g/GobblingOoze.java | 3 +- .../src/mage/cards/g/GobhobblerRats.java | 3 +- .../src/mage/cards/g/GoblinArchaeologist.java | 5 +- .../src/mage/cards/g/GoblinArsonist.java | 5 +- .../src/mage/cards/g/GoblinArtillery.java | 5 +- .../src/mage/cards/g/GoblinArtisans.java | 5 +- .../src/mage/cards/g/GoblinAssassin.java | 4 +- .../mage/cards/g/GoblinBalloonBrigade.java | 5 +- .../src/mage/cards/g/GoblinBangchuckers.java | 5 +- .../src/mage/cards/g/GoblinBattleJester.java | 3 +- .../src/mage/cards/g/GoblinBerserker.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinBrawler.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinBrigand.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinBully.java | 3 +- .../src/mage/cards/g/GoblinBushwhacker.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinCadets.java | 2 +- .../src/mage/cards/g/GoblinCavaliers.java | 3 +- Mage.Sets/src/mage/cards/g/GoblinCaves.java | 2 +- Mage.Sets/src/mage/cards/g/GoblinChariot.java | 5 +- .../src/mage/cards/g/GoblinChieftain.java | 3 +- .../src/mage/cards/g/GoblinChirurgeon.java | 4 +- .../src/mage/cards/g/GoblinClearcutter.java | 2 +- Mage.Sets/src/mage/cards/g/GoblinCohort.java | 5 +- .../src/mage/cards/g/GoblinCommando.java | 3 +- .../src/mage/cards/g/GoblinDarkDwellers.java | 3 +- .../src/mage/cards/g/GoblinDeathraiders.java | 5 +- .../src/mage/cards/g/GoblinDiggingTeam.java | 2 +- .../src/mage/cards/g/GoblinDiplomats.java | 3 +- .../src/mage/cards/g/GoblinDirigible.java | 3 +- Mage.Sets/src/mage/cards/g/GoblinDynamo.java | 5 +- .../src/mage/cards/g/GoblinElectromancer.java | 5 +- .../src/mage/cards/g/GoblinEliteInfantry.java | 5 +- .../src/mage/cards/g/GoblinFireFiend.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinFirebug.java | 3 +- .../src/mage/cards/g/GoblinFireslinger.java | 5 +- .../src/mage/cards/g/GoblinFirestarter.java | 3 +- .../src/mage/cards/g/GoblinFlectomancer.java | 5 +- .../src/mage/cards/g/GoblinFlotilla.java | 3 +- .../src/mage/cards/g/GoblinFreerunner.java | 7 +- .../src/mage/cards/g/GoblinGardener.java | 3 +- .../src/mage/cards/g/GoblinGaveleer.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinGeneral.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinGlider.java | 3 +- .../src/mage/cards/g/GoblinGloryChaser.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinGoon.java | 5 +- .../src/mage/cards/g/GoblinGrappler.java | 3 +- .../src/mage/cards/g/GoblinGrenadiers.java | 3 +- Mage.Sets/src/mage/cards/g/GoblinGuide.java | 5 +- .../src/mage/cards/g/GoblinHeelcutter.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinHero.java | 3 +- .../src/mage/cards/g/GoblinKaboomist.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinKing.java | 3 +- Mage.Sets/src/mage/cards/g/GoblinLackey.java | 2 +- .../src/mage/cards/g/GoblinLegionnaire.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinLookout.java | 2 +- Mage.Sets/src/mage/cards/g/GoblinMarshal.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinMasons.java | 2 +- Mage.Sets/src/mage/cards/g/GoblinMatron.java | 2 +- Mage.Sets/src/mage/cards/g/GoblinMedics.java | 5 +- .../src/mage/cards/g/GoblinMountaineer.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinMutant.java | 5 +- .../src/mage/cards/g/GoblinOutlander.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinPatrol.java | 3 +- Mage.Sets/src/mage/cards/g/GoblinPiker.java | 5 +- .../src/mage/cards/g/GoblinPiledriver.java | 4 +- .../src/mage/cards/g/GoblinPyromancer.java | 4 +- .../src/mage/cards/g/GoblinRabblemaster.java | 4 +- .../src/mage/cards/g/GoblinRacketeer.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinRaider.java | 5 +- .../src/mage/cards/g/GoblinRazerunners.java | 5 +- .../src/mage/cards/g/GoblinRecruiter.java | 2 +- Mage.Sets/src/mage/cards/g/GoblinReplica.java | 3 +- .../src/mage/cards/g/GoblinRingleader.java | 2 +- .../src/mage/cards/g/GoblinRoughrider.java | 5 +- .../src/mage/cards/g/GoblinRuinblaster.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinSettler.java | 3 +- .../src/mage/cards/g/GoblinSharpshooter.java | 3 +- .../src/mage/cards/g/GoblinShortcutter.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinShrine.java | 2 +- .../src/mage/cards/g/GoblinSkyRaider.java | 5 +- .../src/mage/cards/g/GoblinSkycutter.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinSledder.java | 2 +- Mage.Sets/src/mage/cards/g/GoblinSnowman.java | 3 +- .../src/mage/cards/g/GoblinSoothsayer.java | 4 +- .../src/mage/cards/g/GoblinSpelunkers.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinSpy.java | 5 +- .../src/mage/cards/g/GoblinSpymaster.java | 4 +- Mage.Sets/src/mage/cards/g/GoblinStriker.java | 5 +- .../src/mage/cards/g/GoblinSwineRider.java | 3 +- .../src/mage/cards/g/GoblinTaskmaster.java | 2 +- .../src/mage/cards/g/GoblinTestPilot.java | 7 +- .../src/mage/cards/g/GoblinTinkerer.java | 5 +- .../src/mage/cards/g/GoblinTunneler.java | 5 +- .../src/mage/cards/g/GoblinTurncoat.java | 4 +- Mage.Sets/src/mage/cards/g/GoblinVandal.java | 5 +- .../src/mage/cards/g/GoblinWarBuggy.java | 3 +- .../src/mage/cards/g/GoblinWarPaint.java | 3 +- .../src/mage/cards/g/GoblinWarWagon.java | 3 +- .../src/mage/cards/g/GoblinWarchief.java | 4 +- .../src/mage/cards/g/GoblinWardriver.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinWelder.java | 5 +- Mage.Sets/src/mage/cards/g/GoblinWizard.java | 4 +- .../src/mage/cards/g/GoblinsOfTheFlarg.java | 4 +- .../src/mage/cards/g/GodFavoredGeneral.java | 5 +- .../src/mage/cards/g/GodPharaohsFaithful.java | 147 +++--- Mage.Sets/src/mage/cards/g/GodheadOfAwe.java | 5 +- .../src/mage/cards/g/GodhunterOctopus.java | 3 +- Mage.Sets/src/mage/cards/g/GodlessShrine.java | 5 +- .../src/mage/cards/g/GodoBanditWarlord.java | 4 +- .../src/mage/cards/g/GodosIrregulars.java | 5 +- Mage.Sets/src/mage/cards/g/Godsend.java | 2 +- Mage.Sets/src/mage/cards/g/Godsire.java | 3 +- Mage.Sets/src/mage/cards/g/Godtoucher.java | 5 +- .../src/mage/cards/g/GodtrackerOfJund.java | 5 +- Mage.Sets/src/mage/cards/g/GohamDjinn.java | 3 +- .../src/mage/cards/g/GoldForgedSentinel.java | 3 +- Mage.Sets/src/mage/cards/g/GoldMyr.java | 3 +- Mage.Sets/src/mage/cards/g/GoldenBear.java | 3 +- Mage.Sets/src/mage/cards/g/GoldenHind.java | 3 +- .../src/mage/cards/g/GoldenglowMoth.java | 3 +- Mage.Sets/src/mage/cards/g/GoldenhideOx.java | 3 +- .../src/mage/cards/g/GoldmeadowDodger.java | 5 +- .../src/mage/cards/g/GoldmeadowHarrier.java | 5 +- .../src/mage/cards/g/GoldmeadowLookout.java | 5 +- .../src/mage/cards/g/GoldmeadowStalwart.java | 4 +- .../src/mage/cards/g/GoldnightCastigator.java | 3 +- .../src/mage/cards/g/GoldnightCommander.java | 7 +- .../src/mage/cards/g/GoldnightRedeemer.java | 3 +- Mage.Sets/src/mage/cards/g/GolemArtisan.java | 3 +- .../src/mage/cards/g/GolemSkinGauntlets.java | 3 +- .../src/mage/cards/g/GolgariBrownscale.java | 3 +- Mage.Sets/src/mage/cards/g/GolgariDecoy.java | 5 +- .../src/mage/cards/g/GolgariGraveTroll.java | 5 +- .../src/mage/cards/g/GolgariGuildmage.java | 5 +- .../src/mage/cards/g/GolgariKeyrune.java | 3 +- .../src/mage/cards/g/GolgariLonglegs.java | 3 +- .../src/mage/cards/g/GolgariRotwurm.java | 5 +- Mage.Sets/src/mage/cards/g/GolgariThug.java | 5 +- Mage.Sets/src/mage/cards/g/GoliathBeetle.java | 3 +- Mage.Sets/src/mage/cards/g/GoliathSphinx.java | 3 +- Mage.Sets/src/mage/cards/g/GoliathSpider.java | 3 +- Mage.Sets/src/mage/cards/g/Gomazoa.java | 3 +- .../src/mage/cards/g/GontiLordOfLuxury.java | 4 +- .../mage/cards/g/GoreHouseChainwalker.java | 5 +- Mage.Sets/src/mage/cards/g/GoreSwine.java | 3 +- Mage.Sets/src/mage/cards/g/GoreVassal.java | 3 +- .../src/mage/cards/g/GorehornMinotaurs.java | 5 +- .../src/mage/cards/g/GoretuskFirebeast.java | 7 +- Mage.Sets/src/mage/cards/g/GorgerWurm.java | 3 +- Mage.Sets/src/mage/cards/g/GorgonFlail.java | 3 +- Mage.Sets/src/mage/cards/g/GorgonRecluse.java | 3 +- Mage.Sets/src/mage/cards/g/GorgonsHead.java | 3 +- .../src/mage/cards/g/GorillaBerserkers.java | 5 +- .../src/mage/cards/g/GorillaChieftain.java | 3 +- Mage.Sets/src/mage/cards/g/GorillaPack.java | 2 +- Mage.Sets/src/mage/cards/g/GorillaShaman.java | 5 +- Mage.Sets/src/mage/cards/g/GorillaTitan.java | 3 +- .../src/mage/cards/g/GorillaWarrior.java | 5 +- .../src/mage/cards/g/GoringCeratops.java | 3 +- .../src/mage/cards/g/GossamerPhantasm.java | 3 +- .../src/mage/cards/g/GracebladeArtisan.java | 5 +- Mage.Sets/src/mage/cards/g/GracefulAdept.java | 5 +- .../src/mage/cards/g/GracefulAntelope.java | 2 +- Mage.Sets/src/mage/cards/g/GracefulCat.java | 3 +- Mage.Sets/src/mage/cards/g/GrafMole.java | 5 +- Mage.Sets/src/mage/cards/g/GrafRats.java | 3 +- .../src/mage/cards/g/GraftedExoskeleton.java | 3 +- .../src/mage/cards/g/GraftedWargear.java | 3 +- .../src/mage/cards/g/GrandAbolisher.java | 5 +- .../mage/cards/g/GrandArbiterAugustinIV.java | 4 +- .../src/mage/cards/g/GrandArchitect.java | 4 +- .../src/mage/cards/g/GrandMoffTarkin.java | 5 +- .../src/mage/cards/g/GrandmotherSengir.java | 5 +- .../src/mage/cards/g/GrangerGuildmage.java | 5 +- .../src/mage/cards/g/GraniteGargoyle.java | 3 +- Mage.Sets/src/mage/cards/g/GraniteGrip.java | 2 +- Mage.Sets/src/mage/cards/g/GraniticTitan.java | 3 +- .../src/mage/cards/g/GrapeshotCatapult.java | 3 +- .../src/mage/cards/g/GrapplerSpider.java | 3 +- Mage.Sets/src/mage/cards/g/GrapplingHook.java | 2 +- .../mage/cards/g/GraspOfTheHieromancer.java | 3 +- Mage.Sets/src/mage/cards/g/GraspingDunes.java | 153 +++--- .../src/mage/cards/g/GrasslandCrusader.java | 6 +- Mage.Sets/src/mage/cards/g/GraveBramble.java | 2 +- Mage.Sets/src/mage/cards/g/GraveDefiler.java | 2 +- Mage.Sets/src/mage/cards/g/GraveRobbers.java | 5 +- .../src/mage/cards/g/GraveScrabbler.java | 3 +- .../src/mage/cards/g/GraveServitude.java | 2 +- .../src/mage/cards/g/GraveShellScarab.java | 3 +- Mage.Sets/src/mage/cards/g/GraveSifter.java | 4 +- Mage.Sets/src/mage/cards/g/GraveTitan.java | 3 +- .../src/mage/cards/g/GravebaneZombie.java | 3 +- .../src/mage/cards/g/GravebladeMarauder.java | 5 +- Mage.Sets/src/mage/cards/g/GravebornMuse.java | 4 +- Mage.Sets/src/mage/cards/g/Gravecrawler.java | 2 +- Mage.Sets/src/mage/cards/g/Gravedigger.java | 3 +- Mage.Sets/src/mage/cards/g/Gravegouger.java | 5 +- Mage.Sets/src/mage/cards/g/GravelSlinger.java | 5 +- .../src/mage/cards/g/GravelgillAxeshark.java | 5 +- Mage.Sets/src/mage/cards/g/GravelgillDuo.java | 7 +- .../src/mage/cards/g/GravenAbomination.java | 187 ++++---- .../src/mage/cards/g/GravenDominator.java | 3 +- .../src/mage/cards/g/GraverobberSpider.java | 3 +- .../src/mage/cards/g/GravespawnSovereign.java | 2 +- .../src/mage/cards/g/GravetillerWurm.java | 3 +- .../src/mage/cards/g/GravityNegator.java | 5 +- .../mage/cards/g/GrayMerchantOfAsphodel.java | 3 +- Mage.Sets/src/mage/cards/g/GrayOgre.java | 3 +- .../src/mage/cards/g/GraypeltHunter.java | 7 +- .../src/mage/cards/g/GrayscaledGharial.java | 3 +- .../src/mage/cards/g/GrazingGladehart.java | 3 +- Mage.Sets/src/mage/cards/g/GrazingKelpie.java | 3 +- Mage.Sets/src/mage/cards/g/GreatHart.java | 3 +- .../src/mage/cards/g/GreatHornKrushok.java | 3 +- .../src/mage/cards/g/GreatOakGuardian.java | 2 +- .../src/mage/cards/g/GreatSableStag.java | 3 +- Mage.Sets/src/mage/cards/g/GreatWhale.java | 3 +- Mage.Sets/src/mage/cards/g/GreatbowDoyen.java | 4 +- .../src/mage/cards/g/GreaterBasilisk.java | 3 +- .../src/mage/cards/g/GreaterForgeling.java | 3 +- .../src/mage/cards/g/GreaterGargadon.java | 3 +- .../src/mage/cards/g/GreaterHarvester.java | 3 +- .../src/mage/cards/g/GreaterKraytDragon.java | 3 +- .../src/mage/cards/g/GreaterMossdog.java | 5 +- .../src/mage/cards/g/GreaterSandwurm.java | 3 +- .../src/mage/cards/g/GreaterStoneSpirit.java | 5 +- Mage.Sets/src/mage/cards/g/Greatsword.java | 3 +- Mage.Sets/src/mage/cards/g/Greedo.java | 4 +- .../src/mage/cards/g/GreelMindRaker.java | 5 +- Mage.Sets/src/mage/cards/g/GreelsCaress.java | 3 +- Mage.Sets/src/mage/cards/g/GreenScarab.java | 2 +- Mage.Sets/src/mage/cards/g/GreenWard.java | 3 +- .../src/mage/cards/g/GreenbeltRampager.java | 3 +- .../src/mage/cards/g/GreenhiltTrainee.java | 5 +- Mage.Sets/src/mage/cards/g/Greenseeker.java | 5 +- .../src/mage/cards/g/GreensideWatcher.java | 4 +- .../src/mage/cards/g/GreenwardenOfMurasa.java | 3 +- .../src/mage/cards/g/GreenweaverDruid.java | 5 +- .../src/mage/cards/g/GreenwheelLiberator.java | 5 +- .../src/mage/cards/g/GremlinInfestation.java | 3 +- .../src/mage/cards/g/GrenzoDungeonWarden.java | 5 +- .../src/mage/cards/g/GrenzoHavocRaiser.java | 5 +- .../src/mage/cards/g/GrenzosCutthroat.java | 5 +- Mage.Sets/src/mage/cards/g/GridMonitor.java | 3 +- Mage.Sets/src/mage/cards/g/GriefTyrant.java | 3 +- .../src/mage/cards/g/GriffinDreamfinder.java | 3 +- Mage.Sets/src/mage/cards/g/GriffinGuide.java | 2 +- .../src/mage/cards/g/GriffinProtector.java | 3 +- Mage.Sets/src/mage/cards/g/GriffinRider.java | 4 +- .../src/mage/cards/g/GriffinSentinel.java | 3 +- Mage.Sets/src/mage/cards/g/GriftersBlade.java | 237 +++++----- Mage.Sets/src/mage/cards/g/GrimFlayer.java | 5 +- Mage.Sets/src/mage/cards/g/GrimGuardian.java | 3 +- Mage.Sets/src/mage/cards/g/GrimHaruspex.java | 5 +- .../src/mage/cards/g/GrimLavamancer.java | 5 +- Mage.Sets/src/mage/cards/g/GrimPoppet.java | 3 +- .../src/mage/cards/g/GrimRoustabout.java | 5 +- Mage.Sets/src/mage/cards/g/GrimStrider.java | 3 +- Mage.Sets/src/mage/cards/g/GrimclawBats.java | 3 +- .../src/mage/cards/g/GrimgrinCorpseBorn.java | 5 +- Mage.Sets/src/mage/cards/g/GrimoireThief.java | 4 +- Mage.Sets/src/mage/cards/g/GrinningDemon.java | 3 +- Mage.Sets/src/mage/cards/g/GrinningIgnus.java | 3 +- Mage.Sets/src/mage/cards/g/Griselbrand.java | 3 +- .../src/mage/cards/g/GrislyAnglerfish.java | 5 +- .../src/mage/cards/g/GrislySurvivor.java | 131 +++--- .../mage/cards/g/GrislyTransformation.java | 2 +- .../src/mage/cards/g/GristleGrinner.java | 3 +- Mage.Sets/src/mage/cards/g/Gristleback.java | 5 +- .../src/mage/cards/g/GrixisBattlemage.java | 5 +- .../src/mage/cards/g/GrixisGrimblade.java | 5 +- .../src/mage/cards/g/GrixisIllusionist.java | 5 +- .../src/mage/cards/g/GrixisSlavedriver.java | 5 +- .../src/mage/cards/g/GrixisSojourners.java | 5 +- .../src/mage/cards/g/GrizzledAngler.java | 3 +- .../src/mage/cards/g/GrizzledLeotau.java | 3 +- .../src/mage/cards/g/GrizzledOutcasts.java | 5 +- Mage.Sets/src/mage/cards/g/GrizzlyBears.java | 3 +- Mage.Sets/src/mage/cards/g/Groffskithur.java | 3 +- .../src/mage/cards/g/GrotagSiegeRunner.java | 5 +- .../src/mage/cards/g/GrotagThrasher.java | 3 +- .../src/mage/cards/g/GrotesqueHybrid.java | 3 +- Mage.Sets/src/mage/cards/g/Groundbreaker.java | 3 +- Mage.Sets/src/mage/cards/g/Grounded.java | 3 +- .../src/mage/cards/g/GroundlingPouncer.java | 3 +- .../src/mage/cards/g/GroundshakerSliver.java | 3 +- Mage.Sets/src/mage/cards/g/Groundskeeper.java | 5 +- .../src/mage/cards/g/GroveOfTheGuardian.java | 3 +- Mage.Sets/src/mage/cards/g/GroveRumbler.java | 3 +- .../src/mage/cards/g/GrovetenderDruids.java | 7 +- Mage.Sets/src/mage/cards/g/Grozoth.java | 3 +- .../src/mage/cards/g/GruesomeDeformity.java | 3 +- .../src/mage/cards/g/GruulGuildmage.java | 5 +- Mage.Sets/src/mage/cards/g/GruulKeyrune.java | 3 +- Mage.Sets/src/mage/cards/g/GruulNodorog.java | 3 +- .../src/mage/cards/g/GruulRagebeast.java | 3 +- Mage.Sets/src/mage/cards/g/GruulScrapper.java | 5 +- Mage.Sets/src/mage/cards/g/GruulWarPlow.java | 3 +- Mage.Sets/src/mage/cards/g/GryffVanguard.java | 5 +- Mage.Sets/src/mage/cards/g/GryffsBoon.java | 2 +- .../mage/cards/g/GuanYuSaintedWarrior.java | 7 +- Mage.Sets/src/mage/cards/g/GuardDuty.java | 3 +- Mage.Sets/src/mage/cards/g/GuardGomazoa.java | 3 +- .../src/mage/cards/g/GuardianAutomaton.java | 3 +- Mage.Sets/src/mage/cards/g/GuardianBeast.java | 2 +- Mage.Sets/src/mage/cards/g/GuardianIdol.java | 3 +- Mage.Sets/src/mage/cards/g/GuardianLions.java | 3 +- .../mage/cards/g/GuardianOfCloverdell.java | 4 +- .../src/mage/cards/g/GuardianOfPilgrims.java | 5 +- .../src/mage/cards/g/GuardianOfSolitude.java | 3 +- .../src/mage/cards/g/GuardianOfTazeem.java | 2 +- .../src/mage/cards/g/GuardianOfTheAges.java | 3 +- .../mage/cards/g/GuardianOfTheGateless.java | 3 +- .../cards/g/GuardianOfTheGreatConduit.java | 2 +- .../mage/cards/g/GuardianOfTheGuildpact.java | 3 +- .../src/mage/cards/g/GuardianOfVituGhazi.java | 3 +- .../src/mage/cards/g/GuardianSeraph.java | 3 +- .../mage/cards/g/GuardianShieldBearer.java | 5 +- .../src/mage/cards/g/GuardianZendikon.java | 5 +- .../src/mage/cards/g/GuardiansMagemark.java | 2 +- .../src/mage/cards/g/GuardiansOfAkrasa.java | 5 +- .../src/mage/cards/g/GuardiansOfMeletis.java | 3 +- Mage.Sets/src/mage/cards/g/GudulLurker.java | 3 +- .../src/mage/cards/g/GuildscornWard.java | 2 +- Mage.Sets/src/mage/cards/g/Guile.java | 5 +- Mage.Sets/src/mage/cards/g/Guiltfeeder.java | 3 +- .../src/mage/cards/g/GuiltyConscience.java | 3 +- Mage.Sets/src/mage/cards/g/GuiseOfFire.java | 2 +- Mage.Sets/src/mage/cards/g/GulfSquid.java | 5 +- Mage.Sets/src/mage/cards/g/Guma.java | 3 +- Mage.Sets/src/mage/cards/g/Gundark.java | 3 +- Mage.Sets/src/mage/cards/g/GunganCaptain.java | 5 +- Mage.Sets/src/mage/cards/g/GurmagAngler.java | 5 +- Mage.Sets/src/mage/cards/g/GurmagDrowner.java | 5 +- .../src/mage/cards/g/GurmagSwiftwing.java | 3 +- Mage.Sets/src/mage/cards/g/GustSkimmer.java | 3 +- Mage.Sets/src/mage/cards/g/GustWalker.java | 151 +++--- .../src/mage/cards/g/GustcloakCavalier.java | 5 +- .../src/mage/cards/g/GustcloakHarrier.java | 5 +- .../src/mage/cards/g/GustcloakRunner.java | 5 +- .../src/mage/cards/g/GustcloakSavior.java | 5 +- .../src/mage/cards/g/GustcloakSentinel.java | 5 +- .../src/mage/cards/g/GustcloakSkirmisher.java | 5 +- .../src/mage/cards/g/GustriderExuberant.java | 5 +- Mage.Sets/src/mage/cards/g/GutlessGhoul.java | 3 +- Mage.Sets/src/mage/cards/g/GutterSkulk.java | 5 +- Mage.Sets/src/mage/cards/g/Guttersnipe.java | 5 +- .../src/mage/cards/g/GutwrencherOni.java | 4 +- .../src/mage/cards/g/GuulDrazAssassin.java | 5 +- .../src/mage/cards/g/GuulDrazOverseer.java | 2 +- .../src/mage/cards/g/GuulDrazSpecter.java | 3 +- .../src/mage/cards/g/GuulDrazVampire.java | 5 +- .../src/mage/cards/g/GwafaHazidProfiteer.java | 4 +- .../src/mage/cards/g/GwendlynDiCorci.java | 5 +- .../src/mage/cards/g/GwyllionHedgeMage.java | 4 +- Mage.Sets/src/mage/cards/g/GyreSage.java | 5 +- .../mage/cards/h/HaakonStromgaldScourge.java | 4 +- .../src/mage/cards/h/HaazdaExonerator.java | 4 +- .../src/mage/cards/h/HaazdaShieldMate.java | 5 +- .../src/mage/cards/h/HaazdaSnareSquad.java | 5 +- Mage.Sets/src/mage/cards/h/HadaFreeblade.java | 7 +- Mage.Sets/src/mage/cards/h/HadaSpyPatrol.java | 5 +- Mage.Sets/src/mage/cards/h/HagHedgeMage.java | 4 +- .../src/mage/cards/h/HagraCrocodile.java | 3 +- .../src/mage/cards/h/HagraDiabolist.java | 6 +- .../src/mage/cards/h/HagraSharpshooter.java | 7 +- .../src/mage/cards/h/HakimLoreweaver.java | 380 +++++++-------- Mage.Sets/src/mage/cards/h/HalamDjinn.java | 3 +- Mage.Sets/src/mage/cards/h/Halberdier.java | 5 +- Mage.Sets/src/mage/cards/h/HalcyonGlaze.java | 3 +- .../src/mage/cards/h/HalimarExcavator.java | 6 +- .../src/mage/cards/h/HalimarTidecaller.java | 7 +- .../src/mage/cards/h/HalimarWavewatch.java | 5 +- .../src/mage/cards/h/HallowedFountain.java | 5 +- .../src/mage/cards/h/HallowedHealer.java | 5 +- .../mage/cards/h/HallowedSpiritkeeper.java | 3 +- Mage.Sets/src/mage/cards/h/HaloHunter.java | 2 +- Mage.Sets/src/mage/cards/h/HamletCaptain.java | 4 +- .../src/mage/cards/h/HamletbackGoliath.java | 5 +- Mage.Sets/src/mage/cards/h/HammerMage.java | 5 +- Mage.Sets/src/mage/cards/h/HammerOfRuin.java | 2 +- .../src/mage/cards/h/HammerfistGiant.java | 5 +- Mage.Sets/src/mage/cards/h/Hammerhand.java | 3 +- .../src/mage/cards/h/HammerheadShark.java | 2 +- .../src/mage/cards/h/HammerheimDeadeye.java | 5 +- Mage.Sets/src/mage/cards/h/HanSolo.java | 4 +- Mage.Sets/src/mage/cards/h/HanaKami.java | 2 +- Mage.Sets/src/mage/cards/h/HandOfCruelty.java | 5 +- Mage.Sets/src/mage/cards/h/HandOfEmrakul.java | 3 +- Mage.Sets/src/mage/cards/h/HandOfHonor.java | 5 +- Mage.Sets/src/mage/cards/h/HandOfJustice.java | 3 +- .../src/mage/cards/h/HandOfSilumgar.java | 5 +- .../src/mage/cards/h/HandOfThePraetors.java | 3 +- .../src/mage/cards/h/HangarbackWalker.java | 3 +- Mage.Sets/src/mage/cards/h/Hankyu.java | 3 +- .../src/mage/cards/h/HannaShipsNavigator.java | 5 +- .../src/mage/cards/h/HanweirGarrison.java | 5 +- Mage.Sets/src/mage/cards/h/HanweirLancer.java | 5 +- .../mage/cards/h/HanweirMilitiaCaptain.java | 5 +- .../cards/h/HanweirTheWrithingTownship.java | 5 +- .../src/mage/cards/h/HanweirWatchkeep.java | 7 +- .../mage/cards/h/HapatraVizierOfPoisons.java | 249 +++++----- .../src/mage/cards/h/HaplessResearcher.java | 5 +- Mage.Sets/src/mage/cards/h/HarabazDruid.java | 6 +- .../src/mage/cards/h/HarbingerOfNight.java | 3 +- .../src/mage/cards/h/HarbingerOfSpring.java | 2 +- .../src/mage/cards/h/HarbingerOfTheHunt.java | 3 +- .../src/mage/cards/h/HarbingerOfTheTides.java | 5 +- Mage.Sets/src/mage/cards/h/HarborBandit.java | 4 +- Mage.Sets/src/mage/cards/h/HarborSerpent.java | 2 +- .../src/mage/cards/h/HardenedBerserker.java | 5 +- .../src/mage/cards/h/HarmattanEfreet.java | 3 +- .../src/mage/cards/h/HarmonicSliver.java | 2 +- Mage.Sets/src/mage/cards/h/HarpoonSniper.java | 4 +- .../src/mage/cards/h/HarrierGriffin.java | 3 +- Mage.Sets/src/mage/cards/h/HarrierNaga.java | 119 ++--- Mage.Sets/src/mage/cards/h/HarshDeceiver.java | 3 +- Mage.Sets/src/mage/cards/h/HarshMentor.java | 5 +- Mage.Sets/src/mage/cards/h/HaruOnna.java | 3 +- .../src/mage/cards/h/HarvestGwyllion.java | 3 +- Mage.Sets/src/mage/cards/h/HarvestHand.java | 3 +- Mage.Sets/src/mage/cards/h/HarvestWurm.java | 3 +- .../src/mage/cards/h/HarvesterDruid.java | 5 +- .../src/mage/cards/h/HarvesterOfSouls.java | 3 +- .../src/mage/cards/h/HarvesterTroll.java | 3 +- .../src/mage/cards/h/HarvestguardAlseids.java | 3 +- Mage.Sets/src/mage/cards/h/HashepOasis.java | 2 +- Mage.Sets/src/mage/cards/h/HasranOgress.java | 3 +- Mage.Sets/src/mage/cards/h/HatchetBully.java | 5 +- Mage.Sets/src/mage/cards/h/HateWeaver.java | 5 +- Mage.Sets/src/mage/cards/h/Hateflayer.java | 3 +- Mage.Sets/src/mage/cards/h/HauntedAngel.java | 3 +- .../src/mage/cards/h/HauntedCadaver.java | 3 +- Mage.Sets/src/mage/cards/h/HauntedCloak.java | 3 +- Mage.Sets/src/mage/cards/h/HauntedDead.java | 3 +- .../src/mage/cards/h/HauntedGuardian.java | 3 +- .../src/mage/cards/h/HauntedPlateMail.java | 5 +- .../src/mage/cards/h/HaunterOfNightveil.java | 3 +- Mage.Sets/src/mage/cards/h/HavengulLich.java | 5 +- .../src/mage/cards/h/HavengulRunebinder.java | 4 +- Mage.Sets/src/mage/cards/h/HavengulSkaab.java | 5 +- .../src/mage/cards/h/HavengulVampire.java | 3 +- Mage.Sets/src/mage/cards/h/HavenwoodWurm.java | 3 +- Mage.Sets/src/mage/cards/h/HavocDemon.java | 3 +- Mage.Sets/src/mage/cards/h/HavocSower.java | 5 +- Mage.Sets/src/mage/cards/h/HawkeaterMoth.java | 3 +- Mage.Sets/src/mage/cards/h/HazardTrooper.java | 154 +++--- Mage.Sets/src/mage/cards/h/HazeFrog.java | 3 +- .../src/mage/cards/h/HazeriderDrake.java | 3 +- Mage.Sets/src/mage/cards/h/HazezonTamar.java | 4 +- .../src/mage/cards/h/HazoretTheFervent.java | 3 +- .../src/mage/cards/h/HazyHomunculus.java | 5 +- Mage.Sets/src/mage/cards/h/HeWhoHungers.java | 2 +- Mage.Sets/src/mage/cards/h/HeadHunting.java | 136 +++--- Mage.Sets/src/mage/cards/h/Headhunter.java | 5 +- .../src/mage/cards/h/HeadlessHorseman.java | 5 +- Mage.Sets/src/mage/cards/h/HeadlessSkaab.java | 5 +- .../src/mage/cards/h/HeadwaterSentries.java | 5 +- .../src/mage/cards/h/HealerOfThePride.java | 5 +- .../src/mage/cards/h/HealersHeaddress.java | 3 +- Mage.Sets/src/mage/cards/h/HeapDoll.java | 3 +- Mage.Sets/src/mage/cards/h/HeartOfLight.java | 3 +- .../src/mage/cards/h/HeartPiercerBow.java | 3 +- .../mage/cards/h/HeartPiercerManticore.java | 3 +- Mage.Sets/src/mage/cards/h/HeartSliver.java | 2 +- Mage.Sets/src/mage/cards/h/HeartWarden.java | 5 +- Mage.Sets/src/mage/cards/h/HearthKami.java | 3 +- .../src/mage/cards/h/HearthcageGiant.java | 4 +- .../src/mage/cards/h/HearthfireHobgoblin.java | 5 +- .../src/mage/cards/h/HeartlashCinder.java | 5 +- .../src/mage/cards/h/HeartlessHidetsugu.java | 5 +- Mage.Sets/src/mage/cards/h/Heartmender.java | 3 +- Mage.Sets/src/mage/cards/h/Heartseeker.java | 2 +- .../mage/cards/h/HeartstabberMosquito.java | 3 +- .../src/mage/cards/h/HeartwoodDryad.java | 3 +- .../src/mage/cards/h/HeartwoodGiant.java | 2 +- .../mage/cards/h/HeartwoodStoryteller.java | 3 +- .../src/mage/cards/h/HeartwoodTreefolk.java | 3 +- Mage.Sets/src/mage/cards/h/HeavyArbalest.java | 3 +- Mage.Sets/src/mage/cards/h/HeavyBallista.java | 5 +- Mage.Sets/src/mage/cards/h/HeavyInfantry.java | 5 +- Mage.Sets/src/mage/cards/h/HeavyMattock.java | 2 +- Mage.Sets/src/mage/cards/h/HeavyTrooper.java | 148 +++--- .../src/mage/cards/h/HecklingFiends.java | 3 +- Mage.Sets/src/mage/cards/h/HedgeTroll.java | 4 +- Mage.Sets/src/mage/cards/h/HedronBlade.java | 3 +- Mage.Sets/src/mage/cards/h/HedronCrab.java | 3 +- Mage.Sets/src/mage/cards/h/HedronCrawler.java | 3 +- .../src/mage/cards/h/HedronFieldPurists.java | 5 +- Mage.Sets/src/mage/cards/h/HedronMatrix.java | 3 +- Mage.Sets/src/mage/cards/h/HedronRover.java | 3 +- .../src/mage/cards/h/HedronScrabbler.java | 3 +- Mage.Sets/src/mage/cards/h/HeedTheMists.java | 3 +- Mage.Sets/src/mage/cards/h/HeedlessOne.java | 4 +- .../mage/cards/h/HeidarRimewindMaster.java | 5 +- .../src/mage/cards/h/HeirOfFalkenrath.java | 3 +- .../src/mage/cards/h/HeirOfTheWilds.java | 5 +- .../src/mage/cards/h/HeirToTheNight.java | 5 +- .../src/mage/cards/h/HeirsOfStromkirk.java | 3 +- .../src/mage/cards/h/HekmaSentinels.java | 131 +++--- .../src/mage/cards/h/HeliodGodOfTheSun.java | 2 +- .../src/mage/cards/h/HeliodsEmissary.java | 3 +- .../src/mage/cards/h/HeliodsPilgrim.java | 4 +- Mage.Sets/src/mage/cards/h/Helionaut.java | 5 +- .../src/mage/cards/h/HeliumSquirter.java | 5 +- .../src/mage/cards/h/HellBentRaider.java | 5 +- .../src/mage/cards/h/HellcarverDemon.java | 3 +- Mage.Sets/src/mage/cards/h/Helldozer.java | 5 +- .../src/mage/cards/h/HellfireMongrel.java | 5 +- .../src/mage/cards/h/HellholeFlailer.java | 5 +- Mage.Sets/src/mage/cards/h/HellholeRats.java | 3 +- .../src/mage/cards/h/HellkiteCharger.java | 3 +- .../src/mage/cards/h/HellkiteHatchling.java | 3 +- .../src/mage/cards/h/HellkiteIgniter.java | 3 +- .../src/mage/cards/h/HellkiteOverlord.java | 3 +- .../src/mage/cards/h/HellkiteTyrant.java | 3 +- .../src/mage/cards/h/HellraiserGoblin.java | 5 +- Mage.Sets/src/mage/cards/h/Hellrider.java | 3 +- .../src/mage/cards/h/HellsCaretaker.java | 3 +- Mage.Sets/src/mage/cards/h/HellsThunder.java | 3 +- .../src/mage/cards/h/HellsparkElemental.java | 3 +- Mage.Sets/src/mage/cards/h/HelmOfKaldra.java | 2 +- .../src/mage/cards/h/HelmOfTheGhastlord.java | 3 +- Mage.Sets/src/mage/cards/h/HelmOfTheGods.java | 3 +- Mage.Sets/src/mage/cards/h/HematiteGolem.java | 3 +- .../src/mage/cards/h/HenchfiendOfUkor.java | 3 +- Mage.Sets/src/mage/cards/h/HengeGuardian.java | 5 +- .../src/mage/cards/h/HeraldOfAnafenza.java | 5 +- .../src/mage/cards/h/HeraldOfAnguish.java | 3 +- .../src/mage/cards/h/HeraldOfDromoka.java | 4 +- .../src/mage/cards/h/HeraldOfKozilek.java | 5 +- .../src/mage/cards/h/HeraldOfLeshrac.java | 355 +++++++------- .../mage/cards/h/HeraldOfSecretStreams.java | 5 +- Mage.Sets/src/mage/cards/h/HeraldOfSerra.java | 3 +- .../src/mage/cards/h/HeraldOfTheFair.java | 3 +- .../src/mage/cards/h/HeraldOfTheHost.java | 3 +- .../src/mage/cards/h/HeraldOfThePantheon.java | 5 +- .../src/mage/cards/h/HeraldOfTorment.java | 3 +- Mage.Sets/src/mage/cards/h/HeraldOfWar.java | 2 +- Mage.Sets/src/mage/cards/h/HerdGnarr.java | 3 +- .../src/mage/cards/h/HerdchaserDragon.java | 2 +- Mage.Sets/src/mage/cards/h/HeritageDruid.java | 4 +- Mage.Sets/src/mage/cards/h/HermeticStudy.java | 3 +- Mage.Sets/src/mage/cards/h/HermitDruid.java | 5 +- .../mage/cards/h/HermitOfTheNatterknolls.java | 5 +- .../src/mage/cards/h/HeroOfBladehold.java | 5 +- .../src/mage/cards/h/HeroOfGomaFada.java | 7 +- Mage.Sets/src/mage/cards/h/HeroOfIroas.java | 4 +- .../src/mage/cards/h/HeroOfLeinaTower.java | 5 +- .../src/mage/cards/h/HeroOfOxidRidge.java | 5 +- Mage.Sets/src/mage/cards/h/HeroesBane.java | 3 +- .../src/mage/cards/h/HeroicDefiance.java | 3 +- .../src/mage/cards/h/HeronsGraceChampion.java | 4 +- Mage.Sets/src/mage/cards/h/HerosBlade.java | 2 +- Mage.Sets/src/mage/cards/h/HerosResolve.java | 2 +- .../src/mage/cards/h/HewedStoneRetainers.java | 3 +- Mage.Sets/src/mage/cards/h/HexParasite.java | 3 +- Mage.Sets/src/mage/cards/h/HexplateGolem.java | 3 +- .../src/mage/cards/h/HibernationSliver.java | 2 +- .../src/mage/cards/h/HiddenAncients.java | 3 +- .../src/mage/cards/h/HiddenDragonslayer.java | 5 +- Mage.Sets/src/mage/cards/h/HiddenGibbons.java | 3 +- .../src/mage/cards/h/HiddenGuerrillas.java | 3 +- .../src/mage/cards/h/HiddenHerbalists.java | 149 +++--- Mage.Sets/src/mage/cards/h/HiddenHorror.java | 3 +- Mage.Sets/src/mage/cards/h/HiddenSpider.java | 3 +- .../src/mage/cards/h/HideousLaughter.java | 3 +- .../src/mage/cards/h/HighPriestOfPenance.java | 5 +- .../mage/cards/h/HighSentinelsOfArashin.java | 5 +- Mage.Sets/src/mage/cards/h/HighbornGhoul.java | 3 +- .../src/mage/cards/h/HighlandBerserker.java | 6 +- Mage.Sets/src/mage/cards/h/HighlandGame.java | 3 +- Mage.Sets/src/mage/cards/h/HighlandGiant.java | 3 +- .../src/mage/cards/h/HighspireArtisan.java | 5 +- .../src/mage/cards/h/HighspireMantis.java | 3 +- .../src/mage/cards/h/HightideHermit.java | 3 +- Mage.Sets/src/mage/cards/h/HighwayRobber.java | 5 +- .../src/mage/cards/h/HigureTheStillWind.java | 4 +- .../mage/cards/h/HikariTwilightGuardian.java | 3 +- Mage.Sets/src/mage/cards/h/HillGiant.java | 3 +- .../src/mage/cards/h/HillcomberGiant.java | 5 +- .../src/mage/cards/h/HinterlandDrake.java | 3 +- .../src/mage/cards/h/HinterlandHermit.java | 5 +- .../src/mage/cards/h/HinterlandLogger.java | 5 +- .../src/mage/cards/h/HinterlandScourge.java | 3 +- Mage.Sets/src/mage/cards/h/HiredMuscle.java | 7 +- Mage.Sets/src/mage/cards/h/HiredTorturer.java | 5 +- .../src/mage/cards/h/HisokaMinamoSensei.java | 5 +- Mage.Sets/src/mage/cards/h/HisokasGuard.java | 5 +- .../src/mage/cards/h/HissingIguanar.java | 3 +- .../src/mage/cards/h/HissingQuagmire.java | 3 +- .../src/mage/cards/h/HitchclawRecluse.java | 3 +- .../src/mage/cards/h/HivisOfTheScale.java | 200 ++++---- .../src/mage/cards/h/HixusPrisonWarden.java | 5 +- Mage.Sets/src/mage/cards/h/HoarShade.java | 3 +- .../src/mage/cards/h/HoardSmelterDragon.java | 2 +- .../src/mage/cards/h/HoardingDragon.java | 3 +- Mage.Sets/src/mage/cards/h/Hobble.java | 3 +- .../src/mage/cards/h/HobgoblinDragoon.java | 5 +- .../src/mage/cards/h/HokoriDustDrinker.java | 2 +- Mage.Sets/src/mage/cards/h/HollowDogs.java | 5 +- Mage.Sets/src/mage/cards/h/HollowOne.java | 3 +- Mage.Sets/src/mage/cards/h/HollowSpecter.java | 3 +- .../src/mage/cards/h/HollowbornBarghest.java | 5 +- .../src/mage/cards/h/HollowhengeBeast.java | 3 +- .../mage/cards/h/HollowhengeScavenger.java | 3 +- .../src/mage/cards/h/HollowhengeSpirit.java | 3 +- Mage.Sets/src/mage/cards/h/Hollowsage.java | 5 +- Mage.Sets/src/mage/cards/h/HolyArmor.java | 3 +- Mage.Sets/src/mage/cards/h/HolyJusticiar.java | 4 +- Mage.Sets/src/mage/cards/h/HolyMantle.java | 3 +- Mage.Sets/src/mage/cards/h/HolyStrength.java | 3 +- Mage.Sets/src/mage/cards/h/Homarid.java | 3 +- Mage.Sets/src/mage/cards/h/HomaridShaman.java | 5 +- .../src/mage/cards/h/HomaridWarrior.java | 5 +- .../src/mage/cards/h/HomicidalBrute.java | 5 +- Mage.Sets/src/mage/cards/h/HomingSliver.java | 2 +- .../mage/cards/h/HomuraHumanAscendant.java | 4 +- Mage.Sets/src/mage/cards/h/HonedKhopesh.java | 135 +++--- Mage.Sets/src/mage/cards/h/HonorGuard.java | 4 +- .../src/mage/cards/h/HonorableScout.java | 7 +- .../src/mage/cards/h/HonoredCropCaptain.java | 135 +++--- .../src/mage/cards/h/HonoredHierarch.java | 5 +- Mage.Sets/src/mage/cards/h/HonoredHydra.java | 5 +- .../src/mage/cards/h/HoodedAssassin.java | 5 +- Mage.Sets/src/mage/cards/h/HoodedBrawler.java | 5 +- Mage.Sets/src/mage/cards/h/HoodedHorror.java | 3 +- Mage.Sets/src/mage/cards/h/HoodedHydra.java | 5 +- Mage.Sets/src/mage/cards/h/HoodedKavu.java | 3 +- Mage.Sets/src/mage/cards/h/HoofSkulkin.java | 3 +- .../src/mage/cards/h/HoofprintsOfTheStag.java | 3 +- .../src/mage/cards/h/HootingMandrills.java | 3 +- .../src/mage/cards/h/HopeAgainstHope.java | 2 +- .../src/mage/cards/h/HopeOfGhirapur.java | 2 +- Mage.Sets/src/mage/cards/h/HopeTender.java | 161 +++---- .../src/mage/cards/h/HopefulEidolon.java | 3 +- Mage.Sets/src/mage/cards/h/HordeAmbusher.java | 5 +- .../src/mage/cards/h/HordeOfBoggarts.java | 3 +- .../src/mage/cards/h/HordeOfNotions.java | 2 +- .../src/mage/cards/h/HorizonChimera.java | 3 +- Mage.Sets/src/mage/cards/h/HorizonDrake.java | 3 +- .../src/mage/cards/h/HorizonScholar.java | 3 +- Mage.Sets/src/mage/cards/h/HorizonSeed.java | 3 +- Mage.Sets/src/mage/cards/h/HornedCheetah.java | 3 +- Mage.Sets/src/mage/cards/h/HornedHelm.java | 3 +- Mage.Sets/src/mage/cards/h/HornedKavu.java | 3 +- Mage.Sets/src/mage/cards/h/HornedSliver.java | 2 +- Mage.Sets/src/mage/cards/h/HornedTroll.java | 3 +- Mage.Sets/src/mage/cards/h/HornedTurtle.java | 3 +- Mage.Sets/src/mage/cards/h/HornetCobra.java | 3 +- .../src/mage/cards/h/HornetHarasser.java | 5 +- Mage.Sets/src/mage/cards/h/HornetNest.java | 3 +- Mage.Sets/src/mage/cards/h/HornetQueen.java | 3 +- .../src/mage/cards/h/HorobiDeathsWail.java | 3 +- .../src/mage/cards/h/HorribleHordes.java | 3 +- .../mage/cards/h/HorrorOfTheBrokenLands.java | 141 +++--- .../src/mage/cards/h/HorrorOfTheDim.java | 3 +- Mage.Sets/src/mage/cards/h/HorseshoeCrab.java | 3 +- Mage.Sets/src/mage/cards/h/HostageTaker.java | 5 +- Mage.Sets/src/mage/cards/h/HostileDesert.java | 171 +++---- Mage.Sets/src/mage/cards/h/HostileRealm.java | 3 +- Mage.Sets/src/mage/cards/h/Hostility.java | 5 +- Mage.Sets/src/mage/cards/h/HotPursuit.java | 156 +++---- Mage.Sets/src/mage/cards/h/HotSoup.java | 3 +- Mage.Sets/src/mage/cards/h/HotSprings.java | 3 +- .../src/mage/cards/h/HotheadedGiant.java | 5 +- .../src/mage/cards/h/HoundOfGriselbrand.java | 5 +- .../src/mage/cards/h/HoundOfTheFarbogs.java | 5 +- .../src/mage/cards/h/HourOfDevastation.java | 164 +++---- .../src/mage/cards/h/HourOfEternity.java | 234 +++++----- Mage.Sets/src/mage/cards/h/HourOfPromise.java | 142 +++--- Mage.Sets/src/mage/cards/h/HoverBarrier.java | 5 +- .../src/mage/cards/h/HoverguardObserver.java | 3 +- .../src/mage/cards/h/HoverguardSweepers.java | 3 +- Mage.Sets/src/mage/cards/h/Hovermyr.java | 3 +- Mage.Sets/src/mage/cards/h/Howlgeist.java | 5 +- .../src/mage/cards/h/HowlingBanshee.java | 3 +- Mage.Sets/src/mage/cards/h/HowlingChorus.java | 5 +- Mage.Sets/src/mage/cards/h/HowlingWolf.java | 3 +- Mage.Sets/src/mage/cards/h/HowlpackAlpha.java | 2 +- .../src/mage/cards/h/HowlpackOfEstwald.java | 3 +- Mage.Sets/src/mage/cards/h/HowlpackWolf.java | 2 +- .../mage/cards/h/HuaTuoHonoredPhysician.java | 3 +- .../mage/cards/h/HuangZhongShuGeneral.java | 5 +- .../src/mage/cards/h/HulkingCyclops.java | 3 +- Mage.Sets/src/mage/cards/h/HulkingDevil.java | 3 +- Mage.Sets/src/mage/cards/h/HulkingGoblin.java | 3 +- Mage.Sets/src/mage/cards/h/HulkingOgre.java | 3 +- Mage.Sets/src/mage/cards/h/HumbleBudoka.java | 5 +- .../src/mage/cards/h/HumbleDefector.java | 5 +- .../src/mage/cards/h/HumblerOfMortals.java | 3 +- .../src/mage/cards/h/HundingGjornersen.java | 5 +- .../src/mage/cards/h/HundredHandedOne.java | 3 +- .../src/mage/cards/h/HundredTalonKami.java | 3 +- Mage.Sets/src/mage/cards/h/Hundroog.java | 3 +- Mage.Sets/src/mage/cards/h/HungeringYeti.java | 3 +- .../src/mage/cards/h/HungryDragonsnake.java | 161 +++---- Mage.Sets/src/mage/cards/h/HungryMist.java | 3 +- .../src/mage/cards/h/HungrySpriggan.java | 5 +- Mage.Sets/src/mage/cards/h/HuntDown.java | 268 +++++------ .../src/mage/cards/h/HuntToExtinction.java | 160 +++---- Mage.Sets/src/mage/cards/h/HuntedDragon.java | 3 +- Mage.Sets/src/mage/cards/h/HuntedGhoul.java | 2 +- Mage.Sets/src/mage/cards/h/HuntedHorror.java | 3 +- Mage.Sets/src/mage/cards/h/HuntedLammasu.java | 3 +- .../src/mage/cards/h/HuntedPhantasm.java | 3 +- Mage.Sets/src/mage/cards/h/HuntedTroll.java | 5 +- Mage.Sets/src/mage/cards/h/HuntedWumpus.java | 3 +- .../src/mage/cards/h/HunterOfEyeblights.java | 5 +- Mage.Sets/src/mage/cards/h/HunterSliver.java | 3 +- .../src/mage/cards/h/HuntingCheetah.java | 2 +- Mage.Sets/src/mage/cards/h/HuntingDrake.java | 3 +- Mage.Sets/src/mage/cards/h/HuntingKavu.java | 3 +- Mage.Sets/src/mage/cards/h/HuntingMoa.java | 5 +- Mage.Sets/src/mage/cards/h/HuntingTriad.java | 3 +- .../mage/cards/h/HuntmasterOfTheFells.java | 4 +- .../src/mage/cards/h/HurloonMinotaur.java | 3 +- Mage.Sets/src/mage/cards/h/HurloonShaman.java | 129 ++--- Mage.Sets/src/mage/cards/h/HurrJackal.java | 3 +- Mage.Sets/src/mage/cards/h/HushwingGryff.java | 3 +- Mage.Sets/src/mage/cards/h/HussarPatrol.java | 5 +- Mage.Sets/src/mage/cards/h/HuttCrimeLord.java | 139 +++--- Mage.Sets/src/mage/cards/h/HuttPalace.java | 138 +++--- .../src/mage/cards/h/HyalopterousLemure.java | 3 +- .../src/mage/cards/h/HydraBroodmaster.java | 3 +- Mage.Sets/src/mage/cards/h/HydraOmnivore.java | 3 +- .../src/mage/cards/h/HydromorphGuardian.java | 3 +- .../src/mage/cards/h/HydromorphGull.java | 5 +- Mage.Sets/src/mage/cards/h/HyenaPack.java | 3 +- Mage.Sets/src/mage/cards/h/HyenaUmbra.java | 2 +- .../src/mage/cards/h/HyperionBlacksmith.java | 5 +- .../src/mage/cards/h/HypersonicDragon.java | 3 +- .../src/mage/cards/h/HypervoltGrasp.java | 2 +- Mage.Sets/src/mage/cards/h/HypnoticSiren.java | 3 +- .../src/mage/cards/h/HypnoticSpecter.java | 3 +- Mage.Sets/src/mage/cards/h/Hystrodon.java | 3 +- .../src/mage/cards/h/HythoniaTheCruel.java | 2 +- Mage.Sets/src/mage/cards/i/IG88B.java | 5 +- .../cards/i/IbHalfheartGoblinTactician.java | 4 +- Mage.Sets/src/mage/cards/i/IcatianCrier.java | 5 +- .../src/mage/cards/i/IcatianJavelineers.java | 5 +- .../src/mage/cards/i/IcatianLieutenant.java | 4 +- .../src/mage/cards/i/IcatianMoneychanger.java | 3 +- Mage.Sets/src/mage/cards/i/IcatianPriest.java | 5 +- Mage.Sets/src/mage/cards/i/IcatianScout.java | 7 +- Mage.Sets/src/mage/cards/i/IceCage.java | 3 +- Mage.Sets/src/mage/cards/i/IceOver.java | 151 +++--- Mage.Sets/src/mage/cards/i/IcefallRegent.java | 3 +- .../src/mage/cards/i/IcefeatherAven.java | 5 +- Mage.Sets/src/mage/cards/i/IchorRats.java | 3 +- Mage.Sets/src/mage/cards/i/IchorclawMyr.java | 3 +- Mage.Sets/src/mage/cards/i/Ichorid.java | 3 +- Mage.Sets/src/mage/cards/i/IdentityThief.java | 3 +- Mage.Sets/src/mage/cards/i/IfhBiffEfreet.java | 3 +- .../src/mage/cards/i/IfnirDeadlands.java | 184 ++++---- Mage.Sets/src/mage/cards/i/IgneousGolem.java | 3 +- .../src/mage/cards/i/IgneousPouncer.java | 3 +- Mage.Sets/src/mage/cards/i/IgnitionTeam.java | 5 +- .../src/mage/cards/i/IgnobleSoldier.java | 5 +- Mage.Sets/src/mage/cards/i/IgnorantBliss.java | 282 +++++------ Mage.Sets/src/mage/cards/i/IhsansShade.java | 5 +- .../src/mage/cards/i/IizukaTheRuthless.java | 4 +- .../src/mage/cards/i/IkiralOutrider.java | 5 +- .../mage/cards/i/IkraShidiqiTheUsurper.java | 5 +- .../src/mage/cards/i/IllTemperedCyclops.java | 3 +- .../src/mage/cards/i/IlluminatedWings.java | 3 +- .../src/mage/cards/i/IllusionaryArmor.java | 3 +- .../src/mage/cards/i/IllusionaryForces.java | 3 +- .../src/mage/cards/i/IllusionaryServant.java | 3 +- .../src/mage/cards/i/IllusionaryWall.java | 5 +- .../src/mage/cards/i/IllusionistsBracers.java | 3 +- .../mage/cards/i/IllusionistsStratagem.java | 142 +++--- .../src/mage/cards/i/IllusoryAmbusher.java | 5 +- Mage.Sets/src/mage/cards/i/IllusoryAngel.java | 5 +- Mage.Sets/src/mage/cards/i/IllusoryDemon.java | 5 +- Mage.Sets/src/mage/cards/i/IllusoryGains.java | 3 +- .../src/mage/cards/i/IllusoryWrappings.java | 3 +- Mage.Sets/src/mage/cards/i/Imagecrafter.java | 5 +- .../src/mage/cards/i/ImagesOfThePast.java | 204 ++++---- Mage.Sets/src/mage/cards/i/ImaginaryPet.java | 3 +- .../mage/cards/i/ImmaculateMagistrate.java | 4 +- Mage.Sets/src/mage/cards/i/Immerwolf.java | 2 +- .../src/mage/cards/i/ImmobilizerEldrazi.java | 5 +- .../src/mage/cards/i/ImmobilizingInk.java | 3 +- .../src/mage/cards/i/ImmolatingSouleater.java | 3 +- Mage.Sets/src/mage/cards/i/Immolation.java | 3 +- Mage.Sets/src/mage/cards/i/ImpalerShrike.java | 3 +- Mage.Sets/src/mage/cards/i/ImpelledGiant.java | 5 +- .../src/mage/cards/i/ImperialGunner.java | 160 +++---- .../src/mage/cards/i/ImperialHellkite.java | 2 +- .../src/mage/cards/i/ImperialRecruiter.java | 5 +- .../src/mage/cards/i/ImperiousPerfect.java | 4 +- .../src/mage/cards/i/ImpetuousDevils.java | 3 +- .../src/mage/cards/i/ImpetuousSunchaser.java | 5 +- .../src/mage/cards/i/ImposingSovereign.java | 3 +- .../src/mage/cards/i/ImposingVisage.java | 3 +- .../src/mage/cards/i/ImprisonedInTheMoon.java | 3 +- .../src/mage/cards/i/ImprovisedArmor.java | 3 +- .../src/mage/cards/i/ImpulsiveWager.java | 220 ++++----- .../mage/cards/i/InallaArchmageRitualist.java | 4 +- Mage.Sets/src/mage/cards/i/InameAsOne.java | 2 +- .../src/mage/cards/i/InameDeathAspect.java | 2 +- .../src/mage/cards/i/InameLifeAspect.java | 2 +- .../mage/cards/i/IncandescentSoulstoke.java | 4 +- Mage.Sets/src/mage/cards/i/IncitedRabble.java | 3 +- .../src/mage/cards/i/IncorrigibleYouths.java | 3 +- .../src/mage/cards/i/IncubatorDrone.java | 5 +- Mage.Sets/src/mage/cards/i/IncurableOgre.java | 5 +- .../src/mage/cards/i/IncursionSpecialist.java | 5 +- .../src/mage/cards/i/IndebtedSamurai.java | 4 +- Mage.Sets/src/mage/cards/i/IndenturedOaf.java | 199 ++++---- .../src/mage/cards/i/IndependentTroops.java | 5 +- .../src/mage/cards/i/Indestructibility.java | 3 +- Mage.Sets/src/mage/cards/i/IndigoFaerie.java | 5 +- .../src/mage/cards/i/IndomitableAncients.java | 5 +- .../mage/cards/i/IndomitableArchangel.java | 3 +- .../src/mage/cards/i/IndomitableWill.java | 2 +- .../src/mage/cards/i/IndrikStomphowler.java | 3 +- Mage.Sets/src/mage/cards/i/IndrikUmbra.java | 3 +- .../src/mage/cards/i/IndulgentAristocrat.java | 2 +- .../src/mage/cards/i/IndulgentTormentor.java | 3 +- Mage.Sets/src/mage/cards/i/InertiaBubble.java | 3 +- .../src/mage/cards/i/InescapableBrute.java | 5 +- .../src/mage/cards/i/InexorableBlob.java | 3 +- .../src/mage/cards/i/InfantryVeteran.java | 5 +- .../src/mage/cards/i/InfectedVermin.java | 3 +- .../src/mage/cards/i/InfectiousBloodlust.java | 3 +- .../src/mage/cards/i/InfectiousHorror.java | 5 +- .../src/mage/cards/i/InfectiousHost.java | 3 +- .../src/mage/cards/i/InfernalCaretaker.java | 150 +++--- .../src/mage/cards/i/InfernalDenizen.java | 2 +- Mage.Sets/src/mage/cards/i/InfernalKirin.java | 5 +- .../src/mage/cards/i/InfernalScarring.java | 3 +- .../src/mage/cards/i/InfernalTribute.java | 148 +++--- .../src/mage/cards/i/InfernoElemental.java | 3 +- Mage.Sets/src/mage/cards/i/InfernoFist.java | 3 +- Mage.Sets/src/mage/cards/i/InfernoTitan.java | 3 +- .../src/mage/cards/i/InfestedRoothold.java | 3 +- .../src/mage/cards/i/InfiltrationLens.java | 3 +- .../src/mage/cards/i/InfiltratorIlKor.java | 5 +- .../mage/cards/i/InfiltratorsMagemark.java | 3 +- .../src/mage/cards/i/InfiniteReflection.java | 3 +- .../src/mage/cards/i/InformationDealer.java | 4 +- .../src/mage/cards/i/IngeniousSkaab.java | 5 +- .../src/mage/cards/i/IngeniousThief.java | 5 +- Mage.Sets/src/mage/cards/i/IngotChewer.java | 3 +- .../src/mage/cards/i/InitiateOfBlood.java | 9 +- .../src/mage/cards/i/InitiatesCompanion.java | 3 +- .../mage/cards/i/InitiatesOfTheEbonHand.java | 3 +- Mage.Sets/src/mage/cards/i/InkDissolver.java | 5 +- .../src/mage/cards/i/InkEyesServantOfOni.java | 5 +- .../src/mage/cards/i/InkTreaderNephilim.java | 3 +- .../src/mage/cards/i/InkfathomDivers.java | 5 +- .../mage/cards/i/InkfathomInfiltrator.java | 5 +- .../src/mage/cards/i/InkfathomWitch.java | 5 +- Mage.Sets/src/mage/cards/i/InkmothNexus.java | 3 +- .../src/mage/cards/i/InkwellLeviathan.java | 3 +- .../src/mage/cards/i/InnerChamberGuard.java | 5 +- .../src/mage/cards/i/InnerFlameAcolyte.java | 5 +- .../src/mage/cards/i/InnerFlameIgniter.java | 5 +- Mage.Sets/src/mage/cards/i/InnocenceKami.java | 3 +- .../src/mage/cards/i/InquisitorExarch.java | 3 +- .../src/mage/cards/i/InquisitorsFlail.java | 3 +- Mage.Sets/src/mage/cards/i/InquisitorsOx.java | 3 +- .../src/mage/cards/i/InsatiableGorgers.java | 5 +- .../src/mage/cards/i/InsatiableHarpy.java | 3 +- .../src/mage/cards/i/InsatiableRakghoul.java | 271 +++++------ .../src/mage/cards/i/InsatiableSouleater.java | 3 +- .../src/mage/cards/i/InsectileAberration.java | 5 +- .../src/mage/cards/i/InsidiousBookworms.java | 3 +- Mage.Sets/src/mage/cards/i/InsidiousMist.java | 3 +- Mage.Sets/src/mage/cards/i/Insolence.java | 3 +- .../src/mage/cards/i/InsolentNeonate.java | 3 +- .../src/mage/cards/i/InspiredSprite.java | 4 +- .../src/mage/cards/i/InspiringCaptain.java | 5 +- .../src/mage/cards/i/InspiringStatuary.java | 140 +++--- Mage.Sets/src/mage/cards/i/Instigator.java | 5 +- .../src/mage/cards/i/InstigatorGang.java | 4 +- Mage.Sets/src/mage/cards/i/InstillEnergy.java | 3 +- Mage.Sets/src/mage/cards/i/InstillFuror.java | 181 +++---- Mage.Sets/src/mage/cards/i/Interrogation.java | 198 ++++---- .../src/mage/cards/i/IntetTheDreamer.java | 2 +- .../src/mage/cards/i/IntimidatorInitiate.java | 5 +- Mage.Sets/src/mage/cards/i/IntrepidHero.java | 5 +- .../src/mage/cards/i/IntrepidProvisioner.java | 4 +- .../src/mage/cards/i/InvaderParasite.java | 3 +- .../src/mage/cards/i/InvasiveSpecies.java | 3 +- .../src/mage/cards/i/InventorsApprentice.java | 5 +- .../src/mage/cards/i/InventorsGoggles.java | 2 +- .../src/mage/cards/i/InverterOfTruth.java | 3 +- .../src/mage/cards/i/InvigoratedRampage.java | 162 +++---- .../src/mage/cards/i/InvigoratingBoon.java | 126 ++--- Mage.Sets/src/mage/cards/i/Invisibility.java | 2 +- .../src/mage/cards/i/InvisibleStalker.java | 5 +- .../mage/cards/i/InvocationOfSaintTraft.java | 3 +- Mage.Sets/src/mage/cards/i/IonCannon.java | 149 +++--- .../src/mage/cards/i/IonaShieldOfEmeria.java | 2 +- Mage.Sets/src/mage/cards/i/IonasBlessing.java | 3 +- Mage.Sets/src/mage/cards/i/IpnuRivulet.java | 2 +- Mage.Sets/src/mage/cards/i/IreShaman.java | 5 +- .../src/mage/cards/i/IridescentAngel.java | 3 +- Mage.Sets/src/mage/cards/i/IriniSengir.java | 5 +- .../src/mage/cards/i/IroasGodOfVictory.java | 2 +- .../src/mage/cards/i/IroassChampion.java | 5 +- .../src/mage/cards/i/IronBarbHellion.java | 5 +- .../src/mage/cards/i/IronFistOfTheEmpire.java | 144 +++--- Mage.Sets/src/mage/cards/i/IronLance.java | 136 +++--- .../src/mage/cards/i/IronLeagueSteed.java | 3 +- Mage.Sets/src/mage/cards/i/IronMyr.java | 3 +- .../src/mage/cards/i/IronTuskElephant.java | 3 +- .../mage/cards/i/IroncladRevolutionary.java | 5 +- .../src/mage/cards/i/IroncladSlayer.java | 4 +- .../src/mage/cards/i/IronclawBuzzardiers.java | 5 +- Mage.Sets/src/mage/cards/i/IronclawOrcs.java | 3 +- Mage.Sets/src/mage/cards/i/Ironfang.java | 3 +- .../src/mage/cards/i/IronfistCrusher.java | 5 +- Mage.Sets/src/mage/cards/i/IronhoofOx.java | 3 +- .../src/mage/cards/i/IronrootTreefolk.java | 3 +- .../src/mage/cards/i/IronshellBeetle.java | 3 +- .../src/mage/cards/i/IrontreadCrusher.java | 128 ++--- .../src/mage/cards/i/IrrigatedFarmland.java | 5 +- .../src/mage/cards/i/IsamaruHoundofKonda.java | 3 +- .../mage/cards/i/IsaoEnlightenedBushi.java | 4 +- .../cards/i/IshaiOjutaiDragonspeaker.java | 5 +- .../mage/cards/i/IshiIshiAkkiCrackshot.java | 4 +- .../src/mage/cards/i/IshkanahGrafwidow.java | 2 +- .../src/mage/cards/i/IslandFishJasconius.java | 2 +- Mage.Sets/src/mage/cards/i/IslebackSpawn.java | 3 +- .../src/mage/cards/i/IsperiaSupremeJudge.java | 3 +- .../mage/cards/i/IsperiaTheInscrutable.java | 3 +- .../src/mage/cards/i/IsperiasSkywatch.java | 5 +- .../src/mage/cards/i/ItOfTheHorridSwarm.java | 5 +- Mage.Sets/src/mage/cards/i/ItThatBetrays.java | 3 +- .../src/mage/cards/i/ItThatRidesAsOne.java | 5 +- .../src/mage/cards/i/IthHighArcanist.java | 5 +- .../src/mage/cards/i/IthorianInitiate.java | 5 +- Mage.Sets/src/mage/cards/i/IvoryGiant.java | 3 +- .../src/mage/cards/i/IvoryGuardians.java | 5 +- .../src/mage/cards/i/IvorytuskFortress.java | 3 +- Mage.Sets/src/mage/cards/i/IvyDancer.java | 5 +- Mage.Sets/src/mage/cards/i/IvyElemental.java | 3 +- .../src/mage/cards/i/IvyLaneDenizen.java | 5 +- .../mage/cards/i/IwamoriOfTheOpenFist.java | 5 +- .../mage/cards/i/IxidorRealitySculptor.java | 4 +- Mage.Sets/src/mage/cards/i/Ixidron.java | 3 +- .../src/mage/cards/i/IzzetChemister.java | 5 +- .../src/mage/cards/i/IzzetChronarch.java | 5 +- .../src/mage/cards/i/IzzetGuildmage.java | 5 +- Mage.Sets/src/mage/cards/i/IzzetKeyrune.java | 3 +- .../src/mage/cards/i/IzzetStaticaster.java | 5 +- Mage.Sets/src/mage/cards/j/JabbaTheHutt.java | 5 +- .../mage/cards/j/JaceArchitectOfThought.java | 3 +- Mage.Sets/src/mage/cards/j/JaceBeleren.java | 3 +- .../src/mage/cards/j/JaceCunningCastaway.java | 3 +- .../mage/cards/j/JaceIngeniousMindMage.java | 3 +- .../src/mage/cards/j/JaceMemoryAdept.java | 3 +- .../src/mage/cards/j/JaceTelepathUnbound.java | 3 +- .../mage/cards/j/JaceTheLivingGuildpact.java | 3 +- .../src/mage/cards/j/JaceTheMindSculptor.java | 3 +- .../mage/cards/j/JaceUnravelerOfSecrets.java | 3 +- .../src/mage/cards/j/JaceVrynsProdigy.java | 5 +- .../src/mage/cards/j/JacesArchivist.java | 5 +- .../src/mage/cards/j/JacesMindseeker.java | 5 +- Mage.Sets/src/mage/cards/j/JacesPhantasm.java | 3 +- Mage.Sets/src/mage/cards/j/JacesSentinel.java | 4 +- .../src/mage/cards/j/JackalFamiliar.java | 3 +- Mage.Sets/src/mage/cards/j/JackalPup.java | 3 +- Mage.Sets/src/mage/cards/j/JackalopeHerd.java | 5 +- Mage.Sets/src/mage/cards/j/JacquesLeVert.java | 5 +- .../src/mage/cards/j/JaddiLifestrider.java | 3 +- Mage.Sets/src/mage/cards/j/JaddiOffshoot.java | 3 +- Mage.Sets/src/mage/cards/j/JadeIdol.java | 3 +- Mage.Sets/src/mage/cards/j/JadeLeech.java | 3 +- Mage.Sets/src/mage/cards/j/JadeMage.java | 5 +- Mage.Sets/src/mage/cards/j/JadeStatue.java | 3 +- .../src/mage/cards/j/JaggedScarArchers.java | 4 +- Mage.Sets/src/mage/cards/j/JagwaspSwarm.java | 3 +- .../cards/j/JaliraMasterPolymorphist.java | 5 +- Mage.Sets/src/mage/cards/j/JamuraanLion.java | 3 +- Mage.Sets/src/mage/cards/j/JangoFett.java | 5 +- Mage.Sets/src/mage/cards/j/JanjeetSentry.java | 5 +- Mage.Sets/src/mage/cards/j/JarJarBinks.java | 2 +- .../mage/cards/j/JaradGolgariLichLord.java | 4 +- .../src/mage/cards/j/JarethLeonineTitan.java | 5 +- Mage.Sets/src/mage/cards/j/JasmineBoreal.java | 3 +- .../src/mage/cards/j/JawboneSkulkin.java | 3 +- .../src/mage/cards/j/JayaBallardTaskMage.java | 4 +- Mage.Sets/src/mage/cards/j/JazalGoldmane.java | 5 +- .../src/mage/cards/j/JediBattleHealer.java | 5 +- .../src/mage/cards/j/JediBattleMage.java | 147 +++--- .../src/mage/cards/j/JediBattleSage.java | 5 +- Mage.Sets/src/mage/cards/j/JediHolocron.java | 188 ++++---- Mage.Sets/src/mage/cards/j/JediInquirer.java | 143 +++--- .../src/mage/cards/j/JediInstructor.java | 161 +++---- Mage.Sets/src/mage/cards/j/JediKnight.java | 165 +++---- Mage.Sets/src/mage/cards/j/JediMindTrick.java | 120 ++--- Mage.Sets/src/mage/cards/j/JediSentinel.java | 181 +++---- .../src/mage/cards/j/JediStarfighter.java | 4 +- Mage.Sets/src/mage/cards/j/JediTemple.java | 140 +++--- Mage.Sets/src/mage/cards/j/JediTraining.java | 218 ++++----- Mage.Sets/src/mage/cards/j/JeditOjanen.java | 5 +- .../src/mage/cards/j/JeditOjanenOfEfrava.java | 5 +- .../src/mage/cards/j/JeditsDragoons.java | 5 +- .../src/mage/cards/j/JeeringHomunculus.java | 3 +- .../src/mage/cards/j/JeeringInstigator.java | 5 +- Mage.Sets/src/mage/cards/j/JelennSphinx.java | 3 +- .../mage/cards/j/JelevaNephaliasScourge.java | 5 +- .../src/mage/cards/j/JenaraAsuraOfWar.java | 3 +- .../mage/cards/j/JerrardOfTheClosedFist.java | 5 +- .../src/mage/cards/j/JeskaWarriorAdept.java | 7 +- .../src/mage/cards/j/JeskaiBarricade.java | 3 +- Mage.Sets/src/mage/cards/j/JeskaiElder.java | 5 +- .../src/mage/cards/j/JeskaiInfiltrator.java | 5 +- .../src/mage/cards/j/JeskaiRunemark.java | 3 +- Mage.Sets/src/mage/cards/j/JeskaiSage.java | 5 +- Mage.Sets/src/mage/cards/j/JeskaiStudent.java | 5 +- .../src/mage/cards/j/JeskaiWindscout.java | 5 +- .../src/mage/cards/j/JettingGlasskite.java | 3 +- Mage.Sets/src/mage/cards/j/JeweledAmulet.java | 318 ++++++------- Mage.Sets/src/mage/cards/j/JeweledSpirit.java | 3 +- .../src/mage/cards/j/JhessianBalmgiver.java | 5 +- .../src/mage/cards/j/JhessianInfiltrator.java | 5 +- .../src/mage/cards/j/JhessianLookout.java | 5 +- Mage.Sets/src/mage/cards/j/JhessianThief.java | 5 +- .../src/mage/cards/j/JhessianZombies.java | 3 +- .../src/mage/cards/j/JhoiraOfTheGhitu.java | 5 +- .../src/mage/cards/j/JhoirasTimebug.java | 3 +- .../src/mage/cards/j/JhoirasToolbox.java | 3 +- Mage.Sets/src/mage/cards/j/JhovallQueen.java | 5 +- Mage.Sets/src/mage/cards/j/JhovallRider.java | 5 +- .../mage/cards/j/JinGitaxiasCoreAugur.java | 2 +- .../mage/cards/j/JiwariTheEarthAflame.java | 3 +- Mage.Sets/src/mage/cards/j/JodahsAvenger.java | 290 ++++++------ Mage.Sets/src/mage/cards/j/JohtullWurm.java | 3 +- Mage.Sets/src/mage/cards/j/JoinerAdept.java | 5 +- Mage.Sets/src/mage/cards/j/Jokulmorder.java | 3 +- .../mage/cards/j/JolraelEmpressOfBeasts.java | 4 +- .../src/mage/cards/j/JolraelsCentaur.java | 5 +- Mage.Sets/src/mage/cards/j/JolraelsFavor.java | 3 +- .../src/mage/cards/j/JoltingMerfolk.java | 3 +- .../mage/cards/j/JorKadeenThePrevailer.java | 5 +- .../src/mage/cards/j/JoragaAuxiliary.java | 7 +- Mage.Sets/src/mage/cards/j/JoragaBard.java | 6 +- .../src/mage/cards/j/JoragaTreespeaker.java | 4 +- .../src/mage/cards/j/JoragaWarcaller.java | 4 +- .../src/mage/cards/j/JoriEnRuinDiver.java | 5 +- .../src/mage/cards/j/JorubaiMurkLurker.java | 2 +- Mage.Sets/src/mage/cards/j/JotunGrunt.java | 5 +- Mage.Sets/src/mage/cards/j/Joven.java | 5 +- .../src/mage/cards/j/JudgeOfCurrents.java | 4 +- .../src/mage/cards/j/JudgesFamiliar.java | 3 +- .../src/mage/cards/j/JuganTheRisingStar.java | 5 +- Mage.Sets/src/mage/cards/j/Juggernaut.java | 2 +- .../src/mage/cards/j/JukaiMessenger.java | 5 +- Mage.Sets/src/mage/cards/j/JumpTrooper.java | 256 +++++----- .../src/mage/cards/j/JundBattlemage.java | 5 +- Mage.Sets/src/mage/cards/j/JundHackblade.java | 5 +- .../src/mage/cards/j/JundSojourners.java | 5 +- Mage.Sets/src/mage/cards/j/JungleBarrier.java | 5 +- Mage.Sets/src/mage/cards/j/JungleLion.java | 3 +- Mage.Sets/src/mage/cards/j/JunglePatrol.java | 5 +- Mage.Sets/src/mage/cards/j/JungleTroll.java | 3 +- Mage.Sets/src/mage/cards/j/JungleWeaver.java | 3 +- Mage.Sets/src/mage/cards/j/JungleWurm.java | 3 +- .../mage/cards/j/JuniperOrderAdvocate.java | 5 +- .../src/mage/cards/j/JuniperOrderDruid.java | 7 +- .../src/mage/cards/j/JuniperOrderRanger.java | 5 +- Mage.Sets/src/mage/cards/j/JunkDiver.java | 3 +- Mage.Sets/src/mage/cards/j/Junktroller.java | 3 +- Mage.Sets/src/mage/cards/j/JununEfreet.java | 3 +- .../src/mage/cards/j/JushiApprentice.java | 9 +- .../src/mage/cards/j/JuvenileGloomwidow.java | 3 +- Mage.Sets/src/mage/cards/j/JuzamDjinn.java | 3 +- .../src/mage/cards/j/JwarIsleAvenger.java | 3 +- Mage.Sets/src/mage/cards/j/JwariScuttler.java | 3 +- .../src/mage/cards/j/JwariShapeshifter.java | 4 +- .../src/mage/cards/k/KaaliaOfTheVast.java | 4 +- Mage.Sets/src/mage/cards/k/KabiraEvangel.java | 6 +- .../src/mage/cards/k/KabiraVindicator.java | 5 +- Mage.Sets/src/mage/cards/k/KabutoMoth.java | 3 +- .../src/mage/cards/k/KaervekTheMerciless.java | 4 +- .../mage/cards/k/KagemaroFirstToSuffer.java | 5 +- .../src/mage/cards/k/KagemarosClutch.java | 3 +- .../src/mage/cards/k/KahoMinamoHistorian.java | 5 +- .../cards/k/KaijinOfTheVanishingTouch.java | 3 +- .../src/mage/cards/k/KalastriaHealer.java | 7 +- .../src/mage/cards/k/KalastriaHighborn.java | 4 +- .../src/mage/cards/k/KalastriaNightwatch.java | 7 +- .../mage/cards/k/KalemneDiscipleOfIroas.java | 5 +- .../src/mage/cards/k/KalemnesCaptain.java | 5 +- .../mage/cards/k/KalitasBloodchiefOfGhet.java | 5 +- .../mage/cards/k/KalitasTraitorOfGhet.java | 4 +- .../src/mage/cards/k/KalonianBehemoth.java | 3 +- Mage.Sets/src/mage/cards/k/KalonianHydra.java | 3 +- .../src/mage/cards/k/KalonianTusker.java | 3 +- .../src/mage/cards/k/KalonianTwingrove.java | 4 +- .../src/mage/cards/k/KamahlFistOfKrosa.java | 5 +- .../src/mage/cards/k/KamahlPitFighter.java | 5 +- Mage.Sets/src/mage/cards/k/KamahlsDesire.java | 3 +- .../cards/k/KambalConsulOfAllocation.java | 5 +- .../src/mage/cards/k/KamiOfAncientLaw.java | 3 +- .../src/mage/cards/k/KamiOfEmptyGraves.java | 3 +- .../src/mage/cards/k/KamiOfFalseHope.java | 3 +- .../src/mage/cards/k/KamiOfFiresRoar.java | 3 +- Mage.Sets/src/mage/cards/k/KamiOfLunacy.java | 3 +- .../src/mage/cards/k/KamiOfOldStone.java | 3 +- .../src/mage/cards/k/KamiOfTatteredShoji.java | 3 +- .../mage/cards/k/KamiOfTheCrescentMoon.java | 3 +- .../mage/cards/k/KamiOfTheHonoredDead.java | 3 +- Mage.Sets/src/mage/cards/k/KamiOfTheHunt.java | 3 +- .../mage/cards/k/KamiOfThePaintedRoad.java | 3 +- .../mage/cards/k/KamiOfThePalaceFields.java | 3 +- .../mage/cards/k/KamiOfTheTendedGarden.java | 3 +- .../src/mage/cards/k/KamiOfTheWaningMoon.java | 3 +- .../mage/cards/k/KamiOfTwistedReflection.java | 3 +- .../mage/cards/k/KaminoCloningFacility.java | 166 +++---- .../src/mage/cards/k/KangeeAerieKeeper.java | 4 +- .../src/mage/cards/k/KapshoKitefins.java | 3 +- .../mage/cards/k/KaradorGhostChieftain.java | 4 +- .../mage/cards/k/KarametraGodOfHarvests.java | 2 +- .../src/mage/cards/k/KarametrasAcolyte.java | 5 +- .../src/mage/cards/k/KarametrasFavor.java | 3 +- .../src/mage/cards/k/KarganDragonlord.java | 5 +- .../mage/cards/k/KariZevSkyshipRaider.java | 5 +- .../mage/cards/k/KarlovOfTheGhostCouncil.java | 5 +- Mage.Sets/src/mage/cards/k/KarmicGuide.java | 5 +- Mage.Sets/src/mage/cards/k/KarnLiberated.java | 3 +- .../src/mage/cards/k/KarnSilverGolem.java | 2 +- Mage.Sets/src/mage/cards/k/KarooMeerkat.java | 3 +- .../src/mage/cards/k/KarplusanStrider.java | 3 +- .../src/mage/cards/k/KarplusanWolverine.java | 5 +- Mage.Sets/src/mage/cards/k/KarplusanYeti.java | 3 +- .../mage/cards/k/KarrthusTyrantOfJund.java | 2 +- Mage.Sets/src/mage/cards/k/Karstoderm.java | 3 +- .../mage/cards/k/KasetoOrochiArchmage.java | 4 +- .../src/mage/cards/k/KashiTribeElite.java | 4 +- .../src/mage/cards/k/KashiTribeReaver.java | 5 +- .../src/mage/cards/k/KashiTribeWarriors.java | 5 +- .../src/mage/cards/k/KasimirTheLoneWolf.java | 5 +- .../src/mage/cards/k/KatabaticWinds.java | 330 ++++++------- .../src/mage/cards/k/KatakiWarsWage.java | 2 +- Mage.Sets/src/mage/cards/k/KathariBomber.java | 5 +- .../src/mage/cards/k/KathariRemnant.java | 5 +- .../src/mage/cards/k/KathariScreecher.java | 5 +- Mage.Sets/src/mage/cards/k/KavuAggressor.java | 3 +- Mage.Sets/src/mage/cards/k/KavuChameleon.java | 3 +- Mage.Sets/src/mage/cards/k/KavuClimber.java | 3 +- Mage.Sets/src/mage/cards/k/KavuGlider.java | 2 +- Mage.Sets/src/mage/cards/k/KavuHowler.java | 2 +- Mage.Sets/src/mage/cards/k/KavuMauler.java | 2 +- Mage.Sets/src/mage/cards/k/KavuMonarch.java | 2 +- Mage.Sets/src/mage/cards/k/KavuPredator.java | 3 +- Mage.Sets/src/mage/cards/k/KavuPrimarch.java | 3 +- Mage.Sets/src/mage/cards/k/KavuRecluse.java | 2 +- Mage.Sets/src/mage/cards/k/KavuRunner.java | 3 +- Mage.Sets/src/mage/cards/k/KavuScout.java | 5 +- Mage.Sets/src/mage/cards/k/KavuTitan.java | 3 +- .../src/mage/cards/k/KayaGhostAssassin.java | 3 +- Mage.Sets/src/mage/cards/k/Kaysa.java | 5 +- .../src/mage/cards/k/KazanduBlademaster.java | 7 +- .../src/mage/cards/k/KazanduTuskcaller.java | 5 +- .../mage/cards/k/KazuulTyrantOfTheCliffs.java | 5 +- Mage.Sets/src/mage/cards/k/KazuulWarlord.java | 6 +- .../mage/cards/k/KazuulsTollCollector.java | 4 +- .../src/mage/cards/k/KederektCreeper.java | 3 +- .../src/mage/cards/k/KederektLeviathan.java | 3 +- .../src/mage/cards/k/KederektParasite.java | 3 +- .../src/mage/cards/k/KeenEyedArchers.java | 5 +- Mage.Sets/src/mage/cards/k/KeenSense.java | 3 +- Mage.Sets/src/mage/cards/k/KeeneyeAven.java | 5 +- .../src/mage/cards/k/KeeningApparition.java | 3 +- .../src/mage/cards/k/KeeningBanshee.java | 3 +- Mage.Sets/src/mage/cards/k/KeeperOfKeys.java | 7 +- .../src/mage/cards/k/KeeperOfKookus.java | 3 +- .../src/mage/cards/k/KeeperOfProgenitus.java | 4 +- .../src/mage/cards/k/KeeperOfTheLens.java | 3 +- .../mage/cards/k/KeeperOfTheNineGales.java | 4 +- .../src/mage/cards/k/KeeperOfTresserhorn.java | 3 +- .../src/mage/cards/k/KeepersOfTheFaith.java | 5 +- .../src/mage/cards/k/KeepsakeGorgon.java | 2 +- .../src/mage/cards/k/KefnetTheMindful.java | 329 ++++++------- Mage.Sets/src/mage/cards/k/KeiTakahashi.java | 5 +- .../src/mage/cards/k/KeigaTheTideStar.java | 5 +- .../src/mage/cards/k/KeldonArsonist.java | 5 +- .../src/mage/cards/k/KeldonChampion.java | 5 +- .../src/mage/cards/k/KeldonFirebombers.java | 245 +++++----- .../src/mage/cards/k/KeldonHalberdier.java | 5 +- Mage.Sets/src/mage/cards/k/KeldonMantle.java | 3 +- .../src/mage/cards/k/KeldonMarauders.java | 5 +- Mage.Sets/src/mage/cards/k/KeldonVandals.java | 5 +- Mage.Sets/src/mage/cards/k/KeldonWarlord.java | 4 +- Mage.Sets/src/mage/cards/k/KelinoreBat.java | 3 +- .../src/mage/cards/k/KembaKhaRegent.java | 5 +- Mage.Sets/src/mage/cards/k/KembasLegion.java | 4 +- .../src/mage/cards/k/KembasSkyguard.java | 5 +- Mage.Sets/src/mage/cards/k/KemuriOnna.java | 3 +- .../mage/cards/k/KentaroTheSmilingCat.java | 4 +- .../src/mage/cards/k/KeranosGodOfStorms.java | 3 +- .../src/mage/cards/k/KessDissidentMage.java | 5 +- .../src/mage/cards/k/KessigCagebreakers.java | 5 +- .../src/mage/cards/k/KessigDireSwine.java | 5 +- .../src/mage/cards/k/KessigForgemaster.java | 7 +- .../src/mage/cards/k/KessigMalcontents.java | 4 +- Mage.Sets/src/mage/cards/k/KessigProwler.java | 5 +- Mage.Sets/src/mage/cards/k/KessigRecluse.java | 3 +- Mage.Sets/src/mage/cards/k/KessigWolf.java | 3 +- Mage.Sets/src/mage/cards/k/KeyToTheCity.java | 216 ++++----- .../src/mage/cards/k/KeymasterRogue.java | 5 +- Mage.Sets/src/mage/cards/k/Kezzerdrix.java | 5 +- Mage.Sets/src/mage/cards/k/KhabalGhoul.java | 3 +- Mage.Sets/src/mage/cards/k/KhalniHydra.java | 3 +- .../src/mage/cards/k/KhenraCharioteer.java | 145 +++--- Mage.Sets/src/mage/cards/k/KhenraEternal.java | 7 +- .../src/mage/cards/k/KhenraScrapper.java | 5 +- .../src/mage/cards/k/KheruBloodsucker.java | 3 +- Mage.Sets/src/mage/cards/k/KheruDreadmaw.java | 5 +- Mage.Sets/src/mage/cards/k/KheruLichLord.java | 5 +- .../src/mage/cards/k/KheruMindEater.java | 3 +- .../src/mage/cards/k/KheruSpellsnatcher.java | 5 +- Mage.Sets/src/mage/cards/k/KiAdiMundi.java | 5 +- .../mage/cards/k/KikiJikiMirrorBreaker.java | 5 +- .../src/mage/cards/k/KikuNightsFlower.java | 5 +- .../src/mage/cards/k/KillSuitCultist.java | 5 +- Mage.Sets/src/mage/cards/k/KillerBees.java | 3 +- Mage.Sets/src/mage/cards/k/KillerWhale.java | 3 +- Mage.Sets/src/mage/cards/k/KilnFiend.java | 5 +- Mage.Sets/src/mage/cards/k/KilnWalker.java | 3 +- .../src/mage/cards/k/KilnmouthDragon.java | 3 +- Mage.Sets/src/mage/cards/k/KinTreeWarden.java | 5 +- Mage.Sets/src/mage/cards/k/Kindercatch.java | 3 +- .../src/mage/cards/k/KindlyStranger.java | 3 +- Mage.Sets/src/mage/cards/k/KingCheetah.java | 3 +- Mage.Sets/src/mage/cards/k/KingCrab.java | 3 +- .../mage/cards/k/KingMacarTheGoldCursed.java | 3 +- Mage.Sets/src/mage/cards/k/KingSuleiman.java | 2 +- Mage.Sets/src/mage/cards/k/Kingfisher.java | 3 +- Mage.Sets/src/mage/cards/k/KingpinsPet.java | 3 +- Mage.Sets/src/mage/cards/k/KingsAssassin.java | 5 +- .../src/mage/cards/k/KinjallisSunwing.java | 3 +- .../src/mage/cards/k/KinsbaileBalloonist.java | 5 +- .../mage/cards/k/KinsbaileBorderguard.java | 4 +- .../src/mage/cards/k/KinsbaileCavalier.java | 4 +- .../src/mage/cards/k/KinsbaileSkirmisher.java | 5 +- .../src/mage/cards/k/KinscaerHarpoonist.java | 5 +- .../mage/cards/k/KioraMasterOfTheDepths.java | 3 +- .../mage/cards/k/KioraTheCrashingWave.java | 3 +- .../src/mage/cards/k/KiorasFollower.java | 3 +- .../mage/cards/k/KiraGreatGlassSpinner.java | 2 +- Mage.Sets/src/mage/cards/k/KirdApe.java | 2 +- Mage.Sets/src/mage/cards/k/KirdChieftain.java | 2 +- Mage.Sets/src/mage/cards/k/KiriOnna.java | 3 +- Mage.Sets/src/mage/cards/k/KirtarsDesire.java | 3 +- Mage.Sets/src/mage/cards/k/KitchenFinks.java | 3 +- Mage.Sets/src/mage/cards/k/KiteShield.java | 3 +- Mage.Sets/src/mage/cards/k/Kitesail.java | 2 +- .../src/mage/cards/k/KitesailApprentice.java | 5 +- .../src/mage/cards/k/KitesailFreebooter.java | 5 +- Mage.Sets/src/mage/cards/k/KitesailScout.java | 5 +- .../src/mage/cards/k/KithkinDaggerdare.java | 4 +- .../src/mage/cards/k/KithkinGreatheart.java | 4 +- .../src/mage/cards/k/KithkinHarbinger.java | 4 +- Mage.Sets/src/mage/cards/k/KithkinHealer.java | 5 +- .../src/mage/cards/k/KithkinMourncaller.java | 4 +- Mage.Sets/src/mage/cards/k/KithkinRabble.java | 3 +- .../src/mage/cards/k/KithkinShielddare.java | 5 +- .../src/mage/cards/k/KithkinSpellduster.java | 5 +- Mage.Sets/src/mage/cards/k/KithkinZealot.java | 5 +- .../src/mage/cards/k/KithkinZephyrnaut.java | 5 +- .../src/mage/cards/k/KitsuneBlademaster.java | 5 +- .../src/mage/cards/k/KitsuneBonesetter.java | 5 +- .../src/mage/cards/k/KitsuneDawnblade.java | 5 +- .../src/mage/cards/k/KitsuneDiviner.java | 4 +- Mage.Sets/src/mage/cards/k/KitsuneHealer.java | 5 +- .../src/mage/cards/k/KitsuneLoreweaver.java | 5 +- Mage.Sets/src/mage/cards/k/KitsuneMystic.java | 8 +- .../src/mage/cards/k/KitsunePalliator.java | 4 +- .../src/mage/cards/k/KitsuneRiftwalker.java | 4 +- .../mage/cards/k/KiyomaroFirstToStand.java | 3 +- Mage.Sets/src/mage/cards/k/KjeldoranDead.java | 3 +- .../src/mage/cards/k/KjeldoranFrostbeast.java | 5 +- .../src/mage/cards/k/KjeldoranGargoyle.java | 3 +- .../src/mage/cards/k/KjeldoranOutrider.java | 5 +- .../src/mage/cards/k/KjeldoranRoyalGuard.java | 5 +- .../src/mage/cards/k/KnacksawClique.java | 5 +- .../src/mage/cards/k/KnightCaptainOfEos.java | 4 +- Mage.Sets/src/mage/cards/k/KnightErrant.java | 5 +- .../src/mage/cards/k/KnightExemplar.java | 4 +- .../src/mage/cards/k/KnightOfCliffhaven.java | 5 +- Mage.Sets/src/mage/cards/k/KnightOfDawn.java | 5 +- Mage.Sets/src/mage/cards/k/KnightOfDusk.java | 5 +- Mage.Sets/src/mage/cards/k/KnightOfGlory.java | 5 +- .../src/mage/cards/k/KnightOfInfamy.java | 5 +- .../src/mage/cards/k/KnightOfMeadowgrain.java | 5 +- .../src/mage/cards/k/KnightOfNewAlara.java | 5 +- .../src/mage/cards/k/KnightOfObligation.java | 5 +- .../src/mage/cards/k/KnightOfStromgald.java | 5 +- Mage.Sets/src/mage/cards/k/KnightOfSursi.java | 5 +- .../mage/cards/k/KnightOfTheHolyNimbus.java | 7 +- .../mage/cards/k/KnightOfThePilgrimsRoad.java | 5 +- .../mage/cards/k/KnightOfTheReliquary.java | 4 +- .../mage/cards/k/KnightOfTheSkywardEye.java | 5 +- .../mage/cards/k/KnightOfTheWhiteOrchid.java | 4 +- Mage.Sets/src/mage/cards/k/KnightOfValor.java | 5 +- Mage.Sets/src/mage/cards/k/KnightlyValor.java | 3 +- .../mage/cards/k/KnightsOfTheBlackRose.java | 5 +- .../src/mage/cards/k/KnollspineDragon.java | 3 +- .../src/mage/cards/k/KnotvineMystic.java | 5 +- .../src/mage/cards/k/KnotvinePaladin.java | 5 +- .../mage/cards/k/KnowledgeExploitation.java | 3 +- .../src/mage/cards/k/KnuckleboneWitch.java | 4 +- .../src/mage/cards/k/KoboldDrillSergeant.java | 4 +- .../src/mage/cards/k/KoboldOverlord.java | 2 +- .../src/mage/cards/k/KoboldTaskmaster.java | 2 +- .../src/mage/cards/k/KoboldsOfKherKeep.java | 3 +- .../mage/cards/k/KodamaOfTheCenterTree.java | 2 +- .../mage/cards/k/KodamaOfTheNorthTree.java | 3 +- .../mage/cards/k/KodamaOfTheSouthTree.java | 3 +- Mage.Sets/src/mage/cards/k/KodamasMight.java | 3 +- .../mage/cards/k/KokushoTheEveningStar.java | 5 +- .../src/mage/cards/k/KolaghanAspirant.java | 5 +- .../src/mage/cards/k/KolaghanForerunners.java | 5 +- .../src/mage/cards/k/KolaghanMonument.java | 3 +- .../src/mage/cards/k/KolaghanSkirmisher.java | 5 +- .../src/mage/cards/k/KolaghanStormsinger.java | 5 +- .../mage/cards/k/KolaghanTheStormsFury.java | 2 +- .../src/mage/cards/k/KondaLordOfEiganjo.java | 5 +- Mage.Sets/src/mage/cards/k/KondasBanner.java | 2 +- .../src/mage/cards/k/KondasHatamoto.java | 4 +- .../mage/cards/k/KongmingSleepingDragon.java | 5 +- .../src/mage/cards/k/KopalaWardenOfWaves.java | 4 +- Mage.Sets/src/mage/cards/k/KorAeronaut.java | 5 +- Mage.Sets/src/mage/cards/k/KorBladewhirl.java | 7 +- .../src/mage/cards/k/KorCartographer.java | 4 +- Mage.Sets/src/mage/cards/k/KorCastigator.java | 6 +- Mage.Sets/src/mage/cards/k/KorDuelist.java | 5 +- Mage.Sets/src/mage/cards/k/KorEntanglers.java | 7 +- Mage.Sets/src/mage/cards/k/KorFirewalker.java | 5 +- Mage.Sets/src/mage/cards/k/KorHookmaster.java | 5 +- .../src/mage/cards/k/KorLineSlinger.java | 5 +- Mage.Sets/src/mage/cards/k/KorOutfitter.java | 4 +- .../src/mage/cards/k/KorSanctifiers.java | 5 +- .../src/mage/cards/k/KorScythemaster.java | 7 +- Mage.Sets/src/mage/cards/k/KorSkyClimber.java | 7 +- Mage.Sets/src/mage/cards/k/KorSkyfisher.java | 5 +- .../src/mage/cards/k/KorSpiritdancer.java | 4 +- .../mage/cards/k/KorlashHeirToBlackblade.java | 4 +- Mage.Sets/src/mage/cards/k/KorozdaGorgon.java | 3 +- .../src/mage/cards/k/KorozdaGuildmage.java | 5 +- .../src/mage/cards/k/KorozdaMonitor.java | 3 +- .../src/mage/cards/k/KothOfTheHammer.java | 4 +- .../mage/cards/k/KothophedSoulHoarder.java | 3 +- Mage.Sets/src/mage/cards/k/KothsCourier.java | 5 +- .../mage/cards/k/KozilekButcherOfTruth.java | 3 +- .../cards/k/KozilekTheGreatDistortion.java | 3 +- .../src/mage/cards/k/KozileksChanneler.java | 3 +- .../src/mage/cards/k/KozileksPathfinder.java | 3 +- .../src/mage/cards/k/KozileksPredator.java | 5 +- .../src/mage/cards/k/KozileksSentinel.java | 5 +- .../src/mage/cards/k/KozileksShrieker.java | 5 +- .../src/mage/cards/k/KozileksTranslator.java | 5 +- Mage.Sets/src/mage/cards/k/KragmaButcher.java | 5 +- .../src/mage/cards/k/KragmaWarcaller.java | 4 +- .../src/mage/cards/k/KrakenHatchling.java | 3 +- .../src/mage/cards/k/KrakenOfTheStraits.java | 2 +- Mage.Sets/src/mage/cards/k/Krakilin.java | 3 +- .../src/mage/cards/k/KrallenhordeHowler.java | 3 +- .../src/mage/cards/k/KrallenhordeKiller.java | 2 +- .../src/mage/cards/k/KrallenhordeWantons.java | 3 +- Mage.Sets/src/mage/cards/k/Kranioceros.java | 3 +- .../src/mage/cards/k/KrarkClanEngineers.java | 5 +- .../src/mage/cards/k/KrarkClanGrunt.java | 5 +- Mage.Sets/src/mage/cards/k/KrarkClanOgre.java | 3 +- .../src/mage/cards/k/KrarkClanShaman.java | 5 +- .../src/mage/cards/k/KrarkClanStoker.java | 5 +- .../src/mage/cards/k/KrasisIncubation.java | 3 +- Mage.Sets/src/mage/cards/k/KraulWarrior.java | 5 +- .../src/mage/cards/k/KraumLudevicsOpus.java | 5 +- Mage.Sets/src/mage/cards/k/KrenkoMobBoss.java | 4 +- .../src/mage/cards/k/KrenkosEnforcer.java | 5 +- .../mage/cards/k/KreshTheBloodbraided.java | 5 +- Mage.Sets/src/mage/cards/k/KrisMage.java | 5 +- .../src/mage/cards/k/KrondTheDawnClad.java | 3 +- Mage.Sets/src/mage/cards/k/KrosanArcher.java | 5 +- Mage.Sets/src/mage/cards/k/KrosanAvenger.java | 5 +- Mage.Sets/src/mage/cards/k/KrosanBeast.java | 5 +- .../src/mage/cards/k/KrosanCloudscraper.java | 5 +- .../src/mage/cards/k/KrosanColossus.java | 3 +- .../src/mage/cards/k/KrosanConstrictor.java | 3 +- Mage.Sets/src/mage/cards/k/KrosanDrover.java | 3 +- .../src/mage/cards/k/KrosanGroundshaker.java | 2 +- .../src/mage/cards/k/KrosanRestorer.java | 5 +- Mage.Sets/src/mage/cards/k/KrosanTusker.java | 5 +- Mage.Sets/src/mage/cards/k/KrosanVorine.java | 5 +- .../src/mage/cards/k/KrosanWarchief.java | 2 +- .../src/mage/cards/k/KrosanWayfarer.java | 5 +- .../src/mage/cards/k/KrovikanFetish.java | 3 +- Mage.Sets/src/mage/cards/k/KrovikanMist.java | 2 +- .../src/mage/cards/k/KrovikanScoundrel.java | 5 +- .../src/mage/cards/k/KrovikanSorcerer.java | 5 +- Mage.Sets/src/mage/cards/k/KruinOutlaw.java | 7 +- Mage.Sets/src/mage/cards/k/KruinStriker.java | 5 +- Mage.Sets/src/mage/cards/k/KrumarBondKin.java | 5 +- .../mage/cards/k/KruphixGodOfHorizons.java | 2 +- Mage.Sets/src/mage/cards/k/Kudzu.java | 3 +- .../src/mage/cards/k/KujarSeedsculptor.java | 5 +- .../src/mage/cards/k/KukemssaSerpent.java | 2 +- .../src/mage/cards/k/KuldothaFlamefiend.java | 3 +- .../src/mage/cards/k/KuldothaForgemaster.java | 3 +- .../src/mage/cards/k/KuldothaPhoenix.java | 3 +- .../src/mage/cards/k/KuldothaRingleader.java | 5 +- Mage.Sets/src/mage/cards/k/KulrathKnight.java | 5 +- .../mage/cards/k/KumanoMasterYamabushi.java | 5 +- .../src/mage/cards/k/KumanosBlessing.java | 2 +- Mage.Sets/src/mage/cards/k/KumanosPupils.java | 5 +- .../src/mage/cards/k/KumenasSpeaker.java | 2 +- .../src/mage/cards/k/KuonOgreAscendant.java | 5 +- Mage.Sets/src/mage/cards/k/Kurgadon.java | 3 +- .../mage/cards/k/KurkeshOnakkeAncient.java | 4 +- Mage.Sets/src/mage/cards/k/KuroPitlord.java | 4 +- Mage.Sets/src/mage/cards/k/KurosTaken.java | 5 +- Mage.Sets/src/mage/cards/k/KusariGama.java | 3 +- .../mage/cards/k/KydeleChosenOfKruphix.java | 5 +- .../mage/cards/k/KynaiosAndTiroOfMeletis.java | 4 +- .../src/mage/cards/k/KyokiSanitysEclipse.java | 5 +- Mage.Sets/src/mage/cards/k/KyrenGlider.java | 3 +- Mage.Sets/src/mage/cards/k/KyrenLegate.java | 2 +- Mage.Sets/src/mage/cards/k/KyrenSniper.java | 3 +- .../src/mage/cards/k/KytheonHeroOfAkros.java | 5 +- .../src/mage/cards/k/KytheonsIrregulars.java | 5 +- Mage.Sets/src/mage/cards/l/LAATGunship.java | 147 +++--- .../src/mage/cards/l/LaboratoryBrute.java | 5 +- .../src/mage/cards/l/LaboratoryManiac.java | 5 +- .../src/mage/cards/l/LabyrinthChampion.java | 5 +- .../src/mage/cards/l/LabyrinthGuardian.java | 5 +- Mage.Sets/src/mage/cards/l/LadyCaleria.java | 5 +- Mage.Sets/src/mage/cards/l/LadyEvangela.java | 5 +- Mage.Sets/src/mage/cards/l/LadyOrca.java | 3 +- Mage.Sets/src/mage/cards/l/LadySun.java | 5 +- .../mage/cards/l/LadyZhurongWarriorQueen.java | 7 +- Mage.Sets/src/mage/cards/l/LagacLizard.java | 3 +- .../src/mage/cards/l/LagonnaBandElder.java | 5 +- .../mage/cards/l/LagonnaBandTrailblazer.java | 5 +- .../src/mage/cards/l/LairwatchGiant.java | 223 ++++----- .../src/mage/cards/l/LambholtButcher.java | 3 +- Mage.Sets/src/mage/cards/l/LambholtElder.java | 5 +- .../src/mage/cards/l/LambholtPacifist.java | 7 +- .../src/mage/cards/l/LammastideWeave.java | 218 ++++----- .../mage/cards/l/LamplighterOfSelhoff.java | 4 +- Mage.Sets/src/mage/cards/l/Lance.java | 3 +- Mage.Sets/src/mage/cards/l/LancersEnKor.java | 5 +- Mage.Sets/src/mage/cards/l/LandLeeches.java | 3 +- .../src/mage/cards/l/LandoCalrissian.java | 4 +- Mage.Sets/src/mage/cards/l/LanternKami.java | 3 +- Mage.Sets/src/mage/cards/l/LanternScout.java | 6 +- Mage.Sets/src/mage/cards/l/LanternSpirit.java | 3 +- .../src/mage/cards/l/LaquatussChampion.java | 5 +- .../src/mage/cards/l/LashweedLurker.java | 5 +- Mage.Sets/src/mage/cards/l/Lashwrithe.java | 2 +- Mage.Sets/src/mage/cards/l/LatchSeeker.java | 3 +- .../src/mage/cards/l/LatchkeyFaerie.java | 5 +- Mage.Sets/src/mage/cards/l/LathnuHellion.java | 3 +- .../src/mage/cards/l/LathnuSailback.java | 117 ++--- .../mage/cards/l/LatullaKeldonOverseer.java | 5 +- Mage.Sets/src/mage/cards/l/Launch.java | 155 +++--- Mage.Sets/src/mage/cards/l/LavaBlister.java | 198 ++++---- Mage.Sets/src/mage/cards/l/LavaHounds.java | 3 +- Mage.Sets/src/mage/cards/l/LavaRunner.java | 3 +- Mage.Sets/src/mage/cards/l/LavaSpike.java | 3 +- Mage.Sets/src/mage/cards/l/LavaZombie.java | 3 +- Mage.Sets/src/mage/cards/l/LavabornMuse.java | 3 +- .../src/mage/cards/l/LavaclawReaches.java | 3 +- .../src/mage/cards/l/LavacoreElemental.java | 3 +- .../src/mage/cards/l/LavafumeInvoker.java | 5 +- .../src/mage/cards/l/LavamancersSkill.java | 2 +- .../src/mage/cards/l/LavastepRaider.java | 5 +- .../src/mage/cards/l/LaviniaOfTheTenth.java | 5 +- Mage.Sets/src/mage/cards/l/Lawbringer.java | 5 +- Mage.Sets/src/mage/cards/l/LawlessBroker.java | 5 +- Mage.Sets/src/mage/cards/l/LayClaim.java | 3 +- .../mage/cards/l/LazavDimirMastermind.java | 2 +- Mage.Sets/src/mage/cards/l/LeadGolem.java | 3 +- Mage.Sets/src/mage/cards/l/LeadenFists.java | 3 +- Mage.Sets/src/mage/cards/l/LeadenMyr.java | 3 +- .../src/mage/cards/l/LeafCrownedElder.java | 5 +- Mage.Sets/src/mage/cards/l/LeafDancer.java | 3 +- Mage.Sets/src/mage/cards/l/LeafGilder.java | 5 +- .../src/mage/cards/l/LeafcrownDryad.java | 5 +- .../src/mage/cards/l/LeafdrakeRoost.java | 3 +- Mage.Sets/src/mage/cards/l/LeapingLizard.java | 3 +- Mage.Sets/src/mage/cards/l/LeapingMaster.java | 5 +- Mage.Sets/src/mage/cards/l/Leashling.java | 3 +- .../src/mage/cards/l/LeatherbackBaloth.java | 3 +- Mage.Sets/src/mage/cards/l/LeaveChance.java | 248 +++++----- .../src/mage/cards/l/LeaveInTheDust.java | 128 ++--- Mage.Sets/src/mage/cards/l/LeechBonder.java | 5 +- Mage.Sets/src/mage/cards/l/LeechingLicid.java | 3 +- .../src/mage/cards/l/LeechingSliver.java | 2 +- .../src/mage/cards/l/LeechriddenSwamp.java | 3 +- Mage.Sets/src/mage/cards/l/LeeringEmblem.java | 3 +- Mage.Sets/src/mage/cards/l/LeeryFogbeast.java | 3 +- .../src/mage/cards/l/LegionLoyalist.java | 5 +- .../src/mage/cards/l/LegionsOfLimDul.java | 2 +- Mage.Sets/src/mage/cards/l/LeoninAbunas.java | 5 +- Mage.Sets/src/mage/cards/l/LeoninArbiter.java | 4 +- .../src/mage/cards/l/LeoninArmorguard.java | 5 +- .../src/mage/cards/l/LeoninBattlemage.java | 5 +- Mage.Sets/src/mage/cards/l/LeoninBola.java | 2 +- .../src/mage/cards/l/LeoninDenGuard.java | 5 +- Mage.Sets/src/mage/cards/l/LeoninElder.java | 5 +- .../src/mage/cards/l/LeoninIconoclast.java | 5 +- .../src/mage/cards/l/LeoninRelicWarder.java | 5 +- .../src/mage/cards/l/LeoninScimitar.java | 3 +- Mage.Sets/src/mage/cards/l/LeoninShikari.java | 5 +- .../src/mage/cards/l/LeoninSkyhunter.java | 5 +- .../src/mage/cards/l/LeoninSnarecaster.java | 5 +- Mage.Sets/src/mage/cards/l/LeoninSquire.java | 5 +- .../mage/cards/l/LeovoldEmissaryOfTrest.java | 4 +- Mage.Sets/src/mage/cards/l/LeshracsRite.java | 3 +- .../src/mage/cards/l/LesserGargadon.java | 3 +- Mage.Sets/src/mage/cards/l/LethalVapors.java | 156 +++---- Mage.Sets/src/mage/cards/l/Leveler.java | 3 +- Mage.Sets/src/mage/cards/l/LeyDruid.java | 5 +- .../src/mage/cards/l/LeylinePhantom.java | 3 +- Mage.Sets/src/mage/cards/l/Lhurgoyf.java | 3 +- .../src/mage/cards/l/LiberatedDwarf.java | 3 +- Mage.Sets/src/mage/cards/l/LichLordOfUnx.java | 4 +- .../mage/cards/l/LiciaSanguineTribune.java | 5 +- Mage.Sets/src/mage/cards/l/LiegeOfTheAxe.java | 5 +- Mage.Sets/src/mage/cards/l/LiegeOfThePit.java | 3 +- .../src/mage/cards/l/LiegeOfTheTangle.java | 4 +- .../src/mage/cards/l/LieutenantKirtar.java | 5 +- .../mage/cards/l/LieutenantsOfTheGuard.java | 5 +- Mage.Sets/src/mage/cards/l/LifeGoesOn.java | 124 ++--- .../src/mage/cards/l/LifebaneZombie.java | 5 +- .../src/mage/cards/l/LifebloodHydra.java | 3 +- .../src/mage/cards/l/LifecraftAwakening.java | 3 +- .../src/mage/cards/l/LifecraftCavalry.java | 5 +- Mage.Sets/src/mage/cards/l/Lifelink.java | 2 +- Mage.Sets/src/mage/cards/l/Lifesmith.java | 5 +- Mage.Sets/src/mage/cards/l/Lifespinner.java | 2 +- .../src/mage/cards/l/LifespringDruid.java | 5 +- Mage.Sets/src/mage/cards/l/Lightbringer.java | 5 +- .../mage/cards/l/LighthouseChronologist.java | 5 +- .../src/mage/cards/l/LightkeeperOfEmeria.java | 3 +- .../src/mage/cards/l/LightningAngel.java | 3 +- .../src/mage/cards/l/LightningBerserker.java | 5 +- .../src/mage/cards/l/LightningCrafter.java | 4 +- .../src/mage/cards/l/LightningDiadem.java | 3 +- .../src/mage/cards/l/LightningDragon.java | 3 +- .../src/mage/cards/l/LightningElemental.java | 3 +- .../src/mage/cards/l/LightningGreaves.java | 3 +- .../src/mage/cards/l/LightningHounds.java | 3 +- .../src/mage/cards/l/LightningMauler.java | 5 +- .../src/mage/cards/l/LightningProwess.java | 2 +- .../src/mage/cards/l/LightningReaver.java | 5 +- .../src/mage/cards/l/LightningReflexes.java | 3 +- .../src/mage/cards/l/LightningRunner.java | 5 +- .../src/mage/cards/l/LightningSerpent.java | 5 +- .../src/mage/cards/l/LightningShrieker.java | 3 +- .../src/mage/cards/l/LightningTalons.java | 3 +- Mage.Sets/src/mage/cards/l/Lightsaber.java | 3 +- Mage.Sets/src/mage/cards/l/Lightwalker.java | 5 +- .../src/mage/cards/l/LightwielderPaladin.java | 5 +- Mage.Sets/src/mage/cards/l/Lignify.java | 7 +- .../src/mage/cards/l/LilianaDeathWielder.java | 3 +- .../mage/cards/l/LilianaDeathsMajesty.java | 2 +- .../cards/l/LilianaDefiantNecromancer.java | 2 +- .../mage/cards/l/LilianaHereticalHealer.java | 5 +- .../mage/cards/l/LilianaOfTheDarkRealms.java | 2 +- .../src/mage/cards/l/LilianaOfTheVeil.java | 3 +- .../src/mage/cards/l/LilianaTheLastHope.java | 3 +- Mage.Sets/src/mage/cards/l/LilianaVess.java | 3 +- Mage.Sets/src/mage/cards/l/LilianasElite.java | 3 +- .../src/mage/cards/l/LilianasReaver.java | 3 +- Mage.Sets/src/mage/cards/l/LilianasShade.java | 2 +- .../src/mage/cards/l/LilianasSpecter.java | 3 +- .../mage/cards/l/LimDulTheNecromancer.java | 4 +- .../src/mage/cards/l/LimDulsHighGuard.java | 3 +- .../src/mage/cards/l/LimDulsPaladin.java | 5 +- .../src/mage/cards/l/LinSivviDefiantHero.java | 4 +- .../src/mage/cards/l/LinessaZephyrMage.java | 5 +- .../src/mage/cards/l/LingeringMirage.java | 2 +- .../src/mage/cards/l/LingeringTormentor.java | 3 +- .../mage/cards/l/LinvalaKeeperOfSilence.java | 3 +- .../src/mage/cards/l/LinvalaThePreserver.java | 3 +- .../src/mage/cards/l/LionheartMaverick.java | 5 +- Mage.Sets/src/mage/cards/l/Lithatog.java | 3 +- Mage.Sets/src/mage/cards/l/Lithophage.java | 2 +- .../src/mage/cards/l/LiuBeiLordOfShu.java | 5 +- Mage.Sets/src/mage/cards/l/LivewireLash.java | 3 +- Mage.Sets/src/mage/cards/l/LivingAirship.java | 3 +- .../src/mage/cards/l/LivingArtifact.java | 3 +- Mage.Sets/src/mage/cards/l/LivingHive.java | 5 +- Mage.Sets/src/mage/cards/l/LivingLore.java | 3 +- Mage.Sets/src/mage/cards/l/LivingTerrain.java | 4 +- Mage.Sets/src/mage/cards/l/LivingTotem.java | 5 +- Mage.Sets/src/mage/cards/l/LivingTsunami.java | 3 +- Mage.Sets/src/mage/cards/l/LivingWall.java | 3 +- Mage.Sets/src/mage/cards/l/LivonyaSilone.java | 5 +- Mage.Sets/src/mage/cards/l/LizardWarrior.java | 5 +- Mage.Sets/src/mage/cards/l/LlanowarAugur.java | 5 +- .../src/mage/cards/l/LlanowarBehemoth.java | 3 +- .../src/mage/cards/l/LlanowarCavalry.java | 5 +- Mage.Sets/src/mage/cards/l/LlanowarDead.java | 5 +- Mage.Sets/src/mage/cards/l/LlanowarDruid.java | 4 +- Mage.Sets/src/mage/cards/l/LlanowarElite.java | 3 +- Mage.Sets/src/mage/cards/l/LlanowarElves.java | 5 +- .../src/mage/cards/l/LlanowarEmpath.java | 5 +- .../src/mage/cards/l/LlanowarKnight.java | 5 +- .../src/mage/cards/l/LlanowarMentor.java | 5 +- .../src/mage/cards/l/LlanowarSentinel.java | 3 +- .../src/mage/cards/l/LlanowarVanguard.java | 3 +- .../mage/cards/l/LlawanCephalidEmpress.java | 2 +- Mage.Sets/src/mage/cards/l/LoamDryad.java | 5 +- Mage.Sets/src/mage/cards/l/LoamDweller.java | 3 +- Mage.Sets/src/mage/cards/l/LoamLarva.java | 3 +- Mage.Sets/src/mage/cards/l/LoamLion.java | 2 +- .../src/mage/cards/l/LoamdraggerGiant.java | 5 +- Mage.Sets/src/mage/cards/l/LoamingShaman.java | 5 +- .../src/mage/cards/l/LoathsomeCatoblepas.java | 3 +- Mage.Sets/src/mage/cards/l/LobberCrew.java | 5 +- Mage.Sets/src/mage/cards/l/LochKorrigan.java | 3 +- .../src/mage/cards/l/LockjawSnapper.java | 3 +- Mage.Sets/src/mage/cards/l/LocustMiser.java | 5 +- Mage.Sets/src/mage/cards/l/LocustSwarm.java | 3 +- .../src/mage/cards/l/LodestoneGolem.java | 3 +- Mage.Sets/src/mage/cards/l/LodestoneMyr.java | 3 +- .../src/mage/cards/l/LoneMissionary.java | 5 +- Mage.Sets/src/mage/cards/l/LoneRevenant.java | 3 +- Mage.Sets/src/mage/cards/l/LoneRider.java | 5 +- Mage.Sets/src/mage/cards/l/LoneWolf.java | 3 +- .../cards/l/LoneWolfOfTheNatterknolls.java | 3 +- .../src/mage/cards/l/LongFinnedSkywhale.java | 3 +- Mage.Sets/src/mage/cards/l/LongbowArcher.java | 7 +- Mage.Sets/src/mage/cards/l/LongshotSquad.java | 5 +- Mage.Sets/src/mage/cards/l/LongtuskCub.java | 3 +- .../src/mage/cards/l/LoomingHoverguard.java | 3 +- Mage.Sets/src/mage/cards/l/LoomingShade.java | 3 +- Mage.Sets/src/mage/cards/l/LooterIlKor.java | 5 +- .../src/mage/cards/l/LordOfAtlantis.java | 2 +- .../src/mage/cards/l/LordOfExtinction.java | 3 +- Mage.Sets/src/mage/cards/l/LordOfLineage.java | 2 +- .../mage/cards/l/LordOfShatterskullPass.java | 5 +- .../src/mage/cards/l/LordOfTheAccursed.java | 2 +- Mage.Sets/src/mage/cards/l/LordOfThePit.java | 2 +- .../src/mage/cards/l/LordOfTheUndead.java | 2 +- .../src/mage/cards/l/LordOfTheUnreal.java | 4 +- Mage.Sets/src/mage/cards/l/LordOfTheVoid.java | 3 +- .../src/mage/cards/l/LordOfTresserhorn.java | 3 +- Mage.Sets/src/mage/cards/l/LoreBroker.java | 5 +- .../src/mage/cards/l/LorescaleCoatl.java | 3 +- .../src/mage/cards/l/LorthosTheTidemaker.java | 3 +- .../src/mage/cards/l/LostAuramancers.java | 5 +- Mage.Sets/src/mage/cards/l/LostLeonin.java | 5 +- Mage.Sets/src/mage/cards/l/LostSoul.java | 5 +- Mage.Sets/src/mage/cards/l/LotlethTroll.java | 5 +- Mage.Sets/src/mage/cards/l/LotusCobra.java | 3 +- .../src/mage/cards/l/LotusEyeMystics.java | 5 +- Mage.Sets/src/mage/cards/l/LotusGuardian.java | 3 +- .../src/mage/cards/l/LotusPathDjinn.java | 5 +- .../src/mage/cards/l/LovisaColdeyes.java | 2 +- .../src/mage/cards/l/LowlandBasilisk.java | 3 +- Mage.Sets/src/mage/cards/l/LowlandGiant.java | 3 +- Mage.Sets/src/mage/cards/l/LowlandOaf.java | 248 +++++----- .../src/mage/cards/l/LowlandTracker.java | 5 +- .../src/mage/cards/l/LoxodonAnchorite.java | 5 +- .../src/mage/cards/l/LoxodonConvert.java | 5 +- .../src/mage/cards/l/LoxodonGatekeeper.java | 5 +- .../src/mage/cards/l/LoxodonHierarch.java | 5 +- Mage.Sets/src/mage/cards/l/LoxodonMender.java | 5 +- Mage.Sets/src/mage/cards/l/LoxodonMystic.java | 5 +- .../src/mage/cards/l/LoxodonPartisan.java | 5 +- .../src/mage/cards/l/LoxodonPunisher.java | 5 +- Mage.Sets/src/mage/cards/l/LoxodonSmiter.java | 5 +- .../src/mage/cards/l/LoxodonStalwart.java | 5 +- .../src/mage/cards/l/LoxodonWarhammer.java | 2 +- .../src/mage/cards/l/LoxodonWayfarer.java | 5 +- Mage.Sets/src/mage/cards/l/LoyalCathar.java | 5 +- .../src/mage/cards/l/LoyalGyrfalcon.java | 3 +- Mage.Sets/src/mage/cards/l/LoyalPegasus.java | 3 +- .../src/mage/cards/l/LoyalRetainers.java | 5 +- Mage.Sets/src/mage/cards/l/LoyalSentry.java | 5 +- Mage.Sets/src/mage/cards/l/LoyalTauntaun.java | 141 +++--- .../src/mage/cards/l/LuBuMasterAtArms.java | 7 +- .../src/mage/cards/l/LuMengWuGeneral.java | 5 +- Mage.Sets/src/mage/cards/l/LuSuWuAdvisor.java | 5 +- .../src/mage/cards/l/LuXunScholarGeneral.java | 5 +- Mage.Sets/src/mage/cards/l/LucentLiminid.java | 3 +- .../mage/cards/l/LudevicNecroAlchemist.java | 4 +- .../src/mage/cards/l/LudevicsAbomination.java | 5 +- .../src/mage/cards/l/LudevicsTestSubject.java | 3 +- Mage.Sets/src/mage/cards/l/LukeSkywalker.java | 5 +- .../src/mage/cards/l/LullmageMentor.java | 4 +- .../src/mage/cards/l/LumberingFalls.java | 3 +- .../src/mage/cards/l/LumberingSatyr.java | 5 +- Mage.Sets/src/mage/cards/l/Lumberknot.java | 3 +- .../src/mage/cards/l/LumengridDrake.java | 3 +- .../src/mage/cards/l/LumengridGargoyle.java | 3 +- .../src/mage/cards/l/LumengridSentinel.java | 5 +- .../src/mage/cards/l/LumengridWarden.java | 5 +- .../src/mage/cards/l/LuminatePrimordial.java | 3 +- Mage.Sets/src/mage/cards/l/Luminesce.java | 202 ++++---- Mage.Sets/src/mage/cards/l/LuminousAngel.java | 3 +- .../src/mage/cards/l/LuminousGuardian.java | 5 +- Mage.Sets/src/mage/cards/l/LuminousWake.java | 3 +- Mage.Sets/src/mage/cards/l/LunarAvenger.java | 3 +- Mage.Sets/src/mage/cards/l/LunarMystic.java | 5 +- .../src/mage/cards/l/LunarchInquisitors.java | 5 +- Mage.Sets/src/mage/cards/l/LunarchMantle.java | 3 +- Mage.Sets/src/mage/cards/l/LunkErrant.java | 5 +- .../src/mage/cards/l/LupinePrototype.java | 5 +- .../src/mage/cards/l/LurchingRotbeast.java | 5 +- Mage.Sets/src/mage/cards/l/Lure.java | 3 +- .../src/mage/cards/l/LureboundScarecrow.java | 3 +- Mage.Sets/src/mage/cards/l/LurkingArynx.java | 5 +- .../src/mage/cards/l/LurkingCrocodile.java | 3 +- Mage.Sets/src/mage/cards/l/LurkingEvil.java | 3 +- .../src/mage/cards/l/LurkingInformant.java | 5 +- .../src/mage/cards/l/LurkingNightstalker.java | 3 +- Mage.Sets/src/mage/cards/l/LushGrowth.java | 2 +- Mage.Sets/src/mage/cards/l/LustForWar.java | 3 +- .../src/mage/cards/l/LuxaRiverShrine.java | 154 +++--- Mage.Sets/src/mage/cards/l/LyevSkyknight.java | 5 +- Mage.Sets/src/mage/cards/l/LymphSliver.java | 2 +- Mage.Sets/src/mage/cards/l/Lynx.java | 3 +- .../src/mage/cards/l/LysAlanaBowmaster.java | 4 +- .../src/mage/cards/l/LysAlanaHuntmaster.java | 4 +- .../src/mage/cards/l/LysAlanaScarblade.java | 4 +- .../mage/cards/l/LyzoldaTheBloodWitch.java | 5 +- .../mage/cards/m/MaChaoWesternWarrior.java | 7 +- Mage.Sets/src/mage/cards/m/MaalfeldTwins.java | 3 +- Mage.Sets/src/mage/cards/m/MaceWindu.java | 5 +- .../src/mage/cards/m/MacetailHystrodon.java | 3 +- Mage.Sets/src/mage/cards/m/MadAuntie.java | 4 +- Mage.Sets/src/mage/cards/m/MadProphet.java | 5 +- .../src/mage/cards/m/MadblindMountain.java | 3 +- Mage.Sets/src/mage/cards/m/MadcapSkills.java | 3 +- .../src/mage/cards/m/MadrushCyclops.java | 5 +- .../src/mage/cards/m/MaelstromArchangel.java | 3 +- .../src/mage/cards/m/MaelstromDjinn.java | 3 +- .../src/mage/cards/m/MaelstromWanderer.java | 2 +- .../mage/cards/m/MagaTraitorToMortals.java | 5 +- Mage.Sets/src/mage/cards/m/MageIlVec.java | 5 +- Mage.Sets/src/mage/cards/m/MageRingBully.java | 5 +- .../src/mage/cards/m/MageRingResponder.java | 3 +- Mage.Sets/src/mage/cards/m/MageSlayer.java | 3 +- Mage.Sets/src/mage/cards/m/MagebaneArmor.java | 3 +- Mage.Sets/src/mage/cards/m/MagefireWings.java | 3 +- Mage.Sets/src/mage/cards/m/MagetaTheLion.java | 5 +- Mage.Sets/src/mage/cards/m/MagetasBoon.java | 3 +- Mage.Sets/src/mage/cards/m/MaggotCarrier.java | 3 +- Mage.Sets/src/mage/cards/m/MaggotTherapy.java | 2 +- .../src/mage/cards/m/MagisterOfWorth.java | 3 +- .../src/mage/cards/m/MagisterSphinx.java | 3 +- Mage.Sets/src/mage/cards/m/MagmaGiant.java | 3 +- Mage.Sets/src/mage/cards/m/MagmaPhoenix.java | 3 +- Mage.Sets/src/mage/cards/m/MagmaSliver.java | 2 +- Mage.Sets/src/mage/cards/m/Magmaroth.java | 3 +- Mage.Sets/src/mage/cards/m/MagmaticForce.java | 3 +- Mage.Sets/src/mage/cards/m/Magmaw.java | 3 +- .../src/mage/cards/m/MagnigothTreefolk.java | 2 +- Mage.Sets/src/mage/cards/m/Magnivore.java | 3 +- .../src/mage/cards/m/MagusOfTheAbyss.java | 5 +- .../src/mage/cards/m/MagusOfTheArena.java | 5 +- .../src/mage/cards/m/MagusOfTheBazaar.java | 5 +- .../mage/cards/m/MagusOfTheCandelabra.java | 5 +- .../src/mage/cards/m/MagusOfTheCoffers.java | 4 +- .../src/mage/cards/m/MagusOfTheDisk.java | 5 +- .../src/mage/cards/m/MagusOfTheFuture.java | 5 +- Mage.Sets/src/mage/cards/m/MagusOfTheJar.java | 395 ++++++++-------- .../src/mage/cards/m/MagusOfTheLibrary.java | 5 +- .../src/mage/cards/m/MagusOfTheMind.java | 5 +- .../src/mage/cards/m/MagusOfTheMirror.java | 5 +- .../src/mage/cards/m/MagusOfTheMoat.java | 5 +- .../src/mage/cards/m/MagusOfTheMoon.java | 4 +- .../src/mage/cards/m/MagusOfTheScroll.java | 5 +- .../mage/cards/m/MagusOfTheTabernacle.java | 5 +- .../src/mage/cards/m/MagusOfTheUnseen.java | 5 +- .../src/mage/cards/m/MagusOfTheVineyard.java | 5 +- .../src/mage/cards/m/MagusOfTheWheel.java | 5 +- .../src/mage/cards/m/MagusOfTheWill.java | 5 +- Mage.Sets/src/mage/cards/m/MahamotiDjinn.java | 3 +- .../src/mage/cards/m/MaintenanceDroid.java | 291 ++++++------ .../src/mage/cards/m/MaintenanceHangar.java | 302 ++++++------ .../src/mage/cards/m/MairsilThePretender.java | 5 +- .../src/mage/cards/m/MajesticMyriarch.java | 3 +- Mage.Sets/src/mage/cards/m/MajorTeroh.java | 5 +- .../src/mage/cards/m/MakeshiftMauler.java | 5 +- .../src/mage/cards/m/MakindiAeronaut.java | 7 +- .../src/mage/cards/m/MakindiGriffin.java | 3 +- Mage.Sets/src/mage/cards/m/MakindiPatrol.java | 7 +- .../src/mage/cards/m/MakindiShieldmate.java | 7 +- .../src/mage/cards/m/MakindiSliderunner.java | 3 +- .../src/mage/cards/m/MalachOfTheDawn.java | 3 +- .../src/mage/cards/m/MalachiteGolem.java | 3 +- .../src/mage/cards/m/MalakirBloodwitch.java | 4 +- .../src/mage/cards/m/MalakirCullblade.java | 5 +- .../src/mage/cards/m/MalakirFamiliar.java | 3 +- .../src/mage/cards/m/MalakirSoothsayer.java | 6 +- Mage.Sets/src/mage/cards/m/Malfegor.java | 5 +- Mage.Sets/src/mage/cards/m/Malfunction.java | 3 +- .../src/mage/cards/m/MaliciousIntent.java | 2 +- Mage.Sets/src/mage/cards/m/Malignus.java | 5 +- Mage.Sets/src/mage/cards/m/MammothUmbra.java | 2 +- Mage.Sets/src/mage/cards/m/ManOWar.java | 3 +- Mage.Sets/src/mage/cards/m/ManaChains.java | 3 +- .../src/mage/cards/m/ManaChargedDragon.java | 3 +- Mage.Sets/src/mage/cards/m/ManaLeech.java | 3 +- Mage.Sets/src/mage/cards/m/ManaSkimmer.java | 3 +- .../src/mage/cards/m/ManaclesOfDecay.java | 2 +- Mage.Sets/src/mage/cards/m/ManaforceMace.java | 3 +- .../src/mage/cards/m/ManaforgeCinder.java | 5 +- .../src/mage/cards/m/ManagorgerHydra.java | 3 +- Mage.Sets/src/mage/cards/m/Manakin.java | 3 +- Mage.Sets/src/mage/cards/m/Manaplasm.java | 3 +- .../src/mage/cards/m/ManaweftSliver.java | 3 +- .../src/mage/cards/m/MangaraOfCorondor.java | 5 +- Mage.Sets/src/mage/cards/m/MangarasTome.java | 308 ++++++------ Mage.Sets/src/mage/cards/m/Manglehorn.java | 3 +- Mage.Sets/src/mage/cards/m/ManiacalRage.java | 2 +- Mage.Sets/src/mage/cards/m/ManicScribe.java | 5 +- Mage.Sets/src/mage/cards/m/ManicVandal.java | 5 +- .../mage/cards/m/MannichiTheFeveredDream.java | 3 +- Mage.Sets/src/mage/cards/m/ManorGargoyle.java | 3 +- Mage.Sets/src/mage/cards/m/ManorSkeleton.java | 3 +- Mage.Sets/src/mage/cards/m/ManrikiGusari.java | 2 +- Mage.Sets/src/mage/cards/m/MantaRay.java | 2 +- Mage.Sets/src/mage/cards/m/MantaRiders.java | 2 +- .../src/mage/cards/m/MantellianSavrip.java | 201 ++++---- .../src/mage/cards/m/ManticoreEternal.java | 5 +- .../mage/cards/m/ManticoreOfTheGauntlet.java | 3 +- Mage.Sets/src/mage/cards/m/MantisEngine.java | 3 +- Mage.Sets/src/mage/cards/m/MantisRider.java | 5 +- Mage.Sets/src/mage/cards/m/MantleOfWebs.java | 3 +- .../mage/cards/m/MaralenOfTheMornsong.java | 4 +- .../src/mage/cards/m/MarangRiverProwler.java | 5 +- .../src/mage/cards/m/MarangRiverSkeleton.java | 3 +- .../src/mage/cards/m/MarathWillOfTheWild.java | 5 +- .../mage/cards/m/MaraudingBoneslasher.java | 4 +- .../src/mage/cards/m/MaraudingKnight.java | 4 +- .../src/mage/cards/m/MaraudingLooter.java | 5 +- .../src/mage/cards/m/MaraudingMaulhorn.java | 3 +- Mage.Sets/src/mage/cards/m/MaraxusOfKeld.java | 5 +- Mage.Sets/src/mage/cards/m/MarbleTitan.java | 3 +- .../src/mage/cards/m/MarchOfTheDroids.java | 226 ++++----- .../mage/cards/m/MarchesaTheBlackRose.java | 4 +- .../src/mage/cards/m/MarchesasEmissary.java | 5 +- .../mage/cards/m/MarchesasInfiltrator.java | 5 +- .../src/mage/cards/m/MarchesasSmuggler.java | 5 +- .../src/mage/cards/m/MarduBlazebringer.java | 5 +- .../src/mage/cards/m/MarduHateblade.java | 5 +- .../src/mage/cards/m/MarduHeartPiercer.java | 5 +- .../src/mage/cards/m/MarduHordechief.java | 5 +- .../src/mage/cards/m/MarduRoughrider.java | 5 +- Mage.Sets/src/mage/cards/m/MarduRunemark.java | 3 +- Mage.Sets/src/mage/cards/m/MarduScout.java | 5 +- .../src/mage/cards/m/MarduShadowspear.java | 5 +- .../src/mage/cards/m/MarduSkullhunter.java | 5 +- .../src/mage/cards/m/MarduStrikeLeader.java | 5 +- .../src/mage/cards/m/MarduWarshrieker.java | 5 +- .../src/mage/cards/m/MarduWoeReaper.java | 4 +- .../src/mage/cards/m/MarhaultElsdragon.java | 5 +- .../src/mage/cards/m/MarionetteMaster.java | 5 +- .../src/mage/cards/m/MarisisTwinclaws.java | 5 +- Mage.Sets/src/mage/cards/m/MaritimeGuard.java | 5 +- Mage.Sets/src/mage/cards/m/Marjhan.java | 2 +- .../src/mage/cards/m/MarkOfEviction.java | 241 +++++----- Mage.Sets/src/mage/cards/m/MarkOfFury.java | 3 +- Mage.Sets/src/mage/cards/m/MarkOfSakiko.java | 3 +- Mage.Sets/src/mage/cards/m/MarkOfTheOni.java | 2 +- .../src/mage/cards/m/MarkOfTheVampire.java | 3 +- Mage.Sets/src/mage/cards/m/MarkedByHonor.java | 3 +- Mage.Sets/src/mage/cards/m/MarkerBeetles.java | 3 +- .../src/mage/cards/m/MarketFestival.java | 3 +- .../src/mage/cards/m/MarkovBlademaster.java | 5 +- .../src/mage/cards/m/MarkovCrusader.java | 4 +- .../src/mage/cards/m/MarkovDreadknight.java | 5 +- .../src/mage/cards/m/MarkovPatrician.java | 3 +- Mage.Sets/src/mage/cards/m/MarkovWarlord.java | 5 +- .../src/mage/cards/m/MarkovsServant.java | 3 +- Mage.Sets/src/mage/cards/m/Maro.java | 3 +- Mage.Sets/src/mage/cards/m/MarrowBats.java | 5 +- Mage.Sets/src/mage/cards/m/MarrowChomper.java | 5 +- Mage.Sets/src/mage/cards/m/MarrowGnawer.java | 4 +- Mage.Sets/src/mage/cards/m/MarshBoa.java | 3 +- .../src/mage/cards/m/MarshCrocodile.java | 3 +- Mage.Sets/src/mage/cards/m/MarshFlitter.java | 4 +- Mage.Sets/src/mage/cards/m/MarshGoblins.java | 3 +- Mage.Sets/src/mage/cards/m/MarshHulk.java | 5 +- Mage.Sets/src/mage/cards/m/MarshLurker.java | 2 +- Mage.Sets/src/mage/cards/m/MarshThreader.java | 5 +- Mage.Sets/src/mage/cards/m/MarshViper.java | 3 +- .../src/mage/cards/m/MarshdrinkerGiant.java | 4 +- .../src/mage/cards/m/MarshmistTitan.java | 3 +- .../src/mage/cards/m/MartonStromgald.java | 5 +- Mage.Sets/src/mage/cards/m/MartyrOfAshes.java | 5 +- Mage.Sets/src/mage/cards/m/MartyrOfBones.java | 5 +- Mage.Sets/src/mage/cards/m/MartyrOfFrost.java | 5 +- Mage.Sets/src/mage/cards/m/MartyrOfSands.java | 5 +- .../src/mage/cards/m/MartyrOfSpores.java | 5 +- .../src/mage/cards/m/MartyredRusalka.java | 3 +- .../src/mage/cards/m/MartyrsOfKorlis.java | 3 +- .../src/mage/cards/m/MasakoTheHumorless.java | 4 +- Mage.Sets/src/mage/cards/m/MaskOfAvacyn.java | 2 +- .../src/mage/cards/m/MaskOfLawAndGrace.java | 3 +- Mage.Sets/src/mage/cards/m/MaskOfMemory.java | 3 +- Mage.Sets/src/mage/cards/m/MaskOfRiddles.java | 2 +- .../src/mage/cards/m/MaskedAdmirers.java | 5 +- Mage.Sets/src/mage/cards/m/MaskedGorgon.java | 2 +- Mage.Sets/src/mage/cards/m/MassOfGhouls.java | 5 +- Mage.Sets/src/mage/cards/m/MassacreWurm.java | 3 +- Mage.Sets/src/mage/cards/m/MassiffSwarm.java | 127 ++--- .../src/mage/cards/m/MasterApothecary.java | 4 +- .../src/mage/cards/m/MasterBiomancer.java | 4 +- Mage.Sets/src/mage/cards/m/MasterDecoy.java | 5 +- Mage.Sets/src/mage/cards/m/MasterHealer.java | 5 +- Mage.Sets/src/mage/cards/m/MasterOfArms.java | 5 +- .../src/mage/cards/m/MasterOfCruelties.java | 3 +- .../src/mage/cards/m/MasterOfDiversion.java | 5 +- .../src/mage/cards/m/MasterOfEtherium.java | 4 +- .../src/mage/cards/m/MasterOfPearls.java | 5 +- .../mage/cards/m/MasterOfPredicaments.java | 3 +- .../src/mage/cards/m/MasterOfTheFeast.java | 3 +- .../mage/cards/m/MasterOfThePearlTrident.java | 2 +- .../src/mage/cards/m/MasterOfTheWildHunt.java | 4 +- Mage.Sets/src/mage/cards/m/MasterOfWaves.java | 4 +- Mage.Sets/src/mage/cards/m/MasterSplicer.java | 4 +- Mage.Sets/src/mage/cards/m/MasterThief.java | 5 +- .../src/mage/cards/m/MasterTransmuter.java | 5 +- .../src/mage/cards/m/MasterTrinketeer.java | 4 +- .../mage/cards/m/MasterworkOfIngenuity.java | 2 +- Mage.Sets/src/mage/cards/m/Masticore.java | 3 +- .../src/mage/cards/m/MasumaroFirstToLive.java | 3 +- Mage.Sets/src/mage/cards/m/MatcaRioters.java | 5 +- .../src/mage/cards/m/MathasFiendSeeker.java | 3 +- .../mage/cards/m/MatsuTribeBirdstalker.java | 7 +- .../src/mage/cards/m/MatsuTribeDecoy.java | 5 +- .../src/mage/cards/m/MatsuTribeSniper.java | 7 +- .../src/mage/cards/m/MatterReshaper.java | 3 +- Mage.Sets/src/mage/cards/m/MaulSplicer.java | 4 +- .../src/mage/cards/m/MaulfistDoorbuster.java | 5 +- .../mage/cards/m/MaulfistRevolutionary.java | 5 +- Mage.Sets/src/mage/cards/m/MaulfistSquad.java | 5 +- .../src/mage/cards/m/MausoleumGuard.java | 5 +- .../src/mage/cards/m/MausoleumTurnkey.java | 249 +++++----- .../src/mage/cards/m/MausoleumWanderer.java | 2 +- .../src/mage/cards/m/MaverickThopterist.java | 5 +- .../mage/cards/m/MavrenFeinDuskApostle.java | 4 +- Mage.Sets/src/mage/cards/m/MawOfKozilek.java | 5 +- .../src/mage/cards/m/MawOfTheObzedat.java | 2 +- Mage.Sets/src/mage/cards/m/Mawcor.java | 3 +- .../src/mage/cards/m/MayaelTheAnima.java | 5 +- .../src/mage/cards/m/MayorOfAvabruck.java | 6 +- .../src/mage/cards/m/MazeAbomination.java | 3 +- Mage.Sets/src/mage/cards/m/MazeBehemoth.java | 3 +- Mage.Sets/src/mage/cards/m/MazeGlider.java | 3 +- Mage.Sets/src/mage/cards/m/MazeRusher.java | 3 +- Mage.Sets/src/mage/cards/m/MazeSentinel.java | 3 +- .../mage/cards/m/MazirekKraulDeathPriest.java | 5 +- Mage.Sets/src/mage/cards/m/Meadowboon.java | 3 +- .../mage/cards/m/MeanderingTowershell.java | 3 +- .../mage/cards/m/MechanizedProduction.java | 3 +- Mage.Sets/src/mage/cards/m/MeddlingMage.java | 5 +- .../src/mage/cards/m/MedicineRunner.java | 5 +- .../src/mage/cards/m/MedomaiTheAgeless.java | 3 +- .../src/mage/cards/m/MeganticSliver.java | 3 +- Mage.Sets/src/mage/cards/m/Megatog.java | 3 +- Mage.Sets/src/mage/cards/m/Meglonoth.java | 3 +- Mage.Sets/src/mage/cards/m/Melancholy.java | 3 +- .../src/mage/cards/m/MelekIzzetParagon.java | 5 +- Mage.Sets/src/mage/cards/m/MelesseSpirit.java | 5 +- .../src/mage/cards/m/MeletisAstronomer.java | 5 +- .../src/mage/cards/m/MeletisCharlatan.java | 5 +- .../src/mage/cards/m/MeliraSylvokOutcast.java | 4 +- .../src/mage/cards/m/MelirasKeepers.java | 5 +- .../mage/cards/m/MelokuTheCloudedMirror.java | 5 +- Mage.Sets/src/mage/cards/m/Memnarch.java | 3 +- Mage.Sets/src/mage/cards/m/Memnite.java | 3 +- Mage.Sets/src/mage/cards/m/MenacingOgre.java | 3 +- .../src/mage/cards/m/MenagerieLiberator.java | 133 +++--- .../mage/cards/m/MengHuoBarbarianKing.java | 6 +- Mage.Sets/src/mage/cards/m/MengHuosHorde.java | 5 +- .../src/mage/cards/m/MentorOfTheMeek.java | 5 +- .../src/mage/cards/m/MephidrossVampire.java | 2 +- Mage.Sets/src/mage/cards/m/MephiticOoze.java | 3 +- .../src/mage/cards/m/MerEkNightblade.java | 5 +- .../src/mage/cards/m/MercenaryInformer.java | 6 +- .../src/mage/cards/m/MercenaryKnight.java | 7 +- .../src/mage/cards/m/MerchantOfSecrets.java | 5 +- Mage.Sets/src/mage/cards/m/MerchantShip.java | 2 +- .../src/mage/cards/m/MerchantsDockhand.java | 3 +- .../src/mage/cards/m/MercilessEternal.java | 5 +- .../mage/cards/m/MercilessExecutioner.java | 5 +- .../src/mage/cards/m/MercilessJavelineer.java | 5 +- .../src/mage/cards/m/MercilessPredator.java | 3 +- .../src/mage/cards/m/MercurialChemister.java | 5 +- .../src/mage/cards/m/MercurialGeists.java | 3 +- Mage.Sets/src/mage/cards/m/MercurialKite.java | 3 +- .../src/mage/cards/m/MercurialPretender.java | 3 +- .../src/mage/cards/m/MerenOfClanNelToth.java | 4 +- .../src/mage/cards/m/MerfolkAssassin.java | 5 +- Mage.Sets/src/mage/cards/m/MerfolkLooter.java | 5 +- .../src/mage/cards/m/MerfolkMesmerist.java | 5 +- .../src/mage/cards/m/MerfolkObserver.java | 5 +- .../src/mage/cards/m/MerfolkOfTheDepths.java | 5 +- .../cards/m/MerfolkOfThePearlTrident.java | 3 +- .../src/mage/cards/m/MerfolkRaiders.java | 5 +- .../src/mage/cards/m/MerfolkSeastalkers.java | 5 +- Mage.Sets/src/mage/cards/m/MerfolkSeer.java | 5 +- .../src/mage/cards/m/MerfolkSkyscout.java | 5 +- .../src/mage/cards/m/MerfolkSovereign.java | 2 +- Mage.Sets/src/mage/cards/m/MerfolkSpy.java | 5 +- .../mage/cards/m/MerfolkThaumaturgist.java | 5 +- .../src/mage/cards/m/MerfolkTraders.java | 3 +- .../src/mage/cards/m/MerfolkWayfinder.java | 4 +- .../src/mage/cards/m/MeriekeRiBerit.java | 2 +- .../src/mage/cards/m/MerrowBonegnawer.java | 5 +- .../src/mage/cards/m/MerrowCommerce.java | 2 +- .../src/mage/cards/m/MerrowGrimeblotter.java | 5 +- .../src/mage/cards/m/MerrowHarbinger.java | 4 +- .../src/mage/cards/m/MerrowLevitator.java | 5 +- .../src/mage/cards/m/MerrowReejerey.java | 4 +- .../src/mage/cards/m/MerrowWavebreakers.java | 5 +- .../src/mage/cards/m/MerrowWitsniper.java | 5 +- .../src/mage/cards/m/MesaEnchantress.java | 5 +- Mage.Sets/src/mage/cards/m/MesaFalcon.java | 3 +- Mage.Sets/src/mage/cards/m/MesmericFiend.java | 5 +- .../src/mage/cards/m/MesmericSliver.java | 2 +- .../src/mage/cards/m/MessengerDrake.java | 3 +- .../src/mage/cards/m/MessengerFalcons.java | 3 +- Mage.Sets/src/mage/cards/m/MessengerJays.java | 3 +- .../src/mage/cards/m/MessengersSpeed.java | 3 +- Mage.Sets/src/mage/cards/m/MetallicMimic.java | 2 +- .../src/mage/cards/m/MetallicSliver.java | 3 +- Mage.Sets/src/mage/cards/m/Metallurgeon.java | 5 +- .../mage/cards/m/MetalspinnersPuzzleknot.java | 154 +++--- .../src/mage/cards/m/MetalworkColossus.java | 239 +++++----- Mage.Sets/src/mage/cards/m/Metalworker.java | 3 +- .../src/mage/cards/m/MetamorphicWurm.java | 5 +- .../src/mage/cards/m/MetathranSoldier.java | 5 +- .../src/mage/cards/m/MetathranTransport.java | 3 +- .../src/mage/cards/m/MetathranZombie.java | 5 +- .../src/mage/cards/m/MetropolisSprite.java | 5 +- Mage.Sets/src/mage/cards/m/MiasmicMummy.java | 5 +- .../mage/cards/m/MichikoKondaTruthSeeker.java | 5 +- .../src/mage/cards/m/MidnightBanshee.java | 3 +- .../src/mage/cards/m/MidnightCovenant.java | 2 +- .../src/mage/cards/m/MidnightDuelist.java | 4 +- .../src/mage/cards/m/MidnightEntourage.java | 172 +++---- Mage.Sets/src/mage/cards/m/MidnightGuard.java | 5 +- .../src/mage/cards/m/MidnightScavengers.java | 5 +- .../src/mage/cards/m/MidvastProtector.java | 5 +- Mage.Sets/src/mage/cards/m/MightSliver.java | 2 +- Mage.Sets/src/mage/cards/m/MightWeaver.java | 5 +- Mage.Sets/src/mage/cards/m/MijaeDjinn.java | 3 +- .../src/mage/cards/m/MikaeusTheLunarch.java | 5 +- .../mage/cards/m/MikaeusTheUnhallowed.java | 4 +- .../src/mage/cards/m/MilitantInquisitor.java | 4 +- Mage.Sets/src/mage/cards/m/MilitantMonk.java | 7 +- Mage.Sets/src/mage/cards/m/MilitiasPride.java | 3 +- .../src/mage/cards/m/MillennialGargoyle.java | 3 +- .../src/mage/cards/m/MillenniumFalcon.java | 151 +++--- Mage.Sets/src/mage/cards/m/Millikin.java | 3 +- .../src/mage/cards/m/MinaAndDennWildborn.java | 5 +- .../src/mage/cards/m/MinamoScrollkeeper.java | 5 +- .../src/mage/cards/m/MinamoSightbender.java | 5 +- Mage.Sets/src/mage/cards/m/MindControl.java | 3 +- Mage.Sets/src/mage/cards/m/MindRaker.java | 5 +- .../src/mage/cards/m/MindclawShaman.java | 5 +- Mage.Sets/src/mage/cards/m/MindeyeDrake.java | 3 +- .../src/mage/cards/m/MindlashSliver.java | 2 +- Mage.Sets/src/mage/cards/m/MindleechMass.java | 3 +- .../src/mage/cards/m/MindlessAutomaton.java | 3 +- Mage.Sets/src/mage/cards/m/MindlessNull.java | 2 +- Mage.Sets/src/mage/cards/m/Mindmelter.java | 5 +- Mage.Sets/src/mage/cards/m/Mindreaver.java | 5 +- .../src/mage/cards/m/MindscourDragon.java | 3 +- Mage.Sets/src/mage/cards/m/Mindshrieker.java | 5 +- Mage.Sets/src/mage/cards/m/Mindslicer.java | 3 +- Mage.Sets/src/mage/cards/m/Mindsparker.java | 3 +- .../src/mage/cards/m/MindstabThrull.java | 3 +- Mage.Sets/src/mage/cards/m/Mindwarper.java | 3 +- .../src/mage/cards/m/MindwhipSliver.java | 2 +- .../src/mage/cards/m/MindwrackDemon.java | 3 +- .../src/mage/cards/m/MindwrackLiege.java | 3 +- Mage.Sets/src/mage/cards/m/MineBearer.java | 5 +- Mage.Sets/src/mage/cards/m/MinersBane.java | 3 +- .../src/mage/cards/m/MinionOfLeshrac.java | 281 +++++------ .../mage/cards/m/MinisterOfImpediments.java | 5 +- .../src/mage/cards/m/MinisterOfInquiries.java | 5 +- .../src/mage/cards/m/MinisterOfPain.java | 5 +- .../src/mage/cards/m/MinotaurAbomination.java | 5 +- .../src/mage/cards/m/MinotaurAggressor.java | 5 +- .../src/mage/cards/m/MinotaurExplorer.java | 5 +- .../src/mage/cards/m/MinotaurIllusionist.java | 5 +- .../mage/cards/m/MinotaurSkullcleaver.java | 5 +- .../src/mage/cards/m/MinotaurSureshot.java | 5 +- .../src/mage/cards/m/MinotaurTactician.java | 3 +- .../src/mage/cards/m/MinotaurWarrior.java | 5 +- Mage.Sets/src/mage/cards/m/MireBlight.java | 3 +- Mage.Sets/src/mage/cards/m/MireBoa.java | 3 +- Mage.Sets/src/mage/cards/m/MireKavu.java | 2 +- .../mage/cards/m/MirkoVoskMindDrinker.java | 3 +- .../src/mage/cards/m/MirranCrusader.java | 5 +- Mage.Sets/src/mage/cards/m/MirranSpy.java | 3 +- .../src/mage/cards/m/MirriCatWarrior.java | 5 +- .../src/mage/cards/m/MirriTheCursed.java | 5 +- .../cards/m/MirriWeatherlightDuelist.java | 5 +- Mage.Sets/src/mage/cards/m/MirrorEntity.java | 3 +- .../src/mage/cards/m/MirrorMadPhantasm.java | 3 +- Mage.Sets/src/mage/cards/m/MirrorMockery.java | 3 +- .../src/mage/cards/m/MirrorSigilSergeant.java | 5 +- .../src/mage/cards/m/MirrorUniverse.java | 146 +++--- Mage.Sets/src/mage/cards/m/MirrorWall.java | 3 +- .../src/mage/cards/m/MirrorwingDragon.java | 3 +- .../mage/cards/m/MischievousPoltergeist.java | 3 +- .../src/mage/cards/m/MischievousQuanar.java | 3 +- .../mage/cards/m/MishraArtificerProdigy.java | 5 +- .../src/mage/cards/m/MishrasFactory.java | 2 +- .../src/mage/cards/m/MisshapenFiend.java | 5 +- Mage.Sets/src/mage/cards/m/MistDragon.java | 3 +- Mage.Sets/src/mage/cards/m/MistIntruder.java | 5 +- Mage.Sets/src/mage/cards/m/MistLeopard.java | 3 +- Mage.Sets/src/mage/cards/m/MistRaven.java | 3 +- .../src/mage/cards/m/MistbindClique.java | 4 +- .../src/mage/cards/m/MistbladeShinobi.java | 5 +- .../src/mage/cards/m/MistcutterHydra.java | 3 +- Mage.Sets/src/mage/cards/m/MistfireAdept.java | 5 +- .../src/mage/cards/m/MistfireWeaver.java | 5 +- .../src/mage/cards/m/MistformMutant.java | 5 +- .../src/mage/cards/m/MistformSliver.java | 4 +- .../src/mage/cards/m/MistformUltimus.java | 3 +- .../src/mage/cards/m/MisthollowGriffin.java | 3 +- Mage.Sets/src/mage/cards/m/MisthoofKirin.java | 3 +- .../src/mage/cards/m/MistmeadowSkulk.java | 5 +- .../src/mage/cards/m/MistmeadowWitch.java | 5 +- .../src/mage/cards/m/MistmoonGriffin.java | 3 +- .../src/mage/cards/m/MistralCharger.java | 3 +- .../src/mage/cards/m/MistveilPlains.java | 3 +- Mage.Sets/src/mage/cards/m/MitoticSlime.java | 3 +- .../src/mage/cards/m/MizziumMeddler.java | 5 +- .../src/mage/cards/m/MizzixOfTheIzmagnus.java | 4 +- .../src/mage/cards/m/MnemonicSliver.java | 3 +- Mage.Sets/src/mage/cards/m/MnemonicWall.java | 3 +- Mage.Sets/src/mage/cards/m/MoaningSpirit.java | 3 +- Mage.Sets/src/mage/cards/m/MoaningWall.java | 5 +- Mage.Sets/src/mage/cards/m/MobileFort.java | 3 +- .../src/mage/cards/m/MobileGarrison.java | 174 +++---- .../src/mage/cards/m/MockeryOfNature.java | 5 +- .../src/mage/cards/m/MoggConscripts.java | 3 +- Mage.Sets/src/mage/cards/m/MoggFanatic.java | 3 +- Mage.Sets/src/mage/cards/m/MoggFlunkies.java | 3 +- Mage.Sets/src/mage/cards/m/MoggJailer.java | 3 +- Mage.Sets/src/mage/cards/m/MoggManiac.java | 3 +- Mage.Sets/src/mage/cards/m/MoggRaider.java | 2 +- Mage.Sets/src/mage/cards/m/MoggSentry.java | 5 +- Mage.Sets/src/mage/cards/m/MoggSquad.java | 3 +- .../src/mage/cards/m/MoggWarMarshal.java | 5 +- Mage.Sets/src/mage/cards/m/Moggcatcher.java | 4 +- .../src/mage/cards/m/MogisGodOfSlaughter.java | 2 +- .../src/mage/cards/m/MogissMarauder.java | 5 +- .../src/mage/cards/m/MogissWarhound.java | 3 +- Mage.Sets/src/mage/cards/m/MoistureFarm.java | 148 +++--- Mage.Sets/src/mage/cards/m/MoldAdder.java | 5 +- Mage.Sets/src/mage/cards/m/MoldDemon.java | 4 +- Mage.Sets/src/mage/cards/m/MoldShambler.java | 5 +- Mage.Sets/src/mage/cards/m/MolderBeast.java | 3 +- Mage.Sets/src/mage/cards/m/MolderSlug.java | 5 +- .../src/mage/cards/m/MoldervineCloak.java | 3 +- .../src/mage/cards/m/MoldgrafMonstrosity.java | 3 +- .../src/mage/cards/m/MoldgrafScavenger.java | 3 +- Mage.Sets/src/mage/cards/m/MoleWorms.java | 3 +- .../src/mage/cards/m/MolimoMaroSorcerer.java | 3 +- Mage.Sets/src/mage/cards/m/MoltenHydra.java | 3 +- .../src/mage/cards/m/MoltenPrimordial.java | 3 +- Mage.Sets/src/mage/cards/m/MoltenRavager.java | 3 +- Mage.Sets/src/mage/cards/m/MoltenSentry.java | 3 +- .../src/mage/cards/m/MoltenTailMasticore.java | 3 +- .../src/mage/cards/m/MoltensteelDragon.java | 3 +- Mage.Sets/src/mage/cards/m/MoltingHarpy.java | 5 +- .../src/mage/cards/m/MoltingSnakeskin.java | 3 +- .../mage/cards/m/MomirVigSimicVisionary.java | 5 +- .../src/mage/cards/m/MonCalamariCruiser.java | 135 +++--- .../src/mage/cards/m/MonCalamariInitiate.java | 137 +++--- .../src/mage/cards/m/MonasteryFlock.java | 3 +- .../src/mage/cards/m/MonasteryLoremaster.java | 5 +- .../src/mage/cards/m/MonasteryMentor.java | 5 +- .../src/mage/cards/m/MonasterySwiftspear.java | 5 +- .../src/mage/cards/m/MondronenShaman.java | 7 +- Mage.Sets/src/mage/cards/m/MongrelPack.java | 5 +- Mage.Sets/src/mage/cards/m/MonkIdealist.java | 7 +- Mage.Sets/src/mage/cards/m/MonkRealist.java | 7 +- .../src/mage/cards/m/MonssGoblinRaiders.java | 3 +- .../src/mage/cards/m/MonstrousCarabid.java | 3 +- Mage.Sets/src/mage/cards/m/MoonHeron.java | 5 +- Mage.Sets/src/mage/cards/m/MoonSprite.java | 3 +- .../src/mage/cards/m/MoonbowIllusionist.java | 5 +- .../src/mage/cards/m/MoongloveChangeling.java | 2 +- .../src/mage/cards/m/MoongloveWinnower.java | 5 +- .../src/mage/cards/m/MoonlightBargain.java | 232 ++++----- .../src/mage/cards/m/MoonlightGeist.java | 3 +- .../src/mage/cards/m/MoonlitStrider.java | 3 +- Mage.Sets/src/mage/cards/m/MoonlitWake.java | 116 ++--- .../src/mage/cards/m/MoonringIsland.java | 3 +- .../src/mage/cards/m/MoonriseIntruder.java | 3 +- .../src/mage/cards/m/MoonscarredWerewolf.java | 3 +- .../src/mage/cards/m/MoonsilverSpear.java | 2 +- .../src/mage/cards/m/MoonveilDragon.java | 2 +- Mage.Sets/src/mage/cards/m/MoonwingMoth.java | 2 +- Mage.Sets/src/mage/cards/m/MoorFiend.java | 3 +- .../src/mage/cards/m/MoorishCavalry.java | 5 +- .../src/mage/cards/m/MoorlandDrifter.java | 3 +- .../src/mage/cards/m/MoorlandInquisitor.java | 5 +- Mage.Sets/src/mage/cards/m/MordantDragon.java | 2 +- Mage.Sets/src/mage/cards/m/MorgueThrull.java | 3 +- Mage.Sets/src/mage/cards/m/MorgueToad.java | 3 +- Mage.Sets/src/mage/cards/m/Morinfen.java | 3 +- Mage.Sets/src/mage/cards/m/MoriokReaver.java | 5 +- Mage.Sets/src/mage/cards/m/MoriokReplica.java | 3 +- Mage.Sets/src/mage/cards/m/MoriokRigger.java | 7 +- .../src/mage/cards/m/MoriokScavenger.java | 5 +- .../src/mage/cards/m/MorkrutBanshee.java | 3 +- .../src/mage/cards/m/MorkrutNecropod.java | 5 +- Mage.Sets/src/mage/cards/m/Moroii.java | 3 +- Mage.Sets/src/mage/cards/m/Morphling.java | 2 +- Mage.Sets/src/mage/cards/m/MorselTheft.java | 3 +- Mage.Sets/src/mage/cards/m/Morselhoarder.java | 3 +- .../src/mage/cards/m/MortalObstinacy.java | 3 +- Mage.Sets/src/mage/cards/m/MortalWound.java | 3 +- Mage.Sets/src/mage/cards/m/Mortarpod.java | 3 +- .../src/mage/cards/m/MorticianBeetle.java | 3 +- Mage.Sets/src/mage/cards/m/Mortipede.java | 3 +- Mage.Sets/src/mage/cards/m/MortisDogs.java | 3 +- Mage.Sets/src/mage/cards/m/Mortivore.java | 3 +- Mage.Sets/src/mage/cards/m/MortusStrider.java | 3 +- Mage.Sets/src/mage/cards/m/MosquitoGuard.java | 5 +- Mage.Sets/src/mage/cards/m/MossKami.java | 3 +- Mage.Sets/src/mage/cards/m/MossMonster.java | 3 +- .../src/mage/cards/m/MossbridgeTroll.java | 3 +- Mage.Sets/src/mage/cards/m/Mosstodon.java | 5 +- .../src/mage/cards/m/MothdustChangeling.java | 3 +- Mage.Sets/src/mage/cards/m/MotherOfRunes.java | 5 +- .../src/mage/cards/m/MothriderSamurai.java | 5 +- .../src/mage/cards/m/MountainBandit.java | 7 +- Mage.Sets/src/mage/cards/m/MountainGoat.java | 3 +- Mage.Sets/src/mage/cards/m/MountainYeti.java | 3 +- .../src/mage/cards/m/MountedArchers.java | 7 +- .../src/mage/cards/m/MournfulZombie.java | 3 +- Mage.Sets/src/mage/cards/m/Mourning.java | 2 +- .../src/mage/cards/m/MourningThrull.java | 3 +- Mage.Sets/src/mage/cards/m/Mournwhelk.java | 3 +- Mage.Sets/src/mage/cards/m/Mournwillow.java | 5 +- Mage.Sets/src/mage/cards/m/MtendaGriffin.java | 2 +- Mage.Sets/src/mage/cards/m/MtendaHerder.java | 5 +- Mage.Sets/src/mage/cards/m/MuckRats.java | 3 +- .../src/mage/cards/m/MudbrawlerCohort.java | 5 +- .../src/mage/cards/m/MudbrawlerRaiders.java | 5 +- .../src/mage/cards/m/MudbuttonClanger.java | 5 +- .../mage/cards/m/MudbuttonTorchrunner.java | 5 +- .../src/mage/cards/m/MulDayaChannelers.java | 7 +- Mage.Sets/src/mage/cards/m/Mulldrifter.java | 3 +- .../src/mage/cards/m/MultaniMaroSorcerer.java | 3 +- .../src/mage/cards/m/MultanisAcolyte.java | 3 +- .../src/mage/cards/m/MultanisHarmony.java | 3 +- .../src/mage/cards/m/MultiformWonder.java | 2 +- .../src/mage/cards/m/MummyParamount.java | 148 +++--- .../src/mage/cards/m/MundaAmbushLeader.java | 4 +- .../src/mage/cards/m/MundasVanguard.java | 6 +- Mage.Sets/src/mage/cards/m/Mundungu.java | 5 +- Mage.Sets/src/mage/cards/m/MunghaWurm.java | 3 +- .../src/mage/cards/m/MurasaPyromancer.java | 6 +- Mage.Sets/src/mage/cards/m/MurasaRanger.java | 5 +- .../src/mage/cards/m/MurderInvestigation.java | 3 +- Mage.Sets/src/mage/cards/m/MurderOfCrows.java | 3 +- Mage.Sets/src/mage/cards/m/MurderersAxe.java | 3 +- .../src/mage/cards/m/MurderousRedcap.java | 5 +- Mage.Sets/src/mage/cards/m/MurkDwellers.java | 3 +- Mage.Sets/src/mage/cards/m/MurkStrider.java | 5 +- .../src/mage/cards/m/MurkfiendLiege.java | 3 +- Mage.Sets/src/mage/cards/m/MurmuringBosk.java | 2 +- .../src/mage/cards/m/MurmuringPhantasm.java | 3 +- Mage.Sets/src/mage/cards/m/MuscleSliver.java | 2 +- .../cards/m/MuzzioVisionaryArchitect.java | 5 +- Mage.Sets/src/mage/cards/m/Muzzle.java | 3 +- .../mage/cards/m/MwonvuliBeastTracker.java | 5 +- Mage.Sets/src/mage/cards/m/MwonvuliOoze.java | 3 +- .../src/mage/cards/m/MycoidShepherd.java | 3 +- Mage.Sets/src/mage/cards/m/Mycologist.java | 4 +- Mage.Sets/src/mage/cards/m/Mycoloth.java | 3 +- .../src/mage/cards/m/MycosynthFiend.java | 3 +- .../src/mage/cards/m/MycosynthGolem.java | 3 +- .../mage/cards/m/MyojinOfCleansingFire.java | 3 +- .../mage/cards/m/MyojinOfInfiniteRage.java | 3 +- .../src/mage/cards/m/MyojinOfLifesWeb.java | 2 +- .../src/mage/cards/m/MyojinOfNightsReach.java | 2 +- .../src/mage/cards/m/MyojinOfSeeingWinds.java | 2 +- Mage.Sets/src/mage/cards/m/MyrAdapter.java | 3 +- .../src/mage/cards/m/MyrBattlesphere.java | 4 +- Mage.Sets/src/mage/cards/m/MyrEnforcer.java | 3 +- Mage.Sets/src/mage/cards/m/MyrGalvanizer.java | 2 +- Mage.Sets/src/mage/cards/m/MyrIncubator.java | 236 +++++----- Mage.Sets/src/mage/cards/m/MyrLandshaper.java | 3 +- .../src/mage/cards/m/MyrMindservant.java | 3 +- Mage.Sets/src/mage/cards/m/MyrMoonvessel.java | 3 +- Mage.Sets/src/mage/cards/m/MyrPropagator.java | 3 +- Mage.Sets/src/mage/cards/m/MyrQuadropod.java | 3 +- Mage.Sets/src/mage/cards/m/MyrRetriever.java | 3 +- Mage.Sets/src/mage/cards/m/MyrServitor.java | 3 +- Mage.Sets/src/mage/cards/m/MyrSire.java | 3 +- Mage.Sets/src/mage/cards/m/MyrSuperion.java | 3 +- Mage.Sets/src/mage/cards/m/MyrWelder.java | 3 +- Mage.Sets/src/mage/cards/m/Myrsmith.java | 5 +- .../src/mage/cards/m/MysticCrusader.java | 7 +- .../src/mage/cards/m/MysticEnforcer.java | 7 +- .../src/mage/cards/m/MysticFamiliar.java | 3 +- Mage.Sets/src/mage/cards/m/MysticMight.java | 3 +- .../mage/cards/m/MysticOfTheHiddenWay.java | 5 +- .../src/mage/cards/m/MysticPenitent.java | 7 +- .../src/mage/cards/m/MysticRestraints.java | 3 +- Mage.Sets/src/mage/cards/m/MysticSnake.java | 3 +- Mage.Sets/src/mage/cards/m/MysticVeil.java | 3 +- .../src/mage/cards/m/MysticVisionary.java | 7 +- Mage.Sets/src/mage/cards/m/MysticZealot.java | 7 +- Mage.Sets/src/mage/cards/m/MythRealized.java | 5 +- .../src/mage/cards/m/MythicProportions.java | 3 +- Mage.Sets/src/mage/cards/n/N1Starfighter.java | 171 +++---- .../src/mage/cards/n/NacatlHuntPride.java | 5 +- .../src/mage/cards/n/NacatlOutlander.java | 5 +- Mage.Sets/src/mage/cards/n/NacatlSavage.java | 5 +- .../src/mage/cards/n/NacatlWarPride.java | 5 +- Mage.Sets/src/mage/cards/n/NafsAsp.java | 3 +- Mage.Sets/src/mage/cards/n/NagaOracle.java | 5 +- Mage.Sets/src/mage/cards/n/NagaVitalist.java | 5 +- .../src/mage/cards/n/NagaoBoundByHonor.java | 4 +- .../src/mage/cards/n/NahiriTheHarbinger.java | 3 +- .../mage/cards/n/NahiriTheLithomancer.java | 2 +- Mage.Sets/src/mage/cards/n/NakayaShade.java | 3 +- .../src/mage/cards/n/NamelessInversion.java | 3 +- Mage.Sets/src/mage/cards/n/NamelessOne.java | 4 +- .../src/mage/cards/n/NantukoBlightcutter.java | 5 +- Mage.Sets/src/mage/cards/n/NantukoCalmer.java | 5 +- .../src/mage/cards/n/NantukoCultivator.java | 5 +- .../src/mage/cards/n/NantukoDisciple.java | 5 +- Mage.Sets/src/mage/cards/n/NantukoElder.java | 5 +- Mage.Sets/src/mage/cards/n/NantukoHusk.java | 5 +- Mage.Sets/src/mage/cards/n/NantukoMentor.java | 5 +- .../src/mage/cards/n/NantukoMonastery.java | 5 +- Mage.Sets/src/mage/cards/n/NantukoShade.java | 5 +- Mage.Sets/src/mage/cards/n/NantukoShaman.java | 5 +- Mage.Sets/src/mage/cards/n/NantukoTracer.java | 5 +- .../src/mage/cards/n/NantukoVigilante.java | 7 +- Mage.Sets/src/mage/cards/n/Narcolepsy.java | 3 +- Mage.Sets/src/mage/cards/n/Narcomoeba.java | 3 +- Mage.Sets/src/mage/cards/n/NarnamCobra.java | 3 +- .../src/mage/cards/n/NarnamRenegade.java | 5 +- .../mage/cards/n/NarsetEnlightenedMaster.java | 4 +- .../src/mage/cards/n/NarsetTranscendent.java | 3 +- .../src/mage/cards/n/NarstadScrapper.java | 3 +- Mage.Sets/src/mage/cards/n/Narwhal.java | 3 +- .../src/mage/cards/n/NathOfTheGiltLeaf.java | 5 +- Mage.Sets/src/mage/cards/n/NathsBuffoon.java | 4 +- Mage.Sets/src/mage/cards/n/NathsElite.java | 5 +- .../src/mage/cards/n/NaturalBalance.java | 276 +++++------ Mage.Sets/src/mage/cards/n/NaturesKiss.java | 3 +- .../src/mage/cards/n/NavSquadCommandos.java | 5 +- .../src/mage/cards/n/NayaBattlemage.java | 5 +- Mage.Sets/src/mage/cards/n/NayaHushblade.java | 5 +- .../src/mage/cards/n/NayaSojourners.java | 5 +- Mage.Sets/src/mage/cards/n/NayaSoulbeast.java | 3 +- .../mage/cards/n/NazahnReveredBladesmith.java | 4 +- .../src/mage/cards/n/NearheathChaplain.java | 5 +- .../src/mage/cards/n/NearheathPilgrim.java | 5 +- .../src/mage/cards/n/NearheathStalker.java | 5 +- .../src/mage/cards/n/NebelgastHerald.java | 2 +- .../src/mage/cards/n/NebulonBFrigate.java | 155 +++--- Mage.Sets/src/mage/cards/n/NeckBreaker.java | 3 +- Mage.Sets/src/mage/cards/n/NecraDisciple.java | 4 +- Mage.Sets/src/mage/cards/n/Necratog.java | 3 +- Mage.Sets/src/mage/cards/n/Necravolver.java | 3 +- Mage.Sets/src/mage/cards/n/Necrite.java | 3 +- .../src/mage/cards/n/NecrogenScudder.java | 3 +- .../mage/cards/n/NecromancersAssistant.java | 3 +- .../mage/cards/n/NecromancersMagemark.java | 3 +- .../src/mage/cards/n/NecromanticThirst.java | 3 +- .../src/mage/cards/n/NecromasterDragon.java | 3 +- Mage.Sets/src/mage/cards/n/Necropede.java | 3 +- Mage.Sets/src/mage/cards/n/Necroplasm.java | 3 +- .../src/mage/cards/n/NecropolisFiend.java | 3 +- .../src/mage/cards/n/NecropolisRegent.java | 3 +- Mage.Sets/src/mage/cards/n/Necropouncer.java | 3 +- Mage.Sets/src/mage/cards/n/Necrosavant.java | 5 +- Mage.Sets/src/mage/cards/n/Necroskitter.java | 3 +- Mage.Sets/src/mage/cards/n/NecroticOoze.java | 2 +- .../src/mage/cards/n/NecroticPlague.java | 3 +- .../src/mage/cards/n/NecroticSliver.java | 3 +- Mage.Sets/src/mage/cards/n/NectarFaerie.java | 4 +- Mage.Sets/src/mage/cards/n/NeedleSpecter.java | 3 +- Mage.Sets/src/mage/cards/n/NeedleSpires.java | 3 +- Mage.Sets/src/mage/cards/n/Needlebug.java | 3 +- .../src/mage/cards/n/NeedlepeakSpider.java | 3 +- .../src/mage/cards/n/NeedleshotGourna.java | 3 +- .../src/mage/cards/n/NefCropEntangler.java | 5 +- .../mage/cards/n/NefaroxOverlordOfGrixis.java | 3 +- Mage.Sets/src/mage/cards/n/Nefashu.java | 5 +- .../src/mage/cards/n/NeglectedHeirloom.java | 3 +- .../src/mage/cards/n/NehebTheEternal.java | 7 +- .../src/mage/cards/n/NehebTheWorthy.java | 4 +- Mage.Sets/src/mage/cards/n/NekoTe.java | 3 +- Mage.Sets/src/mage/cards/n/Nekrataal.java | 5 +- .../src/mage/cards/n/NekusarTheMindrazer.java | 5 +- .../src/mage/cards/n/NemaSiltlurker.java | 3 +- .../src/mage/cards/n/NemataGroveGuardian.java | 2 +- Mage.Sets/src/mage/cards/n/NemesisMask.java | 3 +- .../src/mage/cards/n/NemesisOfMortals.java | 3 +- .../src/mage/cards/n/NemesisOfReason.java | 5 +- .../src/mage/cards/n/NeophyteHateflayer.java | 139 +++--- .../src/mage/cards/n/NephaliaMoondrakes.java | 3 +- .../src/mage/cards/n/NephaliaSeakite.java | 3 +- .../src/mage/cards/n/NephaliaSmuggler.java | 5 +- Mage.Sets/src/mage/cards/n/NerfHerder.java | 161 +++---- Mage.Sets/src/mage/cards/n/NessianAsp.java | 3 +- .../src/mage/cards/n/NessianCourser.java | 5 +- .../src/mage/cards/n/NessianDemolok.java | 3 +- .../src/mage/cards/n/NessianGameWarden.java | 2 +- .../src/mage/cards/n/NessianWildsRavager.java | 3 +- Mage.Sets/src/mage/cards/n/NestInvader.java | 5 +- Mage.Sets/src/mage/cards/n/NestOfScarabs.java | 218 ++++----- Mage.Sets/src/mage/cards/n/NestedGhoul.java | 5 +- .../src/mage/cards/n/NetcasterSpider.java | 3 +- Mage.Sets/src/mage/cards/n/NetherHorror.java | 3 +- Mage.Sets/src/mage/cards/n/NetherShadow.java | 3 +- Mage.Sets/src/mage/cards/n/NetherSpirit.java | 3 +- Mage.Sets/src/mage/cards/n/NetherTraitor.java | 3 +- .../src/mage/cards/n/NetherbornPhalanx.java | 3 +- Mage.Sets/src/mage/cards/n/NetterEnDal.java | 5 +- Mage.Sets/src/mage/cards/n/NettleDrone.java | 5 +- .../src/mage/cards/n/NettleSentinel.java | 5 +- Mage.Sets/src/mage/cards/n/NettleSwine.java | 3 +- .../src/mage/cards/n/NettletoothDjinn.java | 3 +- .../src/mage/cards/n/NettlevineBlight.java | 3 +- Mage.Sets/src/mage/cards/n/NettlingImp.java | 2 +- .../src/mage/cards/n/NeurokCommando.java | 5 +- .../src/mage/cards/n/NeurokFamiliar.java | 3 +- .../src/mage/cards/n/NeurokHoversail.java | 2 +- .../src/mage/cards/n/NeurokInvisimancer.java | 5 +- Mage.Sets/src/mage/cards/n/NeurokProdigy.java | 5 +- Mage.Sets/src/mage/cards/n/NeurokReplica.java | 3 +- Mage.Sets/src/mage/cards/n/NeurokSpy.java | 5 +- .../src/mage/cards/n/NeurokStealthsuit.java | 3 +- Mage.Sets/src/mage/cards/n/Nevermaker.java | 3 +- .../src/mage/cards/n/NewPerspectives.java | 226 ++++----- .../src/mage/cards/n/NewPrahvGuildmage.java | 5 +- Mage.Sets/src/mage/cards/n/NexuStalker.java | 3 +- .../src/mage/cards/n/NezumiBoneReader.java | 5 +- .../src/mage/cards/n/NezumiCutthroat.java | 5 +- .../src/mage/cards/n/NezumiGraverobber.java | 9 +- Mage.Sets/src/mage/cards/n/NezumiRonin.java | 5 +- .../src/mage/cards/n/NezumiShadowWatcher.java | 4 +- .../src/mage/cards/n/NezumiShortfang.java | 8 +- Mage.Sets/src/mage/cards/n/NiallSilvain.java | 3 +- Mage.Sets/src/mage/cards/n/NiblisOfDusk.java | 3 +- Mage.Sets/src/mage/cards/n/NiblisOfFrost.java | 3 +- .../src/mage/cards/n/NiblisOfTheBreath.java | 3 +- .../src/mage/cards/n/NiblisOfTheMist.java | 3 +- .../src/mage/cards/n/NiblisOfTheUrn.java | 3 +- Mage.Sets/src/mage/cards/n/NicolBolas.java | 5 +- .../mage/cards/n/NicolBolasGodPharaoh.java | 2 +- .../mage/cards/n/NicolBolasPlaneswalker.java | 3 +- .../mage/cards/n/NicolBolasTheDeceiver.java | 3 +- .../src/mage/cards/n/NightMarketAeronaut.java | 5 +- .../src/mage/cards/n/NightMarketGuard.java | 3 +- .../src/mage/cards/n/NightMarketLookout.java | 5 +- Mage.Sets/src/mage/cards/n/NightRevelers.java | 2 +- .../src/mage/cards/n/NightfallPredator.java | 3 +- .../src/mage/cards/n/NightfireGiant.java | 4 +- .../src/mage/cards/n/NightguardPatrol.java | 5 +- Mage.Sets/src/mage/cards/n/Nighthowler.java | 3 +- Mage.Sets/src/mage/cards/n/Nightmare.java | 4 +- Mage.Sets/src/mage/cards/n/NightmareLash.java | 2 +- .../mage/cards/n/NightscapeApprentice.java | 5 +- .../mage/cards/n/NightscapeBattlemage.java | 5 +- .../src/mage/cards/n/NightscapeFamiliar.java | 3 +- .../src/mage/cards/n/NightscapeMaster.java | 5 +- .../src/mage/cards/n/NightshadeAssassin.java | 5 +- .../src/mage/cards/n/NightshadePeddler.java | 5 +- .../src/mage/cards/n/NightshadeSchemers.java | 5 +- .../src/mage/cards/n/NightshadeStinger.java | 5 +- Mage.Sets/src/mage/cards/n/NightskyMimic.java | 3 +- Mage.Sets/src/mage/cards/n/NightsoilKami.java | 3 +- Mage.Sets/src/mage/cards/n/Nightspider.java | 123 ++--- .../src/mage/cards/n/NightstalkerEngine.java | 3 +- .../src/mage/cards/n/NightveilSpecter.java | 3 +- .../src/mage/cards/n/NightwindGlider.java | 5 +- .../src/mage/cards/n/NightwingShade.java | 3 +- Mage.Sets/src/mage/cards/n/Nihilith.java | 3 +- Mage.Sets/src/mage/cards/n/NikkoOnna.java | 3 +- .../src/mage/cards/n/NimAbomination.java | 3 +- Mage.Sets/src/mage/cards/n/NimDevourer.java | 3 +- Mage.Sets/src/mage/cards/n/NimGrotesque.java | 3 +- Mage.Sets/src/mage/cards/n/NimLasher.java | 3 +- Mage.Sets/src/mage/cards/n/NimReplica.java | 3 +- Mage.Sets/src/mage/cards/n/NimShambler.java | 3 +- Mage.Sets/src/mage/cards/n/NimShrieker.java | 3 +- .../src/mage/cards/n/NimanaSellSword.java | 7 +- .../src/mage/cards/n/NimbleBladeKhenra.java | 5 +- .../src/mage/cards/n/NimbleInnovator.java | 5 +- .../src/mage/cards/n/NimbleMongoose.java | 3 +- .../mage/cards/n/NimbleObstructionist.java | 179 +++---- Mage.Sets/src/mage/cards/n/NimbusNaiad.java | 3 +- .../src/mage/cards/n/NimbusOfTheIsles.java | 3 +- Mage.Sets/src/mage/cards/n/NimbusSwimmer.java | 3 +- Mage.Sets/src/mage/cards/n/NimbusWings.java | 3 +- .../src/mage/cards/n/NinThePainArtist.java | 5 +- .../src/mage/cards/n/NinjaOfTheDeepHours.java | 5 +- .../src/mage/cards/n/NinthBridgePatrol.java | 5 +- Mage.Sets/src/mage/cards/n/NipGwyllion.java | 3 +- .../src/mage/cards/n/NirkanaAssassin.java | 7 +- .../src/mage/cards/n/NirkanaCutthroat.java | 5 +- .../src/mage/cards/n/NirkanaRevenant.java | 4 +- .../src/mage/cards/n/NissaGenesisMage.java | 3 +- .../src/mage/cards/n/NissaNaturesArtisan.java | 3 +- Mage.Sets/src/mage/cards/n/NissaRevane.java | 2 +- .../src/mage/cards/n/NissaSageAnimist.java | 2 +- .../mage/cards/n/NissaStewardOfElements.java | 4 +- .../src/mage/cards/n/NissaVastwoodSeer.java | 4 +- .../src/mage/cards/n/NissaVitalForce.java | 5 +- .../mage/cards/n/NissaVoiceOfZendikar.java | 3 +- .../src/mage/cards/n/NissaWorldwaker.java | 4 +- Mage.Sets/src/mage/cards/n/NissasChosen.java | 5 +- .../mage/cards/n/NivMizzetDracogenius.java | 5 +- .../mage/cards/n/NivMizzetTheFiremind.java | 5 +- Mage.Sets/src/mage/cards/n/NivixBarrier.java | 5 +- Mage.Sets/src/mage/cards/n/NivixCyclops.java | 3 +- .../src/mage/cards/n/NivixGuildmage.java | 5 +- .../src/mage/cards/n/NivmagusElemental.java | 3 +- Mage.Sets/src/mage/cards/n/Nix.java | 170 +++---- Mage.Sets/src/mage/cards/n/NoDachi.java | 2 +- Mage.Sets/src/mage/cards/n/NobilisOfWar.java | 5 +- .../src/mage/cards/n/NobleBenefactor.java | 5 +- Mage.Sets/src/mage/cards/n/NobleHierarch.java | 5 +- Mage.Sets/src/mage/cards/n/NoblePanther.java | 3 +- Mage.Sets/src/mage/cards/n/NobleQuarry.java | 3 +- Mage.Sets/src/mage/cards/n/NobleTemplar.java | 7 +- Mage.Sets/src/mage/cards/n/NobleVestige.java | 3 +- Mage.Sets/src/mage/cards/n/NoeticScales.java | 202 ++++---- Mage.Sets/src/mage/cards/n/NogginWhack.java | 3 +- Mage.Sets/src/mage/cards/n/NoggleBandit.java | 5 +- .../src/mage/cards/n/NoggleBridgebreaker.java | 5 +- .../src/mage/cards/n/NoggleHedgeMage.java | 4 +- .../src/mage/cards/n/NoggleRansacker.java | 5 +- Mage.Sets/src/mage/cards/n/NomadDecoy.java | 5 +- .../src/mage/cards/n/NomadMythmaker.java | 6 +- Mage.Sets/src/mage/cards/n/NomadicElf.java | 5 +- Mage.Sets/src/mage/cards/n/NomadsEnKor.java | 7 +- .../src/mage/cards/n/NooseConstrictor.java | 3 +- Mage.Sets/src/mage/cards/n/NoosegrafMob.java | 3 +- Mage.Sets/src/mage/cards/n/NorinTheWary.java | 5 +- .../src/mage/cards/n/NorthernPaladin.java | 5 +- .../src/mage/cards/n/NorwoodArchers.java | 5 +- .../src/mage/cards/n/NorwoodPriestess.java | 5 +- Mage.Sets/src/mage/cards/n/NorwoodRanger.java | 5 +- Mage.Sets/src/mage/cards/n/NorwoodRiders.java | 3 +- .../src/mage/cards/n/NorwoodWarrior.java | 5 +- Mage.Sets/src/mage/cards/n/NosyGoblin.java | 3 +- .../src/mage/cards/n/NotOfThisWorld.java | 3 +- Mage.Sets/src/mage/cards/n/NotionThief.java | 5 +- .../src/mage/cards/n/NotoriousAssassin.java | 7 +- .../src/mage/cards/n/NotoriousThrong.java | 3 +- Mage.Sets/src/mage/cards/n/NovaChaser.java | 4 +- Mage.Sets/src/mage/cards/n/NovaCleric.java | 145 +++--- Mage.Sets/src/mage/cards/n/NovablastWurm.java | 3 +- .../src/mage/cards/n/NoviceBountyHunter.java | 135 +++--- Mage.Sets/src/mage/cards/n/NovijenSages.java | 7 +- Mage.Sets/src/mage/cards/n/NoxiousDragon.java | 3 +- Mage.Sets/src/mage/cards/n/NoxiousField.java | 3 +- .../src/mage/cards/n/NoxiousGearhulk.java | 3 +- Mage.Sets/src/mage/cards/n/NoxiousGhoul.java | 2 +- .../src/mage/cards/n/NoxiousHatchling.java | 3 +- Mage.Sets/src/mage/cards/n/NoxiousToad.java | 3 +- .../src/mage/cards/n/NoyanDarRoilShaper.java | 7 +- Mage.Sets/src/mage/cards/n/Nucklavee.java | 3 +- Mage.Sets/src/mage/cards/n/NullCaller.java | 5 +- Mage.Sets/src/mage/cards/n/NullChampion.java | 5 +- .../src/mage/cards/n/NullmageAdvocate.java | 5 +- .../src/mage/cards/n/NullmageShepherd.java | 5 +- .../src/mage/cards/n/NullstoneGargoyle.java | 223 ++++----- .../src/mage/cards/n/NulltreadGargantuan.java | 3 +- Mage.Sets/src/mage/cards/n/NumaiOutcast.java | 5 +- Mage.Sets/src/mage/cards/n/NumbingDose.java | 3 +- .../src/mage/cards/n/NumotTheDevastator.java | 3 +- .../src/mage/cards/n/NurturerInitiate.java | 5 +- .../src/mage/cards/n/NurturingLicid.java | 3 +- Mage.Sets/src/mage/cards/n/NutCollector.java | 4 +- Mage.Sets/src/mage/cards/n/NuteGunray.java | 5 +- .../src/mage/cards/n/NyleaGodOfTheHunt.java | 2 +- .../src/mage/cards/n/NyleasDisciple.java | 5 +- .../src/mage/cards/n/NyleasEmissary.java | 3 +- .../src/mage/cards/n/NyleasPresence.java | 2 +- Mage.Sets/src/mage/cards/n/NyxFleeceRam.java | 3 +- Mage.Sets/src/mage/cards/n/NyxInfusion.java | 3 +- Mage.Sets/src/mage/cards/n/NyxWeaver.java | 3 +- Mage.Sets/src/mage/cards/n/Nyxathid.java | 3 +- .../src/mage/cards/n/NyxbornEidolon.java | 3 +- .../src/mage/cards/n/NyxbornRollicker.java | 3 +- .../src/mage/cards/n/NyxbornShieldmate.java | 5 +- Mage.Sets/src/mage/cards/n/NyxbornTriton.java | 3 +- Mage.Sets/src/mage/cards/n/NyxbornWolf.java | 3 +- .../mage/cards/o/OKagachiVengefulKami.java | 5 +- Mage.Sets/src/mage/cards/o/ONaginata.java | 3 +- .../src/mage/cards/o/OakStreetInnkeeper.java | 3 +- Mage.Sets/src/mage/cards/o/OakenBrawler.java | 5 +- Mage.Sets/src/mage/cards/o/Oakenform.java | 3 +- .../src/mage/cards/o/OakgnarlWarrior.java | 5 +- .../src/mage/cards/o/OakheartDryads.java | 5 +- .../src/mage/cards/o/OashraCultivator.java | 5 +- .../src/mage/cards/o/OasisRitualist.java | 151 +++--- .../src/mage/cards/o/OathOfScholars.java | 296 ++++++------ .../mage/cards/o/OathkeeperTakenosDaisho.java | 2 +- .../src/mage/cards/o/OathswornGiant.java | 5 +- .../mage/cards/o/ObNixilisOfTheBlackOath.java | 3 +- .../src/mage/cards/o/ObNixilisReignited.java | 3 +- .../src/mage/cards/o/ObNixilisTheFallen.java | 3 +- .../src/mage/cards/o/ObNixilisUnshackled.java | 3 +- Mage.Sets/src/mage/cards/o/ObeliskSpider.java | 3 +- Mage.Sets/src/mage/cards/o/ObiWanKenobi.java | 3 +- Mage.Sets/src/mage/cards/o/OblivionCrown.java | 3 +- Mage.Sets/src/mage/cards/o/OblivionSower.java | 3 +- .../src/mage/cards/o/OboroBreezecaller.java | 5 +- Mage.Sets/src/mage/cards/o/OboroEnvoy.java | 5 +- .../src/mage/cards/o/ObservantAlseid.java | 3 +- .../src/mage/cards/o/ObsessiveSkinner.java | 5 +- Mage.Sets/src/mage/cards/o/ObsianusGolem.java | 3 +- .../src/mage/cards/o/ObsidianAcolyte.java | 5 +- .../src/mage/cards/o/ObsidianBattleAxe.java | 4 +- .../src/mage/cards/o/ObsidianFireheart.java | 3 +- Mage.Sets/src/mage/cards/o/ObsidianGiant.java | 3 +- .../src/mage/cards/o/ObstinateBaloth.java | 3 +- .../src/mage/cards/o/ObstinateFamiliar.java | 3 +- .../src/mage/cards/o/ObzedatGhostCouncil.java | 4 +- Mage.Sets/src/mage/cards/o/OcularHalo.java | 3 +- Mage.Sets/src/mage/cards/o/Oculus.java | 3 +- Mage.Sets/src/mage/cards/o/OdiousTrow.java | 3 +- .../src/mage/cards/o/OdricLunarchMarshal.java | 4 +- .../mage/cards/o/OdricMasterTactician.java | 4 +- .../src/mage/cards/o/OdunosRiverTrawler.java | 3 +- Mage.Sets/src/mage/cards/o/OdylicWraith.java | 3 +- Mage.Sets/src/mage/cards/o/Offalsnout.java | 3 +- Mage.Sets/src/mage/cards/o/OgreArsonist.java | 3 +- .../src/mage/cards/o/OgreBattledriver.java | 5 +- Mage.Sets/src/mage/cards/o/OgreBerserker.java | 5 +- .../src/mage/cards/o/OgreGatecrasher.java | 5 +- .../src/mage/cards/o/OgreGeargrabber.java | 4 +- .../src/mage/cards/o/OgreJailbreaker.java | 4 +- Mage.Sets/src/mage/cards/o/OgreLeadfoot.java | 129 ++--- Mage.Sets/src/mage/cards/o/OgreMarauder.java | 5 +- Mage.Sets/src/mage/cards/o/OgreMenial.java | 3 +- Mage.Sets/src/mage/cards/o/OgreRecluse.java | 5 +- Mage.Sets/src/mage/cards/o/OgreResister.java | 3 +- Mage.Sets/src/mage/cards/o/OgreSavant.java | 5 +- Mage.Sets/src/mage/cards/o/OgreSentry.java | 5 +- Mage.Sets/src/mage/cards/o/OgreShaman.java | 5 +- Mage.Sets/src/mage/cards/o/OgreSlumlord.java | 4 +- .../src/mage/cards/o/OgreTaskmaster.java | 3 +- Mage.Sets/src/mage/cards/o/OgreWarrior.java | 5 +- Mage.Sets/src/mage/cards/o/OgresCleaver.java | 3 +- Mage.Sets/src/mage/cards/o/OhranViper.java | 3 +- Mage.Sets/src/mage/cards/o/OhranYeti.java | 3 +- .../src/mage/cards/o/OjutaiExemplars.java | 5 +- .../src/mage/cards/o/OjutaiInterceptor.java | 5 +- .../src/mage/cards/o/OjutaiMonument.java | 3 +- .../src/mage/cards/o/OjutaiSoulOfWinter.java | 2 +- Mage.Sets/src/mage/cards/o/OketraTheTrue.java | 3 +- .../src/mage/cards/o/OketrasAttendant.java | 5 +- .../src/mage/cards/o/OketrasAvenger.java | 5 +- .../src/mage/cards/o/OketrasLastMercy.java | 192 ++++---- .../src/mage/cards/o/OkibaGangShinobi.java | 5 +- .../src/mage/cards/o/OkinaNightwatch.java | 5 +- Mage.Sets/src/mage/cards/o/Okk.java | 3 +- Mage.Sets/src/mage/cards/o/OldGhastbark.java | 5 +- .../src/mage/cards/o/OldGrowthDryads.java | 3 +- .../src/mage/cards/o/OldManOfTheSea.java | 3 +- .../mage/cards/o/OliviaMobilizedForWar.java | 4 +- .../src/mage/cards/o/OliviaVoldaren.java | 2 +- .../src/mage/cards/o/OliviasBloodsworn.java | 4 +- .../src/mage/cards/o/OliviasDragoon.java | 5 +- .../src/mage/cards/o/OloroAgelessAscetic.java | 5 +- Mage.Sets/src/mage/cards/o/OmegaMyr.java | 3 +- Mage.Sets/src/mage/cards/o/Omenspeaker.java | 5 +- Mage.Sets/src/mage/cards/o/OminousSphinx.java | 3 +- .../src/mage/cards/o/OmnathLocusOfMana.java | 2 +- .../src/mage/cards/o/OmnathLocusOfRage.java | 2 +- Mage.Sets/src/mage/cards/o/Omnibian.java | 5 +- Mage.Sets/src/mage/cards/o/OnduChampion.java | 7 +- Mage.Sets/src/mage/cards/o/OnduCleric.java | 6 +- Mage.Sets/src/mage/cards/o/OnduGiant.java | 5 +- Mage.Sets/src/mage/cards/o/OnduGreathorn.java | 3 +- Mage.Sets/src/mage/cards/o/OnduWarCleric.java | 6 +- .../src/mage/cards/o/OneEyedScarecrow.java | 3 +- Mage.Sets/src/mage/cards/o/OneOfThePack.java | 3 +- .../src/mage/cards/o/OneThousandLashes.java | 3 +- Mage.Sets/src/mage/cards/o/OneWithNature.java | 3 +- .../src/mage/cards/o/OniOfWildPlaces.java | 5 +- Mage.Sets/src/mage/cards/o/Onulet.java | 3 +- Mage.Sets/src/mage/cards/o/OnyxMage.java | 5 +- .../src/mage/cards/o/OonaQueenOfTheFae.java | 5 +- .../src/mage/cards/o/OonasBlackguard.java | 4 +- .../src/mage/cards/o/OonasGatewarden.java | 5 +- Mage.Sets/src/mage/cards/o/OonasProwler.java | 5 +- Mage.Sets/src/mage/cards/o/OpalArchangel.java | 3 +- Mage.Sets/src/mage/cards/o/OpalCaryatid.java | 3 +- Mage.Sets/src/mage/cards/o/OpalChampion.java | 3 +- .../mage/cards/o/OpalEyeKondasYojimbo.java | 4 +- Mage.Sets/src/mage/cards/o/OpalGargoyle.java | 3 +- Mage.Sets/src/mage/cards/o/OpalGuardian.java | 3 +- .../src/mage/cards/o/OpalLakeGatekeepers.java | 4 +- .../src/mage/cards/o/OpalineBracers.java | 3 +- Mage.Sets/src/mage/cards/o/OpalineSliver.java | 2 +- .../src/mage/cards/o/OpalineUnicorn.java | 3 +- Mage.Sets/src/mage/cards/o/OpenSeason.java | 324 ++++++------- Mage.Sets/src/mage/cards/o/Ophidian.java | 3 +- Mage.Sets/src/mage/cards/o/OphidianEye.java | 3 +- Mage.Sets/src/mage/cards/o/Ophiomancer.java | 4 +- Mage.Sets/src/mage/cards/o/Opportunist.java | 5 +- .../src/mage/cards/o/OppressiveRays.java | 3 +- Mage.Sets/src/mage/cards/o/OracleEnVec.java | 5 +- Mage.Sets/src/mage/cards/o/OracleOfBones.java | 5 +- Mage.Sets/src/mage/cards/o/OracleOfDust.java | 5 +- .../src/mage/cards/o/OracleOfMulDaya.java | 5 +- .../src/mage/cards/o/OracleOfNectars.java | 5 +- .../src/mage/cards/o/OraclesAttendants.java | 5 +- .../src/mage/cards/o/OraclesInsight.java | 3 +- Mage.Sets/src/mage/cards/o/OranRiefHydra.java | 2 +- .../src/mage/cards/o/OranRiefInvoker.java | 5 +- .../src/mage/cards/o/OranRiefRecluse.java | 3 +- .../src/mage/cards/o/OranRiefSurvivalist.java | 7 +- .../src/mage/cards/o/OratorOfOjutai.java | 4 +- Mage.Sets/src/mage/cards/o/Oraxid.java | 5 +- .../src/mage/cards/o/OrbitalBombardment.java | 134 +++--- Mage.Sets/src/mage/cards/o/OrbweaverKumo.java | 3 +- Mage.Sets/src/mage/cards/o/OrcGeneral.java | 4 +- Mage.Sets/src/mage/cards/o/OrcSureshot.java | 5 +- .../src/mage/cards/o/OrchardElemental.java | 3 +- Mage.Sets/src/mage/cards/o/OrchardSpirit.java | 3 +- Mage.Sets/src/mage/cards/o/OrchardWarden.java | 4 +- .../src/mage/cards/o/OrcishArtillery.java | 5 +- .../src/mage/cards/o/OrcishBloodpainter.java | 5 +- .../src/mage/cards/o/OrcishCannoneers.java | 5 +- Mage.Sets/src/mage/cards/o/OrcishCaptain.java | 4 +- Mage.Sets/src/mage/cards/o/OrcishHealer.java | 5 +- .../src/mage/cards/o/OrcishLibrarian.java | 3 +- .../src/mage/cards/o/OrcishLumberjack.java | 2 +- .../src/mage/cards/o/OrcishMechanics.java | 3 +- .../src/mage/cards/o/OrcishSettlers.java | 3 +- Mage.Sets/src/mage/cards/o/OrcishSpy.java | 5 +- Mage.Sets/src/mage/cards/o/OrcishVeteran.java | 3 +- .../src/mage/cards/o/OrdealOfErebos.java | 3 +- .../src/mage/cards/o/OrdealOfHeliod.java | 3 +- Mage.Sets/src/mage/cards/o/OrdealOfNylea.java | 3 +- .../src/mage/cards/o/OrdealOfPurphoros.java | 3 +- .../src/mage/cards/o/OrdealOfThassa.java | 3 +- Mage.Sets/src/mage/cards/o/Order66.java | 140 +++--- .../src/mage/cards/o/OrderOfLeitbur.java | 7 +- .../src/mage/cards/o/OrderOfTheEbonHand.java | 5 +- .../mage/cards/o/OrderOfTheGoldenCricket.java | 5 +- .../mage/cards/o/OrderOfTheSacredBell.java | 5 +- .../mage/cards/o/OrderOfTheSacredTorch.java | 5 +- .../src/mage/cards/o/OrderOfTheStars.java | 5 +- .../mage/cards/o/OrderOfTheWhiteShield.java | 5 +- .../src/mage/cards/o/OrderOfWhiteclay.java | 5 +- .../src/mage/cards/o/OrderOfYawgmoth.java | 5 +- .../src/mage/cards/o/OrdruunCommando.java | 5 +- .../src/mage/cards/o/OrdruunVeteran.java | 5 +- Mage.Sets/src/mage/cards/o/OreGorger.java | 3 +- .../src/mage/cards/o/OreskosExplorer.java | 4 +- .../src/mage/cards/o/OreskosSunGuide.java | 5 +- .../src/mage/cards/o/OreskosSwiftclaw.java | 5 +- Mage.Sets/src/mage/cards/o/OrganGrinder.java | 3 +- Mage.Sets/src/mage/cards/o/Orgg.java | 3 +- .../src/mage/cards/o/OrimSamiteHealer.java | 5 +- .../src/mage/cards/o/OrissSamiteGuardian.java | 4 +- .../mage/cards/o/OrmendahlProfanePrince.java | 3 +- Mage.Sets/src/mage/cards/o/OrneryKudu.java | 3 +- Mage.Sets/src/mage/cards/o/Ornitharch.java | 3 +- Mage.Sets/src/mage/cards/o/Ornithopter.java | 3 +- .../src/mage/cards/o/OrochiEggwatcher.java | 9 +- .../src/mage/cards/o/OrochiLeafcaller.java | 5 +- Mage.Sets/src/mage/cards/o/OrochiRanger.java | 5 +- .../src/mage/cards/o/OrochiSustainer.java | 5 +- .../src/mage/cards/o/OrosTheAvenger.java | 3 +- .../src/mage/cards/o/OrtolanKeyboardist.java | 131 +++--- .../src/mage/cards/o/OrzhovAdvokist.java | 5 +- .../src/mage/cards/o/OrzhovEuthanist.java | 5 +- .../src/mage/cards/o/OrzhovGuildmage.java | 5 +- Mage.Sets/src/mage/cards/o/OrzhovKeyrune.java | 3 +- Mage.Sets/src/mage/cards/o/OrzhovPontiff.java | 5 +- Mage.Sets/src/mage/cards/o/OsaiVultures.java | 3 +- Mage.Sets/src/mage/cards/o/OstiaryThrull.java | 3 +- .../src/mage/cards/o/OtherworldlyJourney.java | 3 +- Mage.Sets/src/mage/cards/o/OupheVandals.java | 5 +- .../src/mage/cards/o/OuterRimSlaver.java | 143 +++--- Mage.Sets/src/mage/cards/o/OutlandBoar.java | 3 +- .../src/mage/cards/o/OutlandColossus.java | 3 +- .../src/mage/cards/o/OutlawHolocron.java | 188 ++++---- Mage.Sets/src/mage/cards/o/OutrageShaman.java | 5 +- Mage.Sets/src/mage/cards/o/OutriderEnKor.java | 7 +- .../src/mage/cards/o/OutriderOfJhess.java | 5 +- .../src/mage/cards/o/OvalchaseDaredevil.java | 5 +- .../src/mage/cards/o/OvalchaseDragster.java | 142 +++--- .../src/mage/cards/o/OverbeingOfMyth.java | 5 +- .../src/mage/cards/o/OvereagerApprentice.java | 5 +- .../src/mage/cards/o/OvergrownBattlement.java | 3 +- Mage.Sets/src/mage/cards/o/OvergrownTomb.java | 5 +- Mage.Sets/src/mage/cards/o/Overgrowth.java | 3 +- .../src/mage/cards/o/OverseerOfTheDamned.java | 3 +- .../src/mage/cards/o/OversoulOfDusk.java | 5 +- Mage.Sets/src/mage/cards/o/Overtaker.java | 5 +- .../cards/o/OviyaPashiriSageLifecrafter.java | 5 +- Mage.Sets/src/mage/cards/o/OwlFamiliar.java | 3 +- .../src/mage/cards/o/OxiddaDaredevil.java | 5 +- Mage.Sets/src/mage/cards/o/OxiddaGolem.java | 2 +- .../src/mage/cards/o/OxiddaScrapmelter.java | 3 +- .../mage/cards/o/OyobiWhoSplitTheHeavens.java | 3 +- Mage.Sets/src/mage/cards/p/Pacifism.java | 3 +- Mage.Sets/src/mage/cards/p/PackGuardian.java | 5 +- Mage.Sets/src/mage/cards/p/PackRat.java | 2 +- .../cards/p/PadeemConsulOfInnovation.java | 4 +- Mage.Sets/src/mage/cards/p/PainKami.java | 3 +- Mage.Sets/src/mage/cards/p/PainSeer.java | 5 +- Mage.Sets/src/mage/cards/p/Painsmith.java | 5 +- Mage.Sets/src/mage/cards/p/PaintedBluffs.java | 3 +- .../src/mage/cards/p/PaintersServant.java | 3 +- .../src/mage/cards/p/PainwrackerOni.java | 4 +- .../src/mage/cards/p/PalaceFamiliar.java | 3 +- Mage.Sets/src/mage/cards/p/PalaceGuard.java | 5 +- Mage.Sets/src/mage/cards/p/PalaceJailer.java | 5 +- .../src/mage/cards/p/PalaceSentinels.java | 5 +- Mage.Sets/src/mage/cards/p/PaladinEnVec.java | 5 +- .../src/mage/cards/p/PaladinOfPrahv.java | 5 +- Mage.Sets/src/mage/cards/p/PaleBears.java | 3 +- Mage.Sets/src/mage/cards/p/PaleRecluse.java | 3 +- .../src/mage/cards/p/PaleRiderOfTrostad.java | 3 +- Mage.Sets/src/mage/cards/p/PaleWayfarer.java | 5 +- Mage.Sets/src/mage/cards/p/Paleoloth.java | 3 +- Mage.Sets/src/mage/cards/p/Palinchron.java | 3 +- Mage.Sets/src/mage/cards/p/PalisadeGiant.java | 5 +- Mage.Sets/src/mage/cards/p/PalladiaMors.java | 5 +- Mage.Sets/src/mage/cards/p/PalladiumMyr.java | 3 +- .../src/mage/cards/p/PallidMycoderm.java | 2 +- Mage.Sets/src/mage/cards/p/Pallimud.java | 3 +- .../mage/cards/p/PangTongYoungPhoenix.java | 5 +- Mage.Sets/src/mage/cards/p/Panharmonicon.java | 236 +++++----- .../src/mage/cards/p/PantherWarriors.java | 5 +- .../src/mage/cards/p/PaperfinRascal.java | 5 +- .../src/mage/cards/p/ParadiseMantle.java | 3 +- Mage.Sets/src/mage/cards/p/ParadisePlume.java | 314 ++++++------- Mage.Sets/src/mage/cards/p/ParadoxHaze.java | 3 +- .../mage/cards/p/ParagonOfEternalWilds.java | 5 +- .../mage/cards/p/ParagonOfFierceDefiance.java | 5 +- .../mage/cards/p/ParagonOfGatheringMists.java | 5 +- .../src/mage/cards/p/ParagonOfNewDawns.java | 5 +- .../src/mage/cards/p/ParagonOfOpenGraves.java | 5 +- .../src/mage/cards/p/ParagonOfTheAmesha.java | 4 +- .../src/mage/cards/p/ParallaxDementia.java | 3 +- .../mage/cards/p/ParallectricFeedback.java | 196 ++++---- Mage.Sets/src/mage/cards/p/Paralyze.java | 2 +- .../src/mage/cards/p/ParalyzingGrasp.java | 3 +- .../src/mage/cards/p/ParanoidParishBlade.java | 5 +- .../src/mage/cards/p/ParapetWatchers.java | 5 +- Mage.Sets/src/mage/cards/p/ParasiticBond.java | 3 +- .../src/mage/cards/p/ParasiticImplant.java | 3 +- .../src/mage/cards/p/ParasiticStrix.java | 3 +- .../src/mage/cards/p/PardicArsonist.java | 5 +- .../src/mage/cards/p/PardicCollaborator.java | 5 +- Mage.Sets/src/mage/cards/p/PardicDragon.java | 2 +- Mage.Sets/src/mage/cards/p/PardicFirecat.java | 5 +- Mage.Sets/src/mage/cards/p/PardicLancer.java | 5 +- Mage.Sets/src/mage/cards/p/PardicMiner.java | 3 +- .../src/mage/cards/p/PardicSwordsmith.java | 3 +- Mage.Sets/src/mage/cards/p/Pariah.java | 3 +- Mage.Sets/src/mage/cards/p/PariahsShield.java | 3 +- Mage.Sets/src/mage/cards/p/PartTheVeil.java | 3 +- Mage.Sets/src/mage/cards/p/PatagiaGolem.java | 3 +- Mage.Sets/src/mage/cards/p/PatagiaViper.java | 3 +- .../src/mage/cards/p/PatchworkGnomes.java | 3 +- .../src/mage/cards/p/PathOfAngersFlame.java | 3 +- .../src/mage/cards/p/PathbreakerIbex.java | 3 +- .../src/mage/cards/p/PathbreakerWurm.java | 3 +- .../src/mage/cards/p/PathmakerInitiate.java | 5 +- .../src/mage/cards/p/PathrazerOfUlamog.java | 3 +- Mage.Sets/src/mage/cards/p/PathwayArrows.java | 3 +- .../src/mage/cards/p/PatriarchsDesire.java | 3 +- Mage.Sets/src/mage/cards/p/PatrolHound.java | 3 +- .../src/mage/cards/p/PatrolSignaler.java | 5 +- .../src/mage/cards/p/PatronOfTheAkki.java | 2 +- .../src/mage/cards/p/PatronOfTheKitsune.java | 2 +- .../src/mage/cards/p/PatronOfTheMoon.java | 2 +- .../src/mage/cards/p/PatronOfTheNezumi.java | 2 +- .../src/mage/cards/p/PatronOfTheOrochi.java | 2 +- .../src/mage/cards/p/PatronOfTheValiant.java | 3 +- .../src/mage/cards/p/PatronOfTheVein.java | 4 +- .../src/mage/cards/p/PatronOfTheWild.java | 3 +- Mage.Sets/src/mage/cards/p/PatronWizard.java | 4 +- .../src/mage/cards/p/PatternOfRebirth.java | 3 +- Mage.Sets/src/mage/cards/p/PavelMaliki.java | 3 +- Mage.Sets/src/mage/cards/p/PawnOfUlamog.java | 5 +- Mage.Sets/src/mage/cards/p/PeaceStrider.java | 3 +- Mage.Sets/src/mage/cards/p/Peacekeeper.java | 3 +- Mage.Sets/src/mage/cards/p/PearlDragon.java | 3 +- .../src/mage/cards/p/PearlLakeAncient.java | 3 +- .../src/mage/cards/p/PearledUnicorn.java | 3 +- .../src/mage/cards/p/PearlspearCourier.java | 4 +- .../src/mage/cards/p/PeemaAetherSeer.java | 5 +- Mage.Sets/src/mage/cards/p/PeemaOutrider.java | 5 +- .../src/mage/cards/p/PegasusCharger.java | 3 +- Mage.Sets/src/mage/cards/p/PelakkaWurm.java | 3 +- Mage.Sets/src/mage/cards/p/PemminsAura.java | 3 +- .../src/mage/cards/p/PendelhavenElder.java | 5 +- Mage.Sets/src/mage/cards/p/PendrellDrake.java | 3 +- Mage.Sets/src/mage/cards/p/PendrellFlux.java | 2 +- Mage.Sets/src/mage/cards/p/PennonBlade.java | 3 +- .../src/mage/cards/p/PensiveMinotaur.java | 5 +- .../src/mage/cards/p/PentarchPaladin.java | 209 ++++----- Mage.Sets/src/mage/cards/p/PentarchWard.java | 3 +- Mage.Sets/src/mage/cards/p/Pentavus.java | 2 +- .../src/mage/cards/p/PenumbraBobcat.java | 3 +- Mage.Sets/src/mage/cards/p/PenumbraKavu.java | 3 +- .../src/mage/cards/p/PenumbraSpider.java | 3 +- Mage.Sets/src/mage/cards/p/PenumbraWurm.java | 3 +- .../src/mage/cards/p/PeopleOfTheWoods.java | 2 +- Mage.Sets/src/mage/cards/p/Peppersmoke.java | 2 +- .../src/mage/cards/p/PeregrineDrake.java | 3 +- .../src/mage/cards/p/PeregrineGriffin.java | 3 +- Mage.Sets/src/mage/cards/p/PeregrineMask.java | 2 +- Mage.Sets/src/mage/cards/p/PerfectedForm.java | 5 +- Mage.Sets/src/mage/cards/p/PerilousMyr.java | 3 +- .../src/mage/cards/p/PerilousShadow.java | 5 +- .../src/mage/cards/p/PerimeterCaptain.java | 5 +- .../src/mage/cards/p/PermeatingMass.java | 3 +- .../src/mage/cards/p/PerplexingChimera.java | 3 +- .../src/mage/cards/p/PersistentNightmare.java | 3 +- .../mage/cards/p/PersonalEnergyShield.java | 210 ++++----- .../src/mage/cards/p/PersonalIncarnation.java | 5 +- Mage.Sets/src/mage/cards/p/Persuasion.java | 3 +- Mage.Sets/src/mage/cards/p/Pestermite.java | 5 +- .../src/mage/cards/p/PestilenceDemon.java | 3 +- .../src/mage/cards/p/PestilenceRats.java | 2 +- .../src/mage/cards/p/PestilentKathari.java | 5 +- .../src/mage/cards/p/PestilentSouleater.java | 3 +- Mage.Sets/src/mage/cards/p/PetalmaneBaku.java | 3 +- Mage.Sets/src/mage/cards/p/Petradon.java | 5 +- Mage.Sets/src/mage/cards/p/Petrahydrox.java | 3 +- Mage.Sets/src/mage/cards/p/Petravark.java | 5 +- .../src/mage/cards/p/PetrifiedPlating.java | 3 +- Mage.Sets/src/mage/cards/p/PewterGolem.java | 3 +- .../src/mage/cards/p/PhageTheUntouchable.java | 5 +- Mage.Sets/src/mage/cards/p/PhalanxLeader.java | 5 +- .../src/mage/cards/p/Phantasmagorian.java | 3 +- .../mage/cards/p/PhantasmalAbomination.java | 3 +- .../src/mage/cards/p/PhantasmalBear.java | 5 +- .../src/mage/cards/p/PhantasmalDragon.java | 5 +- .../src/mage/cards/p/PhantasmalForces.java | 3 +- .../src/mage/cards/p/PhantasmalImage.java | 2 +- .../src/mage/cards/p/PhantasmalTerrain.java | 3 +- Mage.Sets/src/mage/cards/p/Phantatog.java | 3 +- Mage.Sets/src/mage/cards/p/PhantomBeast.java | 5 +- .../src/mage/cards/p/PhantomCentaur.java | 5 +- Mage.Sets/src/mage/cards/p/PhantomFlock.java | 7 +- .../src/mage/cards/p/PhantomGeneral.java | 5 +- .../src/mage/cards/p/PhantomMonster.java | 3 +- .../src/mage/cards/p/PhantomNantuko.java | 5 +- .../src/mage/cards/p/PhantomNishoba.java | 7 +- Mage.Sets/src/mage/cards/p/PhantomNomad.java | 5 +- Mage.Sets/src/mage/cards/p/PhantomTiger.java | 5 +- .../src/mage/cards/p/PhantomWarrior.java | 5 +- Mage.Sets/src/mage/cards/p/PhantomWings.java | 3 +- Mage.Sets/src/mage/cards/p/PhantomWurm.java | 5 +- Mage.Sets/src/mage/cards/p/PharagaxGiant.java | 3 +- .../mage/cards/p/PharikaGodOfAffliction.java | 2 +- .../src/mage/cards/p/PharikasChosen.java | 3 +- .../src/mage/cards/p/PharikasDisciple.java | 5 +- .../src/mage/cards/p/PharikasMender.java | 3 +- Mage.Sets/src/mage/cards/p/Phelddagrif.java | 3 +- .../mage/cards/p/PhenaxGodOfDeception.java | 2 +- .../src/mage/cards/p/PheresBandCentaurs.java | 5 +- .../src/mage/cards/p/PheresBandRaiders.java | 5 +- .../mage/cards/p/PheresBandThunderhoof.java | 5 +- .../src/mage/cards/p/PheresBandTromper.java | 5 +- .../src/mage/cards/p/PheresBandWarchief.java | 4 +- .../src/mage/cards/p/PhobianPhantasm.java | 3 +- .../src/mage/cards/p/PhylacteryLich.java | 3 +- Mage.Sets/src/mage/cards/p/Phyresis.java | 3 +- .../mage/cards/p/PhyrexianBattleflies.java | 3 +- .../src/mage/cards/p/PhyrexianBloodstock.java | 3 +- .../src/mage/cards/p/PhyrexianBroodlings.java | 3 +- .../src/mage/cards/p/PhyrexianColossus.java | 3 +- .../src/mage/cards/p/PhyrexianCrusader.java | 5 +- .../src/mage/cards/p/PhyrexianDebaser.java | 3 +- .../src/mage/cards/p/PhyrexianDefiler.java | 3 +- .../src/mage/cards/p/PhyrexianDelver.java | 3 +- .../src/mage/cards/p/PhyrexianDenouncer.java | 3 +- .../src/mage/cards/p/PhyrexianDevourer.java | 3 +- .../src/mage/cards/p/PhyrexianDigester.java | 3 +- .../mage/cards/p/PhyrexianDreadnought.java | 3 +- .../src/mage/cards/p/PhyrexianDriver.java | 4 +- .../src/mage/cards/p/PhyrexianGargantua.java | 3 +- .../src/mage/cards/p/PhyrexianGhoul.java | 3 +- .../src/mage/cards/p/PhyrexianGremlins.java | 3 +- Mage.Sets/src/mage/cards/p/PhyrexianHulk.java | 3 +- .../src/mage/cards/p/PhyrexianHydra.java | 3 +- .../mage/cards/p/PhyrexianInfiltrator.java | 3 +- .../src/mage/cards/p/PhyrexianIngester.java | 3 +- .../src/mage/cards/p/PhyrexianIronfoot.java | 3 +- .../src/mage/cards/p/PhyrexianJuggernaut.java | 3 +- .../src/mage/cards/p/PhyrexianMarauder.java | 3 +- .../src/mage/cards/p/PhyrexianMetamorph.java | 3 +- .../src/mage/cards/p/PhyrexianMonitor.java | 3 +- .../src/mage/cards/p/PhyrexianNegator.java | 3 +- .../mage/cards/p/PhyrexianObliterator.java | 3 +- .../src/mage/cards/p/PhyrexianPlaguelord.java | 3 +- .../src/mage/cards/p/PhyrexianProwler.java | 5 +- .../src/mage/cards/p/PhyrexianRager.java | 3 +- .../src/mage/cards/p/PhyrexianReaper.java | 3 +- .../src/mage/cards/p/PhyrexianRevoker.java | 3 +- .../src/mage/cards/p/PhyrexianScuta.java | 3 +- .../src/mage/cards/p/PhyrexianSlayer.java | 3 +- .../mage/cards/p/PhyrexianSnowcrusher.java | 3 +- .../src/mage/cards/p/PhyrexianSoulgorger.java | 3 +- .../src/mage/cards/p/PhyrexianSwarmlord.java | 5 +- .../src/mage/cards/p/PhyrexianTotem.java | 3 +- .../src/mage/cards/p/PhyrexianVatmother.java | 3 +- .../src/mage/cards/p/PhyrexianWalker.java | 3 +- .../src/mage/cards/p/PhyrexianWarBeast.java | 3 +- Mage.Sets/src/mage/cards/p/Phytohydra.java | 4 +- Mage.Sets/src/mage/cards/p/Phytotitan.java | 5 +- .../src/mage/cards/p/PiaAndKiranNalaar.java | 5 +- Mage.Sets/src/mage/cards/p/PiaNalaar.java | 5 +- .../src/mage/cards/p/PiannaNomadCaptain.java | 5 +- Mage.Sets/src/mage/cards/p/PierceStrider.java | 3 +- .../src/mage/cards/p/PilgrimOfJustice.java | 5 +- .../src/mage/cards/p/PilgrimOfTheFires.java | 3 +- .../src/mage/cards/p/PilgrimOfVirtue.java | 5 +- Mage.Sets/src/mage/cards/p/PilgrimsEye.java | 3 +- Mage.Sets/src/mage/cards/p/PiliPala.java | 3 +- .../src/mage/cards/p/PillagingHorde.java | 5 +- Mage.Sets/src/mage/cards/p/PillarOfWar.java | 3 +- Mage.Sets/src/mage/cards/p/PillarfieldOx.java | 3 +- .../mage/cards/p/PilloryOfTheSleepless.java | 3 +- Mage.Sets/src/mage/cards/p/PinToTheEarth.java | 3 +- Mage.Sets/src/mage/cards/p/PincerSpider.java | 3 +- .../src/mage/cards/p/PincherBeetles.java | 3 +- Mage.Sets/src/mage/cards/p/PineWalker.java | 3 +- Mage.Sets/src/mage/cards/p/PiousEvangel.java | 5 +- Mage.Sets/src/mage/cards/p/PiousKitsune.java | 5 +- Mage.Sets/src/mage/cards/p/PiousWarrior.java | 7 +- Mage.Sets/src/mage/cards/p/PirateShip.java | 4 +- .../src/mage/cards/p/PiratesCutlass.java | 2 +- Mage.Sets/src/mage/cards/p/PistonSledge.java | 3 +- Mage.Sets/src/mage/cards/p/PitImp.java | 3 +- Mage.Sets/src/mage/cards/p/PitKeeper.java | 5 +- Mage.Sets/src/mage/cards/p/PitRaptor.java | 5 +- Mage.Sets/src/mage/cards/p/PitScorpion.java | 3 +- Mage.Sets/src/mage/cards/p/PitSpawn.java | 3 +- .../src/mage/cards/p/PitchburnDevils.java | 3 +- Mage.Sets/src/mage/cards/p/PithDriller.java | 3 +- Mage.Sets/src/mage/cards/p/PitilessHorde.java | 5 +- .../src/mage/cards/p/PitilessVizier.java | 5 +- Mage.Sets/src/mage/cards/p/PixieQueen.java | 3 +- Mage.Sets/src/mage/cards/p/PlagueBeetle.java | 3 +- Mage.Sets/src/mage/cards/p/PlagueBelcher.java | 4 +- Mage.Sets/src/mage/cards/p/PlagueDogs.java | 5 +- Mage.Sets/src/mage/cards/p/PlagueFiend.java | 3 +- Mage.Sets/src/mage/cards/p/PlagueMyr.java | 3 +- Mage.Sets/src/mage/cards/p/PlagueRats.java | 3 +- Mage.Sets/src/mage/cards/p/PlagueSliver.java | 2 +- Mage.Sets/src/mage/cards/p/PlagueSpitter.java | 3 +- Mage.Sets/src/mage/cards/p/PlagueStinger.java | 5 +- Mage.Sets/src/mage/cards/p/PlagueWitch.java | 5 +- Mage.Sets/src/mage/cards/p/Plaguebearer.java | 3 +- .../src/mage/cards/p/PlaguedRusalka.java | 2 +- .../src/mage/cards/p/PlaguemawBeast.java | 3 +- Mage.Sets/src/mage/cards/p/PlanarGuide.java | 5 +- Mage.Sets/src/mage/cards/p/PlanarOverlay.java | 224 ++++----- .../mage/cards/p/PlaneswalkersMischief.java | 388 +++++++-------- .../src/mage/cards/p/PlantElemental.java | 4 +- .../src/mage/cards/p/PlasmaElemental.java | 3 +- Mage.Sets/src/mage/cards/p/Plateau.java | 5 +- Mage.Sets/src/mage/cards/p/PlatedCrusher.java | 3 +- Mage.Sets/src/mage/cards/p/PlatedGeopede.java | 3 +- .../src/mage/cards/p/PlatedRootwalla.java | 3 +- .../src/mage/cards/p/PlatedSeastrider.java | 3 +- .../src/mage/cards/p/PlatedSlagwurm.java | 3 +- Mage.Sets/src/mage/cards/p/PlatedSliver.java | 3 +- Mage.Sets/src/mage/cards/p/PlatedSpider.java | 3 +- Mage.Sets/src/mage/cards/p/PlatedWurm.java | 3 +- Mage.Sets/src/mage/cards/p/PlatinumAngel.java | 3 +- .../src/mage/cards/p/PlatinumEmperion.java | 3 +- .../src/mage/cards/p/PlaxcasterFrogling.java | 5 +- Mage.Sets/src/mage/cards/p/Plaxmanta.java | 3 +- Mage.Sets/src/mage/cards/p/PloKoon.java | 5 +- Mage.Sets/src/mage/cards/p/PloverKnights.java | 5 +- .../src/mage/cards/p/PlowThroughReito.java | 2 +- Mage.Sets/src/mage/cards/p/PlumesOfPeace.java | 3 +- Mage.Sets/src/mage/cards/p/Plumeveil.java | 3 +- .../src/mage/cards/p/PoisonbellyOgre.java | 5 +- Mage.Sets/src/mage/cards/p/PolarKraken.java | 3 +- Mage.Sets/src/mage/cards/p/PolisCrusher.java | 3 +- .../src/mage/cards/p/PollenbrightWings.java | 3 +- Mage.Sets/src/mage/cards/p/PollutedDead.java | 3 +- .../mage/cards/p/PolukranosWorldEater.java | 3 +- .../src/mage/cards/p/PontiffOfBlight.java | 5 +- .../src/mage/cards/p/PonybackBrigade.java | 5 +- Mage.Sets/src/mage/cards/p/PoolingVenom.java | 3 +- .../mage/cards/p/PorcelainLegionnaire.java | 3 +- Mage.Sets/src/mage/cards/p/PortalMage.java | 5 +- Mage.Sets/src/mage/cards/p/PossessedAven.java | 7 +- .../src/mage/cards/p/PossessedBarbarian.java | 7 +- .../src/mage/cards/p/PossessedCentaur.java | 5 +- .../src/mage/cards/p/PossessedNomad.java | 7 +- .../src/mage/cards/p/PossessedSkaab.java | 3 +- .../src/mage/cards/p/PoulticeSliver.java | 3 +- .../src/mage/cards/p/PouncingCheetah.java | 3 +- .../src/mage/cards/p/PouncingJaguar.java | 3 +- Mage.Sets/src/mage/cards/p/PouncingKavu.java | 3 +- Mage.Sets/src/mage/cards/p/PouncingWurm.java | 3 +- Mage.Sets/src/mage/cards/p/PowerArtifact.java | 3 +- Mage.Sets/src/mage/cards/p/PowerOfFire.java | 3 +- .../src/mage/cards/p/PradeshGypsies.java | 5 +- Mage.Sets/src/mage/cards/p/PrairieStream.java | 5 +- .../mage/cards/p/PrakhataClubSecurity.java | 5 +- .../src/mage/cards/p/PrakhataPillarBug.java | 3 +- Mage.Sets/src/mage/cards/p/Preacher.java | 5 +- .../src/mage/cards/p/PrecinctCaptain.java | 5 +- .../src/mage/cards/p/PrecipiceOfMortis.java | 268 +++++------ .../src/mage/cards/p/PrecursorGolem.java | 2 +- .../src/mage/cards/p/PredatorDragon.java | 3 +- Mage.Sets/src/mage/cards/p/PredatorOoze.java | 3 +- .../src/mage/cards/p/PredatorsGambit.java | 2 +- .../mage/cards/p/PredatoryNightstalker.java | 3 +- .../src/mage/cards/p/PredatorySliver.java | 3 +- Mage.Sets/src/mage/cards/p/PredatoryUrge.java | 3 +- .../src/mage/cards/p/PreeminentCaptain.java | 4 +- .../src/mage/cards/p/PrescientChimera.java | 3 +- .../src/mage/cards/p/PresenceOfGond.java | 3 +- .../src/mage/cards/p/PreyseizerDragon.java | 3 +- Mage.Sets/src/mage/cards/p/Prickleboar.java | 3 +- .../src/mage/cards/p/PricklyBoggart.java | 5 +- Mage.Sets/src/mage/cards/p/PrideGuardian.java | 5 +- Mage.Sets/src/mage/cards/p/PrideOfLions.java | 3 +- .../src/mage/cards/p/PrideOfTheClouds.java | 7 +- .../src/mage/cards/p/PrideSovereign.java | 2 +- Mage.Sets/src/mage/cards/p/PriestOfGix.java | 7 +- Mage.Sets/src/mage/cards/p/PriestOfIroas.java | 5 +- .../mage/cards/p/PriestOfTheBloodRite.java | 5 +- .../mage/cards/p/PriestOfTheWakeningSun.java | 4 +- .../src/mage/cards/p/PriestOfTitania.java | 4 +- .../src/mage/cards/p/PriestOfUrabrask.java | 5 +- .../src/mage/cards/p/PriestOfYawgmoth.java | 5 +- Mage.Sets/src/mage/cards/p/PriestsOfNorn.java | 3 +- Mage.Sets/src/mage/cards/p/PrimalClay.java | 3 +- Mage.Sets/src/mage/cards/p/PrimalCocoon.java | 3 +- Mage.Sets/src/mage/cards/p/PrimalDruid.java | 5 +- .../src/mage/cards/p/PrimalForcemage.java | 5 +- Mage.Sets/src/mage/cards/p/PrimalFrenzy.java | 3 +- .../src/mage/cards/p/PrimalHuntbeast.java | 3 +- .../src/mage/cards/p/PrimalInstinct.java | 198 ++++---- Mage.Sets/src/mage/cards/p/PrimalPlasma.java | 5 +- .../src/mage/cards/p/PrimalVisitation.java | 3 +- .../src/mage/cards/p/PrimalWhisperer.java | 5 +- Mage.Sets/src/mage/cards/p/Primalcrux.java | 3 +- .../src/mage/cards/p/PrimeSpeakerZegana.java | 5 +- Mage.Sets/src/mage/cards/p/PrimevalForce.java | 2 +- .../src/mage/cards/p/PrimevalProtector.java | 3 +- .../src/mage/cards/p/PrimevalShambler.java | 5 +- Mage.Sets/src/mage/cards/p/PrimevalTitan.java | 3 +- Mage.Sets/src/mage/cards/p/PrimocEscapee.java | 5 +- .../src/mage/cards/p/PrimordialHydra.java | 3 +- .../src/mage/cards/p/PrimordialSage.java | 3 +- .../src/mage/cards/p/PrinceOfThralls.java | 3 +- Mage.Sets/src/mage/cards/p/PrincessLeia.java | 184 ++++---- .../src/mage/cards/p/PrincessLucrezia.java | 5 +- .../src/mage/cards/p/PrismwakeMerrow.java | 5 +- .../src/mage/cards/p/PrisonBarricade.java | 3 +- Mage.Sets/src/mage/cards/p/PrisonTerm.java | 3 +- Mage.Sets/src/mage/cards/p/PristineAngel.java | 3 +- .../src/mage/cards/p/PristineSkywise.java | 3 +- Mage.Sets/src/mage/cards/p/PrizedAmalgam.java | 3 +- .../src/mage/cards/p/PrizedElephant.java | 2 +- Mage.Sets/src/mage/cards/p/PrizedUnicorn.java | 3 +- .../mage/cards/p/PrizefighterConstruct.java | 117 ++--- Mage.Sets/src/mage/cards/p/ProbeDroid.java | 143 +++--- .../src/mage/cards/p/ProdigalPyromancer.java | 5 +- .../src/mage/cards/p/ProdigalSorcerer.java | 5 +- .../src/mage/cards/p/ProfanerOfTheDead.java | 4 +- .../src/mage/cards/p/ProgenitorMimic.java | 3 +- Mage.Sets/src/mage/cards/p/Progenitus.java | 5 +- .../src/mage/cards/p/PrognosticSphinx.java | 3 +- .../src/mage/cards/p/PromisedKannushi.java | 5 +- .../src/mage/cards/p/PropellerPioneer.java | 5 +- .../src/mage/cards/p/ProphetOfDistortion.java | 5 +- .../src/mage/cards/p/ProphetOfKruphix.java | 5 +- .../mage/cards/p/PropheticFlamespeaker.java | 5 +- .../src/mage/cards/p/PropheticRavings.java | 3 +- .../src/mage/cards/p/ProsperousPirates.java | 5 +- .../mage/cards/p/ProsshSkyraiderOfKher.java | 3 +- Mage.Sets/src/mage/cards/p/ProteanHulk.java | 3 +- Mage.Sets/src/mage/cards/p/ProteanHydra.java | 3 +- .../src/mage/cards/p/ProtectiveBubble.java | 3 +- .../src/mage/cards/p/ProtectorOfTheCrown.java | 5 +- .../src/mage/cards/p/ProvenCombatant.java | 5 +- .../src/mage/cards/p/ProwessOfTheFair.java | 2 +- Mage.Sets/src/mage/cards/p/ProwlersHelm.java | 2 +- .../mage/cards/p/ProwlingNightstalker.java | 3 +- .../src/mage/cards/p/ProwlingPangolin.java | 3 +- .../src/mage/cards/p/ProwlingSerpopard.java | 5 +- Mage.Sets/src/mage/cards/p/PsionicGift.java | 3 +- Mage.Sets/src/mage/cards/p/PsionicSliver.java | 2 +- Mage.Sets/src/mage/cards/p/Psychatog.java | 3 +- .../src/mage/cards/p/PsychicMembrane.java | 3 +- .../src/mage/cards/p/PsychicOverload.java | 179 +++---- .../src/mage/cards/p/PsychicPossession.java | 3 +- Mage.Sets/src/mage/cards/p/PsychicVenom.java | 3 +- .../src/mage/cards/p/PsychosisCrawler.java | 3 +- .../src/mage/cards/p/PsychotropeThallid.java | 2 +- Mage.Sets/src/mage/cards/p/PteronGhost.java | 3 +- .../src/mage/cards/p/PulmonicSliver.java | 2 +- .../src/mage/cards/p/PulsatingIllusion.java | 3 +- .../src/mage/cards/p/PulseOfTheTangle.java | 230 ++++----- Mage.Sets/src/mage/cards/p/PulseTracker.java | 5 +- .../src/mage/cards/p/PulsemageAdvocate.java | 5 +- .../src/mage/cards/p/PuppetConjurer.java | 4 +- Mage.Sets/src/mage/cards/p/Puppeteer.java | 5 +- .../src/mage/cards/p/PuppeteerClique.java | 5 +- .../src/mage/cards/p/PuresightMerrow.java | 5 +- .../src/mage/cards/p/PuresteelPaladin.java | 4 +- Mage.Sets/src/mage/cards/p/Purity.java | 5 +- .../mage/cards/p/PurphorosGodOfTheForge.java | 2 +- .../src/mage/cards/p/PurphorossEmissary.java | 3 +- .../src/mage/cards/p/PursuitOfFlight.java | 2 +- Mage.Sets/src/mage/cards/p/PusKami.java | 3 +- Mage.Sets/src/mage/cards/p/Putrefax.java | 3 +- Mage.Sets/src/mage/cards/p/PutridImp.java | 5 +- Mage.Sets/src/mage/cards/p/PutridLeech.java | 5 +- Mage.Sets/src/mage/cards/p/PutridWarrior.java | 7 +- Mage.Sets/src/mage/cards/p/PygmyKavu.java | 3 +- Mage.Sets/src/mage/cards/p/PygmyPyrosaur.java | 3 +- .../src/mage/cards/p/PygmyRazorback.java | 3 +- Mage.Sets/src/mage/cards/p/PygmyTroll.java | 3 +- Mage.Sets/src/mage/cards/p/Pyknite.java | 3 +- Mage.Sets/src/mage/cards/p/PyreCharger.java | 5 +- Mage.Sets/src/mage/cards/p/PyreHound.java | 5 +- Mage.Sets/src/mage/cards/p/PyreZombie.java | 3 +- Mage.Sets/src/mage/cards/p/PyreheartWolf.java | 3 +- .../src/mage/cards/p/PyrewildShaman.java | 5 +- .../src/mage/cards/p/PyroclastConsul.java | 5 +- Mage.Sets/src/mage/cards/p/Python.java | 3 +- .../src/mage/cards/q/QalSismaBehemoth.java | 5 +- Mage.Sets/src/mage/cards/q/QarsiDeceiver.java | 5 +- .../src/mage/cards/q/QarsiHighPriest.java | 5 +- Mage.Sets/src/mage/cards/q/QarsiSadist.java | 5 +- .../src/mage/cards/q/QasaliAmbusher.java | 4 +- .../src/mage/cards/q/QasaliPridemage.java | 5 +- .../src/mage/cards/q/QasaliSlingers.java | 4 +- Mage.Sets/src/mage/cards/q/QuagSickness.java | 2 +- Mage.Sets/src/mage/cards/q/QuagVampires.java | 5 +- Mage.Sets/src/mage/cards/q/QuagmireDruid.java | 5 +- .../src/mage/cards/q/QuagmireLamprey.java | 3 +- Mage.Sets/src/mage/cards/q/Quagnoth.java | 3 +- Mage.Sets/src/mage/cards/q/QuarryBeetle.java | 137 +++--- .../src/mage/cards/q/QuarryColossus.java | 2 +- Mage.Sets/src/mage/cards/q/QuarryHauler.java | 253 +++++----- Mage.Sets/src/mage/cards/q/QueenMarchesa.java | 5 +- .../src/mage/cards/q/QueensBaySoldier.java | 5 +- .../src/mage/cards/q/QuestingPhelddagrif.java | 3 +- Mage.Sets/src/mage/cards/q/QuiGonJinn.java | 5 +- Mage.Sets/src/mage/cards/q/QuickSliver.java | 2 +- Mage.Sets/src/mage/cards/q/Quickchange.java | 128 ++--- .../src/mage/cards/q/QuickeningLicid.java | 3 +- Mage.Sets/src/mage/cards/q/Quickling.java | 5 +- .../src/mage/cards/q/QuicksilverBehemoth.java | 3 +- .../src/mage/cards/q/QuicksilverDagger.java | 3 +- .../src/mage/cards/q/QuicksilverDragon.java | 3 +- .../mage/cards/q/QuicksilverElemental.java | 3 +- .../mage/cards/q/QuicksilverGargantuan.java | 3 +- .../src/mage/cards/q/QuicksilverWall.java | 3 +- .../src/mage/cards/q/QuicksmithGenius.java | 5 +- .../src/mage/cards/q/QuicksmithRebel.java | 167 +++---- Mage.Sets/src/mage/cards/q/QuicksmithSpy.java | 163 +++---- .../src/mage/cards/q/QuietDisrepair.java | 3 +- Mage.Sets/src/mage/cards/q/QuietusSpike.java | 3 +- .../src/mage/cards/q/QuillSlingerBoggart.java | 4 +- .../src/mage/cards/q/QuilledSlagwurm.java | 3 +- Mage.Sets/src/mage/cards/q/QuilledSliver.java | 2 +- Mage.Sets/src/mage/cards/q/QuilledWolf.java | 3 +- Mage.Sets/src/mage/cards/q/QuillmaneBaku.java | 3 +- Mage.Sets/src/mage/cards/q/Quillspike.java | 3 +- Mage.Sets/src/mage/cards/q/QuirionDryad.java | 3 +- Mage.Sets/src/mage/cards/q/QuirionElves.java | 5 +- .../src/mage/cards/q/QuirionExplorer.java | 7 +- Mage.Sets/src/mage/cards/q/QuirionRanger.java | 2 +- .../src/mage/cards/q/QuirionSentinel.java | 5 +- .../src/mage/cards/q/QuirionTrailblazer.java | 5 +- Mage.Sets/src/mage/cards/q/Qumulox.java | 3 +- Mage.Sets/src/mage/cards/r/RabbleRouser.java | 5 +- .../src/mage/cards/r/RabidBloodsucker.java | 3 +- Mage.Sets/src/mage/cards/r/RabidElephant.java | 3 +- Mage.Sets/src/mage/cards/r/RabidRats.java | 3 +- .../src/mage/cards/r/RabidWolverines.java | 3 +- Mage.Sets/src/mage/cards/r/RabidWombat.java | 145 +++--- .../src/mage/cards/r/RacecourseFury.java | 3 +- .../src/mage/cards/r/RadhaHeirToKeld.java | 5 +- .../src/mage/cards/r/RadiantArchangel.java | 3 +- .../src/mage/cards/r/RadiantEssence.java | 3 +- Mage.Sets/src/mage/cards/r/RadiantKavu.java | 3 +- .../src/mage/cards/r/RadiantsDragoons.java | 5 +- Mage.Sets/src/mage/cards/r/RadjanSpirit.java | 3 +- .../src/mage/cards/r/RafiqOfTheMany.java | 5 +- Mage.Sets/src/mage/cards/r/RagDealer.java | 5 +- Mage.Sets/src/mage/cards/r/RagMan.java | 5 +- Mage.Sets/src/mage/cards/r/Ragamuffyn.java | 5 +- Mage.Sets/src/mage/cards/r/RageForger.java | 4 +- Mage.Sets/src/mage/cards/r/RageNimbus.java | 3 +- Mage.Sets/src/mage/cards/r/RageThrower.java | 5 +- Mage.Sets/src/mage/cards/r/RageWeaver.java | 5 +- .../src/mage/cards/r/RagebloodShaman.java | 4 +- Mage.Sets/src/mage/cards/r/Ragemonger.java | 4 +- Mage.Sets/src/mage/cards/r/RaggedVeins.java | 3 +- Mage.Sets/src/mage/cards/r/RagingBull.java | 3 +- Mage.Sets/src/mage/cards/r/RagingCougar.java | 3 +- Mage.Sets/src/mage/cards/r/RagingGoblin.java | 5 +- Mage.Sets/src/mage/cards/r/RagingGorilla.java | 3 +- Mage.Sets/src/mage/cards/r/RagingKavu.java | 3 +- .../src/mage/cards/r/RagingMinotaur.java | 5 +- .../src/mage/cards/r/RagingPoltergeist.java | 3 +- Mage.Sets/src/mage/cards/r/RagingRavine.java | 3 +- Mage.Sets/src/mage/cards/r/RagingReek.java | 131 +++--- Mage.Sets/src/mage/cards/r/RagingSpirit.java | 3 +- .../src/mage/cards/r/RagingSwordtooth.java | 3 +- Mage.Sets/src/mage/cards/r/Ragnar.java | 5 +- .../src/mage/cards/r/RaidingNightstalker.java | 3 +- Mage.Sets/src/mage/cards/r/RainbowCrow.java | 3 +- Mage.Sets/src/mage/cards/r/RainbowEfreet.java | 3 +- .../src/mage/cards/r/RaisedByWolves.java | 2 +- Mage.Sets/src/mage/cards/r/RakaDisciple.java | 4 +- Mage.Sets/src/mage/cards/r/Rakavolver.java | 3 +- Mage.Sets/src/mage/cards/r/RakdosCackler.java | 3 +- Mage.Sets/src/mage/cards/r/RakdosDrake.java | 3 +- .../src/mage/cards/r/RakdosGuildmage.java | 5 +- .../src/mage/cards/r/RakdosIckspitter.java | 3 +- Mage.Sets/src/mage/cards/r/RakdosKeyrune.java | 3 +- .../src/mage/cards/r/RakdosLordOfRiots.java | 2 +- .../src/mage/cards/r/RakdosPitDragon.java | 3 +- .../src/mage/cards/r/RakdosRagemutt.java | 5 +- .../src/mage/cards/r/RakdosRingleader.java | 5 +- .../src/mage/cards/r/RakdosShredFreak.java | 5 +- .../src/mage/cards/r/RakdosTheDefiler.java | 2 +- .../src/mage/cards/r/RakeclawGargantuan.java | 3 +- Mage.Sets/src/mage/cards/r/RakishHeir.java | 2 +- Mage.Sets/src/mage/cards/r/RakkaMar.java | 5 +- .../src/mage/cards/r/RakshaGoldenCub.java | 4 +- .../src/mage/cards/r/RakshasaDeathdealer.java | 5 +- .../src/mage/cards/r/RakshasaGravecaller.java | 5 +- .../src/mage/cards/r/RakshasaVizier.java | 5 +- Mage.Sets/src/mage/cards/r/RalZarek.java | 3 +- Mage.Sets/src/mage/cards/r/RallyingFire.java | 118 ++--- .../src/mage/cards/r/RamirezDePietro.java | 5 +- .../src/mage/cards/r/RamosDragonEngine.java | 3 +- .../src/mage/cards/r/RamosianCaptain.java | 4 +- .../src/mage/cards/r/RamosianCommander.java | 4 +- .../src/mage/cards/r/RamosianLieutenant.java | 4 +- .../src/mage/cards/r/RamosianRevivalist.java | 6 +- .../src/mage/cards/r/RamosianSergeant.java | 4 +- .../src/mage/cards/r/RamosianSkyMarshal.java | 4 +- .../src/mage/cards/r/RampagingBaloths.java | 3 +- .../src/mage/cards/r/RampagingHippo.java | 3 +- .../src/mage/cards/r/RampagingWerewolf.java | 3 +- .../src/mage/cards/r/RampantElephant.java | 3 +- .../src/mage/cards/r/RampartCrawler.java | 4 +- Mage.Sets/src/mage/cards/r/Ramroller.java | 3 +- .../src/mage/cards/r/RamsesOverdark.java | 5 +- .../src/mage/cards/r/RamunapExcavator.java | 5 +- Mage.Sets/src/mage/cards/r/RamunapHydra.java | 268 +++++------ Mage.Sets/src/mage/cards/r/RamunapRuins.java | 2 +- Mage.Sets/src/mage/cards/r/RancidRats.java | 5 +- Mage.Sets/src/mage/cards/r/Rancor.java | 2 +- Mage.Sets/src/mage/cards/r/RangerEnVec.java | 7 +- Mage.Sets/src/mage/cards/r/RangerOfEos.java | 5 +- .../src/mage/cards/r/RangingRaptors.java | 3 +- Mage.Sets/src/mage/cards/r/RankAndFile.java | 3 +- Mage.Sets/src/mage/cards/r/RapaciousOne.java | 5 +- .../src/mage/cards/r/RappellingScouts.java | 7 +- .../src/mage/cards/r/RaptorHatchling.java | 3 +- .../src/mage/cards/r/RashidaScalebane.java | 4 +- .../mage/cards/r/RashmiEternitiesCrafter.java | 5 +- .../src/mage/cards/r/RasputinDreamweaver.java | 4 +- Mage.Sets/src/mage/cards/r/Ratcatcher.java | 4 +- Mage.Sets/src/mage/cards/r/RathiAssassin.java | 6 +- Mage.Sets/src/mage/cards/r/RathiDragon.java | 2 +- Mage.Sets/src/mage/cards/r/RathiFiend.java | 4 +- .../src/mage/cards/r/RathiIntimidator.java | 4 +- Mage.Sets/src/mage/cards/r/RathiTrapper.java | 7 +- Mage.Sets/src/mage/cards/r/RatsOfRath.java | 3 +- .../mage/cards/r/RattleblazeScarecrow.java | 3 +- Mage.Sets/src/mage/cards/r/Rattlechains.java | 2 +- .../src/mage/cards/r/RattleclawMystic.java | 5 +- .../src/mage/cards/r/RavagerOfTheFells.java | 3 +- Mage.Sets/src/mage/cards/r/RavagingHorde.java | 5 +- .../src/mage/cards/r/RavagingRiftwurm.java | 3 +- Mage.Sets/src/mage/cards/r/RavenFamiliar.java | 3 +- .../src/mage/cards/r/RavenGuildMaster.java | 7 +- .../src/mage/cards/r/RavenousBaboons.java | 3 +- .../src/mage/cards/r/RavenousBaloth.java | 2 +- .../src/mage/cards/r/RavenousBloodseeker.java | 5 +- .../src/mage/cards/r/RavenousDaggertooth.java | 3 +- Mage.Sets/src/mage/cards/r/RavenousDemon.java | 2 +- .../src/mage/cards/r/RavenousIntruder.java | 3 +- .../src/mage/cards/r/RavenousLeucrocota.java | 3 +- Mage.Sets/src/mage/cards/r/RavenousRats.java | 3 +- .../src/mage/cards/r/RavenousSkirge.java | 3 +- Mage.Sets/src/mage/cards/r/RavenousWampa.java | 3 +- .../src/mage/cards/r/RavensRunDragoon.java | 5 +- Mage.Sets/src/mage/cards/r/RavingDead.java | 3 +- .../src/mage/cards/r/RavingOniSlave.java | 4 +- .../src/mage/cards/r/RavosSoultender.java | 4 +- .../mage/cards/r/RayneAcademyChancellor.java | 5 +- .../src/mage/cards/r/RaziaBorosArchangel.java | 3 +- Mage.Sets/src/mage/cards/r/RazingSnidd.java | 3 +- .../src/mage/cards/r/RazorBoomerang.java | 2 +- Mage.Sets/src/mage/cards/r/RazorGolem.java | 2 +- .../src/mage/cards/r/RazorHippogriff.java | 3 +- Mage.Sets/src/mage/cards/r/RazorSwine.java | 3 +- Mage.Sets/src/mage/cards/r/RazorclawBear.java | 3 +- .../src/mage/cards/r/RazorfieldRhino.java | 3 +- .../src/mage/cards/r/RazorfieldThresher.java | 3 +- .../src/mage/cards/r/RazorfinAbolisher.java | 5 +- .../src/mage/cards/r/RazorfinHunter.java | 5 +- .../src/mage/cards/r/RazorfootGriffin.java | 3 +- .../src/mage/cards/r/RazorgrassScreen.java | 3 +- Mage.Sets/src/mage/cards/r/RazorjawOni.java | 5 +- .../src/mage/cards/r/RazormaneMasticore.java | 3 +- .../src/mage/cards/r/RazortoothRats.java | 3 +- .../src/mage/cards/r/ReachOfBranches.java | 2 +- Mage.Sets/src/mage/cards/r/RealityAcid.java | 3 +- .../src/mage/cards/r/RealitySmasher.java | 3 +- Mage.Sets/src/mage/cards/r/RealmRazer.java | 3 +- Mage.Sets/src/mage/cards/r/RealmSeekers.java | 5 +- Mage.Sets/src/mage/cards/r/Realmwright.java | 5 +- .../src/mage/cards/r/ReaperFromTheAbyss.java | 2 +- .../cards/r/ReaperOfFlightMoonsilver.java | 3 +- .../src/mage/cards/r/ReaperOfSheoldred.java | 3 +- .../src/mage/cards/r/ReaperOfTheWilds.java | 3 +- Mage.Sets/src/mage/cards/r/ReasonBelieve.java | 218 ++++----- .../mage/cards/r/ReassemblingSkeleton.java | 5 +- Mage.Sets/src/mage/cards/r/ReaverDrone.java | 5 +- Mage.Sets/src/mage/cards/r/RebelInformer.java | 6 +- .../mage/cards/r/RebellionOfTheFlamekin.java | 3 +- .../src/mage/cards/r/RebukingCeremony.java | 118 ++--- Mage.Sets/src/mage/cards/r/RecklessBrute.java | 5 +- .../src/mage/cards/r/RecklessBushwhacker.java | 7 +- .../src/mage/cards/r/RecklessCohort.java | 6 +- .../src/mage/cards/r/RecklessEmbermage.java | 5 +- .../src/mage/cards/r/RecklessFireweaver.java | 5 +- Mage.Sets/src/mage/cards/r/RecklessImp.java | 3 +- Mage.Sets/src/mage/cards/r/RecklessOgre.java | 3 +- Mage.Sets/src/mage/cards/r/RecklessOne.java | 4 +- Mage.Sets/src/mage/cards/r/RecklessRacer.java | 5 +- .../src/mage/cards/r/RecklessReveler.java | 3 +- .../src/mage/cards/r/RecklessScholar.java | 5 +- Mage.Sets/src/mage/cards/r/RecklessWaif.java | 7 +- Mage.Sets/src/mage/cards/r/RecklessWurm.java | 3 +- Mage.Sets/src/mage/cards/r/Reclamation.java | 196 ++++---- .../src/mage/cards/r/ReclamationSage.java | 5 +- .../src/mage/cards/r/ReclusiveArtificer.java | 5 +- .../src/mage/cards/r/RecruiterOfTheGuard.java | 5 +- .../src/mage/cards/r/RecumbentBliss.java | 2 +- .../src/mage/cards/r/RedCliffsArmada.java | 4 +- Mage.Sets/src/mage/cards/r/RedScarab.java | 3 +- Mage.Sets/src/mage/cards/r/RedWard.java | 3 +- .../src/mage/cards/r/ReduceInStature.java | 3 +- .../src/mage/cards/r/RedwoodTreefolk.java | 3 +- Mage.Sets/src/mage/cards/r/ReefPirates.java | 5 +- Mage.Sets/src/mage/cards/r/ReefShaman.java | 5 +- Mage.Sets/src/mage/cards/r/ReefWorm.java | 3 +- Mage.Sets/src/mage/cards/r/ReflectorMage.java | 5 +- Mage.Sets/src/mage/cards/r/ReflexSliver.java | 2 +- Mage.Sets/src/mage/cards/r/Reflexes.java | 2 +- Mage.Sets/src/mage/cards/r/RegalBehemoth.java | 3 +- Mage.Sets/src/mage/cards/r/RegalCaracal.java | 2 +- Mage.Sets/src/mage/cards/r/RegalForce.java | 3 +- Mage.Sets/src/mage/cards/r/RegalUnicorn.java | 3 +- .../src/mage/cards/r/RegathanFirecat.java | 5 +- Mage.Sets/src/mage/cards/r/Regeneration.java | 2 +- Mage.Sets/src/mage/cards/r/RegisaurAlpha.java | 2 +- Mage.Sets/src/mage/cards/r/Regression.java | 136 +++--- .../src/mage/cards/r/ReinforcedBulwark.java | 3 +- .../src/mage/cards/r/ReinsOfTheVinesteed.java | 2 +- Mage.Sets/src/mage/cards/r/ReiverDemon.java | 3 +- .../cards/r/RekiTheHistoryOfKamigawa.java | 5 +- .../src/mage/cards/r/ReleaseTheGremlins.java | 156 +++---- .../src/mage/cards/r/RelentlessDead.java | 2 +- .../src/mage/cards/r/RelentlessHunter.java | 5 +- .../src/mage/cards/r/RelentlessRats.java | 2 +- .../src/mage/cards/r/RelentlessSkaabs.java | 3 +- Mage.Sets/src/mage/cards/r/RelicBane.java | 3 +- .../src/mage/cards/r/RelicPutrescence.java | 3 +- Mage.Sets/src/mage/cards/r/RelicSeeker.java | 4 +- Mage.Sets/src/mage/cards/r/RelicWard.java | 3 +- Mage.Sets/src/mage/cards/r/ReliefCaptain.java | 7 +- Mage.Sets/src/mage/cards/r/ReliquaryMonk.java | 7 +- Mage.Sets/src/mage/cards/r/RendclawTrow.java | 3 +- Mage.Sets/src/mage/cards/r/RenegadeDemon.java | 3 +- .../mage/cards/r/RenegadeDoppelganger.java | 3 +- .../src/mage/cards/r/RenegadeFirebrand.java | 4 +- .../src/mage/cards/r/RenegadeKrasis.java | 5 +- .../src/mage/cards/r/RenegadeRallier.java | 5 +- .../src/mage/cards/r/RenegadeTroops.java | 5 +- .../src/mage/cards/r/RenegadeWarlord.java | 5 +- .../src/mage/cards/r/RenegadeWheelsmith.java | 139 +++--- .../src/mage/cards/r/RenownedWeaponsmith.java | 5 +- .../src/mage/cards/r/RenownedWeaver.java | 5 +- Mage.Sets/src/mage/cards/r/Reparations.java | 228 ++++----- .../src/mage/cards/r/RepentantBlacksmith.java | 3 +- .../src/mage/cards/r/RepentantVampire.java | 3 +- .../src/mage/cards/r/RepublicFrigate.java | 123 ++--- Mage.Sets/src/mage/cards/r/Repurpose.java | 142 +++--- Mage.Sets/src/mage/cards/r/RequiemAngel.java | 2 +- Mage.Sets/src/mage/cards/r/Reroute.java | 142 +++--- .../src/mage/cards/r/ResearchAssistant.java | 5 +- .../src/mage/cards/r/ReservoirWalker.java | 3 +- .../src/mage/cards/r/ResilientKhenra.java | 5 +- .../src/mage/cards/r/ResilientWanderer.java | 5 +- .../src/mage/cards/r/ResistanceFighter.java | 5 +- .../src/mage/cards/r/ResoluteArchangel.java | 3 +- .../src/mage/cards/r/ResoluteBlademaster.java | 7 +- .../src/mage/cards/r/ResoluteSurvivors.java | 5 +- .../src/mage/cards/r/ResplendentMentor.java | 5 +- .../src/mage/cards/r/RestlessApparition.java | 3 +- Mage.Sets/src/mage/cards/r/RestlessBones.java | 3 +- Mage.Sets/src/mage/cards/r/RestlessDead.java | 3 +- .../src/mage/cards/r/RestorationAngel.java | 2 +- .../mage/cards/r/RestorationGearsmith.java | 5 +- .../mage/cards/r/RestorationSpecialist.java | 159 +++---- .../src/mage/cards/r/RetaliatorGriffin.java | 3 +- .../src/mage/cards/r/ReturnedCentaur.java | 5 +- .../src/mage/cards/r/ReturnedPhalanx.java | 5 +- .../src/mage/cards/r/ReturnedReveler.java | 5 +- Mage.Sets/src/mage/cards/r/Reveillark.java | 3 +- .../src/mage/cards/r/RevekaWizardSavant.java | 5 +- Mage.Sets/src/mage/cards/r/Revenant.java | 3 +- .../src/mage/cards/r/RevenantPatriarch.java | 3 +- Mage.Sets/src/mage/cards/r/Revenge.java | 258 +++++----- Mage.Sets/src/mage/cards/r/ReveredDead.java | 5 +- .../src/mage/cards/r/ReveredUnicorn.java | 3 +- .../src/mage/cards/r/ReverentHunter.java | 5 +- .../src/mage/cards/r/RevokePrivileges.java | 3 +- .../src/mage/cards/r/ReyaDawnbringer.java | 3 +- .../mage/cards/r/ReyhanLastOfTheAbzan.java | 5 +- .../src/mage/cards/r/RhetCropSpearmaster.java | 5 +- .../mage/cards/r/RhonasTheIndomitable.java | 2 +- .../src/mage/cards/r/RhonassStalwart.java | 5 +- Mage.Sets/src/mage/cards/r/Rhox.java | 5 +- Mage.Sets/src/mage/cards/r/RhoxBodyguard.java | 7 +- Mage.Sets/src/mage/cards/r/RhoxBrute.java | 5 +- Mage.Sets/src/mage/cards/r/RhoxCharger.java | 5 +- .../src/mage/cards/r/RhoxFaithmender.java | 5 +- Mage.Sets/src/mage/cards/r/RhoxMaulers.java | 5 +- Mage.Sets/src/mage/cards/r/RhoxMeditant.java | 5 +- .../src/mage/cards/r/RhoxPikemaster.java | 4 +- Mage.Sets/src/mage/cards/r/RhoxWarMonk.java | 5 +- Mage.Sets/src/mage/cards/r/RhysTheExiled.java | 4 +- .../src/mage/cards/r/RhysTheRedeemed.java | 5 +- Mage.Sets/src/mage/cards/r/RibCageSpider.java | 3 +- Mage.Sets/src/mage/cards/r/RibbonSnake.java | 3 +- .../src/mage/cards/r/RibbonsOfTheReikai.java | 2 +- Mage.Sets/src/mage/cards/r/Riddleform.java | 3 +- Mage.Sets/src/mage/cards/r/Riddlekeeper.java | 3 +- Mage.Sets/src/mage/cards/r/Riddlesmith.java | 5 +- .../src/mage/cards/r/RidersOfGavony.java | 4 +- Mage.Sets/src/mage/cards/r/RidgeRannet.java | 3 +- Mage.Sets/src/mage/cards/r/RidgedKusite.java | 5 +- .../src/mage/cards/r/RidgelineRager.java | 3 +- .../src/mage/cards/r/RidgescaleTusker.java | 3 +- Mage.Sets/src/mage/cards/r/RidingRonto.java | 153 +++--- Mage.Sets/src/mage/cards/r/RiftElemental.java | 3 +- .../src/mage/cards/r/RiftmarkedKnight.java | 7 +- Mage.Sets/src/mage/cards/r/Riftsweeper.java | 5 +- .../src/mage/cards/r/RiftwingCloudskate.java | 3 +- .../src/mage/cards/r/RighteousAuthority.java | 2 +- .../src/mage/cards/r/RighteousAvengers.java | 5 +- .../mage/cards/r/RikuOfTwoReflections.java | 5 +- Mage.Sets/src/mage/cards/r/RimeDryad.java | 2 +- .../src/mage/cards/r/RimeTransfusion.java | 2 +- Mage.Sets/src/mage/cards/r/RimeboundDead.java | 3 +- .../src/mage/cards/r/RimewindCryomancer.java | 5 +- .../src/mage/cards/r/RimewindTaskmage.java | 5 +- .../src/mage/cards/r/RingOfEvosIsle.java | 3 +- Mage.Sets/src/mage/cards/r/RingOfKalonia.java | 2 +- Mage.Sets/src/mage/cards/r/RingOfThune.java | 2 +- Mage.Sets/src/mage/cards/r/RingOfValkas.java | 2 +- Mage.Sets/src/mage/cards/r/RingOfXathrid.java | 2 +- Mage.Sets/src/mage/cards/r/Ringskipper.java | 5 +- Mage.Sets/src/mage/cards/r/RingwardenOwl.java | 3 +- Mage.Sets/src/mage/cards/r/RiotDevils.java | 3 +- Mage.Sets/src/mage/cards/r/RiotGear.java | 3 +- Mage.Sets/src/mage/cards/r/RiotPiker.java | 5 +- .../src/mage/cards/r/RiotRingleader.java | 4 +- Mage.Sets/src/mage/cards/r/RiotSpikes.java | 2 +- .../src/mage/cards/r/RipClanCrasher.java | 5 +- Mage.Sets/src/mage/cards/r/RiparianTiger.java | 3 +- Mage.Sets/src/mage/cards/r/RipjawRaptor.java | 3 +- .../src/mage/cards/r/RiptideBiologist.java | 4 +- .../src/mage/cards/r/RiptideChimera.java | 3 +- .../src/mage/cards/r/RiptideChronologist.java | 4 +- Mage.Sets/src/mage/cards/r/RiptideCrab.java | 3 +- .../src/mage/cards/r/RiptideDirector.java | 4 +- .../src/mage/cards/r/RiptideEntrancer.java | 5 +- .../src/mage/cards/r/RiptidePilferer.java | 5 +- .../src/mage/cards/r/RiptideShapeshifter.java | 3 +- .../src/mage/cards/r/RiptideSurvivor.java | 5 +- .../src/mage/cards/r/RisenExecutioner.java | 4 +- .../src/mage/cards/r/RisenSanctuary.java | 3 +- .../src/mage/cards/r/RishadanAirship.java | 5 +- .../src/mage/cards/r/RishadanBrigand.java | 5 +- .../src/mage/cards/r/RishadanCutpurse.java | 5 +- .../src/mage/cards/r/RishadanFootpad.java | 5 +- .../mage/cards/r/RishkarPeemaRenegade.java | 5 +- .../src/mage/cards/r/RithTheAwakener.java | 3 +- .../src/mage/cards/r/RithsAttendant.java | 3 +- Mage.Sets/src/mage/cards/r/RitualOfSteel.java | 3 +- Mage.Sets/src/mage/cards/r/RivenTurnbull.java | 5 +- Mage.Sets/src/mage/cards/r/RiverBear.java | 3 +- Mage.Sets/src/mage/cards/r/RiverBoa.java | 3 +- Mage.Sets/src/mage/cards/r/RiverHoopoe.java | 3 +- Mage.Sets/src/mage/cards/r/RiverKaijin.java | 3 +- Mage.Sets/src/mage/cards/r/RiverKelpie.java | 3 +- Mage.Sets/src/mage/cards/r/RiverMerfolk.java | 3 +- Mage.Sets/src/mage/cards/r/RiverSerpent.java | 3 +- .../src/mage/cards/r/RiverfallMimic.java | 3 +- .../mage/cards/r/RiverwheelAerialists.java | 5 +- .../src/mage/cards/r/RixMaadiGuildmage.java | 5 +- .../src/mage/cards/r/RoaringPrimadox.java | 3 +- .../src/mage/cards/r/RoaringSlagwurm.java | 3 +- Mage.Sets/src/mage/cards/r/RobeOfMirrors.java | 2 +- Mage.Sets/src/mage/cards/r/RocEgg.java | 3 +- Mage.Sets/src/mage/cards/r/RocHatchling.java | 3 +- .../src/mage/cards/r/RocOfKherRidges.java | 3 +- Mage.Sets/src/mage/cards/r/RockBadger.java | 5 +- Mage.Sets/src/mage/cards/r/RockBasilisk.java | 2 +- Mage.Sets/src/mage/cards/r/RockHydra.java | 3 +- .../src/mage/cards/r/RockcasterPlatoon.java | 5 +- Mage.Sets/src/mage/cards/r/RocketTrooper.java | 158 +++---- .../src/mage/cards/r/RockshardElemental.java | 3 +- .../src/mage/cards/r/RockslideElemental.java | 3 +- .../cards/r/RofellosLlanowarEmissary.java | 4 +- Mage.Sets/src/mage/cards/r/RogueElephant.java | 2 +- Mage.Sets/src/mage/cards/r/RogueKavu.java | 3 +- Mage.Sets/src/mage/cards/r/RogueRefiner.java | 5 +- Mage.Sets/src/mage/cards/r/RoguesGloves.java | 3 +- Mage.Sets/src/mage/cards/r/RoilElemental.java | 2 +- Mage.Sets/src/mage/cards/r/RoilingHorror.java | 3 +- .../src/mage/cards/r/RoninCavekeeper.java | 5 +- .../src/mage/cards/r/RoninCliffrider.java | 5 +- .../src/mage/cards/r/RoninHoundmaster.java | 5 +- Mage.Sets/src/mage/cards/r/RoninWarclub.java | 3 +- Mage.Sets/src/mage/cards/r/RonomHulk.java | 3 +- Mage.Sets/src/mage/cards/r/RonomUnicorn.java | 3 +- .../src/mage/cards/r/RoofstalkerWight.java | 3 +- .../mage/cards/r/RoonOfTheHiddenRealm.java | 5 +- Mage.Sets/src/mage/cards/r/RootElemental.java | 3 +- Mage.Sets/src/mage/cards/r/RootGreevil.java | 3 +- Mage.Sets/src/mage/cards/r/RootKinAlly.java | 5 +- Mage.Sets/src/mage/cards/r/RootSliver.java | 2 +- Mage.Sets/src/mage/cards/r/RootSpider.java | 3 +- .../src/mage/cards/r/RootbreakerWurm.java | 3 +- Mage.Sets/src/mage/cards/r/Rootgrapple.java | 2 +- Mage.Sets/src/mage/cards/r/RootingKavu.java | 3 +- Mage.Sets/src/mage/cards/r/Rootrunner.java | 3 +- Mage.Sets/src/mage/cards/r/Roots.java | 3 +- Mage.Sets/src/mage/cards/r/Rootwalla.java | 3 +- .../src/mage/cards/r/RootwaterAlligator.java | 2 +- .../src/mage/cards/r/RootwaterCommando.java | 3 +- .../src/mage/cards/r/RootwaterDiver.java | 3 +- .../src/mage/cards/r/RootwaterHunter.java | 3 +- .../src/mage/cards/r/RootwaterMatriarch.java | 3 +- .../src/mage/cards/r/RootwaterMystic.java | 5 +- .../src/mage/cards/r/RootwaterThief.java | 5 +- .../src/mage/cards/r/RorixBladewing.java | 3 +- .../src/mage/cards/r/RosheenMeanderer.java | 5 +- .../src/mage/cards/r/RotFarmSkeleton.java | 5 +- Mage.Sets/src/mage/cards/r/RotShambler.java | 3 +- Mage.Sets/src/mage/cards/r/RotWolf.java | 3 +- Mage.Sets/src/mage/cards/r/RotcrownGhoul.java | 3 +- Mage.Sets/src/mage/cards/r/Roterothopter.java | 3 +- .../src/mage/cards/r/RotfeasterMaggot.java | 3 +- .../src/mage/cards/r/RotlungReanimator.java | 4 +- Mage.Sets/src/mage/cards/r/RottedHulk.java | 3 +- Mage.Sets/src/mage/cards/r/RottedHystrix.java | 3 +- .../src/mage/cards/r/RottenheartGhoul.java | 3 +- .../src/mage/cards/r/RottingFensnake.java | 5 +- Mage.Sets/src/mage/cards/r/RottingGiant.java | 5 +- Mage.Sets/src/mage/cards/r/RottingLegion.java | 3 +- .../src/mage/cards/r/RottingMastodon.java | 5 +- Mage.Sets/src/mage/cards/r/RottingRats.java | 5 +- .../src/mage/cards/r/RoughshodMentor.java | 5 +- Mage.Sets/src/mage/cards/r/RowanTreefolk.java | 3 +- Mage.Sets/src/mage/cards/r/RowdyCrew.java | 5 +- Mage.Sets/src/mage/cards/r/RoyalAssassin.java | 5 +- Mage.Sets/src/mage/cards/r/RoyalFalcon.java | 3 +- .../src/mage/cards/r/RoyalHerbalist.java | 5 +- Mage.Sets/src/mage/cards/r/RoyalTrooper.java | 5 +- .../src/mage/cards/r/RubblebackRhino.java | 3 +- .../src/mage/cards/r/RubblebeltMaaka.java | 3 +- .../src/mage/cards/r/RubblebeltRaiders.java | 5 +- Mage.Sets/src/mage/cards/r/Rubblehulk.java | 3 +- .../src/mage/cards/r/RubiniaSoulsinger.java | 3 +- Mage.Sets/src/mage/cards/r/RubyLeech.java | 3 +- Mage.Sets/src/mage/cards/r/RuhamDjinn.java | 3 +- .../src/mage/cards/r/RuhanOfTheFomori.java | 5 +- Mage.Sets/src/mage/cards/r/RuinGhost.java | 3 +- Mage.Sets/src/mage/cards/r/RuinProcessor.java | 5 +- Mage.Sets/src/mage/cards/r/RuinRaider.java | 5 +- Mage.Sets/src/mage/cards/r/RuinRat.java | 3 +- .../src/mage/cards/r/RuinationGuide.java | 5 +- Mage.Sets/src/mage/cards/r/RuinationWurm.java | 3 +- .../src/mage/cards/r/RuinousGremlin.java | 3 +- .../src/mage/cards/r/RuinousMinotaur.java | 5 +- Mage.Sets/src/mage/cards/r/RukhEgg.java | 3 +- Mage.Sets/src/mage/cards/r/RuleOfTwo.java | 164 +++---- .../src/mage/cards/r/RumblingBaloth.java | 3 +- Mage.Sets/src/mage/cards/r/RumblingSlum.java | 3 +- .../src/mage/cards/r/RummagingGoblin.java | 5 +- .../src/mage/cards/r/RummagingWizard.java | 5 +- Mage.Sets/src/mage/cards/r/RumorMonger.java | 151 +++--- Mage.Sets/src/mage/cards/r/RunWild.java | 146 +++--- .../src/mage/cards/r/RunawayCarriage.java | 3 +- .../src/mage/cards/r/RuneCervinRider.java | 5 +- .../src/mage/cards/r/RuneScarredDemon.java | 3 +- .../cards/r/RuneTailKitsuneAscendant.java | 5 +- .../src/mage/cards/r/RunechantersPike.java | 2 +- Mage.Sets/src/mage/cards/r/RuneclawBear.java | 3 +- Mage.Sets/src/mage/cards/r/RunedServitor.java | 3 +- .../src/mage/cards/r/RunedStalactite.java | 3 +- .../src/mage/cards/r/RunehornHellkite.java | 3 +- .../src/mage/cards/r/RunesOfTheDeus.java | 3 +- Mage.Sets/src/mage/cards/r/Runewing.java | 3 +- Mage.Sets/src/mage/cards/r/RunnersBane.java | 3 +- .../src/mage/cards/r/RuricTharTheUnbowed.java | 5 +- .../src/mage/cards/r/RushingTideZubera.java | 5 +- Mage.Sets/src/mage/cards/r/RushwoodDryad.java | 3 +- .../src/mage/cards/r/RushwoodElemental.java | 135 +++--- .../src/mage/cards/r/RushwoodHerbalist.java | 5 +- .../src/mage/cards/r/RushwoodLegate.java | 2 +- Mage.Sets/src/mage/cards/r/RussetWolves.java | 3 +- Mage.Sets/src/mage/cards/r/RustElemental.java | 3 +- Mage.Sets/src/mage/cards/r/RustScarab.java | 3 +- Mage.Sets/src/mage/cards/r/RustTick.java | 3 +- Mage.Sets/src/mage/cards/r/RustedRelic.java | 3 +- .../src/mage/cards/r/RustedSentinel.java | 3 +- Mage.Sets/src/mage/cards/r/RustedSlasher.java | 3 +- Mage.Sets/src/mage/cards/r/RustingGolem.java | 3 +- Mage.Sets/src/mage/cards/r/RustmouthOgre.java | 3 +- .../src/mage/cards/r/RustrazorButcher.java | 5 +- Mage.Sets/src/mage/cards/r/RustsporeRam.java | 2 +- .../src/mage/cards/r/RuthlessCullblade.java | 5 +- .../src/mage/cards/r/RuthlessDeathfang.java | 3 +- .../src/mage/cards/r/RuthlessRipper.java | 5 +- .../src/mage/cards/r/RuthlessSniper.java | 5 +- .../mage/cards/r/RyuseiTheFallingStar.java | 5 +- Mage.Sets/src/mage/cards/s/SabaccGame.java | 268 +++++------ Mage.Sets/src/mage/cards/s/SaberAnts.java | 3 +- .../src/mage/cards/s/SaberclawGolem.java | 3 +- .../src/mage/cards/s/SabertoothAlleyCat.java | 163 +++---- .../src/mage/cards/s/SabertoothCobra.java | 3 +- .../src/mage/cards/s/SabertoothNishoba.java | 7 +- .../src/mage/cards/s/SabertoothOutrider.java | 5 +- .../src/mage/cards/s/SabertoothWyvern.java | 3 +- .../src/mage/cards/s/SabretoothTiger.java | 3 +- .../src/mage/cards/s/SacellumArchers.java | 5 +- .../src/mage/cards/s/SacellumGodspeaker.java | 5 +- .../mage/cards/s/SachiDaughterOfSeshiro.java | 4 +- Mage.Sets/src/mage/cards/s/SacredCat.java | 3 +- Mage.Sets/src/mage/cards/s/SacredFoundry.java | 5 +- Mage.Sets/src/mage/cards/s/SacredGuide.java | 159 +++---- Mage.Sets/src/mage/cards/s/SacredKnight.java | 5 +- Mage.Sets/src/mage/cards/s/SacredPrey.java | 3 +- Mage.Sets/src/mage/cards/s/SacredWolf.java | 3 +- .../src/mage/cards/s/SaddlebackLagac.java | 3 +- .../src/mage/cards/s/SadisticAugermage.java | 5 +- Mage.Sets/src/mage/cards/s/SadisticGlee.java | 3 +- .../src/mage/cards/s/SadisticHypnotist.java | 5 +- Mage.Sets/src/mage/cards/s/SafeholdDuo.java | 7 +- Mage.Sets/src/mage/cards/s/SafeholdElite.java | 5 +- .../src/mage/cards/s/SafeholdSentry.java | 5 +- .../src/mage/cards/s/SaffiEriksdotter.java | 4 +- Mage.Sets/src/mage/cards/s/SageAven.java | 5 +- .../src/mage/cards/s/SageEyeAvengers.java | 5 +- .../src/mage/cards/s/SageEyeHarrier.java | 5 +- .../src/mage/cards/s/SageOfAncientLore.java | 7 +- Mage.Sets/src/mage/cards/s/SageOfEpityr.java | 5 +- Mage.Sets/src/mage/cards/s/SageOfFables.java | 4 +- Mage.Sets/src/mage/cards/s/SageOfHours.java | 5 +- Mage.Sets/src/mage/cards/s/SageOfLatNam.java | 5 +- .../src/mage/cards/s/SageOfShailasClaim.java | 5 +- .../src/mage/cards/s/SageOfTheInwardEye.java | 5 +- Mage.Sets/src/mage/cards/s/SageOwl.java | 3 +- Mage.Sets/src/mage/cards/s/SagesDousing.java | 2 +- .../src/mage/cards/s/SagesOfTheAnima.java | 5 +- Mage.Sets/src/mage/cards/s/SagesReverie.java | 2 +- .../src/mage/cards/s/SagesRowDenizen.java | 5 +- Mage.Sets/src/mage/cards/s/SaguArcher.java | 5 +- Mage.Sets/src/mage/cards/s/SaguMauler.java | 3 +- Mage.Sets/src/mage/cards/s/SaheeliRai.java | 3 +- .../src/mage/cards/s/SaiOfTheShinobi.java | 3 +- .../mage/cards/s/SakashimaTheImpostor.java | 5 +- .../src/mage/cards/s/SakashimasStudent.java | 5 +- .../mage/cards/s/SakikoMotherOfSummer.java | 5 +- .../src/mage/cards/s/SakuraTribeElder.java | 5 +- .../src/mage/cards/s/SakuraTribeScout.java | 7 +- .../mage/cards/s/SakuraTribeSpringcaller.java | 5 +- .../src/mage/cards/s/SalivatingGremlins.java | 155 +++--- .../src/mage/cards/s/SaltRoadAmbushers.java | 5 +- .../src/mage/cards/s/SaltRoadPatrol.java | 5 +- .../mage/cards/s/SaltRoadQuartermasters.java | 5 +- .../src/mage/cards/s/SaltfieldRecluse.java | 7 +- Mage.Sets/src/mage/cards/s/Saltskitter.java | 3 +- Mage.Sets/src/mage/cards/s/SalvageDrone.java | 5 +- Mage.Sets/src/mage/cards/s/SalvageScout.java | 5 +- .../src/mage/cards/s/SalvageScuttler.java | 3 +- .../src/mage/cards/s/SalvageSlasher.java | 5 +- Mage.Sets/src/mage/cards/s/SalvageSquad.java | 141 +++--- Mage.Sets/src/mage/cards/s/SalvageTitan.java | 3 +- Mage.Sets/src/mage/cards/s/SamiteArcher.java | 7 +- Mage.Sets/src/mage/cards/s/SamiteElder.java | 5 +- Mage.Sets/src/mage/cards/s/SamiteHealer.java | 5 +- Mage.Sets/src/mage/cards/s/SamitePilgrim.java | 4 +- .../src/mage/cards/s/SamuraiEnforcers.java | 5 +- .../mage/cards/s/SamuraiOfThePaleCurtain.java | 5 +- .../src/mage/cards/s/SamutTheTested.java | 3 +- .../src/mage/cards/s/SamutVoiceOfDissent.java | 215 ++++----- .../src/mage/cards/s/SanctifierOfSouls.java | 5 +- Mage.Sets/src/mage/cards/s/SanctuaryCat.java | 3 +- .../src/mage/cards/s/SanctumCustodian.java | 5 +- .../src/mage/cards/s/SanctumGargoyle.java | 3 +- .../src/mage/cards/s/SanctumGuardian.java | 5 +- .../src/mage/cards/s/SanctumPlowbeast.java | 3 +- .../src/mage/cards/s/SanctumPrelate.java | 4 +- Mage.Sets/src/mage/cards/s/SanctumSeeker.java | 4 +- Mage.Sets/src/mage/cards/s/SandSquid.java | 5 +- Mage.Sets/src/mage/cards/s/SandStrangler.java | 2 +- Mage.Sets/src/mage/cards/s/SandTrooper.java | 152 +++--- .../src/mage/cards/s/SandbarCrocodile.java | 3 +- .../src/mage/cards/s/SandbarMerfolk.java | 3 +- .../src/mage/cards/s/SandbarSerpent.java | 3 +- .../src/mage/cards/s/SandcrafterMage.java | 5 +- Mage.Sets/src/mage/cards/s/Sandsower.java | 3 +- .../src/mage/cards/s/SandsteppeMastodon.java | 3 +- .../src/mage/cards/s/SandsteppeOutcast.java | 5 +- .../src/mage/cards/s/SandsteppeScavenger.java | 5 +- .../src/mage/cards/s/SandstoneOracle.java | 3 +- .../src/mage/cards/s/SandstoneWarrior.java | 6 +- .../src/mage/cards/s/SandstormCharger.java | 3 +- .../src/mage/cards/s/SandstormEidolon.java | 3 +- .../src/mage/cards/s/SangriteBacklash.java | 3 +- Mage.Sets/src/mage/cards/s/Sangromancer.java | 5 +- Mage.Sets/src/mage/cards/s/Sangrophage.java | 3 +- .../src/mage/cards/s/SanguinaryMage.java | 5 +- Mage.Sets/src/mage/cards/s/SanguineGuard.java | 5 +- .../src/mage/cards/s/SanguinePraetor.java | 5 +- .../src/mage/cards/s/SanitariumSkeleton.java | 3 +- Mage.Sets/src/mage/cards/s/SanityGnawers.java | 3 +- .../src/mage/cards/s/SaplingOfColfenor.java | 5 +- Mage.Sets/src/mage/cards/s/SapphireDrake.java | 2 +- Mage.Sets/src/mage/cards/s/SapphireLeech.java | 3 +- Mage.Sets/src/mage/cards/s/SaprazzanHeir.java | 3 +- .../src/mage/cards/s/SaprazzanLegate.java | 4 +- .../src/mage/cards/s/SaprazzanRaider.java | 3 +- Mage.Sets/src/mage/cards/s/SapseepForest.java | 3 +- Mage.Sets/src/mage/cards/s/Sarcatog.java | 3 +- Mage.Sets/src/mage/cards/s/SarcomiteMyr.java | 3 +- .../mage/cards/s/SarkhanTheDragonspeaker.java | 2 +- Mage.Sets/src/mage/cards/s/SarkhanTheMad.java | 2 +- .../src/mage/cards/s/SarkhanUnbroken.java | 2 +- Mage.Sets/src/mage/cards/s/SarkhanVol.java | 3 +- Mage.Sets/src/mage/cards/s/SarlaccPit.java | 185 ++++---- .../src/mage/cards/s/SaruliGatekeepers.java | 4 +- .../mage/cards/s/SasayaOrochiAscendant.java | 4 +- .../src/mage/cards/s/SaskiaTheUnyielding.java | 5 +- .../src/mage/cards/s/SatyrFiredancer.java | 3 +- .../src/mage/cards/s/SatyrGrovedancer.java | 5 +- Mage.Sets/src/mage/cards/s/SatyrHedonist.java | 3 +- Mage.Sets/src/mage/cards/s/SatyrHoplite.java | 5 +- Mage.Sets/src/mage/cards/s/SatyrNyxSmith.java | 5 +- Mage.Sets/src/mage/cards/s/SatyrPiper.java | 5 +- Mage.Sets/src/mage/cards/s/SatyrRambler.java | 3 +- .../src/mage/cards/s/SatyrWayfinder.java | 3 +- Mage.Sets/src/mage/cards/s/SavaenElves.java | 2 +- Mage.Sets/src/mage/cards/s/SavageFirecat.java | 5 +- Mage.Sets/src/mage/cards/s/SavageGorilla.java | 3 +- Mage.Sets/src/mage/cards/s/SavageHunger.java | 3 +- .../src/mage/cards/s/SavageKnuckleblade.java | 5 +- .../src/mage/cards/s/SavageSilhouette.java | 3 +- Mage.Sets/src/mage/cards/s/SavageThallid.java | 2 +- Mage.Sets/src/mage/cards/s/SavageVentmaw.java | 3 +- .../src/mage/cards/s/SavagebornHydra.java | 3 +- Mage.Sets/src/mage/cards/s/Savannah.java | 5 +- Mage.Sets/src/mage/cards/s/SavannahLions.java | 3 +- Mage.Sets/src/mage/cards/s/SavingGrace.java | 3 +- .../mage/cards/s/SavraQueenOfTheGolgari.java | 5 +- Mage.Sets/src/mage/cards/s/SawtoothLoon.java | 3 +- .../src/mage/cards/s/SawtoothThresher.java | 3 +- .../src/mage/cards/s/ScabClanBerserker.java | 5 +- .../src/mage/cards/s/ScabClanCharger.java | 5 +- Mage.Sets/src/mage/cards/s/ScabClanGiant.java | 5 +- .../src/mage/cards/s/ScabClanMauler.java | 5 +- Mage.Sets/src/mage/cards/s/ScaldingDevil.java | 3 +- Mage.Sets/src/mage/cards/s/Scaldkin.java | 3 +- .../src/mage/cards/s/ScalebanesElite.java | 5 +- .../src/mage/cards/s/ScaledBehemoth.java | 3 +- Mage.Sets/src/mage/cards/s/ScaledHulk.java | 3 +- Mage.Sets/src/mage/cards/s/ScaledWurm.java | 3 +- .../src/mage/cards/s/ScaleguardSentinels.java | 4 +- .../src/mage/cards/s/ScalelordReckoner.java | 2 +- Mage.Sets/src/mage/cards/s/Scalpelexis.java | 3 +- .../src/mage/cards/s/ScarbladeElite.java | 4 +- Mage.Sets/src/mage/cards/s/ScareTactics.java | 114 ++--- Mage.Sets/src/mage/cards/s/Scarecrone.java | 2 +- .../src/mage/cards/s/ScarlandThrinax.java | 3 +- Mage.Sets/src/mage/cards/s/ScarredPuma.java | 3 +- .../src/mage/cards/s/ScarredVinebreeder.java | 4 +- .../src/mage/cards/s/ScarwoodGoblins.java | 3 +- Mage.Sets/src/mage/cards/s/ScarwoodHag.java | 3 +- .../src/mage/cards/s/ScarwoodTreefolk.java | 3 +- Mage.Sets/src/mage/cards/s/ScatheZombies.java | 3 +- .../src/mage/cards/s/ScatteredGroves.java | 5 +- .../src/mage/cards/s/ScattershotArcher.java | 5 +- .../src/mage/cards/s/ScavengedWeaponry.java | 3 +- .../src/mage/cards/s/ScavengerDrake.java | 3 +- Mage.Sets/src/mage/cards/s/ScavengerFolk.java | 3 +- .../src/mage/cards/s/ScavengerGrounds.java | 2 +- .../src/mage/cards/s/ScavengingGhoul.java | 3 +- .../src/mage/cards/s/ScavengingOoze.java | 3 +- .../src/mage/cards/s/ScavengingScarab.java | 3 +- .../src/mage/cards/s/ScholarOfAthreos.java | 5 +- .../src/mage/cards/s/SchoolOfPiranha.java | 3 +- .../src/mage/cards/s/ScionOfDarkness.java | 3 +- .../src/mage/cards/s/ScionOfGlaciers.java | 3 +- Mage.Sets/src/mage/cards/s/ScionOfOona.java | 4 +- .../src/mage/cards/s/ScionOfTheUrDragon.java | 4 +- .../src/mage/cards/s/ScionOfTheWild.java | 3 +- Mage.Sets/src/mage/cards/s/ScionOfUgin.java | 5 +- .../src/mage/cards/s/ScionOfVituGhazi.java | 3 +- Mage.Sets/src/mage/cards/s/ScionSummoner.java | 5 +- .../src/mage/cards/s/ScorchedRusalka.java | 3 +- Mage.Sets/src/mage/cards/s/Scorchwalker.java | 3 +- Mage.Sets/src/mage/cards/s/ScoriaCat.java | 3 +- .../src/mage/cards/s/ScoriaElemental.java | 3 +- Mage.Sets/src/mage/cards/s/ScoriaWurm.java | 3 +- .../src/mage/cards/s/ScornedVillager.java | 5 +- .../src/mage/cards/s/ScornfulAetherLich.java | 5 +- .../src/mage/cards/s/ScornfulEgotist.java | 5 +- Mage.Sets/src/mage/cards/s/ScourgeDevil.java | 3 +- .../src/mage/cards/s/ScourgeOfFleets.java | 2 +- .../src/mage/cards/s/ScourgeOfGeierReach.java | 3 +- .../src/mage/cards/s/ScourgeOfKherRidges.java | 3 +- .../src/mage/cards/s/ScourgeOfNelToth.java | 5 +- .../src/mage/cards/s/ScourgeOfNumai.java | 4 +- .../src/mage/cards/s/ScourgeOfSkolaVale.java | 3 +- .../src/mage/cards/s/ScourgeOfTheNobilis.java | 3 +- .../src/mage/cards/s/ScourgeOfTheThrone.java | 3 +- .../src/mage/cards/s/ScourgeOfValkas.java | 2 +- .../src/mage/cards/s/ScourgeServant.java | 3 +- Mage.Sets/src/mage/cards/s/ScourgeWolf.java | 5 +- Mage.Sets/src/mage/cards/s/Scourgemark.java | 3 +- .../src/mage/cards/s/ScoutThePerimeter.java | 138 +++--- Mage.Sets/src/mage/cards/s/ScoutTrooper.java | 152 +++--- Mage.Sets/src/mage/cards/s/Scragnoth.java | 3 +- Mage.Sets/src/mage/cards/s/ScrapTrawler.java | 3 +- Mage.Sets/src/mage/cards/s/Scrapbasket.java | 3 +- .../src/mage/cards/s/ScrapdiverSerpent.java | 3 +- .../src/mage/cards/s/ScrapheapScrounger.java | 165 +++---- .../src/mage/cards/s/ScrapperChampion.java | 5 +- .../src/mage/cards/s/ScrapskinDrake.java | 5 +- .../src/mage/cards/s/ScrapyardMongrel.java | 3 +- .../src/mage/cards/s/ScreamingSeahawk.java | 3 +- .../src/mage/cards/s/ScreamreachBrawler.java | 5 +- .../src/mage/cards/s/ScreamsFromWithin.java | 3 +- Mage.Sets/src/mage/cards/s/ScreechingBat.java | 3 +- .../src/mage/cards/s/ScreechingBuzzard.java | 3 +- .../src/mage/cards/s/ScreechingDrake.java | 3 +- .../src/mage/cards/s/ScreechingGriffin.java | 3 +- .../src/mage/cards/s/ScreechingHarpy.java | 5 +- .../src/mage/cards/s/ScreechingSilcaw.java | 3 +- .../src/mage/cards/s/ScreechingSkaab.java | 3 +- .../src/mage/cards/s/ScreechingSliver.java | 2 +- Mage.Sets/src/mage/cards/s/ScribNibblers.java | 3 +- .../src/mage/cards/s/ScribeOfTheMindful.java | 5 +- Mage.Sets/src/mage/cards/s/Scrivener.java | 5 +- Mage.Sets/src/mage/cards/s/ScrollThief.java | 5 +- .../src/mage/cards/s/ScroungedScythe.java | 2 +- .../src/mage/cards/s/ScroungerOfSouls.java | 3 +- .../src/mage/cards/s/ScroungingBandar.java | 255 +++++----- Mage.Sets/src/mage/cards/s/Scrubland.java | 5 +- Mage.Sets/src/mage/cards/s/ScrybRanger.java | 2 +- Mage.Sets/src/mage/cards/s/ScrybSprites.java | 3 +- Mage.Sets/src/mage/cards/s/ScuteMob.java | 3 +- Mage.Sets/src/mage/cards/s/Scuttlemutt.java | 3 +- .../src/mage/cards/s/ScuttlingDeath.java | 3 +- .../src/mage/cards/s/ScuttlingDoomEngine.java | 3 +- .../src/mage/cards/s/ScuzzbackMarauders.java | 5 +- .../src/mage/cards/s/ScuzzbackScrapper.java | 5 +- Mage.Sets/src/mage/cards/s/ScytheLeopard.java | 3 +- .../src/mage/cards/s/ScytheOfTheWretched.java | 3 +- Mage.Sets/src/mage/cards/s/ScytheSpecter.java | 301 ++++++------ Mage.Sets/src/mage/cards/s/ScytheTiger.java | 3 +- Mage.Sets/src/mage/cards/s/Scytheclaw.java | 3 +- Mage.Sets/src/mage/cards/s/SeaDrake.java | 3 +- Mage.Sets/src/mage/cards/s/SeaEagle.java | 3 +- .../src/mage/cards/s/SeaGateLoremaster.java | 6 +- Mage.Sets/src/mage/cards/s/SeaGateOracle.java | 5 +- Mage.Sets/src/mage/cards/s/SeaMonster.java | 2 +- Mage.Sets/src/mage/cards/s/SeaScryer.java | 5 +- Mage.Sets/src/mage/cards/s/SeaSerpent.java | 2 +- Mage.Sets/src/mage/cards/s/SeaSnidd.java | 3 +- Mage.Sets/src/mage/cards/s/SeaSpirit.java | 5 +- Mage.Sets/src/mage/cards/s/SeaSprite.java | 3 +- Mage.Sets/src/mage/cards/s/SeacoastDrake.java | 3 +- Mage.Sets/src/mage/cards/s/SeagrafSkaab.java | 3 +- Mage.Sets/src/mage/cards/s/Seahunter.java | 4 +- .../src/mage/cards/s/SealockMonster.java | 2 +- .../src/mage/cards/s/SearchlightGeist.java | 3 +- .../src/mage/cards/s/SearingSpearAskari.java | 5 +- Mage.Sets/src/mage/cards/s/SeasClaim.java | 2 +- .../src/mage/cards/s/SeascapeAerialist.java | 6 +- Mage.Sets/src/mage/cards/s/Seasinger.java | 2 +- .../src/mage/cards/s/SeasonedMarshal.java | 5 +- .../src/mage/cards/s/SeasonedTactician.java | 5 +- Mage.Sets/src/mage/cards/s/SecondWind.java | 3 +- Mage.Sets/src/mage/cards/s/Secretkeeper.java | 3 +- .../src/mage/cards/s/SecurityBlockade.java | 3 +- Mage.Sets/src/mage/cards/s/SecurityDroid.java | 135 +++--- Mage.Sets/src/mage/cards/s/SedgeScorpion.java | 3 +- Mage.Sets/src/mage/cards/s/SedgeSliver.java | 2 +- Mage.Sets/src/mage/cards/s/SedgeTroll.java | 2 +- .../src/mage/cards/s/SedraxisAlchemist.java | 5 +- .../src/mage/cards/s/SedraxisSpecter.java | 3 +- .../mage/cards/s/SedrisTheTraitorKing.java | 4 +- Mage.Sets/src/mage/cards/s/SeedGuardian.java | 3 +- Mage.Sets/src/mage/cards/s/SeedbornMuse.java | 3 +- .../src/mage/cards/s/SeedcradleWitch.java | 5 +- Mage.Sets/src/mage/cards/s/SeedguideAsh.java | 4 +- .../src/mage/cards/s/SeedsOfInnocence.java | 194 ++++---- .../src/mage/cards/s/SeedsOfStrength.java | 148 +++--- .../src/mage/cards/s/SeekerOfInsight.java | 5 +- .../src/mage/cards/s/SeekerOfSkybreak.java | 3 +- .../src/mage/cards/s/SeekerOfTheWay.java | 5 +- .../mage/cards/s/SeerOfTheLastTomorrow.java | 5 +- .../src/mage/cards/s/SeethingPathblazer.java | 4 +- .../src/mage/cards/s/SegmentedKrotiq.java | 3 +- Mage.Sets/src/mage/cards/s/SegmentedWurm.java | 3 +- .../src/mage/cards/s/SegovianLeviathan.java | 3 +- .../src/mage/cards/s/SeismicElemental.java | 3 +- Mage.Sets/src/mage/cards/s/SeismicMage.java | 5 +- .../mage/cards/s/SeizanPerverterOfTruth.java | 5 +- Mage.Sets/src/mage/cards/s/Seizures.java | 3 +- Mage.Sets/src/mage/cards/s/SejiriMerfolk.java | 4 +- .../src/mage/cards/s/SekKuarDeathkeeper.java | 5 +- .../src/mage/cards/s/SekkiSeasonsGuide.java | 2 +- .../src/mage/cards/s/SeleniaDarkAngel.java | 3 +- .../src/mage/cards/s/SelesnyaEvangel.java | 5 +- .../src/mage/cards/s/SelesnyaGuildmage.java | 5 +- .../src/mage/cards/s/SelesnyaKeyrune.java | 3 +- .../src/mage/cards/s/SelesnyaSagittars.java | 5 +- .../src/mage/cards/s/SelesnyaSentry.java | 5 +- Mage.Sets/src/mage/cards/s/SelfAssembler.java | 2 +- .../src/mage/cards/s/SelflessCathar.java | 5 +- .../src/mage/cards/s/SelflessSpirit.java | 5 +- .../src/mage/cards/s/SelflessSquire.java | 5 +- .../src/mage/cards/s/SelhoffOccultist.java | 5 +- .../src/mage/cards/s/SelkieHedgeMage.java | 4 +- .../src/mage/cards/s/SellSwordBrute.java | 5 +- .../src/mage/cards/s/SellerOfSongbirds.java | 3 +- .../mage/cards/s/SelvalaExplorerReturned.java | 5 +- .../mage/cards/s/SelvalaHeartOfTheWilds.java | 4 +- .../src/mage/cards/s/SelvalasEnforcer.java | 5 +- Mage.Sets/src/mage/cards/s/SenTriplets.java | 4 +- .../src/mage/cards/s/SenatorBailOrgana.java | 5 +- .../src/mage/cards/s/SenatorLottDod.java | 4 +- .../src/mage/cards/s/SenatorOnacondaFarr.java | 5 +- .../src/mage/cards/s/SenatorPadmeAmidala.java | 5 +- .../mage/cards/s/SenatorPasselArgente.java | 5 +- .../src/mage/cards/s/SengirAutocrat.java | 2 +- Mage.Sets/src/mage/cards/s/SengirBats.java | 3 +- .../src/mage/cards/s/SengirNosferatu.java | 3 +- Mage.Sets/src/mage/cards/s/SengirVampire.java | 3 +- .../src/mage/cards/s/SensationGorger.java | 5 +- .../src/mage/cards/s/SenseiGoldenTail.java | 4 +- Mage.Sets/src/mage/cards/s/SenselessRage.java | 3 +- Mage.Sets/src/mage/cards/s/SensorSplicer.java | 2 +- .../src/mage/cards/s/SensoryDeprivation.java | 3 +- Mage.Sets/src/mage/cards/s/Sentinel.java | 3 +- .../cards/s/SentinelOfTheEternalWatch.java | 5 +- .../src/mage/cards/s/SentinelSliver.java | 2 +- .../src/mage/cards/s/SentinelSpider.java | 3 +- .../mage/cards/s/SentinelsOfGlenElendra.java | 5 +- Mage.Sets/src/mage/cards/s/SentryOak.java | 217 ++++----- .../mage/cards/s/SentryOfTheUnderworld.java | 5 +- .../src/mage/cards/s/SeparatistVoidmage.java | 5 +- Mage.Sets/src/mage/cards/s/SepticRats.java | 3 +- .../mage/cards/s/SepulchralPrimordial.java | 3 +- Mage.Sets/src/mage/cards/s/SeraphOfDawn.java | 3 +- .../src/mage/cards/s/SeraphOfTheMasses.java | 3 +- .../src/mage/cards/s/SeraphOfTheSuns.java | 3 +- .../src/mage/cards/s/SeraphOfTheSword.java | 3 +- Mage.Sets/src/mage/cards/s/SerendibDjinn.java | 2 +- .../src/mage/cards/s/SerendibEfreet.java | 3 +- .../src/mage/cards/s/SerendibSorcerer.java | 5 +- Mage.Sets/src/mage/cards/s/SereneMaster.java | 5 +- Mage.Sets/src/mage/cards/s/SereneSteward.java | 7 +- .../src/mage/cards/s/SerpentAssassin.java | 5 +- .../mage/cards/s/SerpentOfTheEndlessSea.java | 2 +- Mage.Sets/src/mage/cards/s/SerpentSkin.java | 2 +- .../src/mage/cards/s/SerpentWarrior.java | 5 +- .../src/mage/cards/s/SerpentineBasilisk.java | 3 +- .../src/mage/cards/s/SerpentineKavu.java | 3 +- Mage.Sets/src/mage/cards/s/SerraAdvocate.java | 3 +- Mage.Sets/src/mage/cards/s/SerraAngel.java | 3 +- .../src/mage/cards/s/SerraAscendant.java | 5 +- Mage.Sets/src/mage/cards/s/SerraAvatar.java | 3 +- Mage.Sets/src/mage/cards/s/SerraAvenger.java | 3 +- Mage.Sets/src/mage/cards/s/SerraSphinx.java | 3 +- Mage.Sets/src/mage/cards/s/SerraZealot.java | 5 +- Mage.Sets/src/mage/cards/s/SerrasBoon.java | 3 +- Mage.Sets/src/mage/cards/s/SerrasEmbrace.java | 3 +- .../src/mage/cards/s/SerratedBiskelion.java | 3 +- Mage.Sets/src/mage/cards/s/SerumRaker.java | 3 +- .../src/mage/cards/s/ServantOfNefarox.java | 5 +- .../src/mage/cards/s/ServantOfTheConduit.java | 5 +- .../src/mage/cards/s/ServantOfTheScale.java | 5 +- .../src/mage/cards/s/ServantOfTymaret.java | 3 +- .../src/mage/cards/s/ServantOfVolrath.java | 3 +- .../src/mage/cards/s/SeshiroTheAnointed.java | 4 +- .../mage/cards/s/SetessanBattlePriest.java | 5 +- .../src/mage/cards/s/SetessanGriffin.java | 3 +- .../src/mage/cards/s/SetessanOathsworn.java | 5 +- .../src/mage/cards/s/SetessanStarbreaker.java | 4 +- .../mage/cards/s/SetonKrosanProtector.java | 4 +- Mage.Sets/src/mage/cards/s/SetonsDesire.java | 3 +- Mage.Sets/src/mage/cards/s/SetonsScout.java | 9 +- Mage.Sets/src/mage/cards/s/SeveredLegion.java | 3 +- Mage.Sets/src/mage/cards/s/SewerNemesis.java | 3 +- Mage.Sets/src/mage/cards/s/SewerRats.java | 3 +- Mage.Sets/src/mage/cards/s/SewerShambler.java | 3 +- Mage.Sets/src/mage/cards/s/Sewerdreg.java | 3 +- Mage.Sets/src/mage/cards/s/SewnEyeDrake.java | 5 +- Mage.Sets/src/mage/cards/s/ShaakHerd.java | 149 +++--- Mage.Sets/src/mage/cards/s/Shackles.java | 3 +- .../src/mage/cards/s/ShadeOfTrokair.java | 3 +- Mage.Sets/src/mage/cards/s/ShadesForm.java | 3 +- .../src/mage/cards/s/ShadowAlleyDenizen.java | 5 +- Mage.Sets/src/mage/cards/s/ShadowGlider.java | 5 +- .../src/mage/cards/s/ShadowGuildmage.java | 5 +- Mage.Sets/src/mage/cards/s/ShadowLance.java | 2 +- .../src/mage/cards/s/ShadowOfTheGrave.java | 200 ++++---- Mage.Sets/src/mage/cards/s/ShadowRider.java | 3 +- Mage.Sets/src/mage/cards/s/ShadowSliver.java | 2 +- Mage.Sets/src/mage/cards/s/ShadowTrooper.java | 158 +++---- .../src/mage/cards/s/ShadowbornApostle.java | 4 +- .../src/mage/cards/s/ShadowbornDemon.java | 2 +- .../src/mage/cards/s/ShadowcloakVampire.java | 3 +- .../mage/cards/s/ShadowmageInfiltrator.java | 5 +- .../src/mage/cards/s/ShadowstormVizier.java | 5 +- .../src/mage/cards/s/ShaleskinBruiser.java | 2 +- .../src/mage/cards/s/ShaleskinPlower.java | 3 +- Mage.Sets/src/mage/cards/s/ShamanEnKor.java | 7 +- .../mage/cards/s/ShamanOfForgottenWays.java | 5 +- .../src/mage/cards/s/ShamanOfSpring.java | 5 +- .../mage/cards/s/ShamanOfTheGreatHunt.java | 5 +- .../src/mage/cards/s/ShamanOfThePack.java | 4 +- Mage.Sets/src/mage/cards/s/Shambleshark.java | 5 +- .../src/mage/cards/s/ShamblingAttendants.java | 3 +- .../src/mage/cards/s/ShamblingGhoul.java | 3 +- .../src/mage/cards/s/ShamblingGoblin.java | 5 +- .../src/mage/cards/s/ShamblingRemains.java | 5 +- .../src/mage/cards/s/ShamblingShell.java | 5 +- .../src/mage/cards/s/ShamblingStrider.java | 3 +- .../src/mage/cards/s/ShamblingSwarm.java | 3 +- Mage.Sets/src/mage/cards/s/ShamblingVent.java | 3 +- .../src/mage/cards/s/ShanodinDryads.java | 5 +- Mage.Sets/src/mage/cards/s/ShapeStealer.java | 5 +- .../src/mage/cards/s/ShaperGuildmage.java | 5 +- .../src/mage/cards/s/ShaperParasite.java | 3 +- .../src/mage/cards/s/ShapersOfNature.java | 5 +- Mage.Sets/src/mage/cards/s/Shapesharer.java | 2 +- Mage.Sets/src/mage/cards/s/Shapeshifter.java | 2 +- .../src/mage/cards/s/ShardOfBrokenGlass.java | 3 +- Mage.Sets/src/mage/cards/s/ShardPhoenix.java | 3 +- .../src/mage/cards/s/ShardingSphinx.java | 3 +- .../src/mage/cards/s/ShardlessAgent.java | 5 +- .../src/mage/cards/s/SharpenedPitchfork.java | 2 +- .../src/mage/cards/s/SharuumTheHegemon.java | 3 +- .../src/mage/cards/s/ShatteredAngel.java | 3 +- .../src/mage/cards/s/ShattergangBrothers.java | 5 +- .../src/mage/cards/s/ShatterskullGiant.java | 5 +- .../src/mage/cards/s/ShatterskullRecruit.java | 7 +- .../src/mage/cards/s/ShaukuEndbringer.java | 3 +- Mage.Sets/src/mage/cards/s/ShefetDunes.java | 2 +- Mage.Sets/src/mage/cards/s/ShefetMonitor.java | 2 +- Mage.Sets/src/mage/cards/s/ShellSkulkin.java | 3 +- .../src/mage/cards/s/ShelteredAerie.java | 3 +- .../src/mage/cards/s/ShelteredThicket.java | 5 +- .../src/mage/cards/s/ShelteringAncient.java | 3 +- .../mage/cards/s/SheoldredWhisperingOne.java | 3 +- Mage.Sets/src/mage/cards/s/ShepherdOfRot.java | 4 +- .../src/mage/cards/s/ShepherdOfTheLost.java | 3 +- Mage.Sets/src/mage/cards/s/ShieldDancer.java | 5 +- .../mage/cards/s/ShieldOfDutyAndReason.java | 3 +- .../src/mage/cards/s/ShieldOfKaldra.java | 2 +- .../src/mage/cards/s/ShieldOfTheAvatar.java | 3 +- .../src/mage/cards/s/ShieldOfTheOversoul.java | 3 +- .../mage/cards/s/ShieldOfTheRighteous.java | 3 +- Mage.Sets/src/mage/cards/s/ShieldSphere.java | 3 +- .../src/mage/cards/s/ShieldedAetherThief.java | 5 +- .../src/mage/cards/s/ShieldedByFaith.java | 3 +- .../src/mage/cards/s/ShieldhideDragon.java | 2 +- Mage.Sets/src/mage/cards/s/ShieldingPlax.java | 3 +- .../src/mage/cards/s/ShieldsOfVelisVel.java | 2 +- .../src/mage/cards/s/ShiftingSliver.java | 2 +- Mage.Sets/src/mage/cards/s/ShiftingWall.java | 3 +- .../src/mage/cards/s/ShiftyDoppelganger.java | 3 +- .../mage/cards/s/ShimatsuTheBloodcloaked.java | 4 +- .../src/mage/cards/s/ShimianSpecter.java | 3 +- Mage.Sets/src/mage/cards/s/ShimmerMyr.java | 3 +- .../src/mage/cards/s/ShimmeringBarrier.java | 3 +- .../src/mage/cards/s/ShimmeringGlasskite.java | 3 +- .../src/mage/cards/s/ShimmeringWings.java | 2 +- .../src/mage/cards/s/ShimmerscaleDrake.java | 3 +- .../src/mage/cards/s/ShinenOfFearsChill.java | 3 +- .../mage/cards/s/ShinenOfFlightsWings.java | 3 +- .../src/mage/cards/s/ShinenOfFurysFire.java | 3 +- .../src/mage/cards/s/ShinenOfLifesRoar.java | 3 +- .../src/mage/cards/s/ShinenOfStarsLight.java | 3 +- Mage.Sets/src/mage/cards/s/Shinewend.java | 3 +- .../src/mage/cards/s/ShinkaGatekeeper.java | 5 +- .../src/mage/cards/s/ShipbreakerKraken.java | 3 +- .../src/mage/cards/s/ShipwreckMoray.java | 3 +- .../src/mage/cards/s/ShipwreckSinger.java | 3 +- .../mage/cards/s/ShireiShizosCaretaker.java | 3 +- .../mage/cards/s/ShisatoWhisperingHunter.java | 4 +- Mage.Sets/src/mage/cards/s/ShivanDragon.java | 2 +- .../src/mage/cards/s/ShivanEmissary.java | 5 +- .../src/mage/cards/s/ShivanHellkite.java | 3 +- Mage.Sets/src/mage/cards/s/ShivanPhoenix.java | 3 +- Mage.Sets/src/mage/cards/s/ShivanWumpus.java | 3 +- Mage.Sets/src/mage/cards/s/ShivanWurm.java | 3 +- Mage.Sets/src/mage/cards/s/ShivanZombie.java | 5 +- Mage.Sets/src/mage/cards/s/ShivsEmbrace.java | 3 +- .../mage/cards/s/ShizukoCallerOfAutumn.java | 5 +- Mage.Sets/src/mage/cards/s/ShoalSerpent.java | 2 +- Mage.Sets/src/mage/cards/s/ShockTrooper.java | 150 +++--- Mage.Sets/src/mage/cards/s/ShockTroops.java | 5 +- Mage.Sets/src/mage/cards/s/Shocker.java | 3 +- .../src/mage/cards/s/ShockmawDragon.java | 3 +- Mage.Sets/src/mage/cards/s/ShoreSnapper.java | 3 +- .../mage/cards/s/ShorecrasherElemental.java | 3 +- .../src/mage/cards/s/ShorecrasherMimic.java | 3 +- .../src/mage/cards/s/ShorelineRaider.java | 2 +- .../src/mage/cards/s/ShorelineRanger.java | 5 +- .../src/mage/cards/s/ShorelineSalvager.java | 2 +- .../src/mage/cards/s/ShrewdHatchling.java | 3 +- Mage.Sets/src/mage/cards/s/ShriekRaptor.java | 3 +- Mage.Sets/src/mage/cards/s/Shriekgeist.java | 3 +- .../src/mage/cards/s/ShriekingDrake.java | 3 +- .../src/mage/cards/s/ShriekingGrotesque.java | 3 +- Mage.Sets/src/mage/cards/s/ShriekingMogg.java | 3 +- .../src/mage/cards/s/ShriekingSpecter.java | 3 +- Mage.Sets/src/mage/cards/s/Shriekmaw.java | 3 +- Mage.Sets/src/mage/cards/s/ShrikeHarpy.java | 3 +- Mage.Sets/src/mage/cards/s/ShrillHowler.java | 5 +- Mage.Sets/src/mage/cards/s/ShuCavalry.java | 5 +- Mage.Sets/src/mage/cards/s/ShuDefender.java | 5 +- .../src/mage/cards/s/ShuEliteCompanions.java | 5 +- .../src/mage/cards/s/ShuEliteInfantry.java | 5 +- Mage.Sets/src/mage/cards/s/ShuFarmer.java | 3 +- .../src/mage/cards/s/ShuFootSoldiers.java | 5 +- Mage.Sets/src/mage/cards/s/ShuGeneral.java | 5 +- .../src/mage/cards/s/ShuGrainCaravan.java | 5 +- .../src/mage/cards/s/ShuSoldierFarmers.java | 5 +- .../mage/cards/s/ShuYunTheSilentTempest.java | 5 +- Mage.Sets/src/mage/cards/s/Shuko.java | 3 +- Mage.Sets/src/mage/cards/s/Shuriken.java | 2 +- .../src/mage/cards/s/SibilantSpirit.java | 3 +- Mage.Sets/src/mage/cards/s/SibsigHost.java | 3 +- .../src/mage/cards/s/SibsigIcebreakers.java | 3 +- .../src/mage/cards/s/SibsigMuckdraggers.java | 3 +- Mage.Sets/src/mage/cards/s/Sicken.java | 2 +- Mage.Sets/src/mage/cards/s/SickleRipper.java | 5 +- Mage.Sets/src/mage/cards/s/Sickleslicer.java | 3 +- Mage.Sets/src/mage/cards/s/SidarJabari.java | 5 +- .../src/mage/cards/s/SidarKondoOfJamuraa.java | 5 +- .../src/mage/cards/s/SidewinderNaga.java | 4 +- .../src/mage/cards/s/SidewinderSliver.java | 2 +- .../src/mage/cards/s/SidisiBroodTyrant.java | 5 +- .../src/mage/cards/s/SidisiUndeadVizier.java | 5 +- .../src/mage/cards/s/SidisisFaithful.java | 5 +- Mage.Sets/src/mage/cards/s/SidisisPet.java | 5 +- Mage.Sets/src/mage/cards/s/SiegeBehemoth.java | 3 +- Mage.Sets/src/mage/cards/s/SiegeDragon.java | 2 +- .../src/mage/cards/s/SiegeGangCommander.java | 2 +- Mage.Sets/src/mage/cards/s/SiegeMastodon.java | 3 +- .../src/mage/cards/s/SiegeModification.java | 2 +- Mage.Sets/src/mage/cards/s/SiegeRhino.java | 3 +- Mage.Sets/src/mage/cards/s/SiegeWurm.java | 3 +- Mage.Sets/src/mage/cards/s/Siegecraft.java | 3 +- .../src/mage/cards/s/SifterOfSkulls.java | 3 +- Mage.Sets/src/mage/cards/s/SifterWurm.java | 3 +- .../src/mage/cards/s/SigardaHeronsGrace.java | 2 +- .../src/mage/cards/s/SigardaHostOfHerons.java | 2 +- .../src/mage/cards/s/SigardianPriest.java | 4 +- .../mage/cards/s/SightedCasteSorcerer.java | 5 +- .../src/mage/cards/s/SightlessBrawler.java | 5 +- .../src/mage/cards/s/SightlessGhoul.java | 5 +- Mage.Sets/src/mage/cards/s/SigilCaptain.java | 5 +- .../src/mage/cards/s/SigilOfDistinction.java | 3 +- Mage.Sets/src/mage/cards/s/SigilOfSleep.java | 3 +- .../src/mage/cards/s/SigilOfTheNayanGods.java | 3 +- Mage.Sets/src/mage/cards/s/SigilOfValor.java | 3 +- Mage.Sets/src/mage/cards/s/SigilTracer.java | 4 +- .../src/mage/cards/s/SigiledBehemoth.java | 3 +- .../src/mage/cards/s/SigiledPaladin.java | 5 +- Mage.Sets/src/mage/cards/s/SigiledSkink.java | 3 +- .../src/mage/cards/s/SigiledStarfish.java | 3 +- Mage.Sets/src/mage/cards/s/SignalPest.java | 3 +- .../mage/cards/s/SilasRennSeekerAdept.java | 2 +- .../src/mage/cards/s/SilburlindSnapper.java | 3 +- Mage.Sets/src/mage/cards/s/SilentArbiter.java | 3 +- Mage.Sets/src/mage/cards/s/SilentArtisan.java | 3 +- .../src/mage/cards/s/SilentAttendant.java | 5 +- .../src/mage/cards/s/SilentBladeOni.java | 5 +- .../src/mage/cards/s/SilentChantZubera.java | 5 +- .../src/mage/cards/s/SilentObserver.java | 3 +- .../src/mage/cards/s/SilentSentinel.java | 3 +- Mage.Sets/src/mage/cards/s/SilentSkimmer.java | 5 +- Mage.Sets/src/mage/cards/s/SilentSpecter.java | 3 +- .../src/mage/cards/s/SilhanaLedgewalker.java | 5 +- .../src/mage/cards/s/SilhanaStarfletcher.java | 7 +- .../src/mage/cards/s/SilkbindFaerie.java | 5 +- .../src/mage/cards/s/SilkenfistFighter.java | 5 +- .../src/mage/cards/s/SilkenfistOrder.java | 5 +- .../src/mage/cards/s/SilklashSpider.java | 3 +- .../src/mage/cards/s/SilkweaverElite.java | 5 +- Mage.Sets/src/mage/cards/s/SilkwingScout.java | 5 +- Mage.Sets/src/mage/cards/s/SiltCrawler.java | 3 +- .../src/mage/cards/s/SilumgarAssassin.java | 5 +- .../src/mage/cards/s/SilumgarButcher.java | 5 +- .../src/mage/cards/s/SilumgarMonument.java | 3 +- .../src/mage/cards/s/SilumgarSorcerer.java | 5 +- .../src/mage/cards/s/SilumgarSpellEater.java | 5 +- .../cards/s/SilumgarTheDriftingDeath.java | 2 +- Mage.Sets/src/mage/cards/s/SilverDrake.java | 3 +- Mage.Sets/src/mage/cards/s/SilverErne.java | 3 +- .../src/mage/cards/s/SilverInlaidDagger.java | 2 +- Mage.Sets/src/mage/cards/s/SilverKnight.java | 5 +- Mage.Sets/src/mage/cards/s/SilverMyr.java | 3 +- Mage.Sets/src/mage/cards/s/SilverSeraph.java | 3 +- Mage.Sets/src/mage/cards/s/SilverWyvern.java | 3 +- Mage.Sets/src/mage/cards/s/SilverbackApe.java | 3 +- .../src/mage/cards/s/SilverbladePaladin.java | 5 +- .../src/mage/cards/s/SilverchaseFox.java | 3 +- .../src/mage/cards/s/SilverclawGriffin.java | 3 +- .../src/mage/cards/s/SilvercoatLion.java | 3 +- .../src/mage/cards/s/SilverfurPartisan.java | 4 +- .../src/mage/cards/s/SilvergillAdept.java | 4 +- .../src/mage/cards/s/SilvergillDouser.java | 168 +++---- .../mage/cards/s/SilvergladeElemental.java | 2 +- .../mage/cards/s/SilvergladePathfinder.java | 5 +- .../src/mage/cards/s/SilverpeltWerewolf.java | 3 +- .../src/mage/cards/s/SilverskinArmor.java | 2 +- .../src/mage/cards/s/SilverstormSamurai.java | 5 +- .../mage/cards/s/SilvosRogueElemental.java | 3 +- .../mage/cards/s/SimaYiWeiFieldMarshal.java | 4 +- Mage.Sets/src/mage/cards/s/SimianBrawler.java | 5 +- Mage.Sets/src/mage/cards/s/SimianGrunts.java | 3 +- .../src/mage/cards/s/SimianSpiritGuide.java | 5 +- Mage.Sets/src/mage/cards/s/SimicBasilisk.java | 5 +- Mage.Sets/src/mage/cards/s/SimicFluxmage.java | 5 +- .../src/mage/cards/s/SimicGuildmage.java | 4 +- Mage.Sets/src/mage/cards/s/SimicInitiate.java | 5 +- Mage.Sets/src/mage/cards/s/SimicKeyrune.java | 3 +- .../src/mage/cards/s/SimicManipulator.java | 5 +- Mage.Sets/src/mage/cards/s/SimicRagworm.java | 3 +- .../src/mage/cards/s/SimicSkySwallower.java | 3 +- Mage.Sets/src/mage/cards/s/SinCollector.java | 5 +- Mage.Sets/src/mage/cards/s/SinProdder.java | 3 +- Mage.Sets/src/mage/cards/s/Sindbad.java | 3 +- Mage.Sets/src/mage/cards/s/SinewSliver.java | 2 +- Mage.Sets/src/mage/cards/s/SingeMindOgre.java | 5 +- .../src/mage/cards/s/SingingBellStrike.java | 3 +- Mage.Sets/src/mage/cards/s/SingingTree.java | 3 +- .../src/mage/cards/s/SinisterPossession.java | 3 +- .../src/mage/cards/s/SinisterStrength.java | 3 +- .../src/mage/cards/s/SinkIntoTakenuma.java | 2 +- .../src/mage/cards/s/SinkingFeeling.java | 3 +- .../src/mage/cards/s/SinuousPredator.java | 5 +- .../src/mage/cards/s/SinuousStriker.java | 5 +- Mage.Sets/src/mage/cards/s/SinuousVermin.java | 5 +- .../src/mage/cards/s/SirShandlarOfEberyn.java | 5 +- .../src/mage/cards/s/SireOfInsanity.java | 3 +- .../src/mage/cards/s/SireOfStagnation.java | 3 +- .../src/mage/cards/s/SireOfTheStorm.java | 3 +- .../mage/cards/s/SirenOfTheFangedCoast.java | 3 +- .../mage/cards/s/SirenOfTheSilentSong.java | 5 +- Mage.Sets/src/mage/cards/s/SirenSongLyre.java | 3 +- .../src/mage/cards/s/SirenStormtamer.java | 7 +- .../src/mage/cards/s/SisaysIngenuity.java | 3 +- .../src/mage/cards/s/SistersOfStoneDeath.java | 3 +- .../src/mage/cards/s/SistersOfTheFlame.java | 5 +- Mage.Sets/src/mage/cards/s/SithAssassin.java | 167 +++---- Mage.Sets/src/mage/cards/s/SithCitadel.java | 140 +++--- Mage.Sets/src/mage/cards/s/SithEvoker.java | 295 ++++++------ Mage.Sets/src/mage/cards/s/SithHolocron.java | 188 ++++---- .../src/mage/cards/s/SithInquisitor.java | 147 +++--- Mage.Sets/src/mage/cards/s/SithLord.java | 5 +- Mage.Sets/src/mage/cards/s/SithMagic.java | 366 +++++++-------- .../src/mage/cards/s/SithManipulator.java | 169 +++---- Mage.Sets/src/mage/cards/s/SithMarauder.java | 147 +++--- Mage.Sets/src/mage/cards/s/SithMindseer.java | 149 +++--- Mage.Sets/src/mage/cards/s/SithRavager.java | 5 +- Mage.Sets/src/mage/cards/s/SithSorcerer.java | 153 +++--- .../src/mage/cards/s/SithThoughtseeker.java | 149 +++--- .../src/mage/cards/s/SivitriScarzam.java | 3 +- Mage.Sets/src/mage/cards/s/SixthSense.java | 3 +- Mage.Sets/src/mage/cards/s/SkaabGoliath.java | 5 +- Mage.Sets/src/mage/cards/s/SkaabRuinator.java | 5 +- Mage.Sets/src/mage/cards/s/SkarrgGoliath.java | 3 +- .../src/mage/cards/s/SkarrgGuildmage.java | 7 +- .../src/mage/cards/s/SkarrganFirebird.java | 3 +- .../src/mage/cards/s/SkarrganPitSkulk.java | 5 +- .../src/mage/cards/s/SkarrganSkybreaker.java | 5 +- .../src/mage/cards/s/SkeletalChangeling.java | 3 +- .../src/mage/cards/s/SkeletalCrocodile.java | 5 +- .../src/mage/cards/s/SkeletalGrimace.java | 3 +- .../src/mage/cards/s/SkeletalKathari.java | 5 +- Mage.Sets/src/mage/cards/s/SkeletalSnake.java | 5 +- .../src/mage/cards/s/SkeletalVampire.java | 4 +- Mage.Sets/src/mage/cards/s/SkeletalWurm.java | 5 +- Mage.Sets/src/mage/cards/s/SkeletonKey.java | 3 +- Mage.Sets/src/mage/cards/s/SkeletonShip.java | 2 +- Mage.Sets/src/mage/cards/s/SkillBorrower.java | 5 +- Mage.Sets/src/mage/cards/s/SkinInvasion.java | 3 +- Mage.Sets/src/mage/cards/s/SkinShedder.java | 5 +- .../src/mage/cards/s/SkinbrandGoblin.java | 5 +- Mage.Sets/src/mage/cards/s/Skinrender.java | 3 +- Mage.Sets/src/mage/cards/s/Skinshifter.java | 11 +- Mage.Sets/src/mage/cards/s/Skinthinner.java | 3 +- Mage.Sets/src/mage/cards/s/Skinwing.java | 3 +- .../src/mage/cards/s/SkirgeFamiliar.java | 3 +- Mage.Sets/src/mage/cards/s/SkirkCommando.java | 3 +- .../src/mage/cards/s/SkirkDrillSergeant.java | 2 +- .../src/mage/cards/s/SkirkFireMarshal.java | 2 +- Mage.Sets/src/mage/cards/s/SkirkMarauder.java | 3 +- Mage.Sets/src/mage/cards/s/SkirkOutrider.java | 2 +- .../src/mage/cards/s/SkirkProspector.java | 2 +- .../src/mage/cards/s/SkirkRidgeExhumer.java | 5 +- Mage.Sets/src/mage/cards/s/SkirkShaman.java | 5 +- .../src/mage/cards/s/SkirkVolcanist.java | 2 +- .../src/mage/cards/s/SkirsdagCultist.java | 5 +- .../src/mage/cards/s/SkirsdagFlayer.java | 4 +- .../src/mage/cards/s/SkirsdagHighPriest.java | 5 +- .../src/mage/cards/s/SkirsdagSupplicant.java | 5 +- .../cards/s/SkithiryxTheBlightDragon.java | 5 +- .../src/mage/cards/s/SkitterOfLizards.java | 3 +- .../mage/cards/s/SkitteringCrustacean.java | 3 +- .../src/mage/cards/s/SkitteringHorror.java | 3 +- .../src/mage/cards/s/SkitteringInvasion.java | 3 +- .../mage/cards/s/SkitteringMonstrosity.java | 3 +- .../src/mage/cards/s/SkitteringSkirge.java | 3 +- Mage.Sets/src/mage/cards/s/Skitterskin.java | 5 +- Mage.Sets/src/mage/cards/s/SkittishKavu.java | 3 +- .../src/mage/cards/s/SkittishValesk.java | 3 +- Mage.Sets/src/mage/cards/s/Skizzik.java | 3 +- Mage.Sets/src/mage/cards/s/SkizzikSurger.java | 3 +- .../src/mage/cards/s/SkulkingFugitive.java | 5 +- Mage.Sets/src/mage/cards/s/SkulkingGhost.java | 3 +- .../src/mage/cards/s/SkulkingKnight.java | 5 +- .../src/mage/cards/s/SkullCollector.java | 5 +- .../cards/s/SkullbriarTheWalkingGrave.java | 4 +- Mage.Sets/src/mage/cards/s/Skullclamp.java | 3 +- Mage.Sets/src/mage/cards/s/SkullmaneBaku.java | 3 +- Mage.Sets/src/mage/cards/s/Skullmulcher.java | 3 +- Mage.Sets/src/mage/cards/s/Skullsnatcher.java | 5 +- Mage.Sets/src/mage/cards/s/Skullwinder.java | 3 +- Mage.Sets/src/mage/cards/s/SkyEelSchool.java | 3 +- Mage.Sets/src/mage/cards/s/SkyHussar.java | 5 +- Mage.Sets/src/mage/cards/s/SkyRuinDrake.java | 3 +- Mage.Sets/src/mage/cards/s/SkyScourer.java | 5 +- Mage.Sets/src/mage/cards/s/SkySkiff.java | 132 +++--- Mage.Sets/src/mage/cards/s/SkySpirit.java | 3 +- Mage.Sets/src/mage/cards/s/SkySwallower.java | 2 +- Mage.Sets/src/mage/cards/s/SkyWeaver.java | 5 +- .../src/mage/cards/s/SkyblinderStaff.java | 2 +- Mage.Sets/src/mage/cards/s/SkyclawThrash.java | 5 +- Mage.Sets/src/mage/cards/s/SkyfireKirin.java | 4 +- Mage.Sets/src/mage/cards/s/Skygames.java | 2 +- Mage.Sets/src/mage/cards/s/SkyhunterCub.java | 5 +- .../src/mage/cards/s/SkyhunterPatrol.java | 5 +- .../src/mage/cards/s/SkyhunterProwler.java | 5 +- .../src/mage/cards/s/SkyhunterSkirmisher.java | 5 +- .../mage/cards/s/SkyknightLegionnaire.java | 5 +- Mage.Sets/src/mage/cards/s/Skylasher.java | 3 +- Mage.Sets/src/mage/cards/s/SkylineDespot.java | 3 +- .../src/mage/cards/s/SkylinePredator.java | 3 +- Mage.Sets/src/mage/cards/s/SkymarkRoc.java | 3 +- Mage.Sets/src/mage/cards/s/SkyrakerGiant.java | 3 +- Mage.Sets/src/mage/cards/s/SkyreachManta.java | 3 +- Mage.Sets/src/mage/cards/s/SkyriderElf.java | 7 +- .../src/mage/cards/s/SkyriderTrainee.java | 5 +- .../src/mage/cards/s/SkyshipPlunderer.java | 275 +++++------ .../src/mage/cards/s/SkyshipStalker.java | 3 +- Mage.Sets/src/mage/cards/s/Skyshooter.java | 5 +- .../src/mage/cards/s/SkyshroudArcher.java | 5 +- .../src/mage/cards/s/SkyshroudBehemoth.java | 3 +- .../src/mage/cards/s/SkyshroudCondor.java | 3 +- .../src/mage/cards/s/SkyshroudCutter.java | 2 +- Mage.Sets/src/mage/cards/s/SkyshroudElf.java | 5 +- .../src/mage/cards/s/SkyshroudElite.java | 3 +- .../src/mage/cards/s/SkyshroudFalcon.java | 3 +- .../src/mage/cards/s/SkyshroudPoacher.java | 4 +- .../src/mage/cards/s/SkyshroudRanger.java | 3 +- .../src/mage/cards/s/SkyshroudRidgeback.java | 3 +- .../src/mage/cards/s/SkyshroudTroll.java | 5 +- .../src/mage/cards/s/SkyshroudTroopers.java | 7 +- .../src/mage/cards/s/SkyshroudVampire.java | 3 +- .../src/mage/cards/s/SkysnareSpider.java | 3 +- .../src/mage/cards/s/SkyspearCavalry.java | 5 +- .../src/mage/cards/s/SkyswirlHarrier.java | 123 ++--- .../src/mage/cards/s/SkywardEyeProphets.java | 5 +- .../src/mage/cards/s/SkywatcherAdept.java | 5 +- .../src/mage/cards/s/SkywinderDrake.java | 3 +- Mage.Sets/src/mage/cards/s/SkywingAven.java | 5 +- Mage.Sets/src/mage/cards/s/SlabHammer.java | 3 +- Mage.Sets/src/mage/cards/s/SlagFiend.java | 3 +- Mage.Sets/src/mage/cards/s/SlagwurmArmor.java | 3 +- Mage.Sets/src/mage/cards/s/SlashPanther.java | 3 +- Mage.Sets/src/mage/cards/s/SlashingTiger.java | 3 +- .../src/mage/cards/s/SlateStreetRuffian.java | 5 +- .../src/mage/cards/s/SlaughterDrone.java | 5 +- Mage.Sets/src/mage/cards/s/Slaughterhorn.java | 3 +- Mage.Sets/src/mage/cards/s/SlaveI.java | 3 +- .../src/mage/cards/s/SlaveringNulls.java | 4 +- .../src/mage/cards/s/SlayerOfTheWicked.java | 4 +- .../src/mage/cards/s/SlayersCleaver.java | 2 +- Mage.Sets/src/mage/cards/s/SlayersPlate.java | 2 +- Mage.Sets/src/mage/cards/s/SleekSchooner.java | 3 +- .../src/mage/cards/s/SleepParalysis.java | 3 +- Mage.Sets/src/mage/cards/s/SleeperAgent.java | 3 +- Mage.Sets/src/mage/cards/s/SleepersGuile.java | 3 +- Mage.Sets/src/mage/cards/s/SleepersRobe.java | 3 +- .../src/mage/cards/s/SleepingPotion.java | 3 +- Mage.Sets/src/mage/cards/s/SlimyKavu.java | 2 +- .../src/mage/cards/s/SlingshotGoblin.java | 3 +- Mage.Sets/src/mage/cards/s/SlinkingGiant.java | 5 +- .../src/mage/cards/s/SlinkingSerpent.java | 3 +- .../src/mage/cards/s/SlinkingSkirge.java | 3 +- Mage.Sets/src/mage/cards/s/SlipperyBogle.java | 3 +- Mage.Sets/src/mage/cards/s/SlipstreamEel.java | 4 +- .../src/mage/cards/s/SlipstreamSerpent.java | 2 +- .../src/mage/cards/s/SlithAscendant.java | 3 +- .../src/mage/cards/s/SlithBloodletter.java | 3 +- .../src/mage/cards/s/SlithFirewalker.java | 3 +- Mage.Sets/src/mage/cards/s/SlithPredator.java | 3 +- Mage.Sets/src/mage/cards/s/SlithStrider.java | 3 +- Mage.Sets/src/mage/cards/s/SlitherBlade.java | 5 +- Mage.Sets/src/mage/cards/s/Slitherhead.java | 5 +- .../src/mage/cards/s/SlitheringShade.java | 3 +- Mage.Sets/src/mage/cards/s/Slithermuse.java | 3 +- .../src/mage/cards/s/SlitheryStalker.java | 5 +- .../src/mage/cards/s/SliverConstruct.java | 5 +- .../src/mage/cards/s/SliverHivelord.java | 3 +- Mage.Sets/src/mage/cards/s/SliverLegion.java | 2 +- .../src/mage/cards/s/SliverOverlord.java | 4 +- Mage.Sets/src/mage/cards/s/SliverQueen.java | 3 +- Mage.Sets/src/mage/cards/s/Sliversmith.java | 3 +- .../mage/cards/s/SlobadGoblinTinkerer.java | 5 +- Mage.Sets/src/mage/cards/s/SlowMotion.java | 3 +- Mage.Sets/src/mage/cards/s/SludgeCrawler.java | 5 +- Mage.Sets/src/mage/cards/s/SludgeStrider.java | 3 +- Mage.Sets/src/mage/cards/s/Sluggishness.java | 3 +- .../src/mage/cards/s/SluicewayScorpion.java | 3 +- Mage.Sets/src/mage/cards/s/SlumReaper.java | 3 +- .../src/mage/cards/s/SlumberingDragon.java | 3 +- .../src/mage/cards/s/SlyRequisitioner.java | 5 +- .../mage/cards/s/SmeltWardGatekeepers.java | 4 +- Mage.Sets/src/mage/cards/s/SmogElemental.java | 2 +- .../src/mage/cards/s/SmogsteedRider.java | 5 +- Mage.Sets/src/mage/cards/s/SmokeTeller.java | 5 +- Mage.Sets/src/mage/cards/s/Smokebraider.java | 4 +- .../src/mage/cards/s/SmokespewInvoker.java | 5 +- .../src/mage/cards/s/SmolderInitiate.java | 5 +- .../src/mage/cards/s/SmolderingButcher.java | 5 +- .../src/mage/cards/s/SmolderingEfreet.java | 5 +- .../src/mage/cards/s/SmolderingMarsh.java | 5 +- .../src/mage/cards/s/SmolderingWerewolf.java | 5 +- .../mage/cards/s/SmotheringAbomination.java | 3 +- .../src/mage/cards/s/SmugglersCopter.java | 150 +++--- .../src/mage/cards/s/SnakeCultInitiation.java | 3 +- .../mage/cards/s/SnakeOfTheGoldenGrove.java | 3 +- Mage.Sets/src/mage/cards/s/SnakeUmbra.java | 2 +- .../src/mage/cards/s/SnapcasterMage.java | 5 +- .../src/mage/cards/s/SnappingCreeper.java | 3 +- Mage.Sets/src/mage/cards/s/SnappingDrake.java | 3 +- .../src/mage/cards/s/SnappingGnarlid.java | 3 +- .../src/mage/cards/s/SnapsailGlider.java | 3 +- Mage.Sets/src/mage/cards/s/SnareThopter.java | 129 ++--- .../src/mage/cards/s/SnarlingUndorak.java | 2 +- .../src/mage/cards/s/SneakyHomunculus.java | 5 +- Mage.Sets/src/mage/cards/s/SnortingGahr.java | 5 +- .../src/mage/cards/s/SnowCoveredForest.java | 3 +- .../src/mage/cards/s/SnowCoveredIsland.java | 3 +- .../src/mage/cards/s/SnowCoveredMountain.java | 3 +- .../src/mage/cards/s/SnowCoveredPlains.java | 3 +- .../src/mage/cards/s/SnowCoveredSwamp.java | 3 +- Mage.Sets/src/mage/cards/s/SnowHound.java | 3 +- Mage.Sets/src/mage/cards/s/SnowTrooper.java | 140 +++--- Mage.Sets/src/mage/cards/s/SnowhornRider.java | 5 +- Mage.Sets/src/mage/cards/s/Soar.java | 3 +- Mage.Sets/src/mage/cards/s/SoaringHope.java | 3 +- Mage.Sets/src/mage/cards/s/Soilshaper.java | 3 +- .../src/mage/cards/s/SokenzanBruiser.java | 5 +- .../src/mage/cards/s/SokenzanRenegade.java | 7 +- .../src/mage/cards/s/SokenzanSpellblade.java | 7 +- Mage.Sets/src/mage/cards/s/Solarion.java | 3 +- Mage.Sets/src/mage/cards/s/SoldeviAdnate.java | 5 +- .../src/mage/cards/s/SoldeviMachinist.java | 7 +- Mage.Sets/src/mage/cards/s/SoldeviSage.java | 5 +- .../src/mage/cards/s/SoldeviSimulacrum.java | 3 +- .../src/mage/cards/s/SoldierOfFortune.java | 5 +- .../mage/cards/s/SoldierOfThePantheon.java | 5 +- .../src/mage/cards/s/SoldierReplica.java | 3 +- Mage.Sets/src/mage/cards/s/SolemnRecruit.java | 5 +- .../src/mage/cards/s/SolemnSimulacrum.java | 3 +- Mage.Sets/src/mage/cards/s/SolitaryCamel.java | 2 +- .../src/mage/cards/s/SolitaryHunter.java | 7 +- Mage.Sets/src/mage/cards/s/Soliton.java | 3 +- .../mage/cards/s/SolkanarTheSwampKing.java | 3 +- .../src/mage/cards/s/SoltariChampion.java | 5 +- .../src/mage/cards/s/SoltariCrusader.java | 5 +- .../src/mage/cards/s/SoltariEmissary.java | 5 +- .../src/mage/cards/s/SoltariFootSoldier.java | 5 +- .../src/mage/cards/s/SoltariGuerrillas.java | 5 +- Mage.Sets/src/mage/cards/s/SoltariLancer.java | 5 +- Mage.Sets/src/mage/cards/s/SoltariMonk.java | 7 +- Mage.Sets/src/mage/cards/s/SoltariPriest.java | 5 +- .../src/mage/cards/s/SoltariTrooper.java | 5 +- .../src/mage/cards/s/SoltariVisionary.java | 5 +- .../src/mage/cards/s/SomberHoverguard.java | 3 +- .../src/mage/cards/s/SomberwaldAlpha.java | 3 +- .../src/mage/cards/s/SomberwaldDryad.java | 3 +- .../src/mage/cards/s/SomberwaldSage.java | 5 +- .../src/mage/cards/s/SomberwaldSpider.java | 3 +- .../src/mage/cards/s/SomberwaldStag.java | 3 +- .../src/mage/cards/s/SomberwaldVigilante.java | 5 +- Mage.Sets/src/mage/cards/s/Somnomancer.java | 5 +- .../src/mage/cards/s/SongOfTheDryads.java | 3 +- Mage.Sets/src/mage/cards/s/SootImp.java | 3 +- .../src/mage/cards/s/SootfeatherFlock.java | 3 +- Mage.Sets/src/mage/cards/s/SoothingBalm.java | 118 ++--- .../src/mage/cards/s/SootstokeKindler.java | 5 +- Mage.Sets/src/mage/cards/s/Sootwalkers.java | 5 +- Mage.Sets/src/mage/cards/s/SophicCentaur.java | 5 +- .../mage/cards/s/SoramaroFirstToDream.java | 3 +- .../src/mage/cards/s/SoratamiCloudskater.java | 5 +- .../src/mage/cards/s/SoratamiMindsweeper.java | 5 +- .../src/mage/cards/s/SoratamiMirrorGuard.java | 5 +- .../src/mage/cards/s/SoratamiMirrorMage.java | 5 +- .../src/mage/cards/s/SoratamiRainshaper.java | 5 +- .../src/mage/cards/s/SoratamiSavant.java | 5 +- Mage.Sets/src/mage/cards/s/SoratamiSeer.java | 5 +- .../src/mage/cards/s/SorceressQueen.java | 5 +- .../src/mage/cards/s/SorinGrimNemesis.java | 3 +- .../mage/cards/s/SorinLordOfInnistrad.java | 3 +- Mage.Sets/src/mage/cards/s/SorinMarkov.java | 3 +- .../src/mage/cards/s/SorinSolemnVisitor.java | 3 +- .../src/mage/cards/s/SosukeSonOfSeshiro.java | 4 +- Mage.Sets/src/mage/cards/s/SoulBleed.java | 3 +- .../src/mage/cards/s/SoulChanneling.java | 2 +- Mage.Sets/src/mage/cards/s/SoulCollector.java | 3 +- Mage.Sets/src/mage/cards/s/SoulKiss.java | 3 +- Mage.Sets/src/mage/cards/s/SoulLink.java | 3 +- .../src/mage/cards/s/SoulOfInnistrad.java | 3 +- Mage.Sets/src/mage/cards/s/SoulOfMagma.java | 3 +- .../src/mage/cards/s/SoulOfNewPhyrexia.java | 3 +- Mage.Sets/src/mage/cards/s/SoulOfRavnica.java | 3 +- .../src/mage/cards/s/SoulOfShandalar.java | 3 +- .../src/mage/cards/s/SoulOfTheHarvest.java | 3 +- Mage.Sets/src/mage/cards/s/SoulOfTheros.java | 3 +- .../src/mage/cards/s/SoulOfZendikar.java | 3 +- Mage.Sets/src/mage/cards/s/SoulRansom.java | 2 +- Mage.Sets/src/mage/cards/s/SoulScarMage.java | 5 +- Mage.Sets/src/mage/cards/s/SoulScourge.java | 5 +- Mage.Sets/src/mage/cards/s/SoulSeizer.java | 3 +- Mage.Sets/src/mage/cards/s/SoulShepherd.java | 5 +- Mage.Sets/src/mage/cards/s/SoulSnuffers.java | 5 +- Mage.Sets/src/mage/cards/s/SoulSwallower.java | 3 +- Mage.Sets/src/mage/cards/s/SoulTithe.java | 3 +- Mage.Sets/src/mage/cards/s/SoulWarden.java | 5 +- .../src/mage/cards/s/SoulbladeDjinn.java | 3 +- .../src/mage/cards/s/SoulboundGuardians.java | 5 +- .../src/mage/cards/s/SoulbrightFlamekin.java | 5 +- Mage.Sets/src/mage/cards/s/SoulcageFiend.java | 3 +- Mage.Sets/src/mage/cards/s/Soulcatcher.java | 5 +- Mage.Sets/src/mage/cards/s/Souldrinker.java | 3 +- .../src/mage/cards/s/SoulfireGrandMaster.java | 5 +- Mage.Sets/src/mage/cards/s/Soulflayer.java | 3 +- Mage.Sets/src/mage/cards/s/SoullessOne.java | 4 +- Mage.Sets/src/mage/cards/s/Soulmender.java | 5 +- .../src/mage/cards/s/SoulsAttendant.java | 5 +- .../src/mage/cards/s/SoulsOfTheFaultless.java | 3 +- Mage.Sets/src/mage/cards/s/Soulstinger.java | 5 +- .../src/mage/cards/s/SoulsurgeElemental.java | 3 +- Mage.Sets/src/mage/cards/s/SoulswornJury.java | 3 +- .../src/mage/cards/s/SoulswornSpirit.java | 3 +- .../src/mage/cards/s/SoultetherGolem.java | 3 +- .../src/mage/cards/s/SouthernElephant.java | 3 +- .../src/mage/cards/s/SouthernPaladin.java | 5 +- .../mage/cards/s/SovereignsOfLostAlara.java | 2 +- .../src/mage/cards/s/SowerOfTemptation.java | 5 +- .../src/mage/cards/s/SparkElemental.java | 3 +- Mage.Sets/src/mage/cards/s/SparkMage.java | 5 +- Mage.Sets/src/mage/cards/s/SparkTrooper.java | 5 +- Mage.Sets/src/mage/cards/s/Sparkcaster.java | 3 +- .../src/mage/cards/s/SparkmageApprentice.java | 5 +- Mage.Sets/src/mage/cards/s/Sparksmith.java | 2 +- Mage.Sets/src/mage/cards/s/Sparkspitter.java | 5 +- .../src/mage/cards/s/SparringCollar.java | 3 +- Mage.Sets/src/mage/cards/s/SparringGolem.java | 3 +- Mage.Sets/src/mage/cards/s/SparringMummy.java | 3 +- .../src/mage/cards/s/SpawnOfRixMaadi.java | 3 +- .../src/mage/cards/s/SpawnOfThraxes.java | 2 +- .../src/mage/cards/s/SpawnbinderMage.java | 6 +- .../src/mage/cards/s/SpawningGrounds.java | 3 +- .../src/mage/cards/s/SpawnsireOfUlamog.java | 2 +- Mage.Sets/src/mage/cards/s/Spawnwrithe.java | 3 +- .../mage/cards/s/SpearbreakerBehemoth.java | 3 +- .../src/mage/cards/s/SpearpointOread.java | 3 +- Mage.Sets/src/mage/cards/s/SpeciesGorger.java | 4 +- .../src/mage/cards/s/SpectersShroud.java | 3 +- Mage.Sets/src/mage/cards/s/SpectraWard.java | 3 +- Mage.Sets/src/mage/cards/s/SpectralBears.java | 5 +- .../src/mage/cards/s/SpectralFlight.java | 2 +- Mage.Sets/src/mage/cards/s/SpectralForce.java | 5 +- .../src/mage/cards/s/SpectralGateguards.java | 5 +- Mage.Sets/src/mage/cards/s/SpectralGrasp.java | 179 +++---- .../src/mage/cards/s/SpectralGuardian.java | 3 +- Mage.Sets/src/mage/cards/s/SpectralLynx.java | 5 +- .../src/mage/cards/s/SpectralPrison.java | 3 +- Mage.Sets/src/mage/cards/s/SpectralRider.java | 5 +- .../src/mage/cards/s/SpectralShepherd.java | 2 +- .../src/mage/cards/s/SpectralSliver.java | 5 +- .../src/mage/cards/s/SpeederTrooper.java | 152 +++--- .../src/mage/cards/s/SpeedwayFanatic.java | 141 +++--- Mage.Sets/src/mage/cards/s/SpellQueller.java | 3 +- .../src/mage/cards/s/SpellbaneCentaur.java | 3 +- Mage.Sets/src/mage/cards/s/Spellbinder.java | 3 +- .../src/mage/cards/s/SpellboundDragon.java | 3 +- .../mage/cards/s/SpellbreakerBehemoth.java | 3 +- .../mage/cards/s/SpellgorgerBarbarian.java | 7 +- .../src/mage/cards/s/SpellheartChimera.java | 3 +- Mage.Sets/src/mage/cards/s/Spellshift.java | 246 +++++----- Mage.Sets/src/mage/cards/s/Spellskite.java | 3 +- .../src/mage/cards/s/SpellstutterSprite.java | 4 +- .../src/mage/cards/s/SpelltitheEnforcer.java | 5 +- .../src/mage/cards/s/SpellweaverEternal.java | 7 +- .../src/mage/cards/s/SphinxAmbassador.java | 3 +- .../src/mage/cards/s/SphinxOfJwarIsle.java | 3 +- .../src/mage/cards/s/SphinxOfLostTruths.java | 3 +- .../src/mage/cards/s/SphinxOfMagosi.java | 3 +- .../src/mage/cards/s/SphinxOfTheChimes.java | 3 +- .../mage/cards/s/SphinxOfTheFinalWord.java | 3 +- .../mage/cards/s/SphinxOfTheSteelWind.java | 3 +- .../src/mage/cards/s/SphinxOfUthuun.java | 3 +- .../src/mage/cards/s/SphinxSovereign.java | 3 +- .../src/mage/cards/s/SphinxSummoner.java | 3 +- .../src/mage/cards/s/SphinxsDisciple.java | 5 +- Mage.Sets/src/mage/cards/s/SphinxsHerald.java | 5 +- Mage.Sets/src/mage/cards/s/SpiderClimb.java | 3 +- Mage.Sets/src/mage/cards/s/SpiderUmbra.java | 2 +- Mage.Sets/src/mage/cards/s/SpidersilkNet.java | 3 +- .../src/mage/cards/s/SpiderwigBoggart.java | 5 +- Mage.Sets/src/mage/cards/s/SpikeBreeder.java | 3 +- Mage.Sets/src/mage/cards/s/SpikeCannibal.java | 3 +- Mage.Sets/src/mage/cards/s/SpikeColony.java | 3 +- Mage.Sets/src/mage/cards/s/SpikeDrone.java | 5 +- Mage.Sets/src/mage/cards/s/SpikeFeeder.java | 3 +- Mage.Sets/src/mage/cards/s/SpikeHatcher.java | 3 +- Mage.Sets/src/mage/cards/s/SpikeJester.java | 5 +- Mage.Sets/src/mage/cards/s/SpikeRogue.java | 3 +- Mage.Sets/src/mage/cards/s/SpikeSoldier.java | 5 +- Mage.Sets/src/mage/cards/s/SpikeWeaver.java | 3 +- Mage.Sets/src/mage/cards/s/SpikeWorker.java | 3 +- Mage.Sets/src/mage/cards/s/SpikedBaloth.java | 3 +- .../src/mage/cards/s/SpikeshotElder.java | 5 +- .../src/mage/cards/s/SpikeshotGoblin.java | 4 +- .../src/mage/cards/s/SpiketailDrake.java | 3 +- .../src/mage/cards/s/SpiketailDrakeling.java | 3 +- .../src/mage/cards/s/SpiketailHatchling.java | 3 +- Mage.Sets/src/mage/cards/s/SpinEngine.java | 3 +- Mage.Sets/src/mage/cards/s/SpinalGraft.java | 3 +- .../src/mage/cards/s/SpinalParasite.java | 3 +- Mage.Sets/src/mage/cards/s/SpinalVillain.java | 3 +- Mage.Sets/src/mage/cards/s/Spincrusher.java | 3 +- .../src/mage/cards/s/SpindriftDrake.java | 3 +- Mage.Sets/src/mage/cards/s/Spinebiter.java | 3 +- Mage.Sets/src/mage/cards/s/SpinedBasher.java | 5 +- Mage.Sets/src/mage/cards/s/SpinedFluke.java | 5 +- Mage.Sets/src/mage/cards/s/SpinedSliver.java | 3 +- Mage.Sets/src/mage/cards/s/SpinedThopter.java | 3 +- Mage.Sets/src/mage/cards/s/SpinedWurm.java | 3 +- Mage.Sets/src/mage/cards/s/SpinelessThug.java | 5 +- .../src/mage/cards/s/SpinneretSliver.java | 2 +- .../src/mage/cards/s/SpiralingDuelist.java | 5 +- .../src/mage/cards/s/SpiralingEmbers.java | 3 +- Mage.Sets/src/mage/cards/s/SpireGolem.java | 2 +- Mage.Sets/src/mage/cards/s/SpireMonitor.java | 3 +- Mage.Sets/src/mage/cards/s/SpireOwl.java | 3 +- Mage.Sets/src/mage/cards/s/SpirePatrol.java | 149 +++--- Mage.Sets/src/mage/cards/s/SpireSerpent.java | 3 +- Mage.Sets/src/mage/cards/s/SpireTracer.java | 5 +- .../mage/cards/s/SpiresideInfiltrator.java | 5 +- Mage.Sets/src/mage/cards/s/Spirespine.java | 3 +- Mage.Sets/src/mage/cards/s/SpiritAway.java | 3 +- Mage.Sets/src/mage/cards/s/SpiritEnDal.java | 3 +- Mage.Sets/src/mage/cards/s/SpiritEnKor.java | 5 +- Mage.Sets/src/mage/cards/s/SpiritLink.java | 3 +- Mage.Sets/src/mage/cards/s/SpiritLoop.java | 3 +- Mage.Sets/src/mage/cards/s/SpiritMantle.java | 2 +- .../src/mage/cards/s/SpiritOfTheHearth.java | 5 +- .../src/mage/cards/s/SpiritOfTheHunt.java | 4 +- .../mage/cards/s/SpiritOfTheLabyrinth.java | 2 +- .../src/mage/cards/s/SpiritOfTheNight.java | 5 +- Mage.Sets/src/mage/cards/s/SpiritShackle.java | 3 +- Mage.Sets/src/mage/cards/s/SpiritWeaver.java | 5 +- Mage.Sets/src/mage/cards/s/Spiritmonger.java | 3 +- .../src/mage/cards/s/SpiritualGuardian.java | 3 +- Mage.Sets/src/mage/cards/s/Spitebellows.java | 3 +- .../src/mage/cards/s/SpiteflameWitch.java | 5 +- .../src/mage/cards/s/SpitefulMotives.java | 3 +- .../src/mage/cards/s/SpitefulReturned.java | 3 +- .../src/mage/cards/s/SpitefulShadows.java | 3 +- Mage.Sets/src/mage/cards/s/Spitemare.java | 3 +- Mage.Sets/src/mage/cards/s/SpittingDrake.java | 3 +- .../src/mage/cards/s/SpittingGourna.java | 3 +- Mage.Sets/src/mage/cards/s/SpittingHydra.java | 3 +- .../src/mage/cards/s/SpittingSliver.java | 2 +- .../src/mage/cards/s/SpittingSpider.java | 3 +- Mage.Sets/src/mage/cards/s/SplatterThug.java | 5 +- Mage.Sets/src/mage/cards/s/SplinterTwin.java | 3 +- .../src/mage/cards/s/Splinterfright.java | 3 +- Mage.Sets/src/mage/cards/s/SplitTailMiko.java | 4 +- .../src/mage/cards/s/SplittingSlime.java | 3 +- .../src/mage/cards/s/SpontaneousArtist.java | 5 +- .../src/mage/cards/s/SpontaneousMutation.java | 3 +- Mage.Sets/src/mage/cards/s/SporeFlower.java | 3 +- Mage.Sets/src/mage/cards/s/SporeFrog.java | 3 +- .../src/mage/cards/s/SporebackTroll.java | 5 +- .../src/mage/cards/s/SporecapSpider.java | 3 +- Mage.Sets/src/mage/cards/s/Sporemound.java | 3 +- .../src/mage/cards/s/SporesowerThallid.java | 2 +- .../src/mage/cards/s/SporolothAncient.java | 3 +- .../src/mage/cards/s/SpottedGriffin.java | 3 +- .../src/mage/cards/s/SpreadingAlgae.java | 2 +- Mage.Sets/src/mage/cards/s/SpreadingSeas.java | 2 +- .../src/mage/cards/s/SpringingTiger.java | 3 +- .../src/mage/cards/s/SpringjackKnight.java | 5 +- .../src/mage/cards/s/SpringjackShepherd.java | 5 +- .../src/mage/cards/s/SprintingWarbrute.java | 5 +- Mage.Sets/src/mage/cards/s/SpriteNoble.java | 3 +- .../src/mage/cards/s/SproutingPhytohydra.java | 5 +- .../src/mage/cards/s/SproutingThrinax.java | 3 +- Mage.Sets/src/mage/cards/s/SpurGrappler.java | 3 +- .../src/mage/cards/s/SpurnmageAdvocate.java | 5 +- .../src/mage/cards/s/SpurredWolverine.java | 4 +- Mage.Sets/src/mage/cards/s/SquadronHawk.java | 3 +- Mage.Sets/src/mage/cards/s/SquallDrifter.java | 3 +- Mage.Sets/src/mage/cards/s/Squallmonger.java | 3 +- .../mage/cards/s/SqueakingPieGrubfellows.java | 5 +- .../src/mage/cards/s/SqueakingPieSneak.java | 4 +- .../src/mage/cards/s/SquealingDevil.java | 3 +- .../src/mage/cards/s/SqueeGoblinNabob.java | 3 +- Mage.Sets/src/mage/cards/s/SqueesEmbrace.java | 3 +- .../src/mage/cards/s/SquelchingLeeches.java | 2 +- Mage.Sets/src/mage/cards/s/Squire.java | 5 +- Mage.Sets/src/mage/cards/s/SquirmingMass.java | 3 +- Mage.Sets/src/mage/cards/s/SquirrelMob.java | 2 +- Mage.Sets/src/mage/cards/s/SquirrelNest.java | 3 +- .../src/mage/cards/s/SquirrelWrangler.java | 4 +- .../src/mage/cards/s/SramSeniorEdificer.java | 4 +- Mage.Sets/src/mage/cards/s/StabWound.java | 3 +- Mage.Sets/src/mage/cards/s/StagBeetle.java | 3 +- Mage.Sets/src/mage/cards/s/StalkerHag.java | 3 +- .../src/mage/cards/s/StalkingAssassin.java | 5 +- .../src/mage/cards/s/StalkingBloodsucker.java | 3 +- Mage.Sets/src/mage/cards/s/StalkingDrone.java | 5 +- Mage.Sets/src/mage/cards/s/StalkingTiger.java | 3 +- .../src/mage/cards/s/StalkingVampire.java | 3 +- .../src/mage/cards/s/StalkingVengeance.java | 3 +- .../src/mage/cards/s/StallionOfAshmouth.java | 5 +- Mage.Sets/src/mage/cards/s/StalwartAven.java | 5 +- .../mage/cards/s/StalwartShieldBearers.java | 5 +- .../src/mage/cards/s/StampedeDriver.java | 5 +- .../src/mage/cards/s/StampedingElkHerd.java | 3 +- .../src/mage/cards/s/StampedingRhino.java | 3 +- .../src/mage/cards/s/StampedingSerow.java | 5 +- .../mage/cards/s/StampedingWildebeests.java | 5 +- .../src/mage/cards/s/StandardBearer.java | 134 +++--- .../src/mage/cards/s/StandingTroops.java | 5 +- Mage.Sets/src/mage/cards/s/StarDestroyer.java | 196 ++++---- Mage.Sets/src/mage/cards/s/StarkeOfRath.java | 4 +- .../src/mage/cards/s/StarlightInvoker.java | 7 +- Mage.Sets/src/mage/cards/s/StarlitAngel.java | 3 +- .../src/mage/cards/s/StarvedRusalka.java | 3 +- Mage.Sets/src/mage/cards/s/StasisCell.java | 3 +- Mage.Sets/src/mage/cards/s/StasisCocoon.java | 3 +- .../src/mage/cards/s/StaunchDefenders.java | 5 +- .../mage/cards/s/StaunchHeartedWarrior.java | 5 +- .../src/mage/cards/s/SteadfastCathar.java | 5 +- .../src/mage/cards/s/SteadfastGuard.java | 5 +- .../src/mage/cards/s/SteadfastSentinel.java | 5 +- Mage.Sets/src/mage/cards/s/StealArtifact.java | 3 +- .../src/mage/cards/s/StealEnchantment.java | 3 +- .../src/mage/cards/s/StealerOfSecrets.java | 5 +- Mage.Sets/src/mage/cards/s/SteamCatapult.java | 5 +- Mage.Sets/src/mage/cards/s/SteamFrigate.java | 4 +- Mage.Sets/src/mage/cards/s/SteamSpitter.java | 3 +- Mage.Sets/src/mage/cards/s/SteamVents.java | 5 +- .../src/mage/cards/s/SteamcoreWeird.java | 3 +- Mage.Sets/src/mage/cards/s/SteelGolem.java | 2 +- Mage.Sets/src/mage/cards/s/SteelHellkite.java | 3 +- .../src/mage/cards/s/SteelLeafPaladin.java | 5 +- .../src/mage/cards/s/SteelOfTheGodhead.java | 3 +- Mage.Sets/src/mage/cards/s/SteelOverseer.java | 3 +- Mage.Sets/src/mage/cards/s/SteelWall.java | 3 +- .../src/mage/cards/s/SteelcladSerpent.java | 3 +- .../src/mage/cards/s/SteelformSliver.java | 3 +- .../mage/cards/s/SteelshaperApprentice.java | 4 +- Mage.Sets/src/mage/cards/s/SteepleRoc.java | 3 +- Mage.Sets/src/mage/cards/s/Stenchskipper.java | 2 +- .../src/mage/cards/s/StensiaInnkeeper.java | 3 +- Mage.Sets/src/mage/cards/s/SteppeGlider.java | 3 +- Mage.Sets/src/mage/cards/s/SteppeLynx.java | 3 +- .../src/mage/cards/s/SternConstable.java | 5 +- Mage.Sets/src/mage/cards/s/SternMarshal.java | 5 +- Mage.Sets/src/mage/cards/s/SternMentor.java | 5 +- Mage.Sets/src/mage/cards/s/SternProctor.java | 5 +- .../src/mage/cards/s/StewardOfSolidarity.java | 5 +- .../src/mage/cards/s/StewardOfValeron.java | 7 +- Mage.Sets/src/mage/cards/s/StigmaLasher.java | 5 +- Mage.Sets/src/mage/cards/s/StillLife.java | 3 +- .../src/mage/cards/s/StillmoonCavalier.java | 5 +- .../src/mage/cards/s/StingerflingSpider.java | 3 +- .../src/mage/cards/s/StingingBarrier.java | 3 +- Mage.Sets/src/mage/cards/s/StingingLicid.java | 3 +- Mage.Sets/src/mage/cards/s/Stingmoggie.java | 3 +- Mage.Sets/src/mage/cards/s/Stingscourger.java | 5 +- .../src/mage/cards/s/StinkdrinkerBandit.java | 4 +- .../mage/cards/s/StinkdrinkerDaredevil.java | 4 +- Mage.Sets/src/mage/cards/s/StinkweedImp.java | 3 +- .../src/mage/cards/s/StirringWildwood.java | 3 +- Mage.Sets/src/mage/cards/s/StitchedDrake.java | 5 +- .../src/mage/cards/s/StitchedMangler.java | 5 +- .../src/mage/cards/s/StitcherGeralf.java | 5 +- .../src/mage/cards/s/StitchersApprentice.java | 3 +- .../src/mage/cards/s/StitchersGraft.java | 3 +- .../src/mage/cards/s/StitchwingSkaab.java | 5 +- Mage.Sets/src/mage/cards/s/StoicAngel.java | 3 +- Mage.Sets/src/mage/cards/s/StoicBuilder.java | 3 +- Mage.Sets/src/mage/cards/s/StoicChampion.java | 5 +- Mage.Sets/src/mage/cards/s/StoicEphemera.java | 3 +- Mage.Sets/src/mage/cards/s/StomperCub.java | 3 +- .../src/mage/cards/s/StompingGround.java | 5 +- Mage.Sets/src/mage/cards/s/StoneCatapult.java | 5 +- Mage.Sets/src/mage/cards/s/StoneGiant.java | 3 +- Mage.Sets/src/mage/cards/s/StoneGolem.java | 3 +- .../src/mage/cards/s/StoneHavenMedic.java | 5 +- .../src/mage/cards/s/StoneHavenOutfitter.java | 7 +- Mage.Sets/src/mage/cards/s/StoneKavu.java | 3 +- .../mage/cards/s/StoneSeederHierophant.java | 5 +- Mage.Sets/src/mage/cards/s/StoneSpirit.java | 5 +- .../src/mage/cards/s/StoneThrowingDevils.java | 3 +- .../src/mage/cards/s/StoneTongueBasilisk.java | 3 +- .../src/mage/cards/s/StonebrowKrosanHero.java | 5 +- Mage.Sets/src/mage/cards/s/Stonecloaker.java | 3 +- .../src/mage/cards/s/StonefareCrocodile.java | 3 +- .../src/mage/cards/s/StoneforgeAcolyte.java | 6 +- .../mage/cards/s/StoneforgeMasterwork.java | 3 +- .../src/mage/cards/s/StoneforgeMystic.java | 4 +- Mage.Sets/src/mage/cards/s/Stonehands.java | 3 +- .../src/mage/cards/s/StonehewerGiant.java | 4 +- .../src/mage/cards/s/StonehoofChieftain.java | 5 +- .../src/mage/cards/s/StonehornChanter.java | 5 +- .../src/mage/cards/s/StonehornDignitary.java | 5 +- .../src/mage/cards/s/StoneshakerShaman.java | 5 +- .../src/mage/cards/s/StoneshockGiant.java | 3 +- .../mage/cards/s/StonewingAntagonizer.java | 5 +- .../src/mage/cards/s/StonewiseFortifier.java | 5 +- .../src/mage/cards/s/StonewoodInvoker.java | 5 +- Mage.Sets/src/mage/cards/s/StoneworkPuma.java | 5 +- Mage.Sets/src/mage/cards/s/Stonewright.java | 5 +- .../src/mage/cards/s/StonybrookAngler.java | 5 +- .../src/mage/cards/s/StonybrookBanneret.java | 4 +- .../mage/cards/s/StonybrookSchoolmaster.java | 5 +- Mage.Sets/src/mage/cards/s/StormCrow.java | 3 +- Mage.Sets/src/mage/cards/s/StormEntity.java | 3 +- .../src/mage/cards/s/StormFleetAerialist.java | 5 +- .../src/mage/cards/s/StormFleetArsonist.java | 5 +- Mage.Sets/src/mage/cards/s/StormShaman.java | 7 +- Mage.Sets/src/mage/cards/s/StormSpirit.java | 5 +- .../src/mage/cards/s/StormbloodBerserker.java | 5 +- .../src/mage/cards/s/StormboundGeist.java | 3 +- .../src/mage/cards/s/StormbreathDragon.java | 3 +- .../mage/cards/s/StormcallerOfKeranos.java | 5 +- .../src/mage/cards/s/StormchaserChimera.java | 3 +- .../src/mage/cards/s/StormchaserMage.java | 5 +- .../src/mage/cards/s/StormcloudDjinn.java | 3 +- .../src/mage/cards/s/StormcragElemental.java | 3 +- .../src/mage/cards/s/StormfrontPegasus.java | 3 +- .../src/mage/cards/s/StormfrontRiders.java | 5 +- Mage.Sets/src/mage/cards/s/StormriderRig.java | 3 +- .../src/mage/cards/s/StormriderSpirit.java | 3 +- .../mage/cards/s/StormscapeApprentice.java | 5 +- .../mage/cards/s/StormscapeBattlemage.java | 5 +- .../src/mage/cards/s/StormscapeFamiliar.java | 3 +- .../src/mage/cards/s/StormscapeMaster.java | 5 +- .../src/mage/cards/s/StormsurgeKraken.java | 3 +- .../src/mage/cards/s/StormtideLeviathan.java | 3 +- .../src/mage/cards/s/StormwatchEagle.java | 3 +- .../src/mage/cards/s/StormwingDragon.java | 2 +- .../src/mage/cards/s/StrandsOfUndeath.java | 3 +- Mage.Sets/src/mage/cards/s/Strandwalker.java | 3 +- .../src/mage/cards/s/StrangeAugmentation.java | 3 +- .../src/mage/cards/s/StranglerootGeist.java | 3 +- Mage.Sets/src/mage/cards/s/StrataScythe.java | 3 +- Mage.Sets/src/mage/cards/s/Stratadon.java | 3 +- .../src/mage/cards/s/Stratozeppelid.java | 3 +- Mage.Sets/src/mage/cards/s/StratusDancer.java | 5 +- Mage.Sets/src/mage/cards/s/StratusWalk.java | 3 +- Mage.Sets/src/mage/cards/s/StrawGolem.java | 3 +- Mage.Sets/src/mage/cards/s/StrawSoldiers.java | 5 +- Mage.Sets/src/mage/cards/s/StreamHopper.java | 3 +- .../mage/cards/s/StreamOfUnconsciousness.java | 2 +- .../src/mage/cards/s/StreambedAquitects.java | 4 +- Mage.Sets/src/mage/cards/s/StreetSweeper.java | 3 +- Mage.Sets/src/mage/cards/s/StreetWraith.java | 3 +- .../src/mage/cards/s/StreetbreakerWurm.java | 3 +- .../src/mage/cards/s/StrengthOfCedars.java | 3 +- .../src/mage/cards/s/StrengthOfIsolation.java | 3 +- .../src/mage/cards/s/StrengthOfLunacy.java | 3 +- .../src/mage/cards/s/StrengthOfUnity.java | 3 +- .../src/mage/cards/s/StriderHarness.java | 3 +- .../src/mage/cards/s/StrikeTeamCommando.java | 157 +++---- .../src/mage/cards/s/StrikingSliver.java | 3 +- Mage.Sets/src/mage/cards/s/StripedBears.java | 3 +- .../src/mage/cards/s/StripedRiverwinder.java | 3 +- .../src/mage/cards/s/StromgaldCabal.java | 5 +- .../src/mage/cards/s/StromgaldCrusader.java | 5 +- .../src/mage/cards/s/StromkirkCaptain.java | 4 +- .../src/mage/cards/s/StromkirkCondemned.java | 4 +- .../src/mage/cards/s/StromkirkMentor.java | 4 +- .../src/mage/cards/s/StromkirkNoble.java | 2 +- .../src/mage/cards/s/StromkirkOccultist.java | 5 +- .../src/mage/cards/s/StromkirkPatrol.java | 5 +- Mage.Sets/src/mage/cards/s/StrongarmMonk.java | 5 +- Mage.Sets/src/mage/cards/s/StrongarmThug.java | 4 +- .../src/mage/cards/s/StrongholdAssassin.java | 5 +- .../src/mage/cards/s/StrongholdMachinist.java | 5 +- .../src/mage/cards/s/StrongholdOverseer.java | 3 +- .../src/mage/cards/s/StrongholdRats.java | 3 +- .../mage/cards/s/StrongholdTaskmaster.java | 5 +- .../src/mage/cards/s/StrongholdZeppelin.java | 3 +- .../src/mage/cards/s/StruggleSurvive.java | 230 ++++----- .../src/mage/cards/s/StudentOfElements.java | 9 +- .../src/mage/cards/s/StudentOfOjutai.java | 5 +- .../src/mage/cards/s/StudentOfWarfare.java | 5 +- Mage.Sets/src/mage/cards/s/StuffyDoll.java | 3 +- Mage.Sets/src/mage/cards/s/StunSniper.java | 5 +- Mage.Sets/src/mage/cards/s/StuntDouble.java | 3 +- .../src/mage/cards/s/StupefyingTouch.java | 3 +- .../src/mage/cards/s/SturdyHatchling.java | 3 +- Mage.Sets/src/mage/cards/s/Sturmgeist.java | 3 +- Mage.Sets/src/mage/cards/s/SuChi.java | 3 +- .../src/mage/cards/s/SubjugatorAngel.java | 3 +- .../src/mage/cards/s/SublimeArchangel.java | 3 +- .../src/mage/cards/s/SubterraneanScout.java | 5 +- .../mage/cards/s/SubterraneanShambler.java | 157 +++---- Mage.Sets/src/mage/cards/s/SulamDjinn.java | 3 +- .../src/mage/cards/s/SulfurElemental.java | 3 +- .../src/mage/cards/s/SultaiEmissary.java | 5 +- Mage.Sets/src/mage/cards/s/SultaiFlayer.java | 5 +- .../src/mage/cards/s/SultaiRunemark.java | 3 +- .../src/mage/cards/s/SultaiScavenger.java | 5 +- .../src/mage/cards/s/SultaiSkullkeeper.java | 5 +- .../src/mage/cards/s/SultaiSoothsayer.java | 5 +- Mage.Sets/src/mage/cards/s/SummitApes.java | 2 +- Mage.Sets/src/mage/cards/s/SummitProwler.java | 3 +- .../src/mage/cards/s/SummonTheSchool.java | 2 +- Mage.Sets/src/mage/cards/s/SummonersEgg.java | 3 +- .../src/mage/cards/s/SunBlessedMount.java | 3 +- .../src/mage/cards/s/SunCeYoungConquerer.java | 5 +- Mage.Sets/src/mage/cards/s/SunClasp.java | 2 +- .../src/mage/cards/s/SunCrownedHunters.java | 3 +- .../src/mage/cards/s/SunQuanLordOfWu.java | 5 +- Mage.Sets/src/mage/cards/s/SunTitan.java | 3 +- .../src/mage/cards/s/SunastianFalconer.java | 5 +- Mage.Sets/src/mage/cards/s/SunbladeElf.java | 4 +- Mage.Sets/src/mage/cards/s/SunblastAngel.java | 3 +- Mage.Sets/src/mage/cards/s/Sunbond.java | 3 +- Mage.Sets/src/mage/cards/s/Suncrusher.java | 3 +- .../src/mage/cards/s/SunderingTitan.java | 2 +- .../src/mage/cards/s/SunflareShaman.java | 4 +- Mage.Sets/src/mage/cards/s/Sunforger.java | 3 +- .../src/mage/cards/s/SungracePegasus.java | 3 +- .../src/mage/cards/s/SunhomeEnforcer.java | 5 +- .../src/mage/cards/s/SunhomeGuildmage.java | 5 +- Mage.Sets/src/mage/cards/s/SunkenField.java | 3 +- Mage.Sets/src/mage/cards/s/SunkenHollow.java | 5 +- .../src/mage/cards/s/SunriseSovereign.java | 4 +- .../src/mage/cards/s/SunscapeApprentice.java | 5 +- .../src/mage/cards/s/SunscapeBattlemage.java | 5 +- .../src/mage/cards/s/SunscapeFamiliar.java | 3 +- .../src/mage/cards/s/SunscapeMaster.java | 5 +- .../src/mage/cards/s/SunscorchRegent.java | 3 +- .../src/mage/cards/s/SunscorchedDesert.java | 3 +- .../src/mage/cards/s/SunscourgeChampion.java | 5 +- .../src/mage/cards/s/SunseedNurturer.java | 7 +- .../src/mage/cards/s/SunspearShikari.java | 5 +- .../src/mage/cards/s/SunspireGatekeepers.java | 4 +- .../src/mage/cards/s/SunspireGriffin.java | 3 +- .../mage/cards/s/SunstrikeLegionnaire.java | 5 +- Mage.Sets/src/mage/cards/s/SuntailHawk.java | 3 +- Mage.Sets/src/mage/cards/s/SuntouchedMyr.java | 3 +- Mage.Sets/src/mage/cards/s/Sunweb.java | 3 +- .../src/mage/cards/s/SuperBattleDroid.java | 123 ++--- Mage.Sets/src/mage/cards/s/SupplyCaravan.java | 3 +- .../src/mage/cards/s/SupplyLineCranes.java | 3 +- .../src/mage/cards/s/SuppressionBonds.java | 3 +- .../src/mage/cards/s/SupremeExemplar.java | 2 +- .../src/mage/cards/s/SupremeInquisitor.java | 4 +- .../src/mage/cards/s/SuqAtaAssassin.java | 5 +- .../src/mage/cards/s/SuqAtaFirewalker.java | 5 +- Mage.Sets/src/mage/cards/s/SuqAtaLancer.java | 5 +- .../src/mage/cards/s/SurestrikeTrident.java | 3 +- .../src/mage/cards/s/SurgeOfThoughtweft.java | 2 +- Mage.Sets/src/mage/cards/s/Surgespanner.java | 5 +- Mage.Sets/src/mage/cards/s/SurgingMight.java | 3 +- .../src/mage/cards/s/SurgingSentinels.java | 5 +- .../src/mage/cards/s/SurpriseManeuver.java | 130 +++--- .../src/mage/cards/s/SurrakDragonclaw.java | 5 +- .../src/mage/cards/s/SurrakTheHuntCaller.java | 5 +- .../src/mage/cards/s/SurrakarBanisher.java | 3 +- .../src/mage/cards/s/SurrakarMarauder.java | 3 +- .../src/mage/cards/s/SurrakarSpellblade.java | 3 +- .../src/mage/cards/s/SurveillingSprite.java | 5 +- .../src/mage/cards/s/SurvivorsEncampment.java | 3 +- .../src/mage/cards/s/SustainerOfTheRealm.java | 3 +- .../src/mage/cards/s/SustainingSpirit.java | 4 +- Mage.Sets/src/mage/cards/s/SuturePriest.java | 3 +- Mage.Sets/src/mage/cards/s/SutureSpirit.java | 3 +- Mage.Sets/src/mage/cards/s/SuturedGhoul.java | 3 +- .../mage/cards/s/SvogthosTheRestlessTomb.java | 5 +- .../src/mage/cards/s/SvyelunitePriest.java | 5 +- Mage.Sets/src/mage/cards/s/SwampMosquito.java | 3 +- .../src/mage/cards/s/SwansOfBrynArgoll.java | 5 +- .../src/mage/cards/s/SwarmIntelligence.java | 120 ++--- .../src/mage/cards/s/SwarmOfBloodflies.java | 3 +- Mage.Sets/src/mage/cards/s/SwarmOfRats.java | 2 +- Mage.Sets/src/mage/cards/s/SwarmTheSkies.java | 116 ++--- .../src/mage/cards/s/SwarmbornGiant.java | 3 +- .../src/mage/cards/s/SweatworksBrawler.java | 5 +- Mage.Sets/src/mage/cards/s/SwiftSpinner.java | 3 +- Mage.Sets/src/mage/cards/s/SwiftWarkite.java | 3 +- .../src/mage/cards/s/SwiftfootBoots.java | 3 +- .../src/mage/cards/s/SwirlingSpriggan.java | 5 +- Mage.Sets/src/mage/cards/s/SwoopingTalon.java | 5 +- Mage.Sets/src/mage/cards/s/SwordDancer.java | 5 +- .../src/mage/cards/s/SwordOfBodyAndMind.java | 3 +- .../cards/s/SwordOfDungeonsAndDragons.java | 2 +- .../mage/cards/s/SwordOfFeastAndFamine.java | 3 +- .../src/mage/cards/s/SwordOfFireAndIce.java | 3 +- Mage.Sets/src/mage/cards/s/SwordOfKaldra.java | 2 +- .../mage/cards/s/SwordOfLightAndShadow.java | 3 +- .../src/mage/cards/s/SwordOfTheAnimist.java | 3 +- .../src/mage/cards/s/SwordOfTheMeek.java | 2 +- .../src/mage/cards/s/SwordOfTheParuns.java | 3 +- .../src/mage/cards/s/SwordOfVengeance.java | 3 +- .../src/mage/cards/s/SwordOfWarAndPeace.java | 3 +- .../src/mage/cards/s/SwordwiseCentaur.java | 5 +- .../src/mage/cards/s/SydriGalvanicGenius.java | 4 +- .../src/mage/cards/s/SyggRiverCutthroat.java | 5 +- .../src/mage/cards/s/SyggRiverGuide.java | 4 +- .../src/mage/cards/s/SylvanAdvocate.java | 7 +- .../src/mage/cards/s/SylvanBasilisk.java | 3 +- .../src/mage/cards/s/SylvanCaryatid.java | 3 +- .../src/mage/cards/s/SylvanMessenger.java | 2 +- .../src/mage/cards/s/SylvanPrimordial.java | 2 +- Mage.Sets/src/mage/cards/s/SylvanRanger.java | 5 +- .../src/mage/cards/s/SylvanSafekeeper.java | 5 +- Mage.Sets/src/mage/cards/s/SylvanYeti.java | 3 +- .../src/mage/cards/s/SylvokExplorer.java | 5 +- .../src/mage/cards/s/SylvokLifestaff.java | 3 +- Mage.Sets/src/mage/cards/s/SylvokReplica.java | 3 +- .../src/mage/cards/s/SymbioticBeast.java | 5 +- Mage.Sets/src/mage/cards/s/SymbioticElf.java | 3 +- Mage.Sets/src/mage/cards/s/SymbioticWurm.java | 3 +- Mage.Sets/src/mage/cards/s/SynapseSliver.java | 2 +- .../src/mage/cards/s/SynchronousSliver.java | 2 +- .../src/mage/cards/s/SyndicOfTithes.java | 5 +- .../src/mage/cards/s/SyndicateEnforcer.java | 5 +- .../mage/cards/s/SyndicateEnforcerSWS.java | 237 +++++----- .../src/mage/cards/s/SyndicateTrafficker.java | 5 +- .../src/mage/cards/s/SynodArtificer.java | 5 +- .../src/mage/cards/s/SynodCenturion.java | 3 +- Mage.Sets/src/mage/cards/s/SyphonSliver.java | 3 +- .../src/mage/cards/s/SzadekLordOfSecrets.java | 2 +- Mage.Sets/src/mage/cards/t/TIEBomber.java | 153 +++--- .../src/mage/cards/t/TIEInterceptor.java | 199 ++++---- Mage.Sets/src/mage/cards/t/TahCropElite.java | 5 +- .../src/mage/cards/t/TahCropSkirmisher.java | 5 +- .../mage/cards/t/TahngarthTalruumHero.java | 5 +- Mage.Sets/src/mage/cards/t/Taiga.java | 5 +- .../src/mage/cards/t/TaigamOjutaiMaster.java | 4 +- .../src/mage/cards/t/TaigamSidisisHand.java | 5 +- Mage.Sets/src/mage/cards/t/TaintedWell.java | 2 +- .../src/mage/cards/t/TajNarSwordsmith.java | 4 +- .../mage/cards/t/TajicBladeOfTheLegion.java | 5 +- Mage.Sets/src/mage/cards/t/TajuruArcher.java | 6 +- .../src/mage/cards/t/TajuruBeastmaster.java | 7 +- .../src/mage/cards/t/TajuruPathwarden.java | 7 +- .../src/mage/cards/t/TajuruPreserver.java | 4 +- .../src/mage/cards/t/TajuruStalwart.java | 7 +- .../src/mage/cards/t/TajuruWarcaller.java | 7 +- .../src/mage/cards/t/TakePossession.java | 3 +- .../mage/cards/t/TakenoSamuraiGeneral.java | 4 +- .../src/mage/cards/t/TakenosCavalry.java | 6 +- .../src/mage/cards/t/TakenumaBleeder.java | 4 +- .../src/mage/cards/t/TalarasBattalion.java | 5 +- Mage.Sets/src/mage/cards/t/TalasAirShip.java | 5 +- Mage.Sets/src/mage/cards/t/TalasExplorer.java | 7 +- Mage.Sets/src/mage/cards/t/TalasMerchant.java | 5 +- .../src/mage/cards/t/TalasResearcher.java | 7 +- Mage.Sets/src/mage/cards/t/TalasScout.java | 7 +- Mage.Sets/src/mage/cards/t/TalasWarrior.java | 7 +- Mage.Sets/src/mage/cards/t/Tallowisp.java | 2 +- Mage.Sets/src/mage/cards/t/TalonSliver.java | 2 +- Mage.Sets/src/mage/cards/t/TalonTrooper.java | 5 +- Mage.Sets/src/mage/cards/t/Talonrend.java | 3 +- .../src/mage/cards/t/TalonsOfFalkenrath.java | 3 +- .../src/mage/cards/t/TalrandSkySummoner.java | 5 +- .../src/mage/cards/t/TalruumChampion.java | 3 +- .../src/mage/cards/t/TalruumMinotaur.java | 5 +- Mage.Sets/src/mage/cards/t/TalruumPiper.java | 3 +- Mage.Sets/src/mage/cards/t/TalusPaladin.java | 6 +- Mage.Sets/src/mage/cards/t/Tamanoa.java | 229 ++++----- .../mage/cards/t/TamiyoFieldResearcher.java | 3 +- .../src/mage/cards/t/TamiyoTheMoonSage.java | 3 +- .../src/mage/cards/t/TanaTheBloodsower.java | 5 +- Mage.Sets/src/mage/cards/t/TandemLookout.java | 5 +- Mage.Sets/src/mage/cards/t/TangleAngler.java | 3 +- Mage.Sets/src/mage/cards/t/TangleAsp.java | 3 +- Mage.Sets/src/mage/cards/t/TangleGolem.java | 2 +- Mage.Sets/src/mage/cards/t/TangleHulk.java | 3 +- Mage.Sets/src/mage/cards/t/TangleMantis.java | 3 +- Mage.Sets/src/mage/cards/t/TangleSpider.java | 3 +- .../src/mage/cards/t/TangleclawWerewolf.java | 5 +- Mage.Sets/src/mage/cards/t/Tanglewalker.java | 3 +- Mage.Sets/src/mage/cards/t/Taniwha.java | 3 +- Mage.Sets/src/mage/cards/t/TankDroid.java | 145 +++--- Mage.Sets/src/mage/cards/t/TaoistHermit.java | 5 +- Mage.Sets/src/mage/cards/t/TaoistMystic.java | 5 +- Mage.Sets/src/mage/cards/t/TarFiend.java | 3 +- Mage.Sets/src/mage/cards/t/TarPitWarrior.java | 5 +- Mage.Sets/src/mage/cards/t/TarPitcher.java | 4 +- Mage.Sets/src/mage/cards/t/Tarfire.java | 3 +- .../mage/cards/t/TarielReckonerOfSouls.java | 3 +- Mage.Sets/src/mage/cards/t/Tarmogoyf.java | 2 +- .../src/mage/cards/t/TaroxBladewing.java | 3 +- Mage.Sets/src/mage/cards/t/Tarpan.java | 3 +- .../mage/cards/t/TasigurTheGoldenFang.java | 5 +- Mage.Sets/src/mage/cards/t/TaskForce.java | 5 +- .../src/mage/cards/t/TasseledDromedary.java | 3 +- .../src/mage/cards/t/TasteForMayhem.java | 3 +- .../mage/cards/t/TatsumasaTheDragonsFang.java | 2 +- Mage.Sets/src/mage/cards/t/TatteredDrake.java | 5 +- .../src/mage/cards/t/TatteredHaunter.java | 3 +- Mage.Sets/src/mage/cards/t/TatteredMummy.java | 5 +- Mage.Sets/src/mage/cards/t/Tatterkite.java | 3 +- .../src/mage/cards/t/TattermungeDuo.java | 7 +- .../src/mage/cards/t/TattermungeManiac.java | 5 +- .../src/mage/cards/t/TattermungeWitch.java | 5 +- Mage.Sets/src/mage/cards/t/TauntingElf.java | 3 +- Mage.Sets/src/mage/cards/t/TaureanMauler.java | 3 +- .../src/mage/cards/t/TavernSwindler.java | 5 +- Mage.Sets/src/mage/cards/t/TeardropKami.java | 3 +- Mage.Sets/src/mage/cards/t/TectonicFiend.java | 3 +- Mage.Sets/src/mage/cards/t/TeekasDragon.java | 3 +- .../src/mage/cards/t/TeferiMageOfZhalfir.java | 4 +- .../mage/cards/t/TeferiTemporalArchmage.java | 3 +- Mage.Sets/src/mage/cards/t/TeferisCurse.java | 3 +- Mage.Sets/src/mage/cards/t/TeferisDrake.java | 3 +- .../src/mage/cards/t/TeferisHonorGuard.java | 5 +- Mage.Sets/src/mage/cards/t/Tek.java | 2 +- .../src/mage/cards/t/TelJiladArchers.java | 5 +- .../src/mage/cards/t/TelJiladChosen.java | 5 +- Mage.Sets/src/mage/cards/t/TelJiladExile.java | 5 +- .../src/mage/cards/t/TelJiladFallen.java | 5 +- .../mage/cards/t/TelJiladLifebreather.java | 4 +- .../src/mage/cards/t/TelJiladOutrider.java | 5 +- Mage.Sets/src/mage/cards/t/TelJiladWolf.java | 143 +++--- .../src/mage/cards/t/TelekineticSliver.java | 2 +- .../src/mage/cards/t/TelepathicSpies.java | 5 +- Mage.Sets/src/mage/cards/t/Telethopter.java | 3 +- Mage.Sets/src/mage/cards/t/TellerOfTales.java | 3 +- .../mage/cards/t/TemmetVizierOfNaktamun.java | 5 +- Mage.Sets/src/mage/cards/t/TempestDrake.java | 3 +- Mage.Sets/src/mage/cards/t/TempestOwl.java | 3 +- Mage.Sets/src/mage/cards/t/TempleAcolyte.java | 5 +- Mage.Sets/src/mage/cards/t/TempleElder.java | 5 +- Mage.Sets/src/mage/cards/t/TempleGarden.java | 5 +- Mage.Sets/src/mage/cards/t/TemporalAdept.java | 5 +- .../src/mage/cards/t/TemporalAperture.java | 316 ++++++------- .../src/mage/cards/t/TemporalIsolation.java | 3 +- Mage.Sets/src/mage/cards/t/TemptingLicid.java | 3 +- Mage.Sets/src/mage/cards/t/TemptingWurm.java | 3 +- Mage.Sets/src/mage/cards/t/TemurCharger.java | 3 +- Mage.Sets/src/mage/cards/t/TemurRunemark.java | 3 +- .../src/mage/cards/t/TemurSabertooth.java | 3 +- .../src/mage/cards/t/TemurWarShaman.java | 5 +- Mage.Sets/src/mage/cards/t/TenaciousDead.java | 5 +- .../src/mage/cards/t/TenaciousHunter.java | 3 +- .../src/mage/cards/t/TenebTheHarvester.java | 3 +- .../src/mage/cards/t/TenementCrasher.java | 3 +- .../src/mage/cards/t/TenzaGodosMaul.java | 2 +- Mage.Sets/src/mage/cards/t/Tephraderm.java | 3 +- .../src/mage/cards/t/TerashisVerdict.java | 3 +- Mage.Sets/src/mage/cards/t/Terastodon.java | 3 +- Mage.Sets/src/mage/cards/t/TerentatekCub.java | 172 +++---- .../src/mage/cards/t/TerohsFaithful.java | 5 +- .../src/mage/cards/t/TerohsVanguard.java | 5 +- Mage.Sets/src/mage/cards/t/TerraRavager.java | 5 +- Mage.Sets/src/mage/cards/t/TerraStomper.java | 3 +- Mage.Sets/src/mage/cards/t/Terraformer.java | 5 +- .../src/mage/cards/t/TerrainElemental.java | 115 ++--- Mage.Sets/src/mage/cards/t/Terravore.java | 3 +- .../src/mage/cards/t/TerritorialBaloth.java | 3 +- .../src/mage/cards/t/TerritorialGorger.java | 211 ++++----- .../src/mage/cards/t/TerritorialRoc.java | 3 +- .../src/mage/cards/t/TerrorOfKruinPass.java | 2 +- .../mage/cards/t/TerrorOfTheFairgrounds.java | 3 +- Mage.Sets/src/mage/cards/t/TerrusWurm.java | 5 +- .../src/mage/cards/t/TestamentOfFaith.java | 3 +- .../src/mage/cards/t/TetheredGriffin.java | 3 +- .../src/mage/cards/t/TetheredSkirge.java | 3 +- .../src/mage/cards/t/TethmosHighPriest.java | 5 +- Mage.Sets/src/mage/cards/t/Tetravus.java | 2 +- Mage.Sets/src/mage/cards/t/TetsuoUmezawa.java | 4 +- .../src/mage/cards/t/TeysaEnvoyOfGhosts.java | 5 +- .../src/mage/cards/t/TeysaOrzhovScion.java | 5 +- .../mage/cards/t/TezzeretAgentOfBolas.java | 3 +- .../mage/cards/t/TezzeretMasterOfMetal.java | 3 +- .../src/mage/cards/t/TezzeretTheSchemer.java | 3 +- .../src/mage/cards/t/TezzeretTheSeeker.java | 2 +- .../src/mage/cards/t/TezzeretsSimulacrum.java | 2 +- .../src/mage/cards/t/TezzeretsTouch.java | 3 +- .../src/mage/cards/t/ThadaAdelAcquisitor.java | 4 +- .../src/mage/cards/t/ThalakosDeceiver.java | 5 +- .../src/mage/cards/t/ThalakosDreamsower.java | 5 +- .../src/mage/cards/t/ThalakosDrifters.java | 3 +- .../src/mage/cards/t/ThalakosMistfolk.java | 5 +- Mage.Sets/src/mage/cards/t/ThalakosScout.java | 7 +- Mage.Sets/src/mage/cards/t/ThalakosSeer.java | 5 +- .../src/mage/cards/t/ThalakosSentry.java | 5 +- .../mage/cards/t/ThaliaGuardianOfThraben.java | 4 +- .../src/mage/cards/t/ThaliaHereticCathar.java | 4 +- .../src/mage/cards/t/ThaliasLancers.java | 5 +- .../src/mage/cards/t/ThaliasLieutenant.java | 4 +- Mage.Sets/src/mage/cards/t/Thallid.java | 3 +- .../src/mage/cards/t/ThallidDevourer.java | 2 +- .../src/mage/cards/t/ThallidGerminator.java | 2 +- .../src/mage/cards/t/ThallidShellDweller.java | 3 +- .../src/mage/cards/t/ThassaGodOfTheSea.java | 2 +- .../src/mage/cards/t/ThassasDevourer.java | 3 +- .../src/mage/cards/t/ThassasEmissary.java | 3 +- Mage.Sets/src/mage/cards/t/Thaumatog.java | 3 +- .../src/mage/cards/t/TheBattleOfEndor.java | 228 ++++----- .../src/mage/cards/t/TheBattleOfGeonosis.java | 152 +++--- .../src/mage/cards/t/TheBattleOfHoth.java | 118 ++--- .../src/mage/cards/t/TheBattleOfNaboo.java | 212 ++++----- Mage.Sets/src/mage/cards/t/TheBrute.java | 157 +++---- Mage.Sets/src/mage/cards/t/TheDeathStar.java | 182 ++++---- .../src/mage/cards/t/TheGitrogMonster.java | 4 +- .../mage/cards/t/TheLadyOfTheMountain.java | 3 +- Mage.Sets/src/mage/cards/t/TheLocustGod.java | 3 +- Mage.Sets/src/mage/cards/t/TheMimeoplasm.java | 2 +- Mage.Sets/src/mage/cards/t/TheScarabGod.java | 2 +- .../src/mage/cards/t/TheScorpionGod.java | 3 +- .../src/mage/cards/t/TheUnspeakable.java | 2 +- Mage.Sets/src/mage/cards/t/TheUrDragon.java | 4 +- Mage.Sets/src/mage/cards/t/TheWretched.java | 3 +- .../src/mage/cards/t/ThelonOfHavenwood.java | 4 +- .../src/mage/cards/t/TheloniteDruid.java | 6 +- .../src/mage/cards/t/TheloniteHermit.java | 4 +- Mage.Sets/src/mage/cards/t/TheloniteMonk.java | 6 +- Mage.Sets/src/mage/cards/t/ThermalGlider.java | 5 +- .../src/mage/cards/t/ThermalNavigator.java | 3 +- .../src/mage/cards/t/ThermoAlchemist.java | 5 +- Mage.Sets/src/mage/cards/t/Thermopod.java | 3 +- .../src/mage/cards/t/ThicketBasilisk.java | 2 +- .../src/mage/cards/t/ThicketElemental.java | 3 +- Mage.Sets/src/mage/cards/t/ThiefOfBlood.java | 3 +- Mage.Sets/src/mage/cards/t/ThiefOfHope.java | 3 +- .../src/mage/cards/t/ThievesFortune.java | 3 +- .../src/mage/cards/t/ThievingMagpie.java | 3 +- .../src/mage/cards/t/ThievingSprite.java | 4 +- .../src/mage/cards/t/ThingFromTheDeep.java | 2 +- Mage.Sets/src/mage/cards/t/ThingInTheIce.java | 3 +- Mage.Sets/src/mage/cards/t/Thirst.java | 3 +- Mage.Sets/src/mage/cards/t/ThirstingAxe.java | 2 +- .../src/mage/cards/t/ThistledownDuo.java | 7 +- .../src/mage/cards/t/ThistledownLiege.java | 5 +- Mage.Sets/src/mage/cards/t/ThopterArrest.java | 160 +++---- .../src/mage/cards/t/ThopterAssembly.java | 2 +- .../src/mage/cards/t/ThopterEngineer.java | 5 +- .../src/mage/cards/t/ThopterSquadron.java | 2 +- .../src/mage/cards/t/ThornElemental.java | 3 +- .../src/mage/cards/t/ThornOfTheBlackRose.java | 5 +- Mage.Sets/src/mage/cards/t/ThornThallid.java | 3 +- .../src/mage/cards/t/ThornThrashViashino.java | 5 +- .../src/mage/cards/t/ThornbiteStaff.java | 4 +- .../src/mage/cards/t/ThornbowArcher.java | 4 +- .../src/mage/cards/t/ThorncasterSliver.java | 3 +- Mage.Sets/src/mage/cards/t/ThornedMoloch.java | 3 +- .../src/mage/cards/t/ThornhideWolves.java | 3 +- Mage.Sets/src/mage/cards/t/Thornling.java | 5 +- .../mage/cards/t/ThornscapeApprentice.java | 5 +- .../mage/cards/t/ThornscapeBattlemage.java | 5 +- .../src/mage/cards/t/ThornscapeFamiliar.java | 3 +- .../src/mage/cards/t/ThornscapeMaster.java | 5 +- .../src/mage/cards/t/ThorntoothWitch.java | 4 +- .../src/mage/cards/t/ThornwatchScarecrow.java | 3 +- .../src/mage/cards/t/ThornwealdArcher.java | 5 +- .../src/mage/cards/t/ThornwindFaeries.java | 3 +- Mage.Sets/src/mage/cards/t/ThoseWhoServe.java | 3 +- .../src/mage/cards/t/ThoughtCourier.java | 5 +- .../src/mage/cards/t/ThoughtDevourer.java | 3 +- Mage.Sets/src/mage/cards/t/ThoughtEater.java | 3 +- Mage.Sets/src/mage/cards/t/ThoughtGorger.java | 3 +- .../src/mage/cards/t/ThoughtHarvester.java | 5 +- .../src/mage/cards/t/ThoughtKnotSeer.java | 3 +- .../src/mage/cards/t/ThoughtNibbler.java | 3 +- .../src/mage/cards/t/ThoughtcutterAgent.java | 5 +- .../src/mage/cards/t/ThoughtpickerWitch.java | 5 +- .../src/mage/cards/t/ThoughtrenderLamia.java | 3 +- .../src/mage/cards/t/ThoughtweftTrio.java | 4 +- Mage.Sets/src/mage/cards/t/ThousandWinds.java | 3 +- .../src/mage/cards/t/ThousandleggedKami.java | 3 +- .../src/mage/cards/t/ThrabenDoomsayer.java | 5 +- .../src/mage/cards/t/ThrabenFoulbloods.java | 5 +- .../src/mage/cards/t/ThrabenGargoyle.java | 3 +- .../src/mage/cards/t/ThrabenHeretic.java | 5 +- .../src/mage/cards/t/ThrabenInspector.java | 5 +- .../src/mage/cards/t/ThrabenMilitia.java | 5 +- .../src/mage/cards/t/ThrabenPurebloods.java | 3 +- Mage.Sets/src/mage/cards/t/ThrabenSentry.java | 5 +- .../mage/cards/t/ThrabenStandardBearer.java | 5 +- .../src/mage/cards/t/ThrabenValiant.java | 5 +- Mage.Sets/src/mage/cards/t/Thragtusk.java | 3 +- Mage.Sets/src/mage/cards/t/ThranGolem.java | 3 +- .../src/mage/cards/t/ThranWarMachine.java | 3 +- .../src/mage/cards/t/ThrashingMossdog.java | 5 +- .../src/mage/cards/t/ThrashingWumpus.java | 3 +- .../src/mage/cards/t/ThrasiosTritonHero.java | 5 +- Mage.Sets/src/mage/cards/t/Thraximundar.java | 5 +- .../src/mage/cards/t/ThreadsOfDisloyalty.java | 3 +- Mage.Sets/src/mage/cards/t/ThreeWishes.java | 440 +++++++++--------- .../src/mage/cards/t/ThresherLizard.java | 3 +- .../src/mage/cards/t/ThrillKillAssassin.java | 5 +- .../src/mage/cards/t/ThrissNantukoPrimus.java | 5 +- Mage.Sets/src/mage/cards/t/ThrivingGrubs.java | 143 +++--- Mage.Sets/src/mage/cards/t/ThrivingIbex.java | 3 +- Mage.Sets/src/mage/cards/t/ThrivingRats.java | 3 +- Mage.Sets/src/mage/cards/t/ThrivingRhino.java | 3 +- .../src/mage/cards/t/ThrivingTurtle.java | 3 +- Mage.Sets/src/mage/cards/t/ThroatSlitter.java | 5 +- .../mage/cards/t/ThromokTheInsatiable.java | 3 +- .../mage/cards/t/ThroneOfTheGodPharaoh.java | 144 +++--- Mage.Sets/src/mage/cards/t/ThroneWarden.java | 5 +- .../src/mage/cards/t/ThroughTheBreach.java | 3 +- Mage.Sets/src/mage/cards/t/ThrowingKnife.java | 3 +- .../src/mage/cards/t/ThrullChampion.java | 2 +- .../src/mage/cards/t/ThrullParasite.java | 3 +- .../src/mage/cards/t/ThrullRetainer.java | 3 +- Mage.Sets/src/mage/cards/t/ThrullSurgeon.java | 3 +- Mage.Sets/src/mage/cards/t/Thrummingbird.java | 5 +- .../src/mage/cards/t/ThrunTheLastTroll.java | 5 +- Mage.Sets/src/mage/cards/t/ThunderBrute.java | 3 +- Mage.Sets/src/mage/cards/t/ThunderDragon.java | 3 +- Mage.Sets/src/mage/cards/t/ThunderSpirit.java | 5 +- .../src/mage/cards/t/ThunderThrashElder.java | 5 +- Mage.Sets/src/mage/cards/t/ThunderTotem.java | 3 +- Mage.Sets/src/mage/cards/t/ThunderWall.java | 3 +- Mage.Sets/src/mage/cards/t/Thunderblust.java | 3 +- .../src/mage/cards/t/ThunderbreakRegent.java | 2 +- .../src/mage/cards/t/ThunderclapWyvern.java | 3 +- .../mage/cards/t/ThundercloudElemental.java | 3 +- .../src/mage/cards/t/ThundercloudShaman.java | 4 +- .../src/mage/cards/t/ThunderfootBaloth.java | 3 +- .../src/mage/cards/t/ThunderingGiant.java | 3 +- .../src/mage/cards/t/ThunderingTanadon.java | 3 +- .../src/mage/cards/t/ThunderingWurm.java | 3 +- Mage.Sets/src/mage/cards/t/Thundermare.java | 5 +- .../src/mage/cards/t/ThundermawHellkite.java | 3 +- .../src/mage/cards/t/ThunderousMight.java | 3 +- .../mage/cards/t/ThunderscapeApprentice.java | 4 +- .../mage/cards/t/ThunderscapeBattlemage.java | 5 +- .../mage/cards/t/ThunderscapeFamiliar.java | 3 +- .../src/mage/cards/t/ThunderscapeMaster.java | 5 +- .../mage/cards/t/ThundersongTrumpeter.java | 5 +- .../mage/cards/t/TibaltTheFiendBlooded.java | 3 +- Mage.Sets/src/mage/cards/t/TiborAndLumia.java | 5 +- Mage.Sets/src/mage/cards/t/TickingGnomes.java | 3 +- Mage.Sets/src/mage/cards/t/TidalCourier.java | 2 +- Mage.Sets/src/mage/cards/t/TidalForce.java | 3 +- Mage.Sets/src/mage/cards/t/TidalKraken.java | 3 +- .../src/mage/cards/t/TidalVisionary.java | 5 +- Mage.Sets/src/mage/cards/t/TidalWarrior.java | 4 +- Mage.Sets/src/mage/cards/t/TideDrifter.java | 5 +- .../src/mage/cards/t/TidebinderMage.java | 5 +- .../src/mage/cards/t/TideforceElemental.java | 3 +- .../src/mage/cards/t/TidehollowSculler.java | 3 +- .../src/mage/cards/t/TidehollowStrix.java | 3 +- .../src/mage/cards/t/TideshaperMystic.java | 5 +- .../src/mage/cards/t/TidespoutTyrant.java | 3 +- Mage.Sets/src/mage/cards/t/Tidewalker.java | 2 +- .../src/mage/cards/t/TidewaterMinion.java | 5 +- Mage.Sets/src/mage/cards/t/TigerClaws.java | 3 +- .../src/mage/cards/t/TighteningCoils.java | 3 +- .../src/mage/cards/t/TillingTreefolk.java | 5 +- .../mage/cards/t/TilonallisSkinshifter.java | 5 +- .../src/mage/cards/t/TimberProtector.java | 4 +- .../src/mage/cards/t/TimberShredder.java | 3 +- .../src/mage/cards/t/TimberlandGuide.java | 5 +- Mage.Sets/src/mage/cards/t/Timbermare.java | 5 +- .../src/mage/cards/t/TimbermawLarva.java | 2 +- .../src/mage/cards/t/TimberpackWolf.java | 2 +- .../src/mage/cards/t/TimberwatchElf.java | 2 +- Mage.Sets/src/mage/cards/t/TimeToReflect.java | 274 +++++------ .../src/mage/cards/t/TimelyHordemate.java | 5 +- .../src/mage/cards/t/TinStreetHooligan.java | 5 +- .../src/mage/cards/t/TinStreetMarket.java | 2 +- Mage.Sets/src/mage/cards/t/TinderWall.java | 5 +- Mage.Sets/src/mage/cards/t/TineShrike.java | 3 +- .../mage/cards/t/TirelessMissionaries.java | 5 +- .../src/mage/cards/t/TirelessTracker.java | 4 +- Mage.Sets/src/mage/cards/t/TirelessTribe.java | 5 +- .../mage/cards/t/TishanaVoiceOfThunder.java | 5 +- .../src/mage/cards/t/TishanasWayfinder.java | 5 +- .../src/mage/cards/t/TitanOfEternalFire.java | 2 +- .../cards/t/TitaniaProtectorOfArgoth.java | 3 +- .../src/mage/cards/t/TitaniasChosen.java | 5 +- Mage.Sets/src/mage/cards/t/TitanicBulvox.java | 3 +- Mage.Sets/src/mage/cards/t/TitaniumGolem.java | 3 +- Mage.Sets/src/mage/cards/t/TitheDrinker.java | 3 +- .../src/mage/cards/t/TivadarOfThorn.java | 4 +- Mage.Sets/src/mage/cards/t/TobiasAndrion.java | 5 +- .../src/mage/cards/t/TocatliHonorGuard.java | 5 +- Mage.Sets/src/mage/cards/t/TolarianDrake.java | 3 +- .../src/mage/cards/t/TolarianEmissary.java | 5 +- .../src/mage/cards/t/TolarianEntrancer.java | 5 +- .../src/mage/cards/t/TolarianSentinel.java | 5 +- .../src/mage/cards/t/TolarianSerpent.java | 3 +- .../src/mage/cards/t/TolsimirWolfblood.java | 4 +- Mage.Sets/src/mage/cards/t/Tombstalker.java | 3 +- .../mage/cards/t/TomorrowAzamisFamiliar.java | 2 +- Mage.Sets/src/mage/cards/t/TonicPeddler.java | 147 +++--- .../src/mage/cards/t/ToolcraftExemplar.java | 5 +- .../src/mage/cards/t/ToothCollector.java | 5 +- Mage.Sets/src/mage/cards/t/TopanAscetic.java | 5 +- .../src/mage/cards/t/TopanFreeblade.java | 5 +- Mage.Sets/src/mage/cards/t/Topplegeist.java | 3 +- Mage.Sets/src/mage/cards/t/TorGiant.java | 3 +- Mage.Sets/src/mage/cards/t/TorWauki.java | 5 +- Mage.Sets/src/mage/cards/t/TorchDrake.java | 3 +- Mage.Sets/src/mage/cards/t/TorchFiend.java | 3 +- Mage.Sets/src/mage/cards/t/TorchGauntlet.java | 133 +++--- Mage.Sets/src/mage/cards/t/TorchSlinger.java | 5 +- Mage.Sets/src/mage/cards/t/Torchling.java | 3 +- .../src/mage/cards/t/ToriiWatchward.java | 3 +- Mage.Sets/src/mage/cards/t/Torment.java | 3 +- .../src/mage/cards/t/TormentedAngel.java | 3 +- Mage.Sets/src/mage/cards/t/TormentedHero.java | 5 +- .../src/mage/cards/t/TormentedPariah.java | 7 +- Mage.Sets/src/mage/cards/t/TormentedSoul.java | 3 +- .../src/mage/cards/t/TormentorExarch.java | 3 +- .../src/mage/cards/t/TormentorsTrident.java | 3 +- .../src/mage/cards/t/TornadoElemental.java | 3 +- Mage.Sets/src/mage/cards/t/TorpidMoloch.java | 3 +- Mage.Sets/src/mage/cards/t/TorporDust.java | 3 +- .../src/mage/cards/t/TorrentElemental.java | 3 +- .../src/mage/cards/t/TorrentOfStone.java | 2 +- .../src/mage/cards/t/TorrentialGearhulk.java | 3 +- .../src/mage/cards/t/TorstenVonUrsus.java | 5 +- Mage.Sets/src/mage/cards/t/Torture.java | 3 +- .../src/mage/cards/t/ToshiroUmezawa.java | 4 +- .../mage/cards/t/TotemGuideHartebeest.java | 2 +- Mage.Sets/src/mage/cards/t/TotemSpeaker.java | 4 +- .../src/mage/cards/t/TovolarsMagehunter.java | 3 +- Mage.Sets/src/mage/cards/t/TowerDrake.java | 3 +- Mage.Sets/src/mage/cards/t/TowerGargoyle.java | 3 +- Mage.Sets/src/mage/cards/t/TowerGeist.java | 3 +- .../src/mage/cards/t/ToweringBaloth.java | 3 +- .../src/mage/cards/t/ToweringIndrik.java | 3 +- .../src/mage/cards/t/ToweringThunderfist.java | 5 +- .../src/mage/cards/t/TownGossipmonger.java | 3 +- Mage.Sets/src/mage/cards/t/TownSentry.java | 5 +- Mage.Sets/src/mage/cards/t/ToxicIguanar.java | 3 +- Mage.Sets/src/mage/cards/t/ToxicNim.java | 3 +- Mage.Sets/src/mage/cards/t/ToxinSliver.java | 2 +- .../src/mage/cards/t/TraceOfAbundance.java | 3 +- Mage.Sets/src/mage/cards/t/Tracker.java | 3 +- .../cards/t/TradeFederationBattleship.java | 168 +++---- Mage.Sets/src/mage/cards/t/TradeSecrets.java | 208 ++++----- .../src/mage/cards/t/TradewindRider.java | 3 +- Mage.Sets/src/mage/cards/t/TragicPoet.java | 3 +- .../src/mage/cards/t/TrailblazersBoots.java | 3 +- .../src/mage/cards/t/TrainedArmodon.java | 3 +- .../src/mage/cards/t/TrainedCaracal.java | 3 +- .../src/mage/cards/t/TrainedCheetah.java | 3 +- Mage.Sets/src/mage/cards/t/TrainedCondor.java | 3 +- Mage.Sets/src/mage/cards/t/TrainedJackal.java | 3 +- Mage.Sets/src/mage/cards/t/TrainedOrgg.java | 3 +- Mage.Sets/src/mage/cards/t/TrainingDrone.java | 3 +- .../src/mage/cards/t/TranscendentMaster.java | 7 +- .../src/mage/cards/t/TransguildCourier.java | 3 +- Mage.Sets/src/mage/cards/t/Transluminant.java | 5 +- .../mage/cards/t/TransmogrifyingLicid.java | 3 +- Mage.Sets/src/mage/cards/t/TrapDigger.java | 5 +- Mage.Sets/src/mage/cards/t/TrapjawKelpie.java | 3 +- Mage.Sets/src/mage/cards/t/TraprootKami.java | 2 +- .../src/mage/cards/t/TravelersCloak.java | 3 +- .../mage/cards/t/TravelingPhilosopher.java | 5 +- .../mage/cards/t/TreacherousPitDweller.java | 2 +- Mage.Sets/src/mage/cards/t/Treachery.java | 3 +- .../src/mage/cards/t/TreasonousOgre.java | 5 +- .../src/mage/cards/t/TreasureHunter.java | 3 +- .../src/mage/cards/t/TreasureKeeper.java | 3 +- Mage.Sets/src/mage/cards/t/TreasureMage.java | 5 +- .../src/mage/cards/t/TreasuryThrull.java | 3 +- Mage.Sets/src/mage/cards/t/TreeMonkey.java | 3 +- .../src/mage/cards/t/TreeOfPerdition.java | 3 +- .../src/mage/cards/t/TreeOfRedemption.java | 3 +- .../src/mage/cards/t/TreefolkHarbinger.java | 4 +- .../src/mage/cards/t/TreefolkHealer.java | 5 +- .../src/mage/cards/t/TreefolkMystic.java | 3 +- .../src/mage/cards/t/TreefolkSeedlings.java | 2 +- .../src/mage/cards/t/TreespringLorian.java | 3 +- .../src/mage/cards/t/TreetopBracers.java | 2 +- .../src/mage/cards/t/TreetopRangers.java | 3 +- Mage.Sets/src/mage/cards/t/TreetopScout.java | 5 +- .../src/mage/cards/t/TreetopSentinel.java | 5 +- .../src/mage/cards/t/TreetopVillage.java | 3 +- Mage.Sets/src/mage/cards/t/TrenchGorger.java | 3 +- Mage.Sets/src/mage/cards/t/TrenchWurm.java | 3 +- .../src/mage/cards/t/TrenchingSteed.java | 5 +- .../src/mage/cards/t/TrepanationBlade.java | 3 +- .../src/mage/cards/t/TrespasserIlVec.java | 5 +- .../mage/cards/t/TrespassingSouleater.java | 3 +- Mage.Sets/src/mage/cards/t/TrestleTroll.java | 3 +- .../src/mage/cards/t/TrevaTheRenewer.java | 3 +- .../src/mage/cards/t/TrevasAttendant.java | 3 +- Mage.Sets/src/mage/cards/t/TriFighter.java | 5 +- Mage.Sets/src/mage/cards/t/TriadOfFates.java | 5 +- .../src/mage/cards/t/TribalForcemage.java | 5 +- .../src/mage/cards/t/TricksOfTheTrade.java | 3 +- Mage.Sets/src/mage/cards/t/TricksterMage.java | 5 +- .../src/mage/cards/t/TriclopeanSight.java | 3 +- Mage.Sets/src/mage/cards/t/TrinketMage.java | 5 +- Mage.Sets/src/mage/cards/t/Triskelavus.java | 3 +- Mage.Sets/src/mage/cards/t/Triskelion.java | 3 +- Mage.Sets/src/mage/cards/t/TritonCavalry.java | 5 +- .../src/mage/cards/t/TritonFortuneHunter.java | 5 +- .../src/mage/cards/t/TritonShorestalker.java | 5 +- .../src/mage/cards/t/TritonShorethief.java | 5 +- .../src/mage/cards/t/TrokinHighGuard.java | 5 +- Mage.Sets/src/mage/cards/t/TrollAscetic.java | 5 +- Mage.Sets/src/mage/cards/t/Trollhide.java | 3 +- .../src/mage/cards/t/TrollsOfTelJilad.java | 5 +- Mage.Sets/src/mage/cards/t/Tromokratis.java | 2 +- Mage.Sets/src/mage/cards/t/TrooperArmor.java | 2 +- .../src/mage/cards/t/TrooperCommando.java | 152 +++--- Mage.Sets/src/mage/cards/t/TrophyMage.java | 5 +- .../src/mage/cards/t/TropicalIsland.java | 5 +- .../mage/cards/t/TrostaniSelesnyasVoice.java | 3 +- .../src/mage/cards/t/TrostanisSummoner.java | 5 +- .../src/mage/cards/t/TroubledHealer.java | 5 +- .../src/mage/cards/t/TroublesomeSpirit.java | 3 +- Mage.Sets/src/mage/cards/t/TrueBeliever.java | 5 +- .../src/mage/cards/t/TrueFaithCenser.java | 2 +- .../src/mage/cards/t/TrueNameNemesis.java | 5 +- .../src/mage/cards/t/TruefirePaladin.java | 5 +- .../src/mage/cards/t/TrueheartDuelist.java | 5 +- .../src/mage/cards/t/TrueheartTwins.java | 5 +- .../src/mage/cards/t/TrumpetingArmodon.java | 3 +- .../src/mage/cards/t/TrustedAdvisor.java | 5 +- .../src/mage/cards/t/TrustedForcemage.java | 5 +- .../src/mage/cards/t/TrustyCompanion.java | 3 +- Mage.Sets/src/mage/cards/t/TrustyMachete.java | 3 +- .../src/mage/cards/t/TrygonPredator.java | 3 +- Mage.Sets/src/mage/cards/t/TsaboTavoc.java | 3 +- .../src/mage/cards/t/TsabosAssassin.java | 5 +- .../src/mage/cards/t/TukatongueThallid.java | 3 +- .../src/mage/cards/t/TuknirDeathlock.java | 5 +- Mage.Sets/src/mage/cards/t/TuktukGrunts.java | 7 +- .../src/mage/cards/t/TuktukScrapper.java | 6 +- .../src/mage/cards/t/TuktukTheExplorer.java | 3 +- Mage.Sets/src/mage/cards/t/Tundra.java | 5 +- Mage.Sets/src/mage/cards/t/TundraKavu.java | 2 +- Mage.Sets/src/mage/cards/t/TundraWolves.java | 3 +- Mage.Sets/src/mage/cards/t/TunnelIgnus.java | 3 +- Mage.Sets/src/mage/cards/t/TunnelerWurm.java | 3 +- .../src/mage/cards/t/TunnelingGeopede.java | 3 +- Mage.Sets/src/mage/cards/t/TurnBurn.java | 3 +- .../src/mage/cards/t/TurntimberBasilisk.java | 3 +- .../src/mage/cards/t/TurntimberRanger.java | 7 +- .../mage/cards/t/TurtleshellChangeling.java | 3 +- .../src/mage/cards/t/TuskedColossodon.java | 3 +- .../src/mage/cards/t/TuskguardCaptain.java | 5 +- .../src/mage/cards/t/TwilekSeductress.java | 143 +++--- .../src/mage/cards/t/TwilightDrover.java | 3 +- .../src/mage/cards/t/TwilightShepherd.java | 3 +- .../src/mage/cards/t/TwinbladeSlasher.java | 5 +- Mage.Sets/src/mage/cards/t/TwinningGlass.java | 262 +++++------ .../src/mage/cards/t/TwinsOfMaurerEstate.java | 3 +- .../src/mage/cards/t/TwistedAbomination.java | 5 +- .../src/mage/cards/t/TwistedExperiment.java | 3 +- .../src/mage/cards/t/TwistedJustice.java | 224 ++++----- .../src/mage/cards/t/TwoHeadedCerberus.java | 3 +- .../src/mage/cards/t/TwoHeadedDragon.java | 3 +- .../mage/cards/t/TwoHeadedGiantOfForiys.java | 3 +- .../src/mage/cards/t/TwoHeadedSliver.java | 3 +- .../mage/cards/t/TymaretTheMurderKing.java | 5 +- .../src/mage/cards/t/TymnaTheWeaver.java | 4 +- Mage.Sets/src/mage/cards/t/TyphoidRats.java | 3 +- .../src/mage/cards/t/TyrantOfDiscord.java | 3 +- .../src/mage/cards/t/TyrantOfValakut.java | 3 +- .../src/mage/cards/t/TyrantsFamiliar.java | 3 +- .../src/mage/cards/u/UbulSarGatekeepers.java | 4 +- .../src/mage/cards/u/UginTheSpiritDragon.java | 3 +- .../src/mage/cards/u/UginsConstruct.java | 3 +- .../src/mage/cards/u/UgnaughtScrapWorker.java | 146 +++--- Mage.Sets/src/mage/cards/u/UktabiDrake.java | 3 +- Mage.Sets/src/mage/cards/u/UktabiEfreet.java | 3 +- .../src/mage/cards/u/UktabiOrangutan.java | 3 +- .../src/mage/cards/u/UktabiWildcats.java | 2 +- Mage.Sets/src/mage/cards/u/UkudCobra.java | 3 +- .../cards/u/UlamogTheCeaselessHunger.java | 3 +- .../mage/cards/u/UlamogTheInfiniteGyre.java | 3 +- .../src/mage/cards/u/UlamogsCrusher.java | 3 +- .../src/mage/cards/u/UlamogsDespoiler.java | 5 +- .../src/mage/cards/u/UlamogsNullifier.java | 5 +- .../src/mage/cards/u/UlamogsReclaimer.java | 5 +- .../src/mage/cards/u/UlashtTheHateSeed.java | 5 +- .../mage/cards/u/UlrichOfTheKrallenhorde.java | 4 +- .../mage/cards/u/UlrichUncontestedAlpha.java | 2 +- .../src/mage/cards/u/UlrichsKindred.java | 2 +- .../mage/cards/u/UlvenwaldAbomination.java | 5 +- Mage.Sets/src/mage/cards/u/UlvenwaldBear.java | 3 +- .../src/mage/cards/u/UlvenwaldCaptive.java | 5 +- .../src/mage/cards/u/UlvenwaldHydra.java | 3 +- .../src/mage/cards/u/UlvenwaldMystics.java | 7 +- .../src/mage/cards/u/UlvenwaldObserver.java | 3 +- .../mage/cards/u/UlvenwaldPrimordials.java | 3 +- .../src/mage/cards/u/UlvenwaldTracker.java | 5 +- .../src/mage/cards/u/UmaraEntangler.java | 7 +- Mage.Sets/src/mage/cards/u/UmaraRaptor.java | 5 +- Mage.Sets/src/mage/cards/u/UmbraMystic.java | 4 +- Mage.Sets/src/mage/cards/u/UmbraStalker.java | 3 +- Mage.Sets/src/mage/cards/u/UmbralMantle.java | 3 +- Mage.Sets/src/mage/cards/u/UmezawasJitte.java | 2 +- .../src/mage/cards/u/UnblinkingBleb.java | 3 +- .../src/mage/cards/u/UnbreathingHorde.java | 2 +- .../src/mage/cards/u/UnbridledGrowth.java | 3 +- Mage.Sets/src/mage/cards/u/UncleIstvan.java | 3 +- .../src/mage/cards/u/UncontrollableAnger.java | 3 +- .../mage/cards/u/UncontrolledInfestation.java | 3 +- .../src/mage/cards/u/UndeadAlchemist.java | 2 +- .../src/mage/cards/u/UndeadExecutioner.java | 3 +- .../src/mage/cards/u/UndeadGladiator.java | 5 +- Mage.Sets/src/mage/cards/u/UndeadLeotau.java | 5 +- .../src/mage/cards/u/UndeadMinotaur.java | 5 +- Mage.Sets/src/mage/cards/u/UndeadServant.java | 3 +- Mage.Sets/src/mage/cards/u/UndeadSlayer.java | 4 +- .../src/mage/cards/u/UndeadWarchief.java | 2 +- .../src/mage/cards/u/UndercityInformer.java | 5 +- .../src/mage/cards/u/UndercityShade.java | 2 +- .../src/mage/cards/u/UndercityTroll.java | 3 +- .../src/mage/cards/u/UndergroundSea.java | 5 +- .../src/mage/cards/u/UndergrowthChampion.java | 3 +- .../mage/cards/u/UndergrowthScavenger.java | 5 +- Mage.Sets/src/mage/cards/u/Undertaker.java | 5 +- .../src/mage/cards/u/UnderworldCerberus.java | 3 +- .../src/mage/cards/u/UnderworldCoinsmith.java | 5 +- .../mage/cards/u/UnderworldConnections.java | 3 +- Mage.Sets/src/mage/cards/u/UndyingBeast.java | 3 +- Mage.Sets/src/mage/cards/u/UndyingRage.java | 3 +- .../cards/u/UneshCriosphinxSovereign.java | 2 +- .../src/mage/cards/u/UnflinchingCourage.java | 3 +- Mage.Sets/src/mage/cards/u/Unforge.java | 218 ++++----- .../src/mage/cards/u/UnhallowedCathar.java | 5 +- .../src/mage/cards/u/UnhallowedPact.java | 3 +- Mage.Sets/src/mage/cards/u/UnholyFiend.java | 3 +- .../src/mage/cards/u/UnholyStrength.java | 3 +- .../src/mage/cards/u/UnimpededTrespasser.java | 3 +- .../src/mage/cards/u/UninvitedGeist.java | 3 +- .../src/mage/cards/u/UnityOfTheDroids.java | 178 +++---- .../cards/u/UnlicensedDisintegration.java | 136 +++--- .../src/mage/cards/u/UnquenchableThirst.java | 2 +- .../mage/cards/u/UnquestionedAuthority.java | 3 +- .../src/mage/cards/u/UnravelingMummy.java | 188 ++++---- Mage.Sets/src/mage/cards/u/UnrulyMob.java | 3 +- .../src/mage/cards/u/UnrulySureshot.java | 173 +++---- .../mage/cards/u/UnscytheKillerOfKings.java | 2 +- Mage.Sets/src/mage/cards/u/UnseenWalker.java | 3 +- Mage.Sets/src/mage/cards/u/UnstableHulk.java | 5 +- .../src/mage/cards/u/UnstableMutation.java | 3 +- .../mage/cards/u/UnstableShapeshifter.java | 3 +- .../src/mage/cards/u/UnstoppableAsh.java | 4 +- Mage.Sets/src/mage/cards/u/UntamedHunger.java | 3 +- .../src/mage/cards/u/UnwaveringInitiate.java | 5 +- Mage.Sets/src/mage/cards/u/UnworthyDead.java | 3 +- Mage.Sets/src/mage/cards/u/UnyaroBees.java | 3 +- Mage.Sets/src/mage/cards/u/UnyaroGriffin.java | 3 +- .../src/mage/cards/u/UnyieldingKrumar.java | 5 +- .../src/mage/cards/u/UpdraftElemental.java | 3 +- .../src/mage/cards/u/UrabraskTheHidden.java | 2 +- .../src/mage/cards/u/UrbanBurgeoning.java | 3 +- .../src/mage/cards/u/UrbisProtector.java | 5 +- Mage.Sets/src/mage/cards/u/UrborgDrake.java | 3 +- Mage.Sets/src/mage/cards/u/UrborgElf.java | 5 +- .../src/mage/cards/u/UrborgEmissary.java | 5 +- .../src/mage/cards/u/UrborgMindsucker.java | 3 +- Mage.Sets/src/mage/cards/u/UrborgPhantom.java | 5 +- .../src/mage/cards/u/UrborgShambler.java | 3 +- .../src/mage/cards/u/UrborgSkeleton.java | 3 +- .../src/mage/cards/u/UrborgSyphonMage.java | 5 +- .../src/mage/cards/u/UrilTheMiststalker.java | 3 +- Mage.Sets/src/mage/cards/u/Ursapine.java | 2 +- Mage.Sets/src/mage/cards/u/UrsineFylgja.java | 5 +- Mage.Sets/src/mage/cards/u/UthdenTroll.java | 3 +- Mage.Sets/src/mage/cards/u/UtopiaMycon.java | 2 +- Mage.Sets/src/mage/cards/u/UtopiaSprawl.java | 2 +- Mage.Sets/src/mage/cards/u/UtopiaTree.java | 3 +- Mage.Sets/src/mage/cards/u/UtopiaVow.java | 3 +- .../src/mage/cards/u/UtvaraHellkite.java | 2 +- Mage.Sets/src/mage/cards/u/UtvaraScalper.java | 5 +- .../src/mage/cards/u/UyoSilentProphet.java | 5 +- Mage.Sets/src/mage/cards/v/VWing.java | 131 +++--- .../src/mage/cards/v/VaevictisAsmadi.java | 4 +- .../src/mage/cards/v/VagrantPlowbeasts.java | 3 +- .../src/mage/cards/v/ValakutFireboar.java | 5 +- .../src/mage/cards/v/ValakutInvoker.java | 5 +- .../src/mage/cards/v/ValakutPredator.java | 3 +- .../src/mage/cards/v/ValeronOutlander.java | 5 +- .../src/mage/cards/v/ValeronWardens.java | 5 +- Mage.Sets/src/mage/cards/v/ValiantGuard.java | 5 +- Mage.Sets/src/mage/cards/v/ValleyDasher.java | 5 +- Mage.Sets/src/mage/cards/v/ValleyRannet.java | 3 +- Mage.Sets/src/mage/cards/v/Valleymaker.java | 4 +- Mage.Sets/src/mage/cards/v/Valor.java | 2 +- .../src/mage/cards/v/VampireAristocrat.java | 5 +- Mage.Sets/src/mage/cards/v/VampireBats.java | 3 +- .../src/mage/cards/v/VampireCutthroat.java | 5 +- Mage.Sets/src/mage/cards/v/VampireEnvoy.java | 7 +- .../src/mage/cards/v/VampireHexmage.java | 5 +- Mage.Sets/src/mage/cards/v/VampireHounds.java | 5 +- .../src/mage/cards/v/VampireInterloper.java | 5 +- .../src/mage/cards/v/VampireLacerator.java | 5 +- .../src/mage/cards/v/VampireNighthawk.java | 5 +- Mage.Sets/src/mage/cards/v/VampireNoble.java | 3 +- .../src/mage/cards/v/VampireNocturnus.java | 2 +- .../src/mage/cards/v/VampireOutcasts.java | 3 +- .../src/mage/cards/v/VampireWarlord.java | 5 +- .../src/mage/cards/v/VampiricDragon.java | 5 +- .../src/mage/cards/v/VampiricEmbrace.java | 3 +- Mage.Sets/src/mage/cards/v/VampiricLink.java | 3 +- .../src/mage/cards/v/VampiricSliver.java | 2 +- .../src/mage/cards/v/VampiricSpirit.java | 3 +- .../src/mage/cards/v/VanguardOfBrimaz.java | 5 +- .../src/mage/cards/v/VanguardsShield.java | 3 +- Mage.Sets/src/mage/cards/v/Vanishing.java | 3 +- Mage.Sets/src/mage/cards/v/VaporSnare.java | 3 +- Mage.Sets/src/mage/cards/v/Vaporkin.java | 3 +- Mage.Sets/src/mage/cards/v/VaporousDjinn.java | 3 +- .../src/mage/cards/v/VarchildsWarRiders.java | 5 +- .../mage/cards/v/VarolzTheScarStriped.java | 4 +- Mage.Sets/src/mage/cards/v/VassalSoul.java | 3 +- .../src/mage/cards/v/VastwoodAnimist.java | 8 +- .../src/mage/cards/v/VastwoodGorger.java | 3 +- Mage.Sets/src/mage/cards/v/VastwoodHydra.java | 3 +- .../src/mage/cards/v/VastwoodZendikon.java | 4 +- Mage.Sets/src/mage/cards/v/VaultSkirge.java | 3 +- Mage.Sets/src/mage/cards/v/Vaultbreaker.java | 5 +- Mage.Sets/src/mage/cards/v/VectisAgents.java | 5 +- .../src/mage/cards/v/VectisDominator.java | 5 +- .../src/mage/cards/v/VectisSilencers.java | 5 +- Mage.Sets/src/mage/cards/v/VectorAsp.java | 3 +- .../src/mage/cards/v/VedalkenAethermage.java | 4 +- .../src/mage/cards/v/VedalkenAnatomist.java | 5 +- .../src/mage/cards/v/VedalkenArchmage.java | 5 +- .../src/mage/cards/v/VedalkenBlademaster.java | 125 ++--- .../src/mage/cards/v/VedalkenCertarch.java | 5 +- .../src/mage/cards/v/VedalkenDismisser.java | 5 +- .../src/mage/cards/v/VedalkenEngineer.java | 5 +- .../src/mage/cards/v/VedalkenEntrancer.java | 5 +- Mage.Sets/src/mage/cards/v/VedalkenGhoul.java | 5 +- .../src/mage/cards/v/VedalkenHeretic.java | 5 +- .../src/mage/cards/v/VedalkenInfuser.java | 5 +- .../src/mage/cards/v/VedalkenMastermind.java | 5 +- .../src/mage/cards/v/VedalkenOutlander.java | 5 +- .../src/mage/cards/v/VedalkenPlotter.java | 5 +- Mage.Sets/src/mage/cards/v/VeilbornGhoul.java | 2 +- Mage.Sets/src/mage/cards/v/VeinDrinker.java | 3 +- .../src/mage/cards/v/VelaTheNightClad.java | 4 +- .../src/mage/cards/v/VeldraneOfSengir.java | 5 +- .../src/mage/cards/v/VendilionClique.java | 5 +- Mage.Sets/src/mage/cards/v/VenerableKumo.java | 3 +- .../src/mage/cards/v/VenerableLammasu.java | 3 +- Mage.Sets/src/mage/cards/v/VenerableMonk.java | 7 +- .../src/mage/cards/v/VeneratedTeacher.java | 5 +- .../src/mage/cards/v/VengefulArchon.java | 3 +- Mage.Sets/src/mage/cards/v/VengefulDead.java | 2 +- .../src/mage/cards/v/VengefulFirebrand.java | 4 +- .../src/mage/cards/v/VengefulPharaoh.java | 3 +- Mage.Sets/src/mage/cards/v/VengefulRebel.java | 5 +- .../src/mage/cards/v/VengefulVampire.java | 3 +- Mage.Sets/src/mage/cards/v/Vengevine.java | 3 +- Mage.Sets/src/mage/cards/v/Venom.java | 2 +- Mage.Sets/src/mage/cards/v/VenomSliver.java | 3 +- .../src/mage/cards/v/VenomousDragonfly.java | 3 +- .../src/mage/cards/v/VenomspoutBrackus.java | 3 +- .../src/mage/cards/v/VenserShaperSavant.java | 5 +- .../src/mage/cards/v/VenserTheSojourner.java | 2 +- Mage.Sets/src/mage/cards/v/VensersSliver.java | 3 +- Mage.Sets/src/mage/cards/v/VentSentinel.java | 3 +- .../src/mage/cards/v/VerdantAutomaton.java | 3 +- .../src/mage/cards/v/VerdantEidolon.java | 3 +- .../src/mage/cards/v/VerdantEmbrace.java | 3 +- Mage.Sets/src/mage/cards/v/VerdantField.java | 2 +- Mage.Sets/src/mage/cards/v/VerdantForce.java | 3 +- Mage.Sets/src/mage/cards/v/VerdantHaven.java | 3 +- .../src/mage/cards/v/VerdantSunsAvatar.java | 5 +- .../src/mage/cards/v/VerdelothTheAncient.java | 2 +- .../src/mage/cards/v/VerduranEmissary.java | 5 +- .../src/mage/cards/v/VerduranEnchantress.java | 5 +- .../src/mage/cards/v/VerdurousGearhulk.java | 3 +- Mage.Sets/src/mage/cards/v/Vermiculos.java | 3 +- Mage.Sets/src/mage/cards/v/VertigoSpawn.java | 3 +- Mage.Sets/src/mage/cards/v/VesperGhoul.java | 5 +- .../src/mage/cards/v/VestigeOfEmrakul.java | 5 +- .../src/mage/cards/v/VesuvanDoppelganger.java | 3 +- .../src/mage/cards/v/VesuvanShapeshifter.java | 3 +- .../src/mage/cards/v/VeteranArmorer.java | 5 +- .../src/mage/cards/v/VeteranArmorsmith.java | 4 +- .../src/mage/cards/v/VeteranBodyguard.java | 3 +- Mage.Sets/src/mage/cards/v/VeteranCathar.java | 4 +- .../src/mage/cards/v/VeteranCavalier.java | 5 +- .../src/mage/cards/v/VeteranExplorer.java | 7 +- .../src/mage/cards/v/VeteranMotorist.java | 5 +- .../src/mage/cards/v/VeteranOfTheDepths.java | 5 +- .../src/mage/cards/v/VeteranSwordsmith.java | 4 +- .../src/mage/cards/v/VeteranWarleader.java | 6 +- .../src/mage/cards/v/VeteransArmaments.java | 4 +- .../src/mage/cards/v/VeteransSidearm.java | 3 +- Mage.Sets/src/mage/cards/v/Vex.java | 196 ++++---- Mage.Sets/src/mage/cards/v/VexingDevil.java | 3 +- .../src/mage/cards/v/VexingScuttler.java | 5 +- Mage.Sets/src/mage/cards/v/VexingShusher.java | 5 +- Mage.Sets/src/mage/cards/v/VexingSphinx.java | 3 +- Mage.Sets/src/mage/cards/v/VhatiIlDal.java | 4 +- .../mage/cards/v/VialSmasherTheFierce.java | 5 +- .../src/mage/cards/v/ViashinoBladescout.java | 5 +- .../src/mage/cards/v/ViashinoCutthroat.java | 3 +- .../src/mage/cards/v/ViashinoFangtail.java | 5 +- .../src/mage/cards/v/ViashinoFirstblade.java | 5 +- .../src/mage/cards/v/ViashinoGrappler.java | 2 +- .../src/mage/cards/v/ViashinoHeretic.java | 3 +- .../src/mage/cards/v/ViashinoOutrider.java | 3 +- .../src/mage/cards/v/ViashinoRacketeer.java | 5 +- .../src/mage/cards/v/ViashinoRunner.java | 3 +- .../src/mage/cards/v/ViashinoSandscout.java | 5 +- .../src/mage/cards/v/ViashinoSandstalker.java | 5 +- .../src/mage/cards/v/ViashinoSandswimmer.java | 3 +- .../src/mage/cards/v/ViashinoShanktail.java | 5 +- .../src/mage/cards/v/ViashinoSkeleton.java | 5 +- .../src/mage/cards/v/ViashinoSlasher.java | 4 +- .../mage/cards/v/ViashinoSlaughtermaster.java | 5 +- .../src/mage/cards/v/ViashinoSpearhunter.java | 5 +- .../src/mage/cards/v/ViashinoWarrior.java | 5 +- .../src/mage/cards/v/ViashinoWeaponsmith.java | 3 +- .../src/mage/cards/v/ViashivanDragon.java | 3 +- Mage.Sets/src/mage/cards/v/ViciousKavu.java | 3 +- .../src/mage/cards/v/VictorysHerald.java | 3 +- Mage.Sets/src/mage/cards/v/VictualSliver.java | 3 +- .../src/mage/cards/v/VigeanGraftmage.java | 7 +- .../src/mage/cards/v/VigeanHydropon.java | 5 +- Mage.Sets/src/mage/cards/v/Vigilance.java | 2 +- Mage.Sets/src/mage/cards/v/VigilantDrake.java | 3 +- .../src/mage/cards/v/VigilantMartyr.java | 5 +- .../src/mage/cards/v/VigilantSentry.java | 5 +- Mage.Sets/src/mage/cards/v/Vigor.java | 5 +- .../src/mage/cards/v/VildinPackAlpha.java | 2 +- .../src/mage/cards/v/VildinPackOutcast.java | 5 +- Mage.Sets/src/mage/cards/v/VileAggregate.java | 5 +- Mage.Sets/src/mage/cards/v/VileDeacon.java | 4 +- .../src/mage/cards/v/VileManifestation.java | 3 +- Mage.Sets/src/mage/cards/v/VileRedeemer.java | 3 +- .../src/mage/cards/v/VillageBellRinger.java | 5 +- .../src/mage/cards/v/VillageCannibals.java | 2 +- Mage.Sets/src/mage/cards/v/VillageElder.java | 4 +- .../src/mage/cards/v/VillageIronsmith.java | 5 +- .../src/mage/cards/v/VillageMessenger.java | 5 +- .../src/mage/cards/v/VillageSurvivors.java | 3 +- .../src/mage/cards/v/VillagersOfEstwald.java | 5 +- .../src/mage/cards/v/VillainousOgre.java | 4 +- Mage.Sets/src/mage/cards/v/VindictiveMob.java | 4 +- Mage.Sets/src/mage/cards/v/VineDryad.java | 3 +- Mage.Sets/src/mage/cards/v/VineKami.java | 3 +- Mage.Sets/src/mage/cards/v/VineTrellis.java | 5 +- .../src/mage/cards/v/VinelasherKudzu.java | 3 +- Mage.Sets/src/mage/cards/v/Vineweft.java | 3 +- .../src/mage/cards/v/VintaraElephant.java | 3 +- .../src/mage/cards/v/VintaraSnapper.java | 3 +- Mage.Sets/src/mage/cards/v/VioletPall.java | 3 +- Mage.Sets/src/mage/cards/v/VipersKiss.java | 3 +- Mage.Sets/src/mage/cards/v/ViralDrake.java | 3 +- .../src/mage/cards/v/ViridianAcolyte.java | 5 +- .../src/mage/cards/v/ViridianBetrayers.java | 5 +- Mage.Sets/src/mage/cards/v/ViridianClaw.java | 3 +- .../src/mage/cards/v/ViridianCorrupter.java | 5 +- .../src/mage/cards/v/ViridianEmissary.java | 5 +- .../src/mage/cards/v/ViridianHarvest.java | 3 +- .../src/mage/cards/v/ViridianJoiner.java | 5 +- .../src/mage/cards/v/ViridianLongbow.java | 3 +- .../src/mage/cards/v/ViridianLorebearers.java | 5 +- Mage.Sets/src/mage/cards/v/ViridianScout.java | 7 +- .../src/mage/cards/v/ViridianShaman.java | 5 +- .../src/mage/cards/v/ViridianZealot.java | 5 +- .../src/mage/cards/v/VirulentSliver.java | 2 +- .../src/mage/cards/v/VisaraTheDreadful.java | 3 +- .../src/mage/cards/v/VisceraDragger.java | 7 +- Mage.Sets/src/mage/cards/v/VisceraSeer.java | 5 +- Mage.Sets/src/mage/cards/v/VisceridArmor.java | 3 +- .../src/mage/cards/v/VisceridDeepwalker.java | 5 +- Mage.Sets/src/mage/cards/v/ViscidLemures.java | 3 +- Mage.Sets/src/mage/cards/v/Viseling.java | 3 +- .../src/mage/cards/v/VishKalBloodArbiter.java | 3 +- .../src/mage/cards/v/VisionaryAugmenter.java | 5 +- .../src/mage/cards/v/VisionsOfBrutality.java | 3 +- Mage.Sets/src/mage/cards/v/VitalSplicer.java | 4 +- .../src/mage/cards/v/VitasporeThallid.java | 2 +- .../src/mage/cards/v/VithianRenegades.java | 5 +- .../src/mage/cards/v/VithianStinger.java | 5 +- .../src/mage/cards/v/VituGhaziGuildmage.java | 5 +- .../src/mage/cards/v/VizierOfDeferment.java | 5 +- .../src/mage/cards/v/VizierOfManyFaces.java | 4 +- .../src/mage/cards/v/VizierOfRemedies.java | 5 +- .../src/mage/cards/v/VizierOfTheAnointed.java | 5 +- .../mage/cards/v/VizierOfTheMenagerie.java | 401 ++++++++-------- .../src/mage/cards/v/VizierOfTheTrue.java | 5 +- .../mage/cards/v/VizierOfTumblingSands.java | 5 +- .../src/mage/cards/v/VizkopaConfessor.java | 5 +- .../src/mage/cards/v/VizkopaGuildmage.java | 5 +- Mage.Sets/src/mage/cards/v/Vizzerdrix.java | 5 +- .../src/mage/cards/v/VodalianHypnotist.java | 5 +- .../src/mage/cards/v/VodalianIllusionist.java | 5 +- .../src/mage/cards/v/VodalianKnights.java | 4 +- Mage.Sets/src/mage/cards/v/VodalianMage.java | 5 +- .../src/mage/cards/v/VodalianMerchant.java | 3 +- .../src/mage/cards/v/VodalianMystic.java | 5 +- .../src/mage/cards/v/VodalianSerpent.java | 2 +- .../src/mage/cards/v/VodalianSoldiers.java | 5 +- .../src/mage/cards/v/VodalianZombie.java | 5 +- Mage.Sets/src/mage/cards/v/VoiceOfAll.java | 3 +- Mage.Sets/src/mage/cards/v/VoiceOfDuty.java | 3 +- Mage.Sets/src/mage/cards/v/VoiceOfGrace.java | 3 +- Mage.Sets/src/mage/cards/v/VoiceOfLaw.java | 3 +- Mage.Sets/src/mage/cards/v/VoiceOfReason.java | 3 +- .../src/mage/cards/v/VoiceOfResurgence.java | 3 +- .../src/mage/cards/v/VoiceOfTheProvinces.java | 3 +- .../src/mage/cards/v/VoiceOfTheWoods.java | 2 +- Mage.Sets/src/mage/cards/v/VoiceOfTruth.java | 3 +- .../src/mage/cards/v/VoicelessSpirit.java | 3 +- Mage.Sets/src/mage/cards/v/VoidAttendant.java | 5 +- Mage.Sets/src/mage/cards/v/VoidGrafter.java | 5 +- Mage.Sets/src/mage/cards/v/VoidStalker.java | 3 +- Mage.Sets/src/mage/cards/v/VoidWinnower.java | 3 +- .../src/mage/cards/v/VoidmageApprentice.java | 5 +- .../src/mage/cards/v/VoidmageHusher.java | 5 +- .../src/mage/cards/v/VoidmageProdigy.java | 4 +- .../src/mage/cards/v/VoidstoneGargoyle.java | 3 +- Mage.Sets/src/mage/cards/v/Voidwielder.java | 5 +- Mage.Sets/src/mage/cards/v/VolatileRig.java | 3 +- .../src/mage/cards/v/VolcanicDragon.java | 3 +- .../src/mage/cards/v/VolcanicIsland.java | 5 +- .../src/mage/cards/v/VolcanicRambler.java | 3 +- .../src/mage/cards/v/VolcanicStrength.java | 3 +- .../src/mage/cards/v/VolcanoHellion.java | 223 ++++----- Mage.Sets/src/mage/cards/v/VolcanoImp.java | 3 +- .../src/mage/cards/v/VoldarenDuelist.java | 5 +- .../src/mage/cards/v/VoldarenPariah.java | 5 +- Mage.Sets/src/mage/cards/v/VolitionReins.java | 3 +- .../src/mage/cards/v/VolrathTheFallen.java | 3 +- Mage.Sets/src/mage/cards/v/VolrathsCurse.java | 3 +- .../mage/cards/v/VolrathsShapeshifter.java | 2 +- .../src/mage/cards/v/VoltaicBrawler.java | 161 +++---- .../src/mage/cards/v/VoltaicConstruct.java | 5 +- .../src/mage/cards/v/VolunteerMilitia.java | 5 +- .../src/mage/cards/v/VoraciousCobra.java | 3 +- .../src/mage/cards/v/VoraciousDragon.java | 3 +- .../src/mage/cards/v/VoraciousHatchling.java | 3 +- Mage.Sets/src/mage/cards/v/VoraciousNull.java | 3 +- .../src/mage/cards/v/VoraciousReader.java | 5 +- Mage.Sets/src/mage/cards/v/VoraciousWurm.java | 3 +- Mage.Sets/src/mage/cards/v/Vorapede.java | 3 +- .../src/mage/cards/v/VorelOfTheHullClade.java | 5 +- .../mage/cards/v/VorinclexVoiceOfHunger.java | 3 +- .../src/mage/cards/v/VoroshTheHunter.java | 3 +- .../src/mage/cards/v/VorracBattlehorns.java | 3 +- Mage.Sets/src/mage/cards/v/Vorstclaw.java | 5 +- .../src/mage/cards/v/VortexElemental.java | 3 +- .../src/mage/cards/v/VotaryOfTheConclave.java | 5 +- Mage.Sets/src/mage/cards/v/VowOfDuty.java | 3 +- Mage.Sets/src/mage/cards/v/VowOfFlight.java | 3 +- .../src/mage/cards/v/VowOfLightning.java | 3 +- Mage.Sets/src/mage/cards/v/VowOfMalice.java | 3 +- Mage.Sets/src/mage/cards/v/VowOfWildness.java | 3 +- Mage.Sets/src/mage/cards/v/VoyagerDrake.java | 3 +- Mage.Sets/src/mage/cards/v/VoyagingSatyr.java | 5 +- .../src/mage/cards/v/VraskaTheUnseen.java | 3 +- Mage.Sets/src/mage/cards/v/VrynWingmare.java | 3 +- Mage.Sets/src/mage/cards/v/VugLizard.java | 3 +- .../src/mage/cards/v/VulpineGoliath.java | 3 +- .../src/mage/cards/v/VulshokBattlegear.java | 3 +- .../src/mage/cards/v/VulshokBattlemaster.java | 4 +- .../src/mage/cards/v/VulshokBerserker.java | 5 +- .../src/mage/cards/v/VulshokGauntlets.java | 3 +- .../src/mage/cards/v/VulshokHeartstoker.java | 5 +- .../src/mage/cards/v/VulshokMorningstar.java | 3 +- .../src/mage/cards/v/VulshokRefugee.java | 5 +- .../src/mage/cards/v/VulshokReplica.java | 3 +- .../src/mage/cards/v/VulshokSorcerer.java | 5 +- .../src/mage/cards/v/VulshokWarBoar.java | 5 +- Mage.Sets/src/mage/cards/v/VulturousAven.java | 5 +- .../src/mage/cards/v/VulturousZombie.java | 5 +- Mage.Sets/src/mage/cards/w/WailingGhoul.java | 3 +- .../src/mage/cards/w/WakeOfDestruction.java | 118 ++--- .../src/mage/cards/w/WakeOfVultures.java | 3 +- Mage.Sets/src/mage/cards/w/WakeThrasher.java | 5 +- Mage.Sets/src/mage/cards/w/Wakedancer.java | 5 +- .../src/mage/cards/w/WakeningSunsAvatar.java | 4 +- .../src/mage/cards/w/WakerOfTheWilds.java | 5 +- .../src/mage/cards/w/WakestoneGargoyle.java | 3 +- .../src/mage/cards/w/WalkerOfSecretWays.java | 4 +- .../src/mage/cards/w/WalkerOfTheGrove.java | 3 +- .../src/mage/cards/w/WalkerOfTheWastes.java | 3 +- .../src/mage/cards/w/WalkingArchive.java | 3 +- Mage.Sets/src/mage/cards/w/WalkingAtlas.java | 3 +- .../src/mage/cards/w/WalkingBallista.java | 3 +- Mage.Sets/src/mage/cards/w/WalkingCorpse.java | 3 +- Mage.Sets/src/mage/cards/w/WalkingDead.java | 129 ++--- .../src/mage/cards/w/WalkingDesecration.java | 2 +- Mage.Sets/src/mage/cards/w/WalkingWall.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfAir.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfBlood.java | 3 +- .../src/mage/cards/w/WallOfBlossoms.java | 5 +- Mage.Sets/src/mage/cards/w/WallOfBone.java | 5 +- .../src/mage/cards/w/WallOfBrambles.java | 5 +- Mage.Sets/src/mage/cards/w/WallOfDeceit.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfDenial.java | 3 +- .../src/mage/cards/w/WallOfDiffusion.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfEarth.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfEssence.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfFaith.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfFire.java | 2 +- .../mage/cards/w/WallOfForgottenPharaohs.java | 2 +- Mage.Sets/src/mage/cards/w/WallOfFrost.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfGlare.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfGranite.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfHeat.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfHope.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfIce.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfKelp.java | 5 +- Mage.Sets/src/mage/cards/w/WallOfLava.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfLight.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfLimbs.java | 5 +- Mage.Sets/src/mage/cards/w/WallOfMulch.java | 2 +- Mage.Sets/src/mage/cards/w/WallOfNets.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfOmens.java | 3 +- .../src/mage/cards/w/WallOfOpposition.java | 3 +- .../src/mage/cards/w/WallOfPineNeedles.java | 5 +- .../src/mage/cards/w/WallOfPutridFlesh.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfRazors.java | 3 +- .../src/mage/cards/w/WallOfResurgence.java | 3 +- .../src/mage/cards/w/WallOfReverence.java | 5 +- Mage.Sets/src/mage/cards/w/WallOfRoots.java | 5 +- Mage.Sets/src/mage/cards/w/WallOfShards.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfSouls.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfSpears.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfStone.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfSwords.java | 3 +- .../src/mage/cards/w/WallOfTanglecord.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfTears.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfTorches.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfVines.java | 5 +- Mage.Sets/src/mage/cards/w/WallOfWater.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfWonder.java | 3 +- Mage.Sets/src/mage/cards/w/WallOfWood.java | 3 +- .../mage/cards/w/WanderbrineRootcutters.java | 5 +- .../src/mage/cards/w/WanderguardSentry.java | 3 +- .../src/mage/cards/w/WanderingChampion.java | 5 +- Mage.Sets/src/mage/cards/w/WanderingEye.java | 3 +- .../src/mage/cards/w/WanderingFumarole.java | 3 +- .../src/mage/cards/w/WanderingGoblins.java | 5 +- .../src/mage/cards/w/WanderingGraybeard.java | 5 +- Mage.Sets/src/mage/cards/w/WanderingMage.java | 6 +- Mage.Sets/src/mage/cards/w/WanderingOnes.java | 3 +- .../src/mage/cards/w/WanderingTombshell.java | 5 +- Mage.Sets/src/mage/cards/w/WanderingWolf.java | 3 +- Mage.Sets/src/mage/cards/w/Wanderlust.java | 3 +- Mage.Sets/src/mage/cards/w/WaningWurm.java | 5 +- .../src/mage/cards/w/WantedScoundrels.java | 5 +- Mage.Sets/src/mage/cards/w/WarBehemoth.java | 3 +- Mage.Sets/src/mage/cards/w/WarElemental.java | 3 +- Mage.Sets/src/mage/cards/w/WarFalcon.java | 2 +- Mage.Sets/src/mage/cards/w/WarMammoth.java | 3 +- .../src/mage/cards/w/WarNameAspirant.java | 5 +- Mage.Sets/src/mage/cards/w/WarOracle.java | 5 +- .../src/mage/cards/w/WarPriestOfThune.java | 5 +- .../src/mage/cards/w/WarSpikeChangeling.java | 2 +- Mage.Sets/src/mage/cards/w/WarTax.java | 236 +++++----- .../src/mage/cards/w/WarTorchGoblin.java | 5 +- Mage.Sets/src/mage/cards/w/WarWingSiren.java | 5 +- .../src/mage/cards/w/WarbreakTrumpeter.java | 3 +- Mage.Sets/src/mage/cards/w/Warbringer.java | 5 +- .../src/mage/cards/w/WarchanterOfMogis.java | 5 +- Mage.Sets/src/mage/cards/w/WarchiefGiant.java | 5 +- .../src/mage/cards/w/WarclampMastiff.java | 3 +- Mage.Sets/src/mage/cards/w/WardOfLights.java | 3 +- Mage.Sets/src/mage/cards/w/WardOfPiety.java | 3 +- Mage.Sets/src/mage/cards/w/WardSliver.java | 2 +- .../src/mage/cards/w/WardenOfEvosIsle.java | 5 +- .../src/mage/cards/w/WardenOfGeometries.java | 5 +- .../src/mage/cards/w/WardenOfTheBeyond.java | 5 +- .../src/mage/cards/w/WardenOfTheEye.java | 5 +- .../mage/cards/w/WardenOfTheFirstTree.java | 12 +- .../src/mage/cards/w/WardenOfTheWall.java | 3 +- .../src/mage/cards/w/WardscaleDragon.java | 3 +- .../src/mage/cards/w/WarfireJavelineer.java | 5 +- Mage.Sets/src/mage/cards/w/WarlordsAxe.java | 3 +- .../src/mage/cards/w/WarmindInfantry.java | 5 +- Mage.Sets/src/mage/cards/w/Warmonger.java | 5 +- .../src/mage/cards/w/WarmongerHellkite.java | 3 +- .../src/mage/cards/w/WarmongersChariot.java | 2 +- Mage.Sets/src/mage/cards/w/WarpArtifact.java | 3 +- Mage.Sets/src/mage/cards/w/WarpathGhoul.java | 3 +- .../src/mage/cards/w/WarrenInstigator.java | 4 +- .../src/mage/cards/w/WarrenPilferers.java | 4 +- .../src/mage/cards/w/WarrenScourgeElf.java | 4 +- .../src/mage/cards/w/WarrenWeirding.java | 2 +- Mage.Sets/src/mage/cards/w/WarriorAngel.java | 5 +- Mage.Sets/src/mage/cards/w/WarriorEnKor.java | 7 +- Mage.Sets/src/mage/cards/w/Warthog.java | 3 +- .../src/mage/cards/w/WasitoraNekoruQueen.java | 5 +- Mage.Sets/src/mage/cards/w/WaspLancer.java | 5 +- .../src/mage/cards/w/WaspOfTheBitterEnd.java | 4 +- .../src/mage/cards/w/WastelandScorpion.java | 3 +- .../src/mage/cards/w/WastelandStrangler.java | 5 +- .../src/mage/cards/w/WastelandViper.java | 3 +- Mage.Sets/src/mage/cards/w/Watchdog.java | 3 +- .../src/mage/cards/w/WatcherInTheWeb.java | 3 +- .../src/mage/cards/w/WatcherOfTheRoost.java | 5 +- Mage.Sets/src/mage/cards/w/WatcherSliver.java | 2 +- .../src/mage/cards/w/WatchersOfTheDead.java | 239 +++++----- .../src/mage/cards/w/WatchfulAutomaton.java | 3 +- Mage.Sets/src/mage/cards/w/WatchfulNaga.java | 5 +- .../src/mage/cards/w/WatchwingScarecrow.java | 3 +- Mage.Sets/src/mage/cards/w/Watchwolf.java | 3 +- .../src/mage/cards/w/WaterElemental.java | 3 +- Mage.Sets/src/mage/cards/w/WaterServant.java | 3 +- Mage.Sets/src/mage/cards/w/WaterWurm.java | 2 +- Mage.Sets/src/mage/cards/w/Watercourser.java | 3 +- .../src/mage/cards/w/WaterfrontBouncer.java | 5 +- .../src/mage/cards/w/WaterspoutDjinn.java | 2 +- .../src/mage/cards/w/WaterspoutElemental.java | 3 +- .../src/mage/cards/w/WaterspoutWeavers.java | 5 +- Mage.Sets/src/mage/cards/w/WateryGrave.java | 5 +- .../src/mage/cards/w/WaveWingElemental.java | 3 +- .../src/mage/cards/w/WavecrashTriton.java | 5 +- .../src/mage/cards/w/WaveskimmerAven.java | 5 +- Mage.Sets/src/mage/cards/w/WaxmaneBaku.java | 3 +- Mage.Sets/src/mage/cards/w/WayOfTheThief.java | 2 +- .../src/mage/cards/w/WayfaringGiant.java | 3 +- .../src/mage/cards/w/WayfaringTemple.java | 3 +- Mage.Sets/src/mage/cards/w/WaywardAngel.java | 5 +- .../src/mage/cards/w/WaywardDisciple.java | 5 +- Mage.Sets/src/mage/cards/w/WaywardGiant.java | 123 ++--- .../src/mage/cards/w/WaywardServant.java | 168 +++---- Mage.Sets/src/mage/cards/w/WaywardSoul.java | 3 +- Mage.Sets/src/mage/cards/w/Weakness.java | 3 +- .../mage/cards/w/WeaponcraftEnthusiast.java | 5 +- .../src/mage/cards/w/WeaponsTrainer.java | 6 +- .../src/mage/cards/w/WeatheredWayfarer.java | 7 +- .../src/mage/cards/w/WeatherseedElf.java | 3 +- .../src/mage/cards/w/WeatherseedFaeries.java | 3 +- .../src/mage/cards/w/WeatherseedTreefolk.java | 3 +- .../src/mage/cards/w/WeaverOfCurrents.java | 5 +- .../src/mage/cards/w/WeaverOfLightning.java | 5 +- Mage.Sets/src/mage/cards/w/Web.java | 2 +- Mage.Sets/src/mage/cards/w/WebOfInertia.java | 304 ++++++------ Mage.Sets/src/mage/cards/w/WeeDragonauts.java | 5 +- .../src/mage/cards/w/WeedPrunerPoplar.java | 5 +- .../src/mage/cards/w/WeequayBeastmaster.java | 143 +++--- .../src/mage/cards/w/WeiAmbushForce.java | 5 +- .../src/mage/cards/w/WeiEliteCompanions.java | 5 +- Mage.Sets/src/mage/cards/w/WeiInfantry.java | 5 +- .../src/mage/cards/w/WeiNightRaiders.java | 5 +- Mage.Sets/src/mage/cards/w/WeiScout.java | 7 +- .../src/mage/cards/w/WeiStrikeForce.java | 5 +- .../src/mage/cards/w/WeightOfConscience.java | 2 +- .../mage/cards/w/WeightOfTheUnderworld.java | 3 +- .../src/mage/cards/w/WeirdedVampire.java | 127 ++--- .../src/mage/cards/w/WeirdingShaman.java | 4 +- Mage.Sets/src/mage/cards/w/WeirdingWood.java | 3 +- .../src/mage/cards/w/WelderAutomaton.java | 3 +- .../src/mage/cards/w/WeldfastEngineer.java | 5 +- .../src/mage/cards/w/WeldfastMonitor.java | 3 +- .../src/mage/cards/w/WeldfastWingsmith.java | 5 +- Mage.Sets/src/mage/cards/w/WeldingSparks.java | 130 +++--- Mage.Sets/src/mage/cards/w/WelkinGuide.java | 5 +- Mage.Sets/src/mage/cards/w/WelkinHawk.java | 3 +- Mage.Sets/src/mage/cards/w/WelkinTern.java | 3 +- .../src/mage/cards/w/WellOfKnowledge.java | 288 ++++++------ .../mage/cards/w/WellgabberApothecary.java | 4 +- Mage.Sets/src/mage/cards/w/Wellwisher.java | 2 +- Mage.Sets/src/mage/cards/w/Werebear.java | 7 +- .../mage/cards/w/WerewolfOfAncientHunger.java | 3 +- .../src/mage/cards/w/WerewolfRansacker.java | 3 +- .../src/mage/cards/w/WesternPaladin.java | 5 +- .../src/mage/cards/w/WestvaleCultLeader.java | 5 +- Mage.Sets/src/mage/cards/w/WetlandSambar.java | 3 +- .../src/mage/cards/w/WharfInfiltrator.java | 5 +- .../src/mage/cards/w/WheelOfSunAndMoon.java | 3 +- Mage.Sets/src/mage/cards/w/Whimwader.java | 3 +- Mage.Sets/src/mage/cards/w/WhipSergeant.java | 5 +- Mage.Sets/src/mage/cards/w/WhipSilk.java | 3 +- .../src/mage/cards/w/WhipSpineDrake.java | 3 +- Mage.Sets/src/mage/cards/w/WhipVine.java | 5 +- Mage.Sets/src/mage/cards/w/Whipcorder.java | 7 +- Mage.Sets/src/mage/cards/w/Whipkeeper.java | 3 +- .../src/mage/cards/w/WhipstitchedZombie.java | 3 +- .../src/mage/cards/w/WhiptailMoloch.java | 3 +- Mage.Sets/src/mage/cards/w/WhiptailWurm.java | 3 +- .../src/mage/cards/w/WhiptongueFrog.java | 3 +- Mage.Sets/src/mage/cards/w/WhirlerRogue.java | 7 +- .../src/mage/cards/w/WhirlerVirtuoso.java | 143 +++--- .../src/mage/cards/w/WhirlingDervish.java | 5 +- .../src/mage/cards/w/WhirlpoolDrake.java | 3 +- .../src/mage/cards/w/WhirlpoolRider.java | 3 +- .../src/mage/cards/w/WhirlpoolWarrior.java | 5 +- .../src/mage/cards/w/WhirlwindAdept.java | 5 +- .../src/mage/cards/w/WhispererOfTheWilds.java | 5 +- .../src/mage/cards/w/WhisperingShade.java | 3 +- .../src/mage/cards/w/WhisperingSpecter.java | 3 +- .../src/mage/cards/w/WhispersilkCloak.java | 3 +- .../mage/cards/w/WhisperwoodElemental.java | 3 +- Mage.Sets/src/mage/cards/w/WhiteKnight.java | 5 +- Mage.Sets/src/mage/cards/w/WhiteScarab.java | 3 +- .../src/mage/cards/w/WhiteShieldCrusader.java | 5 +- Mage.Sets/src/mage/cards/w/WhiteWard.java | 3 +- Mage.Sets/src/mage/cards/w/WhitemaneLion.java | 3 +- .../src/mage/cards/w/WhitewaterNaiads.java | 3 +- Mage.Sets/src/mage/cards/w/WickedAkuba.java | 3 +- .../src/mage/cards/w/WickerWarcrawler.java | 3 +- Mage.Sets/src/mage/cards/w/WickerWitch.java | 3 +- .../src/mage/cards/w/WickerboughElder.java | 5 +- .../src/mage/cards/w/WightOfPrecinctSix.java | 3 +- Mage.Sets/src/mage/cards/w/WildAesthir.java | 3 +- .../src/mage/cards/w/WildBeastmaster.java | 5 +- Mage.Sets/src/mage/cards/w/WildCantor.java | 5 +- .../src/mage/cards/w/WildCelebrants.java | 3 +- Mage.Sets/src/mage/cards/w/WildColos.java | 5 +- Mage.Sets/src/mage/cards/w/WildDogs.java | 3 +- Mage.Sets/src/mage/cards/w/WildElephant.java | 3 +- .../src/mage/cards/w/WildFieldScarecrow.java | 3 +- Mage.Sets/src/mage/cards/w/WildGriffin.java | 3 +- Mage.Sets/src/mage/cards/w/WildGrowth.java | 3 +- Mage.Sets/src/mage/cards/w/WildHolocron.java | 188 ++++---- Mage.Sets/src/mage/cards/w/WildJhovall.java | 3 +- Mage.Sets/src/mage/cards/w/WildLeotau.java | 3 +- Mage.Sets/src/mage/cards/w/WildMongrel.java | 3 +- Mage.Sets/src/mage/cards/w/WildNacatl.java | 4 +- Mage.Sets/src/mage/cards/w/WildOx.java | 3 +- Mage.Sets/src/mage/cards/w/WildWanderer.java | 5 +- Mage.Sets/src/mage/cards/w/WildWurm.java | 3 +- Mage.Sets/src/mage/cards/w/WildbloodPack.java | 2 +- .../src/mage/cards/w/WildernessElemental.java | 2 +- .../src/mage/cards/w/WildernessHypnotist.java | 5 +- .../src/mage/cards/w/WildfireCerberus.java | 3 +- .../src/mage/cards/w/WildfireEmissary.java | 3 +- .../src/mage/cards/w/WildfireEternal.java | 7 +- .../src/mage/cards/w/WildgrowthWalker.java | 3 +- .../src/mage/cards/w/WildheartInvoker.java | 5 +- .../src/mage/cards/w/WildslayerElves.java | 5 +- Mage.Sets/src/mage/cards/w/WildwoodGeist.java | 3 +- .../src/mage/cards/w/WillForgedGolem.java | 3 +- Mage.Sets/src/mage/cards/w/WillOTheWisp.java | 3 +- Mage.Sets/src/mage/cards/w/Willbender.java | 5 +- Mage.Sets/src/mage/cards/w/Willbreaker.java | 5 +- Mage.Sets/src/mage/cards/w/WillowDryad.java | 3 +- Mage.Sets/src/mage/cards/w/WillowElf.java | 3 +- Mage.Sets/src/mage/cards/w/WillowFaerie.java | 3 +- .../src/mage/cards/w/WillowPriestess.java | 4 +- Mage.Sets/src/mage/cards/w/WillowSatyr.java | 3 +- .../src/mage/cards/w/WiltLeafCavaliers.java | 5 +- Mage.Sets/src/mage/cards/w/WiltLeafLiege.java | 5 +- Mage.Sets/src/mage/cards/w/WilyBandar.java | 5 +- Mage.Sets/src/mage/cards/w/WilyGoblin.java | 5 +- Mage.Sets/src/mage/cards/w/WindDancer.java | 3 +- Mage.Sets/src/mage/cards/w/WindDrake.java | 3 +- .../src/mage/cards/w/WindKinRaiders.java | 5 +- Mage.Sets/src/mage/cards/w/WindSpirit.java | 5 +- Mage.Sets/src/mage/cards/w/WindZendikon.java | 4 +- Mage.Sets/src/mage/cards/w/WindbornMuse.java | 3 +- .../src/mage/cards/w/WindbriskRaptor.java | 3 +- .../src/mage/cards/w/WindingConstrictor.java | 3 +- Mage.Sets/src/mage/cards/w/WindingWurm.java | 3 +- .../src/mage/cards/w/WindreaderSphinx.java | 3 +- .../src/mage/cards/w/WindreaperFalcon.java | 3 +- Mage.Sets/src/mage/cards/w/Windreaver.java | 3 +- Mage.Sets/src/mage/cards/w/WindriderEel.java | 3 +- .../src/mage/cards/w/WindriderPatrol.java | 5 +- .../src/mage/cards/w/WindseekerCentaur.java | 3 +- .../src/mage/cards/w/WindwrightMage.java | 5 +- Mage.Sets/src/mage/cards/w/WingSplicer.java | 4 +- .../src/mage/cards/w/WingbeatWarrior.java | 7 +- Mage.Sets/src/mage/cards/w/Wingcrafter.java | 5 +- Mage.Sets/src/mage/cards/w/WingedCoatl.java | 3 +- .../src/mage/cards/w/WingedShepherd.java | 3 +- Mage.Sets/src/mage/cards/w/WingedSliver.java | 2 +- Mage.Sets/src/mage/cards/w/WingmateRoc.java | 3 +- .../src/mage/cards/w/WingrattleScarecrow.java | 3 +- .../src/mage/cards/w/WingsOfAesthir.java | 3 +- Mage.Sets/src/mage/cards/w/WingsOfHope.java | 3 +- .../src/mage/cards/w/WingsOfTheGuard.java | 129 ++--- .../src/mage/cards/w/WingsOfVelisVel.java | 3 +- .../src/mage/cards/w/WingsteedRider.java | 5 +- .../src/mage/cards/w/WinnowerPatrol.java | 5 +- Mage.Sets/src/mage/cards/w/Wirecat.java | 3 +- .../src/mage/cards/w/WirewoodChanneler.java | 4 +- Mage.Sets/src/mage/cards/w/WirewoodElf.java | 5 +- .../src/mage/cards/w/WirewoodGuardian.java | 5 +- .../src/mage/cards/w/WirewoodHerald.java | 2 +- .../src/mage/cards/w/WirewoodHivemaster.java | 2 +- .../src/mage/cards/w/WirewoodSavage.java | 2 +- .../src/mage/cards/w/WirewoodSymbiote.java | 2 +- Mage.Sets/src/mage/cards/w/Wispmare.java | 3 +- .../src/mage/cards/w/WispweaverAngel.java | 3 +- Mage.Sets/src/mage/cards/w/WistfulSelkie.java | 5 +- Mage.Sets/src/mage/cards/w/WitchEngine.java | 3 +- Mage.Sets/src/mage/cards/w/WitchHunter.java | 5 +- .../src/mage/cards/w/WitchMawNephilim.java | 3 +- Mage.Sets/src/mage/cards/w/WitchesEye.java | 3 +- .../src/mage/cards/w/WitchsFamiliar.java | 3 +- Mage.Sets/src/mage/cards/w/Witchstalker.java | 3 +- Mage.Sets/src/mage/cards/w/Withdraw.java | 238 +++++----- .../src/mage/cards/w/WithengarUnbound.java | 3 +- .../src/mage/cards/w/WitheredWretch.java | 5 +- .../src/mage/cards/w/WitherscaleWurm.java | 3 +- .../src/mage/cards/w/WitnessOfTheAges.java | 3 +- Mage.Sets/src/mage/cards/w/WizardMentor.java | 5 +- Mage.Sets/src/mage/cards/w/WizardReplica.java | 3 +- Mage.Sets/src/mage/cards/w/WizenedCenn.java | 4 +- .../src/mage/cards/w/WizenedSnitches.java | 5 +- Mage.Sets/src/mage/cards/w/Woebearer.java | 3 +- .../src/mage/cards/w/WoebringerDemon.java | 237 +++++----- Mage.Sets/src/mage/cards/w/Woeleecher.java | 3 +- .../src/mage/cards/w/WojekApothecary.java | 5 +- .../src/mage/cards/w/WojekEmbermage.java | 5 +- .../src/mage/cards/w/WojekHalberdiers.java | 5 +- .../src/mage/cards/w/WolfOfDevilsBreach.java | 5 +- Mage.Sets/src/mage/cards/w/WolfPack.java | 3 +- .../src/mage/cards/w/WolfSkullShaman.java | 5 +- .../src/mage/cards/w/WolfbittenCaptive.java | 4 +- .../src/mage/cards/w/WolfbriarElemental.java | 3 +- .../src/mage/cards/w/WolfhuntersQuiver.java | 2 +- Mage.Sets/src/mage/cards/w/WolfirAvenger.java | 5 +- .../src/mage/cards/w/WolfirSilverheart.java | 5 +- Mage.Sets/src/mage/cards/w/WolfkinBond.java | 3 +- Mage.Sets/src/mage/cards/w/WolverinePack.java | 3 +- Mage.Sets/src/mage/cards/w/WompRat.java | 143 +++--- Mage.Sets/src/mage/cards/w/Wonder.java | 2 +- Mage.Sets/src/mage/cards/w/WoodElves.java | 4 +- Mage.Sets/src/mage/cards/w/WoodSage.java | 5 +- .../src/mage/cards/w/WoodbornBehemoth.java | 3 +- Mage.Sets/src/mage/cards/w/Woodcloaker.java | 3 +- Mage.Sets/src/mage/cards/w/WoodenStake.java | 2 +- .../src/mage/cards/w/WoodfallPrimus.java | 5 +- .../src/mage/cards/w/WoodlandBellower.java | 3 +- .../src/mage/cards/w/WoodlandChangeling.java | 3 +- Mage.Sets/src/mage/cards/w/WoodlandDruid.java | 5 +- .../src/mage/cards/w/WoodlandPatrol.java | 125 ++--- .../src/mage/cards/w/WoodlandSleuth.java | 5 +- .../src/mage/cards/w/WoodlandWanderer.java | 3 +- .../src/mage/cards/w/WoodlotCrawler.java | 3 +- .../src/mage/cards/w/WoodlurkerMimic.java | 3 +- Mage.Sets/src/mage/cards/w/Woodripper.java | 3 +- .../src/mage/cards/w/WoodvineElemental.java | 3 +- .../mage/cards/w/WoodweaversPuzzleknot.java | 150 +++--- .../src/mage/cards/w/WoodwraithCorrupter.java | 196 ++++---- .../src/mage/cards/w/WoodwraithStrangler.java | 5 +- .../src/mage/cards/w/WookieeBountyHunter.java | 127 ++--- Mage.Sets/src/mage/cards/w/WookieeMystic.java | 327 ++++++------- .../src/mage/cards/w/WookieeRaidleader.java | 157 +++---- Mage.Sets/src/mage/cards/w/WoollyLoxodon.java | 5 +- .../src/mage/cards/w/WoollyRazorback.java | 5 +- Mage.Sets/src/mage/cards/w/WoollyThoctar.java | 3 +- Mage.Sets/src/mage/cards/w/Workhorse.java | 3 +- .../src/mage/cards/w/WorkshopAssistant.java | 3 +- Mage.Sets/src/mage/cards/w/WorldBreaker.java | 3 +- Mage.Sets/src/mage/cards/w/WorldQueller.java | 3 +- .../src/mage/cards/w/WorldgorgerDragon.java | 5 +- .../src/mage/cards/w/WorldheartPhoenix.java | 3 +- Mage.Sets/src/mage/cards/w/Worldslayer.java | 3 +- .../src/mage/cards/w/WorldspineWurm.java | 3 +- Mage.Sets/src/mage/cards/w/WormfangDrake.java | 5 +- Mage.Sets/src/mage/cards/w/WormwoodDryad.java | 3 +- .../src/mage/cards/w/WormwoodTreefolk.java | 3 +- .../src/mage/cards/w/WortBoggartAuntie.java | 4 +- .../src/mage/cards/w/WortTheRaidmother.java | 4 +- .../src/mage/cards/w/WreathofGeists.java | 3 +- Mage.Sets/src/mage/cards/w/WreckingOgre.java | 5 +- .../src/mage/cards/w/WrensRunPackmaster.java | 4 +- .../src/mage/cards/w/WrensRunVanquisher.java | 4 +- .../src/mage/cards/w/WretchedAnurid.java | 7 +- Mage.Sets/src/mage/cards/w/WretchedCamel.java | 4 +- Mage.Sets/src/mage/cards/w/WretchedGryff.java | 5 +- .../src/mage/cards/w/WrexialTheRisenDeep.java | 2 +- Mage.Sets/src/mage/cards/w/WritOfPassage.java | 3 +- Mage.Sets/src/mage/cards/w/WuAdmiral.java | 4 +- .../src/mage/cards/w/WuEliteCavalry.java | 5 +- Mage.Sets/src/mage/cards/w/WuInfantry.java | 5 +- .../src/mage/cards/w/WuLightCavalry.java | 5 +- Mage.Sets/src/mage/cards/w/WuLongbowman.java | 7 +- Mage.Sets/src/mage/cards/w/WuScout.java | 7 +- Mage.Sets/src/mage/cards/w/WuSpy.java | 7 +- Mage.Sets/src/mage/cards/w/WuWarship.java | 4 +- .../src/mage/cards/w/WurmcoilEngine.java | 3 +- .../src/mage/cards/w/WurmskinForger.java | 5 +- .../src/mage/cards/w/WurmweaverCoil.java | 3 +- .../src/mage/cards/w/WydwenTheBitingGale.java | 5 +- Mage.Sets/src/mage/cards/w/WyluliWolf.java | 3 +- Mage.Sets/src/mage/cards/x/XWing.java | 145 +++--- Mage.Sets/src/mage/cards/x/XantidSwarm.java | 3 +- Mage.Sets/src/mage/cards/x/XathridDemon.java | 3 +- Mage.Sets/src/mage/cards/x/XathridGorgon.java | 3 +- .../src/mage/cards/x/XathridNecromancer.java | 4 +- .../src/mage/cards/x/XathridSlyblade.java | 5 +- .../src/mage/cards/x/XenagosGodOfRevels.java | 2 +- .../src/mage/cards/x/XenagosTheReveler.java | 3 +- .../src/mage/cards/x/XenicPoltergeist.java | 3 +- .../src/mage/cards/x/XiahouDunTheOneEyed.java | 5 +- Mage.Sets/src/mage/cards/x/XiraArien.java | 5 +- .../src/mage/cards/x/XunYuWeiAdvisor.java | 5 +- Mage.Sets/src/mage/cards/y/YWing.java | 155 +++--- .../mage/cards/y/YahenniUndyingPartisan.java | 5 +- .../src/mage/cards/y/YasovaDragonclaw.java | 5 +- .../src/mage/cards/y/YavimayaAncients.java | 3 +- Mage.Sets/src/mage/cards/y/YavimayaAnts.java | 3 +- .../src/mage/cards/y/YavimayaBarbarian.java | 5 +- Mage.Sets/src/mage/cards/y/YavimayaDryad.java | 2 +- Mage.Sets/src/mage/cards/y/YavimayaElder.java | 5 +- .../src/mage/cards/y/YavimayaEnchantress.java | 5 +- Mage.Sets/src/mage/cards/y/YavimayaGnats.java | 3 +- .../src/mage/cards/y/YavimayaGranger.java | 3 +- Mage.Sets/src/mage/cards/y/YavimayaKavu.java | 3 +- Mage.Sets/src/mage/cards/y/YavimayaScion.java | 3 +- Mage.Sets/src/mage/cards/y/YavimayaWurm.java | 3 +- .../src/mage/cards/y/YavimayasEmbrace.java | 3 +- Mage.Sets/src/mage/cards/y/YawgmothDemon.java | 3 +- Mage.Sets/src/mage/cards/y/YdwenEfreet.java | 3 +- .../mage/cards/y/YellowScarvesCavalry.java | 5 +- .../mage/cards/y/YellowScarvesGeneral.java | 5 +- .../src/mage/cards/y/YellowScarvesTroops.java | 5 +- .../src/mage/cards/y/YevaNaturesHerald.java | 5 +- .../src/mage/cards/y/YevasForcemage.java | 5 +- Mage.Sets/src/mage/cards/y/YewSpirit.java | 5 +- .../mage/cards/y/YidrisMaelstromWielder.java | 4 +- .../mage/cards/y/YisanTheWandererBard.java | 5 +- Mage.Sets/src/mage/cards/y/YixlidJailer.java | 4 +- .../src/mage/cards/y/YodaJediMaster.java | 3 +- .../src/mage/cards/y/YokeOfTheDamned.java | 3 +- Mage.Sets/src/mage/cards/y/YokedOx.java | 3 +- .../src/mage/cards/y/YokedPlowbeast.java | 3 +- .../src/mage/cards/y/YomijiWhoBarsTheWay.java | 3 +- .../src/mage/cards/y/YoreTillerNephilim.java | 3 +- .../src/mage/cards/y/YoseiTheMorningStar.java | 5 +- Mage.Sets/src/mage/cards/y/YotianSoldier.java | 3 +- .../src/mage/cards/y/YoungPyromancer.java | 5 +- .../src/mage/cards/y/YoungWeiRecruits.java | 5 +- Mage.Sets/src/mage/cards/y/YoungWolf.java | 3 +- .../src/mage/cards/y/YouthfulKnight.java | 5 +- .../src/mage/cards/y/YouthfulScholar.java | 5 +- .../mage/cards/y/YuanShaoTheIndecisive.java | 5 +- .../src/mage/cards/y/YuanShaosInfantry.java | 5 +- Mage.Sets/src/mage/cards/y/YukiOnna.java | 3 +- .../src/mage/cards/y/YukoraThePrisoner.java | 4 +- Mage.Sets/src/mage/cards/z/ZadasCommando.java | 6 +- Mage.Sets/src/mage/cards/z/ZanamDjinn.java | 3 +- .../src/main/java/mage/constants/SubType.java | 2 + .../mage/game/permanent/token/ATATToken.java | 3 +- .../token/AbhorrentOverlordHarpyToken.java | 3 +- .../token/AerieWorshippersBirdToken.java | 3 +- .../token/AkoumStonewakerElementalToken.java | 3 +- .../permanent/token/AkroanSoldierToken.java | 3 +- .../mage/game/permanent/token/AngelToken.java | 3 +- .../permanent/token/AnotherSpiritToken.java | 3 +- .../permanent/token/AnthousaWarriorToken.java | 3 +- .../mage/game/permanent/token/ApeToken.java | 3 +- .../ArchitectOfTheUntamedBeastToken.java | 3 +- .../game/permanent/token/AssassinToken.java | 3 +- .../permanent/token/AssemblyWorkerToken.java | 3 +- .../game/permanent/token/AvatarToken.java | 3 +- .../game/permanent/token/BalduvianToken.java | 3 +- .../permanent/token/BaruFistOfKrosaToken.java | 3 +- .../mage/game/permanent/token/BatToken.java | 3 +- .../mage/game/permanent/token/BearToken.java | 3 +- .../token/BearsCompanionBearToken.java | 3 +- .../mage/game/permanent/token/BeastToken.java | 3 +- .../game/permanent/token/BeastToken2.java | 3 +- .../game/permanent/token/BeastToken3.java | 3 +- .../token/BeckonApparitionToken.java | 3 +- .../permanent/token/BirdSoldierToken.java | 3 +- .../mage/game/permanent/token/BirdToken.java | 3 +- .../mage/game/permanent/token/BoarToken.java | 3 +- .../token/BreedingPitThrullToken.java | 3 +- .../token/BroodKeeperDragonToken.java | 3 +- .../game/permanent/token/ButterflyToken.java | 3 +- .../CallTheSkyBreakerElementalToken.java | 3 +- .../game/permanent/token/CaribouToken.java | 3 +- .../game/permanent/token/CarnivoreToken.java | 3 +- .../token/CarrionBlackInsectToken.java | 3 +- .../token/CatSoldierCreatureToken.java | 5 +- .../mage/game/permanent/token/CatToken.java | 3 +- .../mage/game/permanent/token/CatToken2.java | 3 +- .../CentaurEnchantmentCreatureToken.java | 3 +- .../game/permanent/token/CentaurToken.java | 3 +- .../token/ChasmSkulkerSquidToken.java | 3 +- .../game/permanent/token/CitizenToken.java | 3 +- .../permanent/token/CloudSpriteToken.java | 3 +- .../game/permanent/token/ConstructToken.java | 3 +- .../token/CoralBarrierSquidToken.java | 3 +- .../token/CorpseweftZombieToken.java | 5 +- .../token/CorruptedZendikonOozeToken.java | 3 +- .../permanent/token/CreakwoodLiegeToken.java | 3 +- .../permanent/token/CrestedSunmareToken.java | 3 +- .../token/CribSwapShapeshifterWhiteToken.java | 3 +- .../token/CrushOfTentaclesToken.java | 3 +- .../token/CurseOfTheSwineBoarToken.java | 3 +- .../token/DarettiConstructToken.java | 3 +- .../permanent/token/DaxosSpiritToken.java | 3 +- .../game/permanent/token/DeadlyGrubToken.java | 3 +- .../permanent/token/DeathpactAngelToken.java | 3 +- .../permanent/token/DeathtouchSnakeToken.java | 3 +- .../mage/game/permanent/token/DemonToken.java | 3 +- .../DevastatingSummonsElementalToken.java | 3 +- .../mage/game/permanent/token/DevilToken.java | 3 +- .../token/DinOfTheFireherdToken.java | 3 +- .../game/permanent/token/DjinnMonkToken.java | 5 +- .../mage/game/permanent/token/DjinnToken.java | 3 +- .../token/DokaiWeaverofLifeToken.java | 3 +- .../game/permanent/token/DovescapeToken.java | 3 +- .../token/DragonBroodmotherDragonToken.java | 3 +- .../permanent/token/DragonEggDragonToken.java | 3 +- .../game/permanent/token/DragonToken.java | 3 +- .../game/permanent/token/DragonToken2.java | 3 +- .../game/permanent/token/DragonTokenGold.java | 3 +- .../mage/game/permanent/token/DrakeToken.java | 3 +- .../mage/game/permanent/token/DroidToken.java | 3 +- .../token/DuneBroodNephilimToken.java | 3 +- .../permanent/token/EdgarMarkovToken.java | 3 +- .../permanent/token/EldraziHorrorToken.java | 5 +- .../permanent/token/EldraziScionToken.java | 5 +- .../permanent/token/EldraziSpawnToken.java | 5 +- .../game/permanent/token/EldraziToken.java | 3 +- .../token/ElementalAppealElementalToken.java | 3 +- .../permanent/token/ElementalCatToken.java | 5 +- .../token/ElementalMasteryElementalToken.java | 3 +- .../permanent/token/ElementalShamanToken.java | 5 +- .../game/permanent/token/ElementalToken.java | 5 +- .../game/permanent/token/ElephantToken.java | 3 +- .../mage/game/permanent/token/ElfToken.java | 5 +- .../mage/game/permanent/token/EwokToken.java | 97 ++-- .../token/EyesOfTheWisentElementalToken.java | 3 +- .../permanent/token/FaerieRogueToken.java | 5 +- .../game/permanent/token/FaerieToken.java | 3 +- .../permanent/token/FesteringGoblinToken.java | 5 +- .../token/FleshCarverHorrorToken.java | 3 +- .../token/FlurryOfHornsMinotaurToken.java | 3 +- .../token/ForlornPseudammaZombieToken.java | 3 +- .../token/FreyaliseLlanowarsFuryToken.java | 5 +- .../mage/game/permanent/token/FrogToken.java | 3 +- .../game/permanent/token/GargoyleToken.java | 3 +- .../token/GarrukApexPredatorBeastToken.java | 3 +- .../mage/game/permanent/token/GermToken.java | 3 +- .../token/GiantBaitingGiantWarriorToken.java | 5 +- .../mage/game/permanent/token/GiantToken.java | 3 +- .../permanent/token/GiantWarriorToken.java | 5 +- .../mage/game/permanent/token/GnomeToken.java | 3 +- .../mage/game/permanent/token/GoatToken.java | 3 +- .../permanent/token/GoblinRogueToken.java | 5 +- .../permanent/token/GoblinScoutsToken.java | 5 +- .../permanent/token/GoblinSoldierToken.java | 5 +- .../game/permanent/token/GoblinToken.java | 3 +- .../permanent/token/GoblinTrenchesToken.java | 5 +- .../token/GodFavoredGeneralSoldierToken.java | 3 +- .../permanent/token/GodSireBeastToken.java | 3 +- .../token/GoldmeadowHarrierToken.java | 5 +- .../mage/game/permanent/token/GolemToken.java | 3 +- .../game/permanent/token/GremlinToken.java | 97 ++-- .../game/permanent/token/GriffinToken.java | 3 +- .../token/GrovetenderDruidsPlantToken.java | 3 +- .../token/GuardianIdolGolemToken.java | 3 +- .../permanent/token/GutterGrimeToken.java | 3 +- .../token/HammerOfPurphorosGolemToken.java | 3 +- .../permanent/token/HauntedAngelToken.java | 3 +- .../token/HazezonTamarSandWarriorToken.java | 5 +- .../token/HeliodGodOfTheSunToken.java | 3 +- .../permanent/token/HellionHasteToken.java | 3 +- .../game/permanent/token/HellionToken.java | 3 +- .../mage/game/permanent/token/HippoToken.java | 99 ++-- .../game/permanent/token/HippoToken2.java | 3 +- .../game/permanent/token/HomunculusToken.java | 3 +- .../token/HornetNestInsectToken.java | 3 +- .../token/HornetQueenInsectToken.java | 3 +- .../game/permanent/token/HornetToken.java | 3 +- .../game/permanent/token/HorrorToken.java | 3 +- .../mage/game/permanent/token/HoundToken.java | 3 +- .../token/HourOfNeedSphinxToken.java | 3 +- .../permanent/token/HumanClericToken.java | 5 +- .../permanent/token/HumanSoldierToken.java | 5 +- .../mage/game/permanent/token/HumanToken.java | 3 +- .../permanent/token/HumanWizardToken.java | 5 +- .../permanent/token/HuntedCentaurToken.java | 3 +- .../token/HuntedDragonKnightToken.java | 3 +- .../game/permanent/token/HunterToken.java | 3 +- .../token/HydraBroodmasterToken.java | 3 +- .../game/permanent/token/IllusionToken.java | 3 +- .../token/InexorableBlobOozeToken.java | 3 +- .../permanent/token/InsectInfectToken.java | 3 +- .../game/permanent/token/InsectToken.java | 3 +- .../permanent/token/IxalanVampireToken.java | 3 +- .../JaceCunningCastawayIllusionToken.java | 3 +- .../token/JoinTheRanksSoldierToken.java | 5 +- .../game/permanent/token/KaldraToken.java | 3 +- .../permanent/token/KalitasVampireToken.java | 3 +- ...KalonianTwingroveTreefolkWarriorToken.java | 4 +- .../mage/game/permanent/token/KelpToken.java | 5 +- .../permanent/token/KherKeepKoboldToken.java | 3 +- .../permanent/token/KioraKrakenToken.java | 3 +- .../game/permanent/token/KithkinToken.java | 5 +- .../game/permanent/token/KnightAllyToken.java | 5 +- .../game/permanent/token/KnightToken.java | 3 +- .../game/permanent/token/KorAllyToken.java | 5 +- .../game/permanent/token/KorSoldierToken.java | 5 +- .../token/LeafdrakeRoostDrakeToken.java | 3 +- .../permanent/token/LightningRagerToken.java | 3 +- .../permanent/token/LinvalaAngelToken.java | 3 +- .../game/permanent/token/LizardToken.java | 3 +- .../permanent/token/LlanowarElvesToken.java | 5 +- .../MarathWillOfTheWildElementalToken.java | 3 +- .../token/MarduStrikeLeaderWarriorToken.java | 3 +- .../game/permanent/token/MaritLageToken.java | 3 +- .../token/MasterOfWavesElementalToken.java | 3 +- .../token/MelokuTheCloudedMirrorToken.java | 3 +- .../permanent/token/MercyKillingToken.java | 5 +- .../permanent/token/MerfolkHexproofToken.java | 3 +- .../game/permanent/token/MerfolkToken.java | 3 +- .../permanent/token/MerfolkWizardToken.java | 5 +- .../MetallurgicSummoningsConstructToken.java | 3 +- .../game/permanent/token/MinionToken.java | 3 +- .../game/permanent/token/MinorDemonToken.java | 3 +- .../token/MoltenBirthElementalToken.java | 3 +- .../permanent/token/MonasteryMentorToken.java | 3 +- .../mage/game/permanent/token/MyrToken.java | 3 +- .../token/MysticGenesisOozeToken.java | 3 +- .../NahiriTheLithomancerEquipmentToken.java | 3 +- .../token/NestOfScarabsBlackInsectToken.java | 3 +- .../token/NighteyesTheDesecratorToken.java | 5 +- .../permanent/token/NightwingHorrorToken.java | 3 +- .../game/permanent/token/OctopusToken.java | 3 +- .../mage/game/permanent/token/OgreToken.java | 3 +- .../permanent/token/OmnathElementalToken.java | 3 +- .../token/OneDozenEyesBeastToken.java | 3 +- .../permanent/token/OonaQueenFaerieToken.java | 5 +- .../mage/game/permanent/token/Ooze2Token.java | 3 +- .../mage/game/permanent/token/OozeToken.java | 5 +- .../token/OphiomancerSnakeToken.java | 3 +- .../token/OrderedMigrationBirdToken.java | 3 +- .../OviyaPashiriSageLifecrafterToken.java | 3 +- .../mage/game/permanent/token/OwlToken.java | 3 +- .../token/PatagiaViperSnakeToken.java | 3 +- .../game/permanent/token/PegasusToken.java | 3 +- .../game/permanent/token/PentaviteToken.java | 3 +- .../permanent/token/PenumbraBobcatToken.java | 3 +- .../permanent/token/PenumbraKavuToken.java | 3 +- .../permanent/token/PenumbraSpiderToken.java | 3 +- .../permanent/token/PenumbraWurmToken.java | 3 +- .../mage/game/permanent/token/PestToken.java | 3 +- .../permanent/token/PharikaSnakeToken.java | 3 +- .../token/PhyrexianRebirthHorrorToken.java | 3 +- .../game/permanent/token/PincherToken.java | 3 +- .../mage/game/permanent/token/PlantToken.java | 3 +- .../game/permanent/token/PongifyApeToken.java | 3 +- .../mage/game/permanent/token/PrismToken.java | 3 +- .../token/PromiseOfPowerDemonToken.java | 3 +- .../permanent/token/ProsshKoboldToken.java | 3 +- .../token/QueenMarchesaAssassinToken.java | 3 +- .../QuestForTheGravelordZombieToken.java | 5 +- .../token/RakdosGuildmageGoblinToken.java | 3 +- .../token/RakkaMarElementalToken.java | 3 +- .../token/RallyTheHordeWarriorToken.java | 3 +- .../token/RapidHybridizationToken.java | 5 +- .../mage/game/permanent/token/RatToken.java | 3 +- .../permanent/token/RebelStarshipToken.java | 5 +- .../mage/game/permanent/token/RebelToken.java | 3 +- .../game/permanent/token/RedHumanToken.java | 3 +- .../permanent/token/ReefWormFishToken.java | 3 +- .../permanent/token/ReefWormKrakenToken.java | 3 +- .../permanent/token/ReefWormWhaleToken.java | 3 +- .../game/permanent/token/ReflectionToken.java | 3 +- .../permanent/token/ReignOfThePitToken.java | 3 +- .../token/RenownedWeaverSpiderToken.java | 3 +- .../token/RevelOfTheFallenGodSatyrToken.java | 3 +- .../mage/game/permanent/token/RhinoToken.java | 3 +- .../token/RhonassLastStandToken.java | 3 +- .../permanent/token/RhysTheRedeemedToken.java | 5 +- .../token/RiftmarkedKnightToken.java | 3 +- .../token/RiseOfEaglesBirdToken.java | 3 +- .../token/RitualOfTheReturnedZombieToken.java | 3 +- .../game/permanent/token/RocEggToken.java | 3 +- .../game/permanent/token/RoyalGuardToken.java | 3 +- .../permanent/token/RukhEggBirdToken.java | 3 +- .../permanent/token/SaprolingBurstToken.java | 3 +- .../game/permanent/token/SaprolingToken.java | 3 +- .../token/SatyrNyxSmithElementalToken.java | 3 +- .../permanent/token/SeedGuardianToken.java | 3 +- .../SekKuarDeathkeeperGravebornToken.java | 3 +- .../token/SengirNosferatuBatToken.java | 3 +- .../mage/game/permanent/token/SerfToken.java | 3 +- .../token/SerpentGeneratorSnakeToken.java | 3 +- .../mage/game/permanent/token/ServoToken.java | 3 +- .../game/permanent/token/SkeletonToken.java | 3 +- .../token/SkywiseTeachingsToken.java | 5 +- .../game/permanent/token/SliverToken.java | 3 +- .../permanent/token/SliversmithToken.java | 3 +- .../mage/game/permanent/token/SnakeToken.java | 3 +- .../game/permanent/token/SoldierToken.java | 3 +- .../token/SoldierTokenWithHaste.java | 3 +- .../SorinLordOfInnistradVampireToken.java | 3 +- .../token/SorinSolemnVisitorVampireToken.java | 3 +- .../permanent/token/SparkElementalToken.java | 3 +- .../token/SpawningGroundsBeastToken.java | 3 +- .../permanent/token/SpawningPitToken.java | 3 +- .../game/permanent/token/SpiderToken.java | 3 +- .../mage/game/permanent/token/SpikeToken.java | 3 +- .../game/permanent/token/SpiritBlueToken.java | 3 +- .../game/permanent/token/SpiritToken.java | 3 +- .../permanent/token/SpiritWhiteToken.java | 3 +- .../token/SpoilsOfBloodHorrorToken.java | 3 +- .../permanent/token/SpyMasterGoblinToken.java | 3 +- .../game/permanent/token/SquirrelToken.java | 3 +- .../token/StitcherGeralfZombieToken.java | 3 +- .../StitchersApprenticeHomunculusToken.java | 3 +- .../permanent/token/StoneTrapIdolToken.java | 3 +- .../token/SubterraneanTremorsLizardToken.java | 3 +- .../permanent/token/SwanSongBirdToken.java | 3 +- .../token/SylvanOfferingTreefolkToken.java | 3 +- .../game/permanent/token/TIEFighterToken.java | 53 +-- .../permanent/token/TatsumaDragonToken.java | 5 +- .../TemptWithVengeanceElementalToken.java | 3 +- .../game/permanent/token/TetraviteToken.java | 2 +- .../token/TeysaEnvoyOfGhostsToken.java | 3 +- .../permanent/token/ThatcherHumanToken.java | 3 +- .../token/TheLocustGodInsectToken.java | 3 +- .../token/ThopterColorlessToken.java | 3 +- .../game/permanent/token/ThopterToken.java | 3 +- .../game/permanent/token/ThrullToken.java | 3 +- .../permanent/token/TidalWaveWallToken.java | 3 +- .../permanent/token/TitanForgeGolemToken.java | 3 +- ...itaniaProtectorOfArgothElementalToken.java | 3 +- .../permanent/token/TreefolkShamanToken.java | 5 +- .../permanent/token/TriskelaviteToken.java | 3 +- .../game/permanent/token/TrooperToken.java | 105 ++--- .../token/TuktukTheReturnedToken.java | 3 +- .../permanent/token/TuskenRaiderToken.java | 5 +- .../mage/game/permanent/token/UramiToken.java | 5 +- .../token/UtvaraHellkiteDragonToken.java | 3 +- .../permanent/token/VampireKnightToken.java | 5 +- .../game/permanent/token/VampireToken.java | 3 +- .../token/VoiceOfResurgenceToken.java | 3 +- .../token/VoiceOfTheWoodsElementalToken.java | 3 +- .../mage/game/permanent/token/VojaToken.java | 3 +- .../token/WaitingInTheWeedsCatToken.java | 3 +- .../token/WalkerOfTheGroveToken.java | 3 +- .../token/WallOfResurgenceToken.java | 3 +- .../mage/game/permanent/token/WallToken.java | 3 +- .../token/WandOfTheElementsFirstToken.java | 3 +- .../token/WandOfTheElementsSecondToken.java | 3 +- .../game/permanent/token/WarriorToken.java | 3 +- .../permanent/token/WarriorVigilantToken.java | 3 +- .../token/WasitoraCatDragonToken.java | 5 +- .../mage/game/permanent/token/WaspToken.java | 3 +- .../mage/game/permanent/token/WeirdToken.java | 3 +- .../permanent/token/WhiteElementalToken.java | 3 +- .../permanent/token/WingmateRocToken.java | 3 +- .../mage/game/permanent/token/WolfToken.java | 3 +- .../token/WolfTokenWithDeathtouch.java | 3 +- .../mage/game/permanent/token/WoodToken.java | 3 +- .../permanent/token/WormHarvestToken.java | 3 +- .../token/WortTheRaidmotherToken.java | 5 +- .../mage/game/permanent/token/Wurm1Token.java | 3 +- .../mage/game/permanent/token/Wurm2Token.java | 3 +- .../permanent/token/WurmCallingWurmToken.java | 3 +- .../mage/game/permanent/token/WurmToken.java | 3 +- .../mage/game/permanent/token/WurmToken2.java | 3 +- .../mage/game/permanent/token/WurmToken3.java | 3 +- .../permanent/token/XenagosSatyrToken.java | 3 +- .../token/YoungPyromancerElementalToken.java | 3 +- .../token/ZektarShrineElementalToken.java | 3 +- .../token/ZendikarsRoilElementalToken.java | 3 +- .../game/permanent/token/ZombieToken.java | 3 +- .../game/permanent/token/ZombieToken2.java | 3 +- .../permanent/token/ZombieWizardToken.java | 5 +- 9131 files changed, 52127 insertions(+), 44576 deletions(-) diff --git a/Mage.Sets/src/mage/cards/a/AdmiralBeckettBrass.java b/Mage.Sets/src/mage/cards/a/AdmiralBeckettBrass.java index 019db58bcbf..a5554dd505c 100644 --- a/Mage.Sets/src/mage/cards/a/AdmiralBeckettBrass.java +++ b/Mage.Sets/src/mage/cards/a/AdmiralBeckettBrass.java @@ -76,8 +76,8 @@ public class AdmiralBeckettBrass extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/a/Ambuscade.java b/Mage.Sets/src/mage/cards/a/Ambuscade.java index 86fc832b42f..dc4f37d9670 100644 --- a/Mage.Sets/src/mage/cards/a/Ambuscade.java +++ b/Mage.Sets/src/mage/cards/a/Ambuscade.java @@ -1,81 +1,81 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.a; - -import java.util.UUID; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DamageWithPowerTargetEffect; -import mage.abilities.effects.common.continuous.BoostTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.TargetController; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.ControllerPredicate; -import mage.target.common.TargetControlledCreaturePermanent; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author ciaccona007 - */ -public class Ambuscade extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature you don't control"); - - static { - filter.add(new ControllerPredicate(TargetController.NOT_YOU)); - } - - public Ambuscade(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{G}"); - - - // Target creature you control gets +1/+0 until end of turn. - Effect effect = new BoostTargetEffect(1, 0, Duration.EndOfTurn); - effect.setApplyEffectsAfter(); // needed to count the boost for the second effect - this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent()); - this.getSpellAbility().addEffect(effect); - - // It deals damage equal to its power to target creature you don't control. - effect = new DamageWithPowerTargetEffect(); - effect.setText("It deals damage equal to its power to target creature you don't control"); - this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); - this.getSpellAbility().addEffect(effect); - } - - public Ambuscade(final Ambuscade card) { - super(card); - } - - @Override - public Ambuscade copy() { - return new Ambuscade(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.a; + +import java.util.UUID; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DamageWithPowerTargetEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.TargetController; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.target.common.TargetControlledCreaturePermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author ciaccona007 + */ +public class Ambuscade extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature you don't control"); + + static { + filter.add(new ControllerPredicate(TargetController.NOT_YOU)); + } + + public Ambuscade(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{G}"); + + + // Target creature you control gets +1/+0 until end of turn. + Effect effect = new BoostTargetEffect(1, 0, Duration.EndOfTurn); + effect.setApplyEffectsAfter(); // needed to count the boost for the second effect + this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent()); + this.getSpellAbility().addEffect(effect); + + // It deals damage equal to its power to target creature you don't control. + effect = new DamageWithPowerTargetEffect(); + effect.setText("It deals damage equal to its power to target creature you don't control"); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); + this.getSpellAbility().addEffect(effect); + } + + public Ambuscade(final Ambuscade card) { + super(card); + } + + @Override + public Ambuscade copy() { + return new Ambuscade(this); + } +} diff --git a/Mage.Sets/src/mage/cards/a/AngrathsMarauders.java b/Mage.Sets/src/mage/cards/a/AngrathsMarauders.java index 74e35b6fc42..a08e15a0738 100644 --- a/Mage.Sets/src/mage/cards/a/AngrathsMarauders.java +++ b/Mage.Sets/src/mage/cards/a/AngrathsMarauders.java @@ -35,6 +35,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class AngrathsMarauders extends CardImpl { public AngrathsMarauders(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/a/AphettoVulture.java b/Mage.Sets/src/mage/cards/a/AphettoVulture.java index ac7ad529bb6..1c717f0903e 100644 --- a/Mage.Sets/src/mage/cards/a/AphettoVulture.java +++ b/Mage.Sets/src/mage/cards/a/AphettoVulture.java @@ -56,8 +56,8 @@ public class AphettoVulture extends CardImpl { public AphettoVulture(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Bird"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.BIRD); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/a/AppealAuthority.java b/Mage.Sets/src/mage/cards/a/AppealAuthority.java index b8acda0f7b3..8403bf305cf 100644 --- a/Mage.Sets/src/mage/cards/a/AppealAuthority.java +++ b/Mage.Sets/src/mage/cards/a/AppealAuthority.java @@ -1,91 +1,91 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.a; - -import java.util.UUID; -import mage.abilities.dynamicvalue.DynamicValue; -import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.effects.common.TapTargetEffect; -import mage.abilities.effects.common.continuous.BoostTargetEffect; -import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; -import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; -import mage.abilities.keyword.AftermathAbility; -import mage.abilities.keyword.TrampleAbility; -import mage.abilities.keyword.VigilanceAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.SplitCard; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SpellAbilityType; -import mage.constants.TargetController; -import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.ControllerPredicate; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author LevelX2 - */ -public class AppealAuthority extends SplitCard { - - public AppealAuthority(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, new CardType[]{CardType.SORCERY}, "{G}", "{1}{W}", SpellAbilityType.SPLIT_AFTERMATH); - - // Appeal - // Until end of turn, target creature gains trample and gets +X/+X, where X is the number of creatures you control. - getLeftHalfCard().getSpellAbility().addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn) - .setText("Until end of turn, target creature gains trample")); - DynamicValue controlledCreatures = new PermanentsOnBattlefieldCount(new FilterControlledCreaturePermanent("the number of creatures you control")); - getLeftHalfCard().getSpellAbility().addEffect(new BoostTargetEffect(controlledCreatures, controlledCreatures, Duration.EndOfTurn, true) - .setText("and gets +X/+X, where X is the number of creatures you control")); - getLeftHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent()); - - // Authority - // Aftermath - ((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility().setRuleAtTheTop(true)); - // Tap up to two target creatures your opponents control. Creatures you control gain vigilance until end of turn. - getRightHalfCard().getSpellAbility().addEffect(new TapTargetEffect()); - FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures your opponents control"); - filter.add(new ControllerPredicate(TargetController.OPPONENT)); - getRightHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent(0, 2, filter, false)); - getRightHalfCard().getSpellAbility().addEffect(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), - Duration.EndOfTurn, new FilterControlledCreaturePermanent("creatures"))); - - } - - public AppealAuthority(final AppealAuthority card) { - super(card); - } - - @Override - public AppealAuthority copy() { - return new AppealAuthority(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.a; + +import java.util.UUID; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.common.TapTargetEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.AftermathAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.SplitCard; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SpellAbilityType; +import mage.constants.TargetController; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class AppealAuthority extends SplitCard { + + public AppealAuthority(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, new CardType[]{CardType.SORCERY}, "{G}", "{1}{W}", SpellAbilityType.SPLIT_AFTERMATH); + + // Appeal + // Until end of turn, target creature gains trample and gets +X/+X, where X is the number of creatures you control. + getLeftHalfCard().getSpellAbility().addEffect(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn) + .setText("Until end of turn, target creature gains trample")); + DynamicValue controlledCreatures = new PermanentsOnBattlefieldCount(new FilterControlledCreaturePermanent("the number of creatures you control")); + getLeftHalfCard().getSpellAbility().addEffect(new BoostTargetEffect(controlledCreatures, controlledCreatures, Duration.EndOfTurn, true) + .setText("and gets +X/+X, where X is the number of creatures you control")); + getLeftHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent()); + + // Authority + // Aftermath + ((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility().setRuleAtTheTop(true)); + // Tap up to two target creatures your opponents control. Creatures you control gain vigilance until end of turn. + getRightHalfCard().getSpellAbility().addEffect(new TapTargetEffect()); + FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures your opponents control"); + filter.add(new ControllerPredicate(TargetController.OPPONENT)); + getRightHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent(0, 2, filter, false)); + getRightHalfCard().getSpellAbility().addEffect(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), + Duration.EndOfTurn, new FilterControlledCreaturePermanent("creatures"))); + + } + + public AppealAuthority(final AppealAuthority card) { + super(card); + } + + @Override + public AppealAuthority copy() { + return new AppealAuthority(this); + } +} diff --git a/Mage.Sets/src/mage/cards/b/BelligerentBrontodon.java b/Mage.Sets/src/mage/cards/b/BelligerentBrontodon.java index 81647dab15d..f1a1b50e254 100644 --- a/Mage.Sets/src/mage/cards/b/BelligerentBrontodon.java +++ b/Mage.Sets/src/mage/cards/b/BelligerentBrontodon.java @@ -49,7 +49,7 @@ public class BelligerentBrontodon extends CardImpl { public BelligerentBrontodon(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}{W}"); - this.subtype.add("Dinosaur"); + this.subtype.add(SubType.DINOSAUR); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/b/BellowingAegisaur.java b/Mage.Sets/src/mage/cards/b/BellowingAegisaur.java index c0c4bbdf4aa..7c2db5f657e 100644 --- a/Mage.Sets/src/mage/cards/b/BellowingAegisaur.java +++ b/Mage.Sets/src/mage/cards/b/BellowingAegisaur.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -58,7 +59,7 @@ public class BellowingAegisaur extends CardImpl { public BellowingAegisaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}"); - this.subtype.add("Dinosaur"); + this.subtype.add(SubType.DINOSAUR); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/b/BishopOfRebirth.java b/Mage.Sets/src/mage/cards/b/BishopOfRebirth.java index af21a4e6782..f60e12001b6 100644 --- a/Mage.Sets/src/mage/cards/b/BishopOfRebirth.java +++ b/Mage.Sets/src/mage/cards/b/BishopOfRebirth.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.FilterCard; import mage.filter.common.FilterCreatureCard; @@ -59,8 +60,8 @@ public class BishopOfRebirth extends CardImpl { public BishopOfRebirth(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{W}"); - this.subtype.add("Vampire"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/b/BloodcrazedPaladin.java b/Mage.Sets/src/mage/cards/b/BloodcrazedPaladin.java index d78ee5ca734..af835b494dd 100644 --- a/Mage.Sets/src/mage/cards/b/BloodcrazedPaladin.java +++ b/Mage.Sets/src/mage/cards/b/BloodcrazedPaladin.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.watchers.common.CreaturesDiedWatcher; @@ -49,8 +50,8 @@ public class BloodcrazedPaladin extends CardImpl { public BloodcrazedPaladin(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Knight"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/b/BloodletterQuill.java b/Mage.Sets/src/mage/cards/b/BloodletterQuill.java index 6b2dbf90a1e..746d619d0c8 100644 --- a/Mage.Sets/src/mage/cards/b/BloodletterQuill.java +++ b/Mage.Sets/src/mage/cards/b/BloodletterQuill.java @@ -1,77 +1,77 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.b; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.PutCountersSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.dynamicvalue.common.CountersSourceCount; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.effects.common.LoseLifeSourceControllerEffect; -import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.counters.Counter; - -/** - * - * @author LevelX2 - */ -public class BloodletterQuill extends CardImpl { - - public BloodletterQuill(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); - - Counter bloodCounter = new Counter("blood"); - // {2}, {T}, Put a blood counter on Bloodletter Quill: Draw a card, then lose 1 life for each blood counter on Bloodletter Quill. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(2)); - ability.addEffect(new LoseLifeSourceControllerEffect(new CountersSourceCount(bloodCounter.getName())) - .setText(", then lose 1 life for each blood counter on {this}")); - ability.addCost(new TapSourceCost()); - ability.addCost(new PutCountersSourceCost(bloodCounter)); - this.addAbility(ability); - // {U}{B}: Remove a blood counter from Bloodletter Quill. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, - new RemoveCounterSourceEffect(bloodCounter), new ManaCostsImpl("{U}{B}"))); - } - - public BloodletterQuill(final BloodletterQuill card) { - super(card); - } - - @Override - public BloodletterQuill copy() { - return new BloodletterQuill(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.b; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.PutCountersSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.dynamicvalue.common.CountersSourceCount; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.LoseLifeSourceControllerEffect; +import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.counters.Counter; + +/** + * + * @author LevelX2 + */ +public class BloodletterQuill extends CardImpl { + + public BloodletterQuill(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); + + Counter bloodCounter = new Counter("blood"); + // {2}, {T}, Put a blood counter on Bloodletter Quill: Draw a card, then lose 1 life for each blood counter on Bloodletter Quill. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(2)); + ability.addEffect(new LoseLifeSourceControllerEffect(new CountersSourceCount(bloodCounter.getName())) + .setText(", then lose 1 life for each blood counter on {this}")); + ability.addCost(new TapSourceCost()); + ability.addCost(new PutCountersSourceCost(bloodCounter)); + this.addAbility(ability); + // {U}{B}: Remove a blood counter from Bloodletter Quill. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, + new RemoveCounterSourceEffect(bloodCounter), new ManaCostsImpl("{U}{B}"))); + } + + public BloodletterQuill(final BloodletterQuill card) { + super(card); + } + + @Override + public BloodletterQuill copy() { + return new BloodletterQuill(this); + } +} diff --git a/Mage.Sets/src/mage/cards/b/BlurOfBlades.java b/Mage.Sets/src/mage/cards/b/BlurOfBlades.java index beb3c37bcdb..5a1b7b9c5fc 100644 --- a/Mage.Sets/src/mage/cards/b/BlurOfBlades.java +++ b/Mage.Sets/src/mage/cards/b/BlurOfBlades.java @@ -1,66 +1,66 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.b; - -import java.util.UUID; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DamageTargetControllerEffect; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.counters.CounterType; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author ciaccona007 - */ -public class BlurOfBlades extends CardImpl { - - public BlurOfBlades(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}"); - - // Put a -1/-1 counter on target creature. Blur of Blades deals 2 damage to that creature's controller. - getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.M1M1.createInstance(1))); - Effect effect = new DamageTargetControllerEffect(2); - effect.setText("{this} deals 2 damage to that creature's controller"); - getSpellAbility().addEffect(effect); - getSpellAbility().addTarget(new TargetCreaturePermanent()); - - } - - public BlurOfBlades(final BlurOfBlades card) { - super(card); - } - - @Override - public BlurOfBlades copy() { - return new BlurOfBlades(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.b; + +import java.util.UUID; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DamageTargetControllerEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.counters.CounterType; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author ciaccona007 + */ +public class BlurOfBlades extends CardImpl { + + public BlurOfBlades(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}"); + + // Put a -1/-1 counter on target creature. Blur of Blades deals 2 damage to that creature's controller. + getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.M1M1.createInstance(1))); + Effect effect = new DamageTargetControllerEffect(2); + effect.setText("{this} deals 2 damage to that creature's controller"); + getSpellAbility().addEffect(effect); + getSpellAbility().addTarget(new TargetCreaturePermanent()); + + } + + public BlurOfBlades(final BlurOfBlades card) { + super(card); + } + + @Override + public BlurOfBlades copy() { + return new BlurOfBlades(this); + } +} diff --git a/Mage.Sets/src/mage/cards/b/BreathstealersCrypt.java b/Mage.Sets/src/mage/cards/b/BreathstealersCrypt.java index 9ed3297ab05..c93450f6e33 100644 --- a/Mage.Sets/src/mage/cards/b/BreathstealersCrypt.java +++ b/Mage.Sets/src/mage/cards/b/BreathstealersCrypt.java @@ -1,128 +1,128 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.b; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.common.PayLifeCost; -import mage.abilities.effects.ReplacementEffectImpl; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.Cards; -import mage.cards.CardsImpl; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.players.Player; - -/** - * - * @author jeffwadsworth - */ -public class BreathstealersCrypt extends CardImpl { - - public BreathstealersCrypt(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}{B}"); - - // If a player would draw a card, instead he or she draws a card and reveals it. If it's a creature card, that player discards it unless he or she pays 3 life. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BreathstealersCryptEffect())); - - } - - public BreathstealersCrypt(final BreathstealersCrypt card) { - super(card); - } - - @Override - public BreathstealersCrypt copy() { - return new BreathstealersCrypt(this); - } -} - -class BreathstealersCryptEffect extends ReplacementEffectImpl { - - public BreathstealersCryptEffect() { - super(Duration.WhileOnBattlefield, Outcome.LoseLife); - staticText = "If a player would draw a card, instead he or she draws a card and reveals it. If it's a creature card, that player discards it unless he or she pays 3 life"; - } - - public BreathstealersCryptEffect(final BreathstealersCryptEffect effect) { - super(effect); - } - - @Override - public BreathstealersCryptEffect copy() { - return new BreathstealersCryptEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - return true; - } - - @Override - public boolean replaceEvent(GameEvent event, Ability source, Game game) { - Player player = game.getPlayer(event.getPlayerId()); - PayLifeCost cost = new PayLifeCost(3); - if (player != null) { - Card cardDrawn = player.getLibrary().removeFromTop(game); - if (cardDrawn != null) { - player.moveCardToHandWithInfo(cardDrawn, source.getSourceId(), game); - Cards cards = new CardsImpl(); - cards.add(cardDrawn); - player.revealCards("The card drawn from " + player.getName() + "'s library", cards, game); - if (cardDrawn.isCreature()) { - game.informPlayers("The card drawn by " + player.getName() + " is a creature card. He/she must pay 3 life or that card gets discarded."); - if (cost.canPay(source, source.getSourceId(), player.getId(), game) - && player.chooseUse(outcome, "Do you wish to pay 3 life to keep the drawn creature card? If not, you discard it.", source, game)) { - return cost.pay(source, game, source.getSourceId(), player.getId(), true, cost); - } else { - game.informPlayers("The cost of 3 life was not paid by " + player.getName() + ", so the creature card will be discarded."); - return player.discard(cardDrawn, source, game); - } - } - } - } - return false; - } - - @Override - public boolean checksEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.DRAW_CARD; - } - - @Override - public boolean applies(GameEvent event, Ability source, Game game) { - return true; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.b; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.PayLifeCost; +import mage.abilities.effects.ReplacementEffectImpl; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.Cards; +import mage.cards.CardsImpl; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.players.Player; + +/** + * + * @author jeffwadsworth + */ +public class BreathstealersCrypt extends CardImpl { + + public BreathstealersCrypt(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}{B}"); + + // If a player would draw a card, instead he or she draws a card and reveals it. If it's a creature card, that player discards it unless he or she pays 3 life. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BreathstealersCryptEffect())); + + } + + public BreathstealersCrypt(final BreathstealersCrypt card) { + super(card); + } + + @Override + public BreathstealersCrypt copy() { + return new BreathstealersCrypt(this); + } +} + +class BreathstealersCryptEffect extends ReplacementEffectImpl { + + public BreathstealersCryptEffect() { + super(Duration.WhileOnBattlefield, Outcome.LoseLife); + staticText = "If a player would draw a card, instead he or she draws a card and reveals it. If it's a creature card, that player discards it unless he or she pays 3 life"; + } + + public BreathstealersCryptEffect(final BreathstealersCryptEffect effect) { + super(effect); + } + + @Override + public BreathstealersCryptEffect copy() { + return new BreathstealersCryptEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + Player player = game.getPlayer(event.getPlayerId()); + PayLifeCost cost = new PayLifeCost(3); + if (player != null) { + Card cardDrawn = player.getLibrary().removeFromTop(game); + if (cardDrawn != null) { + player.moveCardToHandWithInfo(cardDrawn, source.getSourceId(), game); + Cards cards = new CardsImpl(); + cards.add(cardDrawn); + player.revealCards("The card drawn from " + player.getName() + "'s library", cards, game); + if (cardDrawn.isCreature()) { + game.informPlayers("The card drawn by " + player.getName() + " is a creature card. He/she must pay 3 life or that card gets discarded."); + if (cost.canPay(source, source.getSourceId(), player.getId(), game) + && player.chooseUse(outcome, "Do you wish to pay 3 life to keep the drawn creature card? If not, you discard it.", source, game)) { + return cost.pay(source, game, source.getSourceId(), player.getId(), true, cost); + } else { + game.informPlayers("The cost of 3 life was not paid by " + player.getName() + ", so the creature card will be discarded."); + return player.discard(cardDrawn, source, game); + } + } + } + } + return false; + } + + @Override + public boolean checksEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.DRAW_CARD; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + return true; + } +} diff --git a/Mage.Sets/src/mage/cards/b/BurningSunsAvatar.java b/Mage.Sets/src/mage/cards/b/BurningSunsAvatar.java index 86b98815463..22576a7ce35 100644 --- a/Mage.Sets/src/mage/cards/b/BurningSunsAvatar.java +++ b/Mage.Sets/src/mage/cards/b/BurningSunsAvatar.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetOpponent; @@ -48,8 +49,8 @@ public class BurningSunsAvatar extends CardImpl { public BurningSunsAvatar(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}{R}"); - this.subtype.add("Dinosaur"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.DINOSAUR); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/C3POAndR2D2.java b/Mage.Sets/src/mage/cards/c/C3POAndR2D2.java index 77f2c1eee74..58e3132533d 100644 --- a/Mage.Sets/src/mage/cards/c/C3POAndR2D2.java +++ b/Mage.Sets/src/mage/cards/c/C3POAndR2D2.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.RepairAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -49,7 +50,7 @@ public class C3POAndR2D2 extends CardImpl { public C3POAndR2D2(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Droid"); + this.subtype.add(SubType.DROID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CabalArchon.java b/Mage.Sets/src/mage/cards/c/CabalArchon.java index bb745fa99e1..7b1309064cf 100644 --- a/Mage.Sets/src/mage/cards/c/CabalArchon.java +++ b/Mage.Sets/src/mage/cards/c/CabalArchon.java @@ -60,8 +60,8 @@ public class CabalArchon extends CardImpl { public CabalArchon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CabalExecutioner.java b/Mage.Sets/src/mage/cards/c/CabalExecutioner.java index 2dd9cbfc4f3..77877b49203 100644 --- a/Mage.Sets/src/mage/cards/c/CabalExecutioner.java +++ b/Mage.Sets/src/mage/cards/c/CabalExecutioner.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.game.Game; @@ -53,8 +54,8 @@ public class CabalExecutioner extends CardImpl { public CabalExecutioner(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CabalInquisitor.java b/Mage.Sets/src/mage/cards/c/CabalInquisitor.java index d12a25ac411..ded5d90a146 100644 --- a/Mage.Sets/src/mage/cards/c/CabalInquisitor.java +++ b/Mage.Sets/src/mage/cards/c/CabalInquisitor.java @@ -57,8 +57,8 @@ public class CabalInquisitor extends CardImpl { public CabalInquisitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Minion"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MINION); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CabalInterrogator.java b/Mage.Sets/src/mage/cards/c/CabalInterrogator.java index 114aa05859f..e044a7e7099 100644 --- a/Mage.Sets/src/mage/cards/c/CabalInterrogator.java +++ b/Mage.Sets/src/mage/cards/c/CabalInterrogator.java @@ -38,6 +38,7 @@ import mage.abilities.dynamicvalue.common.ManacostVariableValue; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -55,8 +56,8 @@ public class CabalInterrogator extends CardImpl { public CabalInterrogator(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CabalPatriarch.java b/Mage.Sets/src/mage/cards/c/CabalPatriarch.java index 017d4d46acb..2394359f5a1 100644 --- a/Mage.Sets/src/mage/cards/c/CabalPatriarch.java +++ b/Mage.Sets/src/mage/cards/c/CabalPatriarch.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class CabalPatriarch extends CardImpl { public CabalPatriarch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CabalSlaver.java b/Mage.Sets/src/mage/cards/c/CabalSlaver.java index eaf660253c2..3cbe12b1e67 100644 --- a/Mage.Sets/src/mage/cards/c/CabalSlaver.java +++ b/Mage.Sets/src/mage/cards/c/CabalSlaver.java @@ -53,8 +53,8 @@ public class CabalSlaver extends CardImpl { public CabalSlaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CabalSurgeon.java b/Mage.Sets/src/mage/cards/c/CabalSurgeon.java index cbc8265fb7d..48413cde794 100644 --- a/Mage.Sets/src/mage/cards/c/CabalSurgeon.java +++ b/Mage.Sets/src/mage/cards/c/CabalSurgeon.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.common.FilterCreatureCard; @@ -53,8 +54,8 @@ public class CabalSurgeon extends CardImpl { public CabalSurgeon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Minion"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MINION); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CabalTorturer.java b/Mage.Sets/src/mage/cards/c/CabalTorturer.java index cfea1c87fe0..d2184238197 100644 --- a/Mage.Sets/src/mage/cards/c/CabalTorturer.java +++ b/Mage.Sets/src/mage/cards/c/CabalTorturer.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -52,8 +53,8 @@ public class CabalTorturer extends CardImpl { public CabalTorturer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Minion"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MINION); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CabalTrainee.java b/Mage.Sets/src/mage/cards/c/CabalTrainee.java index d9d623be5f6..15c8c845a20 100644 --- a/Mage.Sets/src/mage/cards/c/CabalTrainee.java +++ b/Mage.Sets/src/mage/cards/c/CabalTrainee.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class CabalTrainee extends CardImpl { public CabalTrainee(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Human"); - this.subtype.add("Minion"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MINION); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CacheRaiders.java b/Mage.Sets/src/mage/cards/c/CacheRaiders.java index 75c148930fc..4c5e0e6eee6 100644 --- a/Mage.Sets/src/mage/cards/c/CacheRaiders.java +++ b/Mage.Sets/src/mage/cards/c/CacheRaiders.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; @@ -45,8 +46,8 @@ public class CacheRaiders extends CardImpl { public CacheRaiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CacklingFiend.java b/Mage.Sets/src/mage/cards/c/CacklingFiend.java index 7d18409cb18..901d37bc2c5 100644 --- a/Mage.Sets/src/mage/cards/c/CacklingFiend.java +++ b/Mage.Sets/src/mage/cards/c/CacklingFiend.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.discard.DiscardEachPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,7 +46,7 @@ public class CacklingFiend extends CardImpl { public CacklingFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CacklingImp.java b/Mage.Sets/src/mage/cards/c/CacklingImp.java index 4fb4e13753f..f7089a71836 100644 --- a/Mage.Sets/src/mage/cards/c/CacklingImp.java +++ b/Mage.Sets/src/mage/cards/c/CacklingImp.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -48,7 +49,7 @@ public class CacklingImp extends CardImpl { public CacklingImp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CacklingWitch.java b/Mage.Sets/src/mage/cards/c/CacklingWitch.java index 3bbfd8e1be8..bf097b383e0 100644 --- a/Mage.Sets/src/mage/cards/c/CacklingWitch.java +++ b/Mage.Sets/src/mage/cards/c/CacklingWitch.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -52,8 +53,8 @@ public class CacklingWitch extends CardImpl { public CacklingWitch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CadaverImp.java b/Mage.Sets/src/mage/cards/c/CadaverImp.java index c378bbd9965..6e03cd8b45c 100644 --- a/Mage.Sets/src/mage/cards/c/CadaverImp.java +++ b/Mage.Sets/src/mage/cards/c/CadaverImp.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInYourGraveyard; @@ -47,7 +48,7 @@ public class CadaverImp extends CardImpl { public CadaverImp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CadaverousKnight.java b/Mage.Sets/src/mage/cards/c/CadaverousKnight.java index ef06af726e3..d3587248cba 100644 --- a/Mage.Sets/src/mage/cards/c/CadaverousKnight.java +++ b/Mage.Sets/src/mage/cards/c/CadaverousKnight.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlankingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class CadaverousKnight extends CardImpl { public CadaverousKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CageOfHands.java b/Mage.Sets/src/mage/cards/c/CageOfHands.java index 4475469b102..082fc369a6d 100644 --- a/Mage.Sets/src/mage/cards/c/CageOfHands.java +++ b/Mage.Sets/src/mage/cards/c/CageOfHands.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class CageOfHands extends CardImpl { public CageOfHands (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/c/Cagemail.java b/Mage.Sets/src/mage/cards/c/Cagemail.java index b0a0d4de9cd..01c75c71ab0 100644 --- a/Mage.Sets/src/mage/cards/c/Cagemail.java +++ b/Mage.Sets/src/mage/cards/c/Cagemail.java @@ -50,7 +50,7 @@ public class Cagemail extends CardImpl { public Cagemail(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CairnWanderer.java b/Mage.Sets/src/mage/cards/c/CairnWanderer.java index bb1319c547d..29d0341e58d 100644 --- a/Mage.Sets/src/mage/cards/c/CairnWanderer.java +++ b/Mage.Sets/src/mage/cards/c/CairnWanderer.java @@ -51,7 +51,7 @@ public class CairnWanderer extends CardImpl { public CairnWanderer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/Calciderm.java b/Mage.Sets/src/mage/cards/c/Calciderm.java index 4864062645c..4b6e0ba57ed 100644 --- a/Mage.Sets/src/mage/cards/c/Calciderm.java +++ b/Mage.Sets/src/mage/cards/c/Calciderm.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.VanishingUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -48,7 +49,7 @@ public class Calciderm extends CardImpl { public Calciderm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CalciteSnapper.java b/Mage.Sets/src/mage/cards/c/CalciteSnapper.java index 2b20e3bf430..210a7f7a2d1 100644 --- a/Mage.Sets/src/mage/cards/c/CalciteSnapper.java +++ b/Mage.Sets/src/mage/cards/c/CalciteSnapper.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class CalciteSnapper extends CardImpl { public CalciteSnapper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Turtle"); + this.subtype.add(SubType.TURTLE); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CalderaHellion.java b/Mage.Sets/src/mage/cards/c/CalderaHellion.java index 73cf63081b2..cd46387ab84 100644 --- a/Mage.Sets/src/mage/cards/c/CalderaHellion.java +++ b/Mage.Sets/src/mage/cards/c/CalderaHellion.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DevourAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; /** @@ -46,7 +47,7 @@ public class CalderaHellion extends CardImpl { public CalderaHellion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Hellion"); + this.subtype.add(SubType.HELLION); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CalderaKavu.java b/Mage.Sets/src/mage/cards/c/CalderaKavu.java index 9a7a023a3aa..59c3c91b46b 100644 --- a/Mage.Sets/src/mage/cards/c/CalderaKavu.java +++ b/Mage.Sets/src/mage/cards/c/CalderaKavu.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class CalderaKavu extends CardImpl { public CalderaKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CallForBlood.java b/Mage.Sets/src/mage/cards/c/CallForBlood.java index 77393fc26f3..7036df8b8be 100644 --- a/Mage.Sets/src/mage/cards/c/CallForBlood.java +++ b/Mage.Sets/src/mage/cards/c/CallForBlood.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -52,7 +53,7 @@ public class CallForBlood extends CardImpl { public CallForBlood(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{4}{B}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // As an additional cost to cast Call for Blood, sacrifice a creature. diff --git a/Mage.Sets/src/mage/cards/c/CallOfTheFullMoon.java b/Mage.Sets/src/mage/cards/c/CallOfTheFullMoon.java index 8d309963958..c33f8ff4724 100644 --- a/Mage.Sets/src/mage/cards/c/CallOfTheFullMoon.java +++ b/Mage.Sets/src/mage/cards/c/CallOfTheFullMoon.java @@ -56,7 +56,7 @@ public class CallOfTheFullMoon extends CardImpl { public CallOfTheFullMoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CallToServe.java b/Mage.Sets/src/mage/cards/c/CallToServe.java index 5663175c8cb..7b5941a8bad 100644 --- a/Mage.Sets/src/mage/cards/c/CallToServe.java +++ b/Mage.Sets/src/mage/cards/c/CallToServe.java @@ -61,7 +61,7 @@ public class CallToServe extends CardImpl { public CallToServe(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant nonblack creature TargetPermanent auraTarget = new TargetCreaturePermanent(filter); diff --git a/Mage.Sets/src/mage/cards/c/CallToTheKindred.java b/Mage.Sets/src/mage/cards/c/CallToTheKindred.java index 84aefe9db62..d7e400810e6 100644 --- a/Mage.Sets/src/mage/cards/c/CallToTheKindred.java +++ b/Mage.Sets/src/mage/cards/c/CallToTheKindred.java @@ -63,7 +63,7 @@ public class CallToTheKindred extends CardImpl { public CallToTheKindred(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CallerOfGales.java b/Mage.Sets/src/mage/cards/c/CallerOfGales.java index b9c1b8d72bf..58283d36522 100644 --- a/Mage.Sets/src/mage/cards/c/CallerOfGales.java +++ b/Mage.Sets/src/mage/cards/c/CallerOfGales.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -51,8 +52,8 @@ public class CallerOfGales extends CardImpl { public CallerOfGales (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CallerOfTheClaw.java b/Mage.Sets/src/mage/cards/c/CallerOfTheClaw.java index 79e508c4f34..73e3c316ae5 100644 --- a/Mage.Sets/src/mage/cards/c/CallerOfTheClaw.java +++ b/Mage.Sets/src/mage/cards/c/CallerOfTheClaw.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.WatcherScope; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class CallerOfTheClaw extends CardImpl { public CallerOfTheClaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.color.setGreen(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CallerOfTheHunt.java b/Mage.Sets/src/mage/cards/c/CallerOfTheHunt.java index 93a6072beb0..1249f6b1266 100644 --- a/Mage.Sets/src/mage/cards/c/CallerOfTheHunt.java +++ b/Mage.Sets/src/mage/cards/c/CallerOfTheHunt.java @@ -1,152 +1,152 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.c; - -import mage.MageObject; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.effects.ContinuousEffect; -import mage.abilities.effects.Effect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.continuous.SetPowerSourceEffect; -import mage.abilities.effects.common.continuous.SetToughnessSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.choices.Choice; -import mage.choices.ChoiceCreatureType; -import mage.constants.*; -import mage.filter.FilterPermanent; -import mage.filter.predicate.mageobject.ChosenSubtypePredicate; -import mage.game.Game; -import mage.players.Player; - -import java.util.UUID; - -/** - * - * @author jeffwadsworth - */ -public class CallerOfTheHunt extends CardImpl { - - public CallerOfTheHunt(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - - this.subtype.add("Human"); - - // As an additional cost to cast Caller of the Hunt, choose a creature type. - // Caller of the Hunt's power and toughness are each equal to the number of creatures of the chosen type on the battlefield. - this.addAbility(new SimpleStaticAbility(Zone.ALL, new CallerOfTheHuntAdditionalCostEffect())); - - } - - public CallerOfTheHunt(final CallerOfTheHunt card) { - super(card); - } - - @Override - public void adjustCosts(Ability ability, Game game) { - MageObject mageObject = game.getObject(ability.getSourceId()); - Effect effect = new ChooseCreatureTypeEffect(Outcome.Benefit); - if (mageObject != null - && effect.apply(game, ability)) { - FilterPermanent filter = new FilterPermanent(); - filter.add(new ChosenSubtypePredicate(mageObject.getId())); - ContinuousEffect effectPower = new SetPowerSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.Custom); - ContinuousEffect effectToughness = new SetToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.Custom); - game.addEffect(effectPower, ability); - game.addEffect(effectToughness, ability); - } - } - - @Override - public CallerOfTheHunt copy() { - return new CallerOfTheHunt(this); - } -} - -class CallerOfTheHuntAdditionalCostEffect extends OneShotEffect { - - public CallerOfTheHuntAdditionalCostEffect() { - super(Outcome.Benefit); - this.staticText = "As an additional cost to cast {this}, choose a creature type. \r" - + "{this}'s power and toughness are each equal to the number of creatures of the chosen type on the battlefield"; - } - - public CallerOfTheHuntAdditionalCostEffect(final CallerOfTheHuntAdditionalCostEffect effect) { - super(effect); - } - - @Override - public CallerOfTheHuntAdditionalCostEffect copy() { - return new CallerOfTheHuntAdditionalCostEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - return true; - } -} - -class ChooseCreatureTypeEffect extends OneShotEffect { // code by LevelX2, but that other version is not compatible with this card - - public ChooseCreatureTypeEffect(Outcome outcome) { - super(outcome); - staticText = "choose a creature type"; - } - - public ChooseCreatureTypeEffect(final ChooseCreatureTypeEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - MageObject mageObject = game.getObject(source.getSourceId()); - if (controller != null && mageObject != null) { - Choice typeChoice = new ChoiceCreatureType(); - while (!controller.choose(outcome, typeChoice, game)) { - if (!controller.canRespond()) { - return false; - } - } - if (!game.isSimulation()) { - game.informPlayers(mageObject.getName() + ": " + controller.getLogName() + " has chosen " + typeChoice.getChoice()); - } - game.getState().setValue(mageObject.getId() + "_type", SubType.byDescription(typeChoice.getChoice())); - return true; - } - return false; - } - - @Override - public ChooseCreatureTypeEffect copy() { - return new ChooseCreatureTypeEffect(this); - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.c; + +import mage.MageObject; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.ContinuousEffect; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.continuous.SetPowerSourceEffect; +import mage.abilities.effects.common.continuous.SetToughnessSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.choices.Choice; +import mage.choices.ChoiceCreatureType; +import mage.constants.*; +import mage.filter.FilterPermanent; +import mage.filter.predicate.mageobject.ChosenSubtypePredicate; +import mage.game.Game; +import mage.players.Player; + +import java.util.UUID; + +/** + * + * @author jeffwadsworth + */ +public class CallerOfTheHunt extends CardImpl { + + public CallerOfTheHunt(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); + + this.subtype.add(SubType.HUMAN); + + // As an additional cost to cast Caller of the Hunt, choose a creature type. + // Caller of the Hunt's power and toughness are each equal to the number of creatures of the chosen type on the battlefield. + this.addAbility(new SimpleStaticAbility(Zone.ALL, new CallerOfTheHuntAdditionalCostEffect())); + + } + + public CallerOfTheHunt(final CallerOfTheHunt card) { + super(card); + } + + @Override + public void adjustCosts(Ability ability, Game game) { + MageObject mageObject = game.getObject(ability.getSourceId()); + Effect effect = new ChooseCreatureTypeEffect(Outcome.Benefit); + if (mageObject != null + && effect.apply(game, ability)) { + FilterPermanent filter = new FilterPermanent(); + filter.add(new ChosenSubtypePredicate(mageObject.getId())); + ContinuousEffect effectPower = new SetPowerSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.Custom); + ContinuousEffect effectToughness = new SetToughnessSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.Custom); + game.addEffect(effectPower, ability); + game.addEffect(effectToughness, ability); + } + } + + @Override + public CallerOfTheHunt copy() { + return new CallerOfTheHunt(this); + } +} + +class CallerOfTheHuntAdditionalCostEffect extends OneShotEffect { + + public CallerOfTheHuntAdditionalCostEffect() { + super(Outcome.Benefit); + this.staticText = "As an additional cost to cast {this}, choose a creature type. \r" + + "{this}'s power and toughness are each equal to the number of creatures of the chosen type on the battlefield"; + } + + public CallerOfTheHuntAdditionalCostEffect(final CallerOfTheHuntAdditionalCostEffect effect) { + super(effect); + } + + @Override + public CallerOfTheHuntAdditionalCostEffect copy() { + return new CallerOfTheHuntAdditionalCostEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } +} + +class ChooseCreatureTypeEffect extends OneShotEffect { // code by LevelX2, but that other version is not compatible with this card + + public ChooseCreatureTypeEffect(Outcome outcome) { + super(outcome); + staticText = "choose a creature type"; + } + + public ChooseCreatureTypeEffect(final ChooseCreatureTypeEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + MageObject mageObject = game.getObject(source.getSourceId()); + if (controller != null && mageObject != null) { + Choice typeChoice = new ChoiceCreatureType(); + while (!controller.choose(outcome, typeChoice, game)) { + if (!controller.canRespond()) { + return false; + } + } + if (!game.isSimulation()) { + game.informPlayers(mageObject.getName() + ": " + controller.getLogName() + " has chosen " + typeChoice.getChoice()); + } + game.getState().setValue(mageObject.getId() + "_type", SubType.byDescription(typeChoice.getChoice())); + return true; + } + return false; + } + + @Override + public ChooseCreatureTypeEffect copy() { + return new ChooseCreatureTypeEffect(this); + } + +} diff --git a/Mage.Sets/src/mage/cards/c/CallerOfThePack.java b/Mage.Sets/src/mage/cards/c/CallerOfThePack.java index a3da11668f4..6875bed2fc3 100644 --- a/Mage.Sets/src/mage/cards/c/CallerOfThePack.java +++ b/Mage.Sets/src/mage/cards/c/CallerOfThePack.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CallerOfThePack extends CardImpl { public CallerOfThePack(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(8); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/CallousDeceiver.java b/Mage.Sets/src/mage/cards/c/CallousDeceiver.java index c0dcb00da1a..4aa3f68801a 100644 --- a/Mage.Sets/src/mage/cards/c/CallousDeceiver.java +++ b/Mage.Sets/src/mage/cards/c/CallousDeceiver.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class CallousDeceiver extends CardImpl { public CallousDeceiver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CallousGiant.java b/Mage.Sets/src/mage/cards/c/CallousGiant.java index 0ef2c5e9162..ddf68298ba7 100644 --- a/Mage.Sets/src/mage/cards/c/CallousGiant.java +++ b/Mage.Sets/src/mage/cards/c/CallousGiant.java @@ -35,6 +35,7 @@ import mage.abilities.effects.PreventionEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -49,7 +50,7 @@ public class CallousGiant extends CardImpl { public CallousGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CallowJushi.java b/Mage.Sets/src/mage/cards/c/CallowJushi.java index cf1edaddb13..c8d12f69c90 100644 --- a/Mage.Sets/src/mage/cards/c/CallowJushi.java +++ b/Mage.Sets/src/mage/cards/c/CallowJushi.java @@ -43,6 +43,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.counters.CounterType; @@ -59,8 +60,8 @@ public class CallowJushi extends CardImpl { public CallowJushi(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); @@ -94,7 +95,7 @@ class JarakuTheInterloper extends Token { addSuperType(SuperType.LEGENDARY); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(3); toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CalmingLicid.java b/Mage.Sets/src/mage/cards/c/CalmingLicid.java index b96dc10b9d6..5a281528f41 100644 --- a/Mage.Sets/src/mage/cards/c/CalmingLicid.java +++ b/Mage.Sets/src/mage/cards/c/CalmingLicid.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class CalmingLicid extends CardImpl { public CalmingLicid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Licid"); + this.subtype.add(SubType.LICID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CanalCourier.java b/Mage.Sets/src/mage/cards/c/CanalCourier.java index f4f9b982eeb..4b064ba91e8 100644 --- a/Mage.Sets/src/mage/cards/c/CanalCourier.java +++ b/Mage.Sets/src/mage/cards/c/CanalCourier.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -54,8 +55,8 @@ public class CanalCourier extends CardImpl { public CanalCourier(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CankerAbomination.java b/Mage.Sets/src/mage/cards/c/CankerAbomination.java index 4072076f37b..f70a36552cb 100644 --- a/Mage.Sets/src/mage/cards/c/CankerAbomination.java +++ b/Mage.Sets/src/mage/cards/c/CankerAbomination.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.StaticFilters; @@ -53,8 +54,8 @@ public class CankerAbomination extends CardImpl { public CankerAbomination(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B/G}{B/G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Horror"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.HORROR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/CanopyCover.java b/Mage.Sets/src/mage/cards/c/CanopyCover.java index f4aa1faa781..2af226423b7 100644 --- a/Mage.Sets/src/mage/cards/c/CanopyCover.java +++ b/Mage.Sets/src/mage/cards/c/CanopyCover.java @@ -55,7 +55,7 @@ public class CanopyCover extends CardImpl { public CanopyCover(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CanopyCrawler.java b/Mage.Sets/src/mage/cards/c/CanopyCrawler.java index cccb67840bc..0705e10d6b1 100644 --- a/Mage.Sets/src/mage/cards/c/CanopyCrawler.java +++ b/Mage.Sets/src/mage/cards/c/CanopyCrawler.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.AmplifyAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -52,7 +53,7 @@ public class CanopyCrawler extends CardImpl { public CanopyCrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CanopyDragon.java b/Mage.Sets/src/mage/cards/c/CanopyDragon.java index 9123af929be..5b72046482b 100644 --- a/Mage.Sets/src/mage/cards/c/CanopyDragon.java +++ b/Mage.Sets/src/mage/cards/c/CanopyDragon.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class CanopyDragon extends CardImpl { public CanopyDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CanopyGorger.java b/Mage.Sets/src/mage/cards/c/CanopyGorger.java index 5142a005e2d..043a88d5efa 100644 --- a/Mage.Sets/src/mage/cards/c/CanopyGorger.java +++ b/Mage.Sets/src/mage/cards/c/CanopyGorger.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class CanopyGorger extends CardImpl { public CanopyGorger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(5); } diff --git a/Mage.Sets/src/mage/cards/c/CanopySpider.java b/Mage.Sets/src/mage/cards/c/CanopySpider.java index 4250b8d0bc0..fdf5935a52d 100644 --- a/Mage.Sets/src/mage/cards/c/CanopySpider.java +++ b/Mage.Sets/src/mage/cards/c/CanopySpider.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class CanopySpider extends CardImpl { public CanopySpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CanopyVista.java b/Mage.Sets/src/mage/cards/c/CanopyVista.java index 77647caaa7e..cf404b51cb2 100644 --- a/Mage.Sets/src/mage/cards/c/CanopyVista.java +++ b/Mage.Sets/src/mage/cards/c/CanopyVista.java @@ -39,6 +39,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; @@ -57,8 +58,8 @@ public class CanopyVista extends CardImpl { public CanopyVista(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Forest"); - this.subtype.add("Plains"); + this.subtype.add(SubType.FOREST); + this.subtype.add(SubType.PLAINS); // Canopy Vista enters the battlefield tapped unless you control two or more basic lands. Condition controls = new InvertCondition(new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1)); diff --git a/Mage.Sets/src/mage/cards/c/CantinaBand.java b/Mage.Sets/src/mage/cards/c/CantinaBand.java index e79c01964fe..a032732c333 100644 --- a/Mage.Sets/src/mage/cards/c/CantinaBand.java +++ b/Mage.Sets/src/mage/cards/c/CantinaBand.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -57,7 +58,7 @@ public class CantinaBand extends CardImpl { public CantinaBand(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}"); - this.subtype.add("Bith"); + this.subtype.add(SubType.BITH); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/Cantivore.java b/Mage.Sets/src/mage/cards/c/Cantivore.java index 937b878d847..d0e84ac5e5d 100644 --- a/Mage.Sets/src/mage/cards/c/Cantivore.java +++ b/Mage.Sets/src/mage/cards/c/Cantivore.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterCard; @@ -56,7 +57,7 @@ public class Cantivore extends CardImpl { public Cantivore(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Lhurgoyf"); + this.subtype.add(SubType.LHURGOYF); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/c/CanyonDrake.java b/Mage.Sets/src/mage/cards/c/CanyonDrake.java index 220cff3a9d1..9b193d9eafd 100644 --- a/Mage.Sets/src/mage/cards/c/CanyonDrake.java +++ b/Mage.Sets/src/mage/cards/c/CanyonDrake.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class CanyonDrake extends CardImpl { public CanyonDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CanyonLurkers.java b/Mage.Sets/src/mage/cards/c/CanyonLurkers.java index d7159a0a3f8..c6bf3eacedc 100644 --- a/Mage.Sets/src/mage/cards/c/CanyonLurkers.java +++ b/Mage.Sets/src/mage/cards/c/CanyonLurkers.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class CanyonLurkers extends CardImpl { public CanyonLurkers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(5); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CanyonMinotaur.java b/Mage.Sets/src/mage/cards/c/CanyonMinotaur.java index e50ddf33c72..c9e302841c2 100644 --- a/Mage.Sets/src/mage/cards/c/CanyonMinotaur.java +++ b/Mage.Sets/src/mage/cards/c/CanyonMinotaur.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** @@ -44,8 +45,8 @@ public class CanyonMinotaur extends CardImpl { public CanyonMinotaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); } diff --git a/Mage.Sets/src/mage/cards/c/CanyonSlough.java b/Mage.Sets/src/mage/cards/c/CanyonSlough.java index 51fb70a2bc6..01b8a4fafdb 100644 --- a/Mage.Sets/src/mage/cards/c/CanyonSlough.java +++ b/Mage.Sets/src/mage/cards/c/CanyonSlough.java @@ -36,6 +36,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class CanyonSlough extends CardImpl { public CanyonSlough(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Swamp"); - this.subtype.add("Mountain"); + this.subtype.add(SubType.SWAMP); + this.subtype.add(SubType.MOUNTAIN); // ({T}: Add {B} or {R} to your mana pool.) this.addAbility(new BlackManaAbility()); diff --git a/Mage.Sets/src/mage/cards/c/CanyonWildcat.java b/Mage.Sets/src/mage/cards/c/CanyonWildcat.java index 0c55e639d48..cfd6cfd963c 100644 --- a/Mage.Sets/src/mage/cards/c/CanyonWildcat.java +++ b/Mage.Sets/src/mage/cards/c/CanyonWildcat.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.MountainwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class CanyonWildcat extends CardImpl { public CanyonWildcat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CaoCaoLordOfWei.java b/Mage.Sets/src/mage/cards/c/CaoCaoLordOfWei.java index 40c0d271d6f..963a94e8e6c 100644 --- a/Mage.Sets/src/mage/cards/c/CaoCaoLordOfWei.java +++ b/Mage.Sets/src/mage/cards/c/CaoCaoLordOfWei.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.target.common.TargetOpponent; @@ -50,8 +51,8 @@ public class CaoCaoLordOfWei extends CardImpl { public CaoCaoLordOfWei(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CaoRenWeiCommander.java b/Mage.Sets/src/mage/cards/c/CaoRenWeiCommander.java index 334c5851b5c..51735c9e713 100644 --- a/Mage.Sets/src/mage/cards/c/CaoRenWeiCommander.java +++ b/Mage.Sets/src/mage/cards/c/CaoRenWeiCommander.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -46,9 +47,9 @@ public class CaoRenWeiCommander extends CardImpl { public CaoRenWeiCommander(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CapashenKnight.java b/Mage.Sets/src/mage/cards/c/CapashenKnight.java index 3a7c042406e..4a76dad1835 100644 --- a/Mage.Sets/src/mage/cards/c/CapashenKnight.java +++ b/Mage.Sets/src/mage/cards/c/CapashenKnight.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class CapashenKnight extends CardImpl { public CapashenKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CapashenStandard.java b/Mage.Sets/src/mage/cards/c/CapashenStandard.java index 1630cebc810..1f6ac6206b6 100644 --- a/Mage.Sets/src/mage/cards/c/CapashenStandard.java +++ b/Mage.Sets/src/mage/cards/c/CapashenStandard.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class CapashenStandard extends CardImpl { public CapashenStandard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CapashenTemplar.java b/Mage.Sets/src/mage/cards/c/CapashenTemplar.java index 84e8690a29a..acd2c0d283d 100644 --- a/Mage.Sets/src/mage/cards/c/CapashenTemplar.java +++ b/Mage.Sets/src/mage/cards/c/CapashenTemplar.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class CapashenTemplar extends CardImpl { public CapashenTemplar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CapashenUnicorn.java b/Mage.Sets/src/mage/cards/c/CapashenUnicorn.java index 7af92028e88..09a36f7d365 100644 --- a/Mage.Sets/src/mage/cards/c/CapashenUnicorn.java +++ b/Mage.Sets/src/mage/cards/c/CapashenUnicorn.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class CapashenUnicorn extends CardImpl { public CapashenUnicorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Unicorn"); + this.subtype.add(SubType.UNICORN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CapriciousEfreet.java b/Mage.Sets/src/mage/cards/c/CapriciousEfreet.java index 3e271eb297c..d8bc117292c 100644 --- a/Mage.Sets/src/mage/cards/c/CapriciousEfreet.java +++ b/Mage.Sets/src/mage/cards/c/CapriciousEfreet.java @@ -34,6 +34,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.common.FilterNonlandPermanent; @@ -63,7 +64,7 @@ public class CapriciousEfreet extends CardImpl { public CapriciousEfreet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Efreet"); + this.subtype.add(SubType.EFREET); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CapriciousSorcerer.java b/Mage.Sets/src/mage/cards/c/CapriciousSorcerer.java index b1836bbb716..a6015743b3b 100644 --- a/Mage.Sets/src/mage/cards/c/CapriciousSorcerer.java +++ b/Mage.Sets/src/mage/cards/c/CapriciousSorcerer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class CapriciousSorcerer extends CardImpl { public CapriciousSorcerer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CaptainLanneryStorm.java b/Mage.Sets/src/mage/cards/c/CaptainLanneryStorm.java index 7a2cf2f64ef..71284beb9c2 100644 --- a/Mage.Sets/src/mage/cards/c/CaptainLanneryStorm.java +++ b/Mage.Sets/src/mage/cards/c/CaptainLanneryStorm.java @@ -63,8 +63,8 @@ public class CaptainLanneryStorm extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CaptainOfTheMists.java b/Mage.Sets/src/mage/cards/c/CaptainOfTheMists.java index 79c07e65884..7cd7fce1035 100644 --- a/Mage.Sets/src/mage/cards/c/CaptainOfTheMists.java +++ b/Mage.Sets/src/mage/cards/c/CaptainOfTheMists.java @@ -63,8 +63,8 @@ public class CaptainOfTheMists extends CardImpl { public CaptainOfTheMists(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CaptainOfTheWatch.java b/Mage.Sets/src/mage/cards/c/CaptainOfTheWatch.java index dd46d932eb7..54c07f55a4c 100644 --- a/Mage.Sets/src/mage/cards/c/CaptainOfTheWatch.java +++ b/Mage.Sets/src/mage/cards/c/CaptainOfTheWatch.java @@ -59,8 +59,8 @@ public class CaptainOfTheWatch extends CardImpl { public CaptainOfTheWatch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CaptainSisay.java b/Mage.Sets/src/mage/cards/c/CaptainSisay.java index bbc3f9f78b5..d8bb9ccdff1 100644 --- a/Mage.Sets/src/mage/cards/c/CaptainSisay.java +++ b/Mage.Sets/src/mage/cards/c/CaptainSisay.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterCard; @@ -56,8 +57,8 @@ public class CaptainSisay extends CardImpl { public CaptainSisay(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CaptainsClaws.java b/Mage.Sets/src/mage/cards/c/CaptainsClaws.java index 5508225a3ba..aa4241bc1b8 100644 --- a/Mage.Sets/src/mage/cards/c/CaptainsClaws.java +++ b/Mage.Sets/src/mage/cards/c/CaptainsClaws.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.permanent.token.KorAllyToken; @@ -49,7 +50,7 @@ public class CaptainsClaws extends CardImpl { public CaptainsClaws(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+0. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 0))); diff --git a/Mage.Sets/src/mage/cards/c/CaptivatingGlance.java b/Mage.Sets/src/mage/cards/c/CaptivatingGlance.java index abefb830182..a05fdd7fdfa 100644 --- a/Mage.Sets/src/mage/cards/c/CaptivatingGlance.java +++ b/Mage.Sets/src/mage/cards/c/CaptivatingGlance.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.game.Game; @@ -57,7 +58,7 @@ public class CaptivatingGlance extends CardImpl { public CaptivatingGlance(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CaptivatingVampire.java b/Mage.Sets/src/mage/cards/c/CaptivatingVampire.java index c7c083eedca..20f676b7cd3 100644 --- a/Mage.Sets/src/mage/cards/c/CaptivatingVampire.java +++ b/Mage.Sets/src/mage/cards/c/CaptivatingVampire.java @@ -66,7 +66,7 @@ public class CaptivatingVampire extends CardImpl { public CaptivatingVampire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CapturedByTheConsulate.java b/Mage.Sets/src/mage/cards/c/CapturedByTheConsulate.java index a4704f9a75b..302dc5bf426 100644 --- a/Mage.Sets/src/mage/cards/c/CapturedByTheConsulate.java +++ b/Mage.Sets/src/mage/cards/c/CapturedByTheConsulate.java @@ -67,7 +67,7 @@ public class CapturedByTheConsulate extends CardImpl { public CapturedByTheConsulate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature you don't control TargetPermanent auraTarget = new TargetCreaturePermanent(filter); diff --git a/Mage.Sets/src/mage/cards/c/Carapace.java b/Mage.Sets/src/mage/cards/c/Carapace.java index efe1db0b8d0..cd8fd5609ae 100644 --- a/Mage.Sets/src/mage/cards/c/Carapace.java +++ b/Mage.Sets/src/mage/cards/c/Carapace.java @@ -51,7 +51,7 @@ public class Carapace extends CardImpl { public Carapace(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CarapaceForger.java b/Mage.Sets/src/mage/cards/c/CarapaceForger.java index 84deab3b778..7c9d135b867 100644 --- a/Mage.Sets/src/mage/cards/c/CarapaceForger.java +++ b/Mage.Sets/src/mage/cards/c/CarapaceForger.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class CarapaceForger extends CardImpl { public CarapaceForger (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CaravanEscort.java b/Mage.Sets/src/mage/cards/c/CaravanEscort.java index c898e902662..1ee6fec3e86 100644 --- a/Mage.Sets/src/mage/cards/c/CaravanEscort.java +++ b/Mage.Sets/src/mage/cards/c/CaravanEscort.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,8 +48,8 @@ public class CaravanEscort extends LevelerCard { public CaravanEscort(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.color.setWhite(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CaravanHurda.java b/Mage.Sets/src/mage/cards/c/CaravanHurda.java index 718429c779a..5892cc4cb0a 100644 --- a/Mage.Sets/src/mage/cards/c/CaravanHurda.java +++ b/Mage.Sets/src/mage/cards/c/CaravanHurda.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CaravanHurda extends CardImpl { public CaravanHurda (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CarboniteChamber.java b/Mage.Sets/src/mage/cards/c/CarboniteChamber.java index eb0422c0736..e1303447970 100644 --- a/Mage.Sets/src/mage/cards/c/CarboniteChamber.java +++ b/Mage.Sets/src/mage/cards/c/CarboniteChamber.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -53,7 +54,7 @@ public class CarboniteChamber extends CardImpl { public CarboniteChamber(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/Caregiver.java b/Mage.Sets/src/mage/cards/c/Caregiver.java index be019ff3293..0d14b5be972 100644 --- a/Mage.Sets/src/mage/cards/c/Caregiver.java +++ b/Mage.Sets/src/mage/cards/c/Caregiver.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class Caregiver extends CardImpl { public Caregiver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CaribouRange.java b/Mage.Sets/src/mage/cards/c/CaribouRange.java index 3e6684f4daf..6f02cee6abf 100644 --- a/Mage.Sets/src/mage/cards/c/CaribouRange.java +++ b/Mage.Sets/src/mage/cards/c/CaribouRange.java @@ -66,7 +66,7 @@ public class CaribouRange extends CardImpl { public CaribouRange(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land you control TargetPermanent auraTarget = new TargetPermanent(new FilterControlledLandPermanent()); diff --git a/Mage.Sets/src/mage/cards/c/CarnageGladiator.java b/Mage.Sets/src/mage/cards/c/CarnageGladiator.java index 95b1d37507c..a6cb836388f 100644 --- a/Mage.Sets/src/mage/cards/c/CarnageGladiator.java +++ b/Mage.Sets/src/mage/cards/c/CarnageGladiator.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -51,8 +52,8 @@ public class CarnageGladiator extends CardImpl { public CarnageGladiator (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{R}"); - this.subtype.add("Skeleton"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.SKELETON); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CarnageTyrant.java b/Mage.Sets/src/mage/cards/c/CarnageTyrant.java index e3690495af4..65769dbb242 100644 --- a/Mage.Sets/src/mage/cards/c/CarnageTyrant.java +++ b/Mage.Sets/src/mage/cards/c/CarnageTyrant.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class CarnageTyrant extends CardImpl { public CarnageTyrant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{G}"); - this.subtype.add("Dinosaur"); + this.subtype.add(SubType.DINOSAUR); this.power = new MageInt(7); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/CarnageWurm.java b/Mage.Sets/src/mage/cards/c/CarnageWurm.java index 12e57d1f612..033a8c5f9ca 100644 --- a/Mage.Sets/src/mage/cards/c/CarnageWurm.java +++ b/Mage.Sets/src/mage/cards/c/CarnageWurm.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CarnageWurm extends CardImpl { public CarnageWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/Carnassid.java b/Mage.Sets/src/mage/cards/c/Carnassid.java index e15e5785924..ac8fae99615 100644 --- a/Mage.Sets/src/mage/cards/c/Carnassid.java +++ b/Mage.Sets/src/mage/cards/c/Carnassid.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class Carnassid extends CardImpl { public Carnassid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CarnifexDemon.java b/Mage.Sets/src/mage/cards/c/CarnifexDemon.java index cc2d6134e09..ed40d382416 100644 --- a/Mage.Sets/src/mage/cards/c/CarnifexDemon.java +++ b/Mage.Sets/src/mage/cards/c/CarnifexDemon.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -55,7 +56,7 @@ public class CarnifexDemon extends CardImpl { public CarnifexDemon (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/CarnivalHellsteed.java b/Mage.Sets/src/mage/cards/c/CarnivalHellsteed.java index 738923ade13..be7a3edde41 100644 --- a/Mage.Sets/src/mage/cards/c/CarnivalHellsteed.java +++ b/Mage.Sets/src/mage/cards/c/CarnivalHellsteed.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.UnleashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class CarnivalHellsteed extends CardImpl { public CarnivalHellsteed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{R}"); - this.subtype.add("Nightmare"); - this.subtype.add("Horse"); + this.subtype.add(SubType.NIGHTMARE); + this.subtype.add(SubType.HORSE); diff --git a/Mage.Sets/src/mage/cards/c/CarnivorousMossBeast.java b/Mage.Sets/src/mage/cards/c/CarnivorousMossBeast.java index ad41bda097f..b67dbb3a77a 100644 --- a/Mage.Sets/src/mage/cards/c/CarnivorousMossBeast.java +++ b/Mage.Sets/src/mage/cards/c/CarnivorousMossBeast.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -46,9 +47,9 @@ public class CarnivorousMossBeast extends CardImpl { public CarnivorousMossBeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Elemental"); - this.subtype.add("Beast"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CarnivorousPlant.java b/Mage.Sets/src/mage/cards/c/CarnivorousPlant.java index a66cbb20109..5f136ba96e0 100644 --- a/Mage.Sets/src/mage/cards/c/CarnivorousPlant.java +++ b/Mage.Sets/src/mage/cards/c/CarnivorousPlant.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class CarnivorousPlant extends CardImpl { public CarnivorousPlant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Wall"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.WALL); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/Carnophage.java b/Mage.Sets/src/mage/cards/c/Carnophage.java index b5cc8148b60..f0c38a2b085 100644 --- a/Mage.Sets/src/mage/cards/c/Carnophage.java +++ b/Mage.Sets/src/mage/cards/c/Carnophage.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.TapSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,7 +46,7 @@ public class Carnophage extends CardImpl { public Carnophage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CarrierPigeons.java b/Mage.Sets/src/mage/cards/c/CarrierPigeons.java index dbf0493c372..862f30eef55 100644 --- a/Mage.Sets/src/mage/cards/c/CarrierPigeons.java +++ b/Mage.Sets/src/mage/cards/c/CarrierPigeons.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -47,7 +48,7 @@ public class CarrierPigeons extends CardImpl { public CarrierPigeons(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CarrierThrall.java b/Mage.Sets/src/mage/cards/c/CarrierThrall.java index 6a2f82f2ddf..b599dd49866 100644 --- a/Mage.Sets/src/mage/cards/c/CarrierThrall.java +++ b/Mage.Sets/src/mage/cards/c/CarrierThrall.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.EldraziScionToken; /** @@ -45,7 +46,7 @@ public class CarrierThrall extends CardImpl { public CarrierThrall(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CarrionAnts.java b/Mage.Sets/src/mage/cards/c/CarrionAnts.java index b350ffc5021..dc68247ed6b 100644 --- a/Mage.Sets/src/mage/cards/c/CarrionAnts.java +++ b/Mage.Sets/src/mage/cards/c/CarrionAnts.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class CarrionAnts extends CardImpl { public CarrionAnts(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CarrionBeetles.java b/Mage.Sets/src/mage/cards/c/CarrionBeetles.java index 60185b09416..ee5f54f7978 100644 --- a/Mage.Sets/src/mage/cards/c/CarrionBeetles.java +++ b/Mage.Sets/src/mage/cards/c/CarrionBeetles.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -52,7 +53,7 @@ public class CarrionBeetles extends CardImpl { public CarrionBeetles(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CarrionCrow.java b/Mage.Sets/src/mage/cards/c/CarrionCrow.java index 22af91f48be..41ab77069b9 100644 --- a/Mage.Sets/src/mage/cards/c/CarrionCrow.java +++ b/Mage.Sets/src/mage/cards/c/CarrionCrow.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class CarrionCrow extends CardImpl { public CarrionCrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Bird"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CarrionFeeder.java b/Mage.Sets/src/mage/cards/c/CarrionFeeder.java index 3d2131af511..d76daec206f 100644 --- a/Mage.Sets/src/mage/cards/c/CarrionFeeder.java +++ b/Mage.Sets/src/mage/cards/c/CarrionFeeder.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetControlledCreaturePermanent; @@ -48,7 +49,7 @@ public class CarrionFeeder extends CardImpl { public CarrionFeeder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CarrionHowler.java b/Mage.Sets/src/mage/cards/c/CarrionHowler.java index 10a5c178c6e..811eff9b304 100644 --- a/Mage.Sets/src/mage/cards/c/CarrionHowler.java +++ b/Mage.Sets/src/mage/cards/c/CarrionHowler.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class CarrionHowler extends CardImpl { public CarrionHowler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WOLF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CarrionScreecher.java b/Mage.Sets/src/mage/cards/c/CarrionScreecher.java index 196630fdb3e..e83b3d82108 100644 --- a/Mage.Sets/src/mage/cards/c/CarrionScreecher.java +++ b/Mage.Sets/src/mage/cards/c/CarrionScreecher.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class CarrionScreecher extends CardImpl { public CarrionScreecher(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Bird"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.BIRD); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CarrionThrash.java b/Mage.Sets/src/mage/cards/c/CarrionThrash.java index c2b6d9f23bd..20be521a24a 100644 --- a/Mage.Sets/src/mage/cards/c/CarrionThrash.java +++ b/Mage.Sets/src/mage/cards/c/CarrionThrash.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.AnotherCardPredicate; import mage.target.common.TargetCardInYourGraveyard; @@ -54,8 +55,8 @@ public class CarrionThrash extends CardImpl { public CarrionThrash(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{R}{G}"); - this.subtype.add("Viashino"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CarrionWall.java b/Mage.Sets/src/mage/cards/c/CarrionWall.java index d0c74bcf0fc..ead46934203 100644 --- a/Mage.Sets/src/mage/cards/c/CarrionWall.java +++ b/Mage.Sets/src/mage/cards/c/CarrionWall.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class CarrionWall extends CardImpl { public CarrionWall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CarryAway.java b/Mage.Sets/src/mage/cards/c/CarryAway.java index 8a96d839e9c..d5db9da4654 100644 --- a/Mage.Sets/src/mage/cards/c/CarryAway.java +++ b/Mage.Sets/src/mage/cards/c/CarryAway.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; @@ -54,7 +55,7 @@ public class CarryAway extends CardImpl { public CarryAway(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant Equipment TargetPermanent auraTarget = new TargetEquipmentPermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CartelAristocrat.java b/Mage.Sets/src/mage/cards/c/CartelAristocrat.java index 382bde14db7..32a08d3d471 100644 --- a/Mage.Sets/src/mage/cards/c/CartelAristocrat.java +++ b/Mage.Sets/src/mage/cards/c/CartelAristocrat.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.GainProtectionFromColorSourceEff import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -49,8 +50,8 @@ public class CartelAristocrat extends CardImpl { public CartelAristocrat(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{B}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/Cartographer.java b/Mage.Sets/src/mage/cards/c/Cartographer.java index 88d34ef6af2..e8f4c1dabc5 100644 --- a/Mage.Sets/src/mage/cards/c/Cartographer.java +++ b/Mage.Sets/src/mage/cards/c/Cartographer.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterLandCard; import mage.target.common.TargetCardInYourGraveyard; @@ -46,7 +47,7 @@ public class Cartographer extends CardImpl { public Cartographer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CarvenCaryatid.java b/Mage.Sets/src/mage/cards/c/CarvenCaryatid.java index 2f59fbe009f..993abb647ef 100644 --- a/Mage.Sets/src/mage/cards/c/CarvenCaryatid.java +++ b/Mage.Sets/src/mage/cards/c/CarvenCaryatid.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class CarvenCaryatid extends CardImpl { public CarvenCaryatid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CastIntoDarkness.java b/Mage.Sets/src/mage/cards/c/CastIntoDarkness.java index e33d9390f08..29c4aa924dd 100644 --- a/Mage.Sets/src/mage/cards/c/CastIntoDarkness.java +++ b/Mage.Sets/src/mage/cards/c/CastIntoDarkness.java @@ -49,7 +49,7 @@ public class CastIntoDarkness extends CardImpl { public CastIntoDarkness(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/c/CastawaysDespair.java b/Mage.Sets/src/mage/cards/c/CastawaysDespair.java index 92fd4ac9dc2..1ce5c09d57f 100644 --- a/Mage.Sets/src/mage/cards/c/CastawaysDespair.java +++ b/Mage.Sets/src/mage/cards/c/CastawaysDespair.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -52,7 +53,7 @@ public class CastawaysDespair extends CardImpl { public CastawaysDespair(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CastleRaptors.java b/Mage.Sets/src/mage/cards/c/CastleRaptors.java index 230642715b2..e60a1192cd6 100644 --- a/Mage.Sets/src/mage/cards/c/CastleRaptors.java +++ b/Mage.Sets/src/mage/cards/c/CastleRaptors.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class CastleRaptors extends CardImpl { public CastleRaptors(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CatBurglar.java b/Mage.Sets/src/mage/cards/c/CatBurglar.java index 4f79c248364..65369adf343 100644 --- a/Mage.Sets/src/mage/cards/c/CatBurglar.java +++ b/Mage.Sets/src/mage/cards/c/CatBurglar.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -48,9 +49,9 @@ public class CatBurglar extends CardImpl { public CatBurglar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Kor"); - this.subtype.add("Rogue"); - this.subtype.add("Minion"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.ROGUE); + this.subtype.add(SubType.MINION); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CatWarriors.java b/Mage.Sets/src/mage/cards/c/CatWarriors.java index 45269f91d15..1d096ee5b44 100644 --- a/Mage.Sets/src/mage/cards/c/CatWarriors.java +++ b/Mage.Sets/src/mage/cards/c/CatWarriors.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class CatWarriors extends CardImpl { public CatWarriors(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Cat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CataclysmicGearhulk.java b/Mage.Sets/src/mage/cards/c/CataclysmicGearhulk.java index 32c7e3b2754..785c8f4a27b 100644 --- a/Mage.Sets/src/mage/cards/c/CataclysmicGearhulk.java +++ b/Mage.Sets/src/mage/cards/c/CataclysmicGearhulk.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterControlledArtifactPermanent; import mage.filter.common.FilterControlledCreaturePermanent; @@ -60,7 +61,7 @@ public class CataclysmicGearhulk extends CardImpl { public CataclysmicGearhulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CatacombSifter.java b/Mage.Sets/src/mage/cards/c/CatacombSifter.java index d2ac32347e4..abb4613118c 100644 --- a/Mage.Sets/src/mage/cards/c/CatacombSifter.java +++ b/Mage.Sets/src/mage/cards/c/CatacombSifter.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -57,8 +58,8 @@ public class CatacombSifter extends CardImpl { public CatacombSifter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{G}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CatacombSlug.java b/Mage.Sets/src/mage/cards/c/CatacombSlug.java index 2d82502171b..fa2b0a6c8ce 100644 --- a/Mage.Sets/src/mage/cards/c/CatacombSlug.java +++ b/Mage.Sets/src/mage/cards/c/CatacombSlug.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class CatacombSlug extends CardImpl { public CatacombSlug(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Slug"); + this.subtype.add(SubType.SLUG); this.power = new MageInt(2); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/CatapultMaster.java b/Mage.Sets/src/mage/cards/c/CatapultMaster.java index 6c83d116ae2..1395c1f8490 100644 --- a/Mage.Sets/src/mage/cards/c/CatapultMaster.java +++ b/Mage.Sets/src/mage/cards/c/CatapultMaster.java @@ -59,8 +59,8 @@ public class CatapultMaster extends CardImpl { } public CatapultMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CatapultSquad.java b/Mage.Sets/src/mage/cards/c/CatapultSquad.java index babad9056b0..cb78655d000 100644 --- a/Mage.Sets/src/mage/cards/c/CatapultSquad.java +++ b/Mage.Sets/src/mage/cards/c/CatapultSquad.java @@ -61,8 +61,8 @@ public class CatapultSquad extends CardImpl { public CatapultSquad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CateranBrute.java b/Mage.Sets/src/mage/cards/c/CateranBrute.java index 98c4cc3b597..8cb25d80c4f 100644 --- a/Mage.Sets/src/mage/cards/c/CateranBrute.java +++ b/Mage.Sets/src/mage/cards/c/CateranBrute.java @@ -61,8 +61,8 @@ public class CateranBrute extends CardImpl { public CateranBrute(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Horror"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HORROR); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CateranEnforcer.java b/Mage.Sets/src/mage/cards/c/CateranEnforcer.java index a278dca9be9..fff5bdf1142 100644 --- a/Mage.Sets/src/mage/cards/c/CateranEnforcer.java +++ b/Mage.Sets/src/mage/cards/c/CateranEnforcer.java @@ -62,8 +62,8 @@ public class CateranEnforcer extends CardImpl { public CateranEnforcer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Horror"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HORROR); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CateranKidnappers.java b/Mage.Sets/src/mage/cards/c/CateranKidnappers.java index 1869e5c7fc0..d8becc6885c 100644 --- a/Mage.Sets/src/mage/cards/c/CateranKidnappers.java +++ b/Mage.Sets/src/mage/cards/c/CateranKidnappers.java @@ -60,8 +60,8 @@ public class CateranKidnappers extends CardImpl { public CateranKidnappers(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CateranOverlord.java b/Mage.Sets/src/mage/cards/c/CateranOverlord.java index 9fb3482b153..79c1725b53f 100644 --- a/Mage.Sets/src/mage/cards/c/CateranOverlord.java +++ b/Mage.Sets/src/mage/cards/c/CateranOverlord.java @@ -64,8 +64,8 @@ public class CateranOverlord extends CardImpl { public CateranOverlord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}{B}"); - this.subtype.add("Horror"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HORROR); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(7); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CateranPersuader.java b/Mage.Sets/src/mage/cards/c/CateranPersuader.java index 666e215a16c..bdc63e53abb 100644 --- a/Mage.Sets/src/mage/cards/c/CateranPersuader.java +++ b/Mage.Sets/src/mage/cards/c/CateranPersuader.java @@ -61,8 +61,8 @@ public class CateranPersuader extends CardImpl { public CateranPersuader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CateranSlaver.java b/Mage.Sets/src/mage/cards/c/CateranSlaver.java index 585b18b0633..120ccdabda8 100644 --- a/Mage.Sets/src/mage/cards/c/CateranSlaver.java +++ b/Mage.Sets/src/mage/cards/c/CateranSlaver.java @@ -62,8 +62,8 @@ public class CateranSlaver extends CardImpl { public CateranSlaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Horror"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HORROR); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CaterwaulingBoggart.java b/Mage.Sets/src/mage/cards/c/CaterwaulingBoggart.java index a632b5e999c..23593081c23 100644 --- a/Mage.Sets/src/mage/cards/c/CaterwaulingBoggart.java +++ b/Mage.Sets/src/mage/cards/c/CaterwaulingBoggart.java @@ -58,8 +58,8 @@ public class CaterwaulingBoggart extends CardImpl { public CaterwaulingBoggart(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CatharsCompanion.java b/Mage.Sets/src/mage/cards/c/CatharsCompanion.java index 6f15bd8c458..58910324db1 100644 --- a/Mage.Sets/src/mage/cards/c/CatharsCompanion.java +++ b/Mage.Sets/src/mage/cards/c/CatharsCompanion.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -53,7 +54,7 @@ public class CatharsCompanion extends CardImpl { public CatharsCompanion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CatharsShield.java b/Mage.Sets/src/mage/cards/c/CatharsShield.java index 6120c6da17e..ce1690e4298 100644 --- a/Mage.Sets/src/mage/cards/c/CatharsShield.java +++ b/Mage.Sets/src/mage/cards/c/CatharsShield.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -50,7 +51,7 @@ public class CatharsShield extends CardImpl { public CatharsShield(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{0}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +0/+3 and has vigilance. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(0, 3))); diff --git a/Mage.Sets/src/mage/cards/c/CatharticAdept.java b/Mage.Sets/src/mage/cards/c/CatharticAdept.java index 0b412dd4164..8b51f4fd507 100644 --- a/Mage.Sets/src/mage/cards/c/CatharticAdept.java +++ b/Mage.Sets/src/mage/cards/c/CatharticAdept.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -46,8 +47,8 @@ public class CatharticAdept extends CardImpl { public CatharticAdept(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CathedralMembrane.java b/Mage.Sets/src/mage/cards/c/CathedralMembrane.java index ca2efa9cf99..1167df0bcde 100644 --- a/Mage.Sets/src/mage/cards/c/CathedralMembrane.java +++ b/Mage.Sets/src/mage/cards/c/CathedralMembrane.java @@ -48,7 +48,7 @@ public class CathedralMembrane extends CardImpl { public CathedralMembrane(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}{W/P}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CathedralSanctifier.java b/Mage.Sets/src/mage/cards/c/CathedralSanctifier.java index de03a9d160d..9a5c0b33dfe 100644 --- a/Mage.Sets/src/mage/cards/c/CathedralSanctifier.java +++ b/Mage.Sets/src/mage/cards/c/CathedralSanctifier.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class CathedralSanctifier extends CardImpl { public CathedralSanctifier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/Cathodion.java b/Mage.Sets/src/mage/cards/c/Cathodion.java index 892804ee332..f6c2368f37e 100644 --- a/Mage.Sets/src/mage/cards/c/Cathodion.java +++ b/Mage.Sets/src/mage/cards/c/Cathodion.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.BasicManaEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class Cathodion extends CardImpl { public Cathodion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(3); this.toughness = new MageInt(3); this.addAbility(new DiesTriggeredAbility(new BasicManaEffect(Mana.ColorlessMana(3)), false)); diff --git a/Mage.Sets/src/mage/cards/c/CaughtInTheBrights.java b/Mage.Sets/src/mage/cards/c/CaughtInTheBrights.java index 261f27f1fec..d38016f7701 100644 --- a/Mage.Sets/src/mage/cards/c/CaughtInTheBrights.java +++ b/Mage.Sets/src/mage/cards/c/CaughtInTheBrights.java @@ -59,7 +59,7 @@ public class CaughtInTheBrights extends CardImpl { public CaughtInTheBrights(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CausticCaterpillar.java b/Mage.Sets/src/mage/cards/c/CausticCaterpillar.java index e9a15e7099b..9f2a223973a 100644 --- a/Mage.Sets/src/mage/cards/c/CausticCaterpillar.java +++ b/Mage.Sets/src/mage/cards/c/CausticCaterpillar.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class CausticCaterpillar extends CardImpl { public CausticCaterpillar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CausticCrawler.java b/Mage.Sets/src/mage/cards/c/CausticCrawler.java index a3a4d536bd2..449a07455cc 100644 --- a/Mage.Sets/src/mage/cards/c/CausticCrawler.java +++ b/Mage.Sets/src/mage/cards/c/CausticCrawler.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -45,7 +46,7 @@ public class CausticCrawler extends CardImpl { public CausticCrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CausticHound.java b/Mage.Sets/src/mage/cards/c/CausticHound.java index 44cc5a20bf0..79def2d6454 100644 --- a/Mage.Sets/src/mage/cards/c/CausticHound.java +++ b/Mage.Sets/src/mage/cards/c/CausticHound.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.LoseLifeAllPlayersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class CausticHound extends CardImpl { public CausticHound (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CausticTar.java b/Mage.Sets/src/mage/cards/c/CausticTar.java index b698b9f3bbe..63eaa002ea8 100644 --- a/Mage.Sets/src/mage/cards/c/CausticTar.java +++ b/Mage.Sets/src/mage/cards/c/CausticTar.java @@ -51,7 +51,7 @@ public class CausticTar extends CardImpl { public CausticTar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/c/CausticWasps.java b/Mage.Sets/src/mage/cards/c/CausticWasps.java index 3e96dfd77b1..cd654977483 100644 --- a/Mage.Sets/src/mage/cards/c/CausticWasps.java +++ b/Mage.Sets/src/mage/cards/c/CausticWasps.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -54,7 +55,7 @@ public class CausticWasps extends CardImpl { public CausticWasps(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CauterySliver.java b/Mage.Sets/src/mage/cards/c/CauterySliver.java index 8d18b00d8b8..d4eea5a66fd 100644 --- a/Mage.Sets/src/mage/cards/c/CauterySliver.java +++ b/Mage.Sets/src/mage/cards/c/CauterySliver.java @@ -58,7 +58,7 @@ public class CauterySliver extends CardImpl { public CauterySliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{W}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CavalryMaster.java b/Mage.Sets/src/mage/cards/c/CavalryMaster.java index 855642e1ef5..ca06f4981a9 100644 --- a/Mage.Sets/src/mage/cards/c/CavalryMaster.java +++ b/Mage.Sets/src/mage/cards/c/CavalryMaster.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlankingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -54,8 +55,8 @@ public class CavalryMaster extends CardImpl { public CavalryMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CavalryPegasus.java b/Mage.Sets/src/mage/cards/c/CavalryPegasus.java index 10b20d38f22..78019738542 100644 --- a/Mage.Sets/src/mage/cards/c/CavalryPegasus.java +++ b/Mage.Sets/src/mage/cards/c/CavalryPegasus.java @@ -56,7 +56,7 @@ public class CavalryPegasus extends CardImpl { public CavalryPegasus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Pegasus"); + this.subtype.add(SubType.PEGASUS); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CavePeople.java b/Mage.Sets/src/mage/cards/c/CavePeople.java index 7487abd73b8..843feac6236 100644 --- a/Mage.Sets/src/mage/cards/c/CavePeople.java +++ b/Mage.Sets/src/mage/cards/c/CavePeople.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.MountainwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -52,7 +53,7 @@ public class CavePeople extends CardImpl { public CavePeople(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CaveSense.java b/Mage.Sets/src/mage/cards/c/CaveSense.java index ced1760db6b..c9968fa9ef2 100644 --- a/Mage.Sets/src/mage/cards/c/CaveSense.java +++ b/Mage.Sets/src/mage/cards/c/CaveSense.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -53,7 +54,7 @@ public class CaveSense extends CardImpl { public CaveSense(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CaveTiger.java b/Mage.Sets/src/mage/cards/c/CaveTiger.java index a5de9483e70..b25f58d3e4f 100644 --- a/Mage.Sets/src/mage/cards/c/CaveTiger.java +++ b/Mage.Sets/src/mage/cards/c/CaveTiger.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class CaveTiger extends CardImpl { public CaveTiger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CavernCrawler.java b/Mage.Sets/src/mage/cards/c/CavernCrawler.java index 4582139a840..7a36cdde60d 100644 --- a/Mage.Sets/src/mage/cards/c/CavernCrawler.java +++ b/Mage.Sets/src/mage/cards/c/CavernCrawler.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MountainwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class CavernCrawler extends CardImpl { public CavernCrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CavernHarpy.java b/Mage.Sets/src/mage/cards/c/CavernHarpy.java index 12385b895ad..d46b06dd695 100644 --- a/Mage.Sets/src/mage/cards/c/CavernHarpy.java +++ b/Mage.Sets/src/mage/cards/c/CavernHarpy.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -58,8 +59,8 @@ public class CavernHarpy extends CardImpl { public CavernHarpy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}"); - this.subtype.add("Harpy"); - this.subtype.add("Beast"); + this.subtype.add(SubType.HARPY); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CavernLampad.java b/Mage.Sets/src/mage/cards/c/CavernLampad.java index 544e9d3868c..2f55077885f 100644 --- a/Mage.Sets/src/mage/cards/c/CavernLampad.java +++ b/Mage.Sets/src/mage/cards/c/CavernLampad.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -50,7 +51,7 @@ public class CavernLampad extends CardImpl { public CavernLampad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{3}{B}"); - this.subtype.add("Nymph"); + this.subtype.add(SubType.NYMPH); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CavernThoctar.java b/Mage.Sets/src/mage/cards/c/CavernThoctar.java index 03e88fe91a7..be75bd9c321 100644 --- a/Mage.Sets/src/mage/cards/c/CavernThoctar.java +++ b/Mage.Sets/src/mage/cards/c/CavernThoctar.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class CavernThoctar extends CardImpl { public CavernThoctar (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CeaselessSearblades.java b/Mage.Sets/src/mage/cards/c/CeaselessSearblades.java index e1bb7dc0175..cb537005931 100644 --- a/Mage.Sets/src/mage/cards/c/CeaselessSearblades.java +++ b/Mage.Sets/src/mage/cards/c/CeaselessSearblades.java @@ -51,8 +51,8 @@ public class CeaselessSearblades extends CardImpl { public CeaselessSearblades(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CelestialAncient.java b/Mage.Sets/src/mage/cards/c/CelestialAncient.java index d32ad8b9fc8..3e227cf29b6 100644 --- a/Mage.Sets/src/mage/cards/c/CelestialAncient.java +++ b/Mage.Sets/src/mage/cards/c/CelestialAncient.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.FilterSpell; import mage.filter.common.FilterControlledCreaturePermanent; @@ -52,7 +53,7 @@ public class CelestialAncient extends CardImpl { } public CelestialAncient(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CelestialArchon.java b/Mage.Sets/src/mage/cards/c/CelestialArchon.java index a5cd7e2d274..013ddb60e97 100644 --- a/Mage.Sets/src/mage/cards/c/CelestialArchon.java +++ b/Mage.Sets/src/mage/cards/c/CelestialArchon.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -51,7 +52,7 @@ public class CelestialArchon extends CardImpl { public CelestialArchon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Archon"); + this.subtype.add(SubType.ARCHON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CelestialColonnade.java b/Mage.Sets/src/mage/cards/c/CelestialColonnade.java index 9956db6405e..f0b5ebdc0b0 100644 --- a/Mage.Sets/src/mage/cards/c/CelestialColonnade.java +++ b/Mage.Sets/src/mage/cards/c/CelestialColonnade.java @@ -40,6 +40,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -75,7 +76,7 @@ class CelestialColonnadeToken extends Token { public CelestialColonnadeToken() { super("", "4/4 white and blue Elemental creature with flying and vigilance"); cardType.add(CardType.CREATURE); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); color.setBlue(true); color.setWhite(true); power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CelestialConvergence.java b/Mage.Sets/src/mage/cards/c/CelestialConvergence.java index 937993b573b..d0bffc9604a 100644 --- a/Mage.Sets/src/mage/cards/c/CelestialConvergence.java +++ b/Mage.Sets/src/mage/cards/c/CelestialConvergence.java @@ -1,145 +1,145 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.c; - -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; -import mage.abilities.common.EntersBattlefieldAbility; -import mage.abilities.effects.Effect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.counter.AddCountersSourceEffect; -import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.counters.Counter; -import mage.game.Game; -import mage.players.Player; - -/** - * - * @author LevelX2 - */ -public class CelestialConvergence extends CardImpl { - - public CelestialConvergence(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}{W}"); - - // Celestial Convergence enters the battlefield with seven omen counters on it. - Effect effect = new AddCountersSourceEffect(new Counter("omen", 7)); - this.addAbility(new EntersBattlefieldAbility(effect, "with seven omen counters")); - - // At the beginning of your upkeep, remove an omen counter from Celestial Convergence. If there are no omen counters on Celestial Convergence, the player with the highest life total wins the game. If two or more players are tied for highest life total, the game is a draw. - Ability ability = new BeginningOfUpkeepTriggeredAbility( - Zone.BATTLEFIELD, new RemoveCounterSourceEffect(new Counter("omen")), TargetController.YOU, false); - ability.addEffect(new CelestialConvergenceEffect()); - this.addAbility(ability); - } - - public CelestialConvergence(final CelestialConvergence card) { - super(card); - } - - @Override - public CelestialConvergence copy() { - return new CelestialConvergence(this); - } -} - -class CelestialConvergenceEffect extends OneShotEffect { - - public CelestialConvergenceEffect() { - super(Outcome.PutCreatureInPlay); - this.staticText = "If there are no omen counters on {this}, the player with the highest life total wins the game. If two or more players are tied for highest life total, the game is a draw"; - } - - public CelestialConvergenceEffect(final CelestialConvergenceEffect effect) { - super(effect); - } - - @Override - public CelestialConvergenceEffect copy() { - return new CelestialConvergenceEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Card sourceObject = game.getCard(source.getSourceId()); - Player controller = game.getPlayer(source.getControllerId()); - if (sourceObject != null - && controller != null - && sourceObject.getCounters(game).getCount("omen") == 0) { - - /** - * 801.14. If an effect states that a player wins the game, all of - * that player’s opponents within his or her range of influence lose - * the game instead. # - * - * 801.15. If the effect of a spell or ability states that the game - * is a draw, the game is a draw for that spell or ability’s - * controller and all players within his or her range of influence. - * They leave the game. All remaining players continue to play the - * game. - * - */ - List highestLifePlayers = new ArrayList<>(); - int highLife = Integer.MIN_VALUE; - for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) { - Player player = game.getPlayer(playerId); - if (player != null) { - if (player.getLife() > highLife) { - highestLifePlayers.clear(); - highestLifePlayers.add(player.getId()); - } else if (player.getLife() == highLife) { - highestLifePlayers.add(player.getId()); - } - } - } - if (highestLifePlayers.isEmpty()) { - return false; - } - if (highestLifePlayers.size() > 1) { - game.setDraw(controller.getId()); - } else { - Player winner = game.getPlayer(highestLifePlayers.iterator().next()); - if (winner != null) { - winner.won(game); - } - } - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.c; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.counters.Counter; +import mage.game.Game; +import mage.players.Player; + +/** + * + * @author LevelX2 + */ +public class CelestialConvergence extends CardImpl { + + public CelestialConvergence(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}{W}"); + + // Celestial Convergence enters the battlefield with seven omen counters on it. + Effect effect = new AddCountersSourceEffect(new Counter("omen", 7)); + this.addAbility(new EntersBattlefieldAbility(effect, "with seven omen counters")); + + // At the beginning of your upkeep, remove an omen counter from Celestial Convergence. If there are no omen counters on Celestial Convergence, the player with the highest life total wins the game. If two or more players are tied for highest life total, the game is a draw. + Ability ability = new BeginningOfUpkeepTriggeredAbility( + Zone.BATTLEFIELD, new RemoveCounterSourceEffect(new Counter("omen")), TargetController.YOU, false); + ability.addEffect(new CelestialConvergenceEffect()); + this.addAbility(ability); + } + + public CelestialConvergence(final CelestialConvergence card) { + super(card); + } + + @Override + public CelestialConvergence copy() { + return new CelestialConvergence(this); + } +} + +class CelestialConvergenceEffect extends OneShotEffect { + + public CelestialConvergenceEffect() { + super(Outcome.PutCreatureInPlay); + this.staticText = "If there are no omen counters on {this}, the player with the highest life total wins the game. If two or more players are tied for highest life total, the game is a draw"; + } + + public CelestialConvergenceEffect(final CelestialConvergenceEffect effect) { + super(effect); + } + + @Override + public CelestialConvergenceEffect copy() { + return new CelestialConvergenceEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Card sourceObject = game.getCard(source.getSourceId()); + Player controller = game.getPlayer(source.getControllerId()); + if (sourceObject != null + && controller != null + && sourceObject.getCounters(game).getCount("omen") == 0) { + + /** + * 801.14. If an effect states that a player wins the game, all of + * that player’s opponents within his or her range of influence lose + * the game instead. # + * + * 801.15. If the effect of a spell or ability states that the game + * is a draw, the game is a draw for that spell or ability’s + * controller and all players within his or her range of influence. + * They leave the game. All remaining players continue to play the + * game. + * + */ + List highestLifePlayers = new ArrayList<>(); + int highLife = Integer.MIN_VALUE; + for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) { + Player player = game.getPlayer(playerId); + if (player != null) { + if (player.getLife() > highLife) { + highestLifePlayers.clear(); + highestLifePlayers.add(player.getId()); + } else if (player.getLife() == highLife) { + highestLifePlayers.add(player.getId()); + } + } + } + if (highestLifePlayers.isEmpty()) { + return false; + } + if (highestLifePlayers.size() > 1) { + game.setDraw(controller.getId()); + } else { + Player winner = game.getPlayer(highestLifePlayers.iterator().next()); + if (winner != null) { + winner.won(game); + } + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/c/CelestialCrusader.java b/Mage.Sets/src/mage/cards/c/CelestialCrusader.java index 16c2bedc177..239bbec96f6 100644 --- a/Mage.Sets/src/mage/cards/c/CelestialCrusader.java +++ b/Mage.Sets/src/mage/cards/c/CelestialCrusader.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.SplitSecondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -57,7 +58,7 @@ public class CelestialCrusader extends CardImpl { public CelestialCrusader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CelestialForce.java b/Mage.Sets/src/mage/cards/c/CelestialForce.java index 3b1921d456b..bc0fd97d8ae 100644 --- a/Mage.Sets/src/mage/cards/c/CelestialForce.java +++ b/Mage.Sets/src/mage/cards/c/CelestialForce.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -44,7 +45,7 @@ public class CelestialForce extends CardImpl { public CelestialForce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/c/CelestialKirin.java b/Mage.Sets/src/mage/cards/c/CelestialKirin.java index 98e344ca55b..678da2418de 100644 --- a/Mage.Sets/src/mage/cards/c/CelestialKirin.java +++ b/Mage.Sets/src/mage/cards/c/CelestialKirin.java @@ -52,8 +52,8 @@ public class CelestialKirin extends CardImpl { public CelestialKirin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Kirin"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.KIRIN); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CelestialMantle.java b/Mage.Sets/src/mage/cards/c/CelestialMantle.java index 896f87a685e..befe24e8c9f 100644 --- a/Mage.Sets/src/mage/cards/c/CelestialMantle.java +++ b/Mage.Sets/src/mage/cards/c/CelestialMantle.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class CelestialMantle extends CardImpl { public CelestialMantle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}{W}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CemeteryGate.java b/Mage.Sets/src/mage/cards/c/CemeteryGate.java index 527154e953d..3868f76310f 100644 --- a/Mage.Sets/src/mage/cards/c/CemeteryGate.java +++ b/Mage.Sets/src/mage/cards/c/CemeteryGate.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class CemeteryGate extends CardImpl { public CemeteryGate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CemeteryPuca.java b/Mage.Sets/src/mage/cards/c/CemeteryPuca.java index bc589474b91..07519be9742 100644 --- a/Mage.Sets/src/mage/cards/c/CemeteryPuca.java +++ b/Mage.Sets/src/mage/cards/c/CemeteryPuca.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class CemeteryPuca extends CardImpl { public CemeteryPuca(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U/B}{U/B}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CemeteryReaper.java b/Mage.Sets/src/mage/cards/c/CemeteryReaper.java index f24d845b69c..ec0e2a679c3 100644 --- a/Mage.Sets/src/mage/cards/c/CemeteryReaper.java +++ b/Mage.Sets/src/mage/cards/c/CemeteryReaper.java @@ -62,7 +62,7 @@ public class CemeteryReaper extends CardImpl { public CemeteryReaper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CennsHeir.java b/Mage.Sets/src/mage/cards/c/CennsHeir.java index 39022c4dd56..e0174a7d698 100644 --- a/Mage.Sets/src/mage/cards/c/CennsHeir.java +++ b/Mage.Sets/src/mage/cards/c/CennsHeir.java @@ -56,8 +56,8 @@ public class CennsHeir extends CardImpl { public CennsHeir(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CennsTactician.java b/Mage.Sets/src/mage/cards/c/CennsTactician.java index a7351fa2918..99ffeb0441b 100644 --- a/Mage.Sets/src/mage/cards/c/CennsTactician.java +++ b/Mage.Sets/src/mage/cards/c/CennsTactician.java @@ -61,8 +61,8 @@ public class CennsTactician extends CardImpl { public CennsTactician(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CentaurArcher.java b/Mage.Sets/src/mage/cards/c/CentaurArcher.java index c6da02a0f7a..719170613ec 100644 --- a/Mage.Sets/src/mage/cards/c/CentaurArcher.java +++ b/Mage.Sets/src/mage/cards/c/CentaurArcher.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -56,8 +57,8 @@ public class CentaurArcher extends CardImpl { public CentaurArcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Archer"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CentaurBattlemaster.java b/Mage.Sets/src/mage/cards/c/CentaurBattlemaster.java index cb62f062503..3bc0c6aeba9 100644 --- a/Mage.Sets/src/mage/cards/c/CentaurBattlemaster.java +++ b/Mage.Sets/src/mage/cards/c/CentaurBattlemaster.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -44,8 +45,8 @@ public class CentaurBattlemaster extends CardImpl { public CentaurBattlemaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CentaurChieftain.java b/Mage.Sets/src/mage/cards/c/CentaurChieftain.java index cac2063f0d8..832e20cbe69 100644 --- a/Mage.Sets/src/mage/cards/c/CentaurChieftain.java +++ b/Mage.Sets/src/mage/cards/c/CentaurChieftain.java @@ -44,6 +44,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -56,7 +57,7 @@ public class CentaurChieftain extends CardImpl { public CentaurChieftain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Centaur"); + this.subtype.add(SubType.CENTAUR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CentaurCourser.java b/Mage.Sets/src/mage/cards/c/CentaurCourser.java index 106c3d549e2..96ee0874727 100644 --- a/Mage.Sets/src/mage/cards/c/CentaurCourser.java +++ b/Mage.Sets/src/mage/cards/c/CentaurCourser.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class CentaurCourser extends CardImpl { public CentaurCourser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CentaurHealer.java b/Mage.Sets/src/mage/cards/c/CentaurHealer.java index bf9a8fdf6ba..2fbd1bab2bd 100644 --- a/Mage.Sets/src/mage/cards/c/CentaurHealer.java +++ b/Mage.Sets/src/mage/cards/c/CentaurHealer.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class CentaurHealer extends CardImpl { public CentaurHealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}"); - this.subtype.add("Centaur"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CentaurOmenreader.java b/Mage.Sets/src/mage/cards/c/CentaurOmenreader.java index 627ebf68497..a245a76bf96 100644 --- a/Mage.Sets/src/mage/cards/c/CentaurOmenreader.java +++ b/Mage.Sets/src/mage/cards/c/CentaurOmenreader.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterCard; @@ -56,8 +57,8 @@ public class CentaurOmenreader extends CardImpl { public CentaurOmenreader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); addSuperType(SuperType.SNOW); - this.subtype.add("Centaur"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CentaurRootcaster.java b/Mage.Sets/src/mage/cards/c/CentaurRootcaster.java index 144a853e4a2..b175792f0cd 100644 --- a/Mage.Sets/src/mage/cards/c/CentaurRootcaster.java +++ b/Mage.Sets/src/mage/cards/c/CentaurRootcaster.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -46,8 +47,8 @@ public class CentaurRootcaster extends CardImpl { public CentaurRootcaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Druid"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CentaurSafeguard.java b/Mage.Sets/src/mage/cards/c/CentaurSafeguard.java index 692f04d34f5..f7381ad3e9a 100644 --- a/Mage.Sets/src/mage/cards/c/CentaurSafeguard.java +++ b/Mage.Sets/src/mage/cards/c/CentaurSafeguard.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class CentaurSafeguard extends CardImpl { public CentaurSafeguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G/W}"); - this.subtype.add("Centaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CentaurVeteran.java b/Mage.Sets/src/mage/cards/c/CentaurVeteran.java index 08738fd9aba..d59a07fb933 100644 --- a/Mage.Sets/src/mage/cards/c/CentaurVeteran.java +++ b/Mage.Sets/src/mage/cards/c/CentaurVeteran.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class CentaurVeteran extends CardImpl { public CentaurVeteran(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Centaur"); + this.subtype.add(SubType.CENTAUR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CentaurVinecrasher.java b/Mage.Sets/src/mage/cards/c/CentaurVinecrasher.java index 3274001f8c4..4704ee770ec 100644 --- a/Mage.Sets/src/mage/cards/c/CentaurVinecrasher.java +++ b/Mage.Sets/src/mage/cards/c/CentaurVinecrasher.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SetTargetPointer; import mage.constants.TargetController; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class CentaurVinecrasher extends CardImpl { public CentaurVinecrasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Centaur"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.CENTAUR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CentaursHerald.java b/Mage.Sets/src/mage/cards/c/CentaursHerald.java index 3d487797a56..204fca9be5a 100644 --- a/Mage.Sets/src/mage/cards/c/CentaursHerald.java +++ b/Mage.Sets/src/mage/cards/c/CentaursHerald.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.CentaurToken; @@ -48,8 +49,8 @@ public class CentaursHerald extends CardImpl { public CentaursHerald(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CephalidAristocrat.java b/Mage.Sets/src/mage/cards/c/CephalidAristocrat.java index 79d00d84a0c..7ca4f11d079 100644 --- a/Mage.Sets/src/mage/cards/c/CephalidAristocrat.java +++ b/Mage.Sets/src/mage/cards/c/CephalidAristocrat.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CephalidAristocrat extends CardImpl { public CephalidAristocrat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Cephalid"); + this.subtype.add(SubType.CEPHALID); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CephalidBroker.java b/Mage.Sets/src/mage/cards/c/CephalidBroker.java index 8d8caa5a61f..a17f97b4443 100644 --- a/Mage.Sets/src/mage/cards/c/CephalidBroker.java +++ b/Mage.Sets/src/mage/cards/c/CephalidBroker.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -51,7 +52,7 @@ public class CephalidBroker extends CardImpl { public CephalidBroker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Cephalid"); + this.subtype.add(SubType.CEPHALID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CephalidConstable.java b/Mage.Sets/src/mage/cards/c/CephalidConstable.java index 669258f7ad6..61d91902dbb 100644 --- a/Mage.Sets/src/mage/cards/c/CephalidConstable.java +++ b/Mage.Sets/src/mage/cards/c/CephalidConstable.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -52,8 +53,8 @@ public class CephalidConstable extends CardImpl { public CephalidConstable(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Cephalid"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.CEPHALID); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CephalidIllusionist.java b/Mage.Sets/src/mage/cards/c/CephalidIllusionist.java index 1a28948918d..e4046c8bbfc 100644 --- a/Mage.Sets/src/mage/cards/c/CephalidIllusionist.java +++ b/Mage.Sets/src/mage/cards/c/CephalidIllusionist.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -53,8 +54,8 @@ public class CephalidIllusionist extends CardImpl { public CephalidIllusionist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Cephalid"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.CEPHALID); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CephalidInkshrouder.java b/Mage.Sets/src/mage/cards/c/CephalidInkshrouder.java index 8f2c4260edd..223ddca87e7 100644 --- a/Mage.Sets/src/mage/cards/c/CephalidInkshrouder.java +++ b/Mage.Sets/src/mage/cards/c/CephalidInkshrouder.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class CephalidInkshrouder extends CardImpl { public CephalidInkshrouder(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Cephalid"); + this.subtype.add(SubType.CEPHALID); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CephalidLooter.java b/Mage.Sets/src/mage/cards/c/CephalidLooter.java index 8dcd6454fd1..131f4d0f931 100644 --- a/Mage.Sets/src/mage/cards/c/CephalidLooter.java +++ b/Mage.Sets/src/mage/cards/c/CephalidLooter.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DrawDiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -47,8 +48,8 @@ public class CephalidLooter extends CardImpl { public CephalidLooter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Cephalid"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.CEPHALID); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CephalidPathmage.java b/Mage.Sets/src/mage/cards/c/CephalidPathmage.java index 7dfd9e2ebc5..60fe0d01206 100644 --- a/Mage.Sets/src/mage/cards/c/CephalidPathmage.java +++ b/Mage.Sets/src/mage/cards/c/CephalidPathmage.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -51,8 +52,8 @@ public class CephalidPathmage extends CardImpl { public CephalidPathmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Cephalid"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.CEPHALID); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CephalidRetainer.java b/Mage.Sets/src/mage/cards/c/CephalidRetainer.java index d4368bdedaf..8a59ad1fd24 100644 --- a/Mage.Sets/src/mage/cards/c/CephalidRetainer.java +++ b/Mage.Sets/src/mage/cards/c/CephalidRetainer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -57,7 +58,7 @@ public class CephalidRetainer extends CardImpl { public CephalidRetainer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Cephalid"); + this.subtype.add(SubType.CEPHALID); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CephalidSage.java b/Mage.Sets/src/mage/cards/c/CephalidSage.java index b45024911d6..53afd4075fa 100644 --- a/Mage.Sets/src/mage/cards/c/CephalidSage.java +++ b/Mage.Sets/src/mage/cards/c/CephalidSage.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -50,7 +51,7 @@ public class CephalidSage extends CardImpl { public CephalidSage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Cephalid"); + this.subtype.add(SubType.CEPHALID); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CephalidScout.java b/Mage.Sets/src/mage/cards/c/CephalidScout.java index 6734fffa316..5a00be02c17 100644 --- a/Mage.Sets/src/mage/cards/c/CephalidScout.java +++ b/Mage.Sets/src/mage/cards/c/CephalidScout.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.target.common.TargetControlledPermanent; @@ -50,9 +51,9 @@ public class CephalidScout extends CardImpl { public CephalidScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Cephalid"); - this.subtype.add("Wizard"); - this.subtype.add("Scout"); + this.subtype.add(SubType.CEPHALID); + this.subtype.add(SubType.WIZARD); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CephalidVandal.java b/Mage.Sets/src/mage/cards/c/CephalidVandal.java index 81eb4f4e00d..3d301c5cdd9 100644 --- a/Mage.Sets/src/mage/cards/c/CephalidVandal.java +++ b/Mage.Sets/src/mage/cards/c/CephalidVandal.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -53,8 +54,8 @@ public class CephalidVandal extends CardImpl { public CephalidVandal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Cephalid"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.CEPHALID); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CeremonialGuard.java b/Mage.Sets/src/mage/cards/c/CeremonialGuard.java index 11ebeef6d60..325d386667d 100644 --- a/Mage.Sets/src/mage/cards/c/CeremonialGuard.java +++ b/Mage.Sets/src/mage/cards/c/CeremonialGuard.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroySourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class CeremonialGuard extends CardImpl { public CeremonialGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CerodonYearling.java b/Mage.Sets/src/mage/cards/c/CerodonYearling.java index e97b4478f1f..2b060b65790 100644 --- a/Mage.Sets/src/mage/cards/c/CerodonYearling.java +++ b/Mage.Sets/src/mage/cards/c/CerodonYearling.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CerodonYearling extends CardImpl { public CerodonYearling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{W}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); diff --git a/Mage.Sets/src/mage/cards/c/CeruleanSphinx.java b/Mage.Sets/src/mage/cards/c/CeruleanSphinx.java index 07eaffe7b92..d8a82ef4d42 100644 --- a/Mage.Sets/src/mage/cards/c/CeruleanSphinx.java +++ b/Mage.Sets/src/mage/cards/c/CeruleanSphinx.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class CeruleanSphinx extends CardImpl { public CeruleanSphinx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CeruleanWyvern.java b/Mage.Sets/src/mage/cards/c/CeruleanWyvern.java index 6d78503a13a..520910d487e 100644 --- a/Mage.Sets/src/mage/cards/c/CeruleanWyvern.java +++ b/Mage.Sets/src/mage/cards/c/CeruleanWyvern.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class CeruleanWyvern extends CardImpl { public CeruleanWyvern(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/Cessation.java b/Mage.Sets/src/mage/cards/c/Cessation.java index 9a0899e7bdb..e1fa648f756 100644 --- a/Mage.Sets/src/mage/cards/c/Cessation.java +++ b/Mage.Sets/src/mage/cards/c/Cessation.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -52,7 +53,7 @@ public class Cessation extends CardImpl { public Cessation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); //Enchant creature diff --git a/Mage.Sets/src/mage/cards/c/CetaDisciple.java b/Mage.Sets/src/mage/cards/c/CetaDisciple.java index e98e1c10110..5adda4fb44b 100644 --- a/Mage.Sets/src/mage/cards/c/CetaDisciple.java +++ b/Mage.Sets/src/mage/cards/c/CetaDisciple.java @@ -38,6 +38,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class CetaDisciple extends CardImpl { public CetaDisciple(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/Cetavolver.java b/Mage.Sets/src/mage/cards/c/Cetavolver.java index ec96ea79248..1b67890e141 100644 --- a/Mage.Sets/src/mage/cards/c/Cetavolver.java +++ b/Mage.Sets/src/mage/cards/c/Cetavolver.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.counters.CounterType; @@ -51,7 +52,7 @@ public class Cetavolver extends CardImpl { public Cetavolver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Volver"); + this.subtype.add(SubType.VOLVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/Chainbreaker.java b/Mage.Sets/src/mage/cards/c/Chainbreaker.java index 242b6743796..13001c42c15 100644 --- a/Mage.Sets/src/mage/cards/c/Chainbreaker.java +++ b/Mage.Sets/src/mage/cards/c/Chainbreaker.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.RemoveCounterTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -52,7 +53,7 @@ public class Chainbreaker extends CardImpl { public Chainbreaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/ChainedThroatseeker.java b/Mage.Sets/src/mage/cards/c/ChainedThroatseeker.java index 49982d0d8c2..450b36a37c9 100644 --- a/Mage.Sets/src/mage/cards/c/ChainedThroatseeker.java +++ b/Mage.Sets/src/mage/cards/c/ChainedThroatseeker.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -51,7 +52,7 @@ public class ChainedThroatseeker extends CardImpl { public ChainedThroatseeker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/ChainedToTheRocks.java b/Mage.Sets/src/mage/cards/c/ChainedToTheRocks.java index 2a823975942..67e62f0cec8 100644 --- a/Mage.Sets/src/mage/cards/c/ChainedToTheRocks.java +++ b/Mage.Sets/src/mage/cards/c/ChainedToTheRocks.java @@ -99,7 +99,7 @@ public class ChainedToTheRocks extends CardImpl { public ChainedToTheRocks(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant Mountain you control TargetPermanent auraTarget = new TargetPermanent(filter); diff --git a/Mage.Sets/src/mage/cards/c/ChainerDementiaMaster.java b/Mage.Sets/src/mage/cards/c/ChainerDementiaMaster.java index 3c3d4d76e50..605cd9f0762 100644 --- a/Mage.Sets/src/mage/cards/c/ChainerDementiaMaster.java +++ b/Mage.Sets/src/mage/cards/c/ChainerDementiaMaster.java @@ -72,8 +72,8 @@ public class ChainerDementiaMaster extends CardImpl { public ChainerDementiaMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Minion"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MINION); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/Chainflinger.java b/Mage.Sets/src/mage/cards/c/Chainflinger.java index 97e0477e503..40518970cbf 100644 --- a/Mage.Sets/src/mage/cards/c/Chainflinger.java +++ b/Mage.Sets/src/mage/cards/c/Chainflinger.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -51,7 +52,7 @@ public class Chainflinger extends CardImpl { public Chainflinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChamberOfManipulation.java b/Mage.Sets/src/mage/cards/c/ChamberOfManipulation.java index c5b0ee288b4..d6548217a59 100644 --- a/Mage.Sets/src/mage/cards/c/ChamberOfManipulation.java +++ b/Mage.Sets/src/mage/cards/c/ChamberOfManipulation.java @@ -53,7 +53,7 @@ public class ChamberOfManipulation extends CardImpl { public ChamberOfManipulation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/c/ChamberedNautilus.java b/Mage.Sets/src/mage/cards/c/ChamberedNautilus.java index 4e1f73776c7..f9688426c22 100644 --- a/Mage.Sets/src/mage/cards/c/ChamberedNautilus.java +++ b/Mage.Sets/src/mage/cards/c/ChamberedNautilus.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ChamberedNautilus extends CardImpl { public ChamberedNautilus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Nautilus"); - this.subtype.add("Beast"); + this.subtype.add(SubType.NAUTILUS); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChameleonColossus.java b/Mage.Sets/src/mage/cards/c/ChameleonColossus.java index 08d381d775a..68305d47fa5 100644 --- a/Mage.Sets/src/mage/cards/c/ChameleonColossus.java +++ b/Mage.Sets/src/mage/cards/c/ChameleonColossus.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class ChameleonColossus extends CardImpl { public ChameleonColossus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ChampionOfArashin.java b/Mage.Sets/src/mage/cards/c/ChampionOfArashin.java index 205aa577085..335b6d0e3b6 100644 --- a/Mage.Sets/src/mage/cards/c/ChampionOfArashin.java +++ b/Mage.Sets/src/mage/cards/c/ChampionOfArashin.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class ChampionOfArashin extends CardImpl { public ChampionOfArashin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Hound"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HOUND); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChampionOfLambholt.java b/Mage.Sets/src/mage/cards/c/ChampionOfLambholt.java index 68e8bb89601..01dc8fe0e99 100644 --- a/Mage.Sets/src/mage/cards/c/ChampionOfLambholt.java +++ b/Mage.Sets/src/mage/cards/c/ChampionOfLambholt.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -61,8 +62,8 @@ public class ChampionOfLambholt extends CardImpl { public ChampionOfLambholt(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ChampionOfRhonas.java b/Mage.Sets/src/mage/cards/c/ChampionOfRhonas.java index 6f6d4dbf4d8..4d65190d27b 100644 --- a/Mage.Sets/src/mage/cards/c/ChampionOfRhonas.java +++ b/Mage.Sets/src/mage/cards/c/ChampionOfRhonas.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ExertAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; /** @@ -46,8 +47,8 @@ public class ChampionOfRhonas extends CardImpl { public ChampionOfRhonas(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - this.subtype.add("Jackal"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.JACKAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/ChampionOfStraySouls.java b/Mage.Sets/src/mage/cards/c/ChampionOfStraySouls.java index ffd4ccc5a52..00a524ad1b7 100644 --- a/Mage.Sets/src/mage/cards/c/ChampionOfStraySouls.java +++ b/Mage.Sets/src/mage/cards/c/ChampionOfStraySouls.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterCreatureCard; @@ -63,8 +64,8 @@ public class ChampionOfStraySouls extends CardImpl { public ChampionOfStraySouls(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Skeleton"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.SKELETON); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ChampionOfTheParish.java b/Mage.Sets/src/mage/cards/c/ChampionOfTheParish.java index ea3421069a1..1bd661fd9ec 100644 --- a/Mage.Sets/src/mage/cards/c/ChampionOfTheParish.java +++ b/Mage.Sets/src/mage/cards/c/ChampionOfTheParish.java @@ -55,8 +55,8 @@ public class ChampionOfTheParish extends CardImpl { public ChampionOfTheParish(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ChampionOfWits.java b/Mage.Sets/src/mage/cards/c/ChampionOfWits.java index d280fac8f94..fd64d00a703 100644 --- a/Mage.Sets/src/mage/cards/c/ChampionOfWits.java +++ b/Mage.Sets/src/mage/cards/c/ChampionOfWits.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.EternalizeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -51,8 +52,8 @@ public class ChampionOfWits extends CardImpl { public ChampionOfWits(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Naga"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ChampionsDrake.java b/Mage.Sets/src/mage/cards/c/ChampionsDrake.java index ad271d112ad..924eef9a97d 100644 --- a/Mage.Sets/src/mage/cards/c/ChampionsDrake.java +++ b/Mage.Sets/src/mage/cards/c/ChampionsDrake.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class ChampionsDrake extends CardImpl { public ChampionsDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.color.setBlue(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ChampionsHelm.java b/Mage.Sets/src/mage/cards/c/ChampionsHelm.java index f9d729f6726..cdaad441556 100644 --- a/Mage.Sets/src/mage/cards/c/ChampionsHelm.java +++ b/Mage.Sets/src/mage/cards/c/ChampionsHelm.java @@ -50,7 +50,7 @@ public class ChampionsHelm extends CardImpl { public ChampionsHelm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+2. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2))); diff --git a/Mage.Sets/src/mage/cards/c/ChancellorOfTheAnnex.java b/Mage.Sets/src/mage/cards/c/ChancellorOfTheAnnex.java index 6bca6ded5b7..94729d72762 100644 --- a/Mage.Sets/src/mage/cards/c/ChancellorOfTheAnnex.java +++ b/Mage.Sets/src/mage/cards/c/ChancellorOfTheAnnex.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class ChancellorOfTheAnnex extends CardImpl { public ChancellorOfTheAnnex(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/ChancellorOfTheDross.java b/Mage.Sets/src/mage/cards/c/ChancellorOfTheDross.java index b11c240d171..0a26a32dcd7 100644 --- a/Mage.Sets/src/mage/cards/c/ChancellorOfTheDross.java +++ b/Mage.Sets/src/mage/cards/c/ChancellorOfTheDross.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.events.GameEvent; @@ -53,7 +54,7 @@ public class ChancellorOfTheDross extends CardImpl { public ChancellorOfTheDross(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/ChancellorOfTheForge.java b/Mage.Sets/src/mage/cards/c/ChancellorOfTheForge.java index 9f57b3b41d2..941ab0ad9a1 100644 --- a/Mage.Sets/src/mage/cards/c/ChancellorOfTheForge.java +++ b/Mage.Sets/src/mage/cards/c/ChancellorOfTheForge.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -61,7 +62,7 @@ public class ChancellorOfTheForge extends CardImpl { public ChancellorOfTheForge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/ChancellorOfTheSpires.java b/Mage.Sets/src/mage/cards/c/ChancellorOfTheSpires.java index 3d7826bb33d..ca168443d10 100644 --- a/Mage.Sets/src/mage/cards/c/ChancellorOfTheSpires.java +++ b/Mage.Sets/src/mage/cards/c/ChancellorOfTheSpires.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -68,7 +69,7 @@ public class ChancellorOfTheSpires extends CardImpl { public ChancellorOfTheSpires(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(5); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/c/ChancellorOfTheTangle.java b/Mage.Sets/src/mage/cards/c/ChancellorOfTheTangle.java index 3166fb06de1..5ba76c55ecd 100644 --- a/Mage.Sets/src/mage/cards/c/ChancellorOfTheTangle.java +++ b/Mage.Sets/src/mage/cards/c/ChancellorOfTheTangle.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.Game; import mage.game.events.GameEvent; import mage.game.events.GameEvent.EventType; @@ -52,7 +53,7 @@ public class ChancellorOfTheTangle extends CardImpl { public ChancellorOfTheTangle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.color.setGreen(true); this.power = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/Chandler.java b/Mage.Sets/src/mage/cards/c/Chandler.java index a1b10fa1344..30c04c3d936 100644 --- a/Mage.Sets/src/mage/cards/c/Chandler.java +++ b/Mage.Sets/src/mage/cards/c/Chandler.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -58,8 +59,8 @@ public class Chandler extends CardImpl { public Chandler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/ChandraAblaze.java b/Mage.Sets/src/mage/cards/c/ChandraAblaze.java index 1149d6903fb..48aa36b99ce 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraAblaze.java +++ b/Mage.Sets/src/mage/cards/c/ChandraAblaze.java @@ -41,6 +41,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.FilterCard; @@ -63,7 +64,7 @@ public class ChandraAblaze extends CardImpl { public ChandraAblaze(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{4}{R}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Chandra"); + this.subtype.add(SubType.CHANDRA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/c/ChandraFireOfKaladesh.java b/Mage.Sets/src/mage/cards/c/ChandraFireOfKaladesh.java index cdc996d6102..55e1fcc0bf2 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraFireOfKaladesh.java +++ b/Mage.Sets/src/mage/cards/c/ChandraFireOfKaladesh.java @@ -44,6 +44,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterSpell; @@ -65,8 +66,8 @@ public class ChandraFireOfKaladesh extends CardImpl { public ChandraFireOfKaladesh(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChandraFlamecaller.java b/Mage.Sets/src/mage/cards/c/ChandraFlamecaller.java index 3a1c0755c33..77fcd01b7b1 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraFlamecaller.java +++ b/Mage.Sets/src/mage/cards/c/ChandraFlamecaller.java @@ -43,6 +43,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.StaticFilters; @@ -59,7 +60,7 @@ public class ChandraFlamecaller extends CardImpl { public ChandraFlamecaller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{4}{R}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Chandra"); + this.subtype.add(SubType.CHANDRA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/c/ChandraNalaar.java b/Mage.Sets/src/mage/cards/c/ChandraNalaar.java index 2a9ce3c8dc2..fb4aec1f8b0 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraNalaar.java +++ b/Mage.Sets/src/mage/cards/c/ChandraNalaar.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; @@ -56,7 +57,7 @@ public class ChandraNalaar extends CardImpl { public ChandraNalaar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{R}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Chandra"); + this.subtype.add(SubType.CHANDRA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(6)); diff --git a/Mage.Sets/src/mage/cards/c/ChandraPyrogenius.java b/Mage.Sets/src/mage/cards/c/ChandraPyrogenius.java index 7089daab2f0..bc275836004 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraPyrogenius.java +++ b/Mage.Sets/src/mage/cards/c/ChandraPyrogenius.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.TargetController; @@ -54,7 +55,7 @@ public class ChandraPyrogenius extends CardImpl { public ChandraPyrogenius(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{4}{R}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Chandra"); + this.subtype.add(SubType.CHANDRA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/c/ChandraPyromaster.java b/Mage.Sets/src/mage/cards/c/ChandraPyromaster.java index 350d85795fe..2ad8974aa93 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraPyromaster.java +++ b/Mage.Sets/src/mage/cards/c/ChandraPyromaster.java @@ -62,7 +62,7 @@ public class ChandraPyromaster extends CardImpl { public ChandraPyromaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Chandra"); + this.subtype.add(SubType.CHANDRA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/c/ChandraRoaringFlame.java b/Mage.Sets/src/mage/cards/c/ChandraRoaringFlame.java index 9b494ed2ebb..3f3fda59304 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraRoaringFlame.java +++ b/Mage.Sets/src/mage/cards/c/ChandraRoaringFlame.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.game.Game; @@ -55,7 +56,7 @@ public class ChandraRoaringFlame extends CardImpl { public ChandraRoaringFlame(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, ""); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Chandra"); + this.subtype.add(SubType.CHANDRA); this.color.setRed(true); this.nightCard = true; diff --git a/Mage.Sets/src/mage/cards/c/ChandraTheFirebrand.java b/Mage.Sets/src/mage/cards/c/ChandraTheFirebrand.java index 5849d6a8b98..e98cd3a959d 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraTheFirebrand.java +++ b/Mage.Sets/src/mage/cards/c/ChandraTheFirebrand.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.game.Game; @@ -56,7 +57,7 @@ public class ChandraTheFirebrand extends CardImpl { public ChandraTheFirebrand(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Chandra"); + this.subtype.add(SubType.CHANDRA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/c/ChandraTorchOfDefiance.java b/Mage.Sets/src/mage/cards/c/ChandraTorchOfDefiance.java index 60dd9de3d4d..cd8b93a66f6 100644 --- a/Mage.Sets/src/mage/cards/c/ChandraTorchOfDefiance.java +++ b/Mage.Sets/src/mage/cards/c/ChandraTorchOfDefiance.java @@ -43,6 +43,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.TargetController; @@ -61,7 +62,7 @@ public class ChandraTorchOfDefiance extends CardImpl { public ChandraTorchOfDefiance(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Chandra"); + this.subtype.add(SubType.CHANDRA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/c/ChandrasPhoenix.java b/Mage.Sets/src/mage/cards/c/ChandrasPhoenix.java index 07c6b951a37..ae9b57f2788 100644 --- a/Mage.Sets/src/mage/cards/c/ChandrasPhoenix.java +++ b/Mage.Sets/src/mage/cards/c/ChandrasPhoenix.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -52,7 +53,7 @@ public class ChandrasPhoenix extends CardImpl { public ChandrasPhoenix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Phoenix"); + this.subtype.add(SubType.PHOENIX); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChandrasSpitfire.java b/Mage.Sets/src/mage/cards/c/ChandrasSpitfire.java index 8cb4410656c..158f5bb628f 100644 --- a/Mage.Sets/src/mage/cards/c/ChandrasSpitfire.java +++ b/Mage.Sets/src/mage/cards/c/ChandrasSpitfire.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class ChandrasSpitfire extends CardImpl { public ChandrasSpitfire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/ChangelingBerserker.java b/Mage.Sets/src/mage/cards/c/ChangelingBerserker.java index f85a1cb1ec0..d57e785cb8d 100644 --- a/Mage.Sets/src/mage/cards/c/ChangelingBerserker.java +++ b/Mage.Sets/src/mage/cards/c/ChangelingBerserker.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class ChangelingBerserker extends CardImpl { public ChangelingBerserker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/ChangelingHero.java b/Mage.Sets/src/mage/cards/c/ChangelingHero.java index 7955e326d34..d9cd6680535 100644 --- a/Mage.Sets/src/mage/cards/c/ChangelingHero.java +++ b/Mage.Sets/src/mage/cards/c/ChangelingHero.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class ChangelingHero extends CardImpl { public ChangelingHero(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ChangelingSentinel.java b/Mage.Sets/src/mage/cards/c/ChangelingSentinel.java index 7ff77027884..fdc003ffc9e 100644 --- a/Mage.Sets/src/mage/cards/c/ChangelingSentinel.java +++ b/Mage.Sets/src/mage/cards/c/ChangelingSentinel.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class ChangelingSentinel extends CardImpl { public ChangelingSentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChangelingTitan.java b/Mage.Sets/src/mage/cards/c/ChangelingTitan.java index 9bd2c5730c6..c04657ce4cb 100644 --- a/Mage.Sets/src/mage/cards/c/ChangelingTitan.java +++ b/Mage.Sets/src/mage/cards/c/ChangelingTitan.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ChangelingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class ChangelingTitan extends CardImpl { public ChangelingTitan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/c/ChannelerInitiate.java b/Mage.Sets/src/mage/cards/c/ChannelerInitiate.java index 69586e8ada3..6fd966640bb 100644 --- a/Mage.Sets/src/mage/cards/c/ChannelerInitiate.java +++ b/Mage.Sets/src/mage/cards/c/ChannelerInitiate.java @@ -37,6 +37,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetControlledCreaturePermanent; @@ -49,8 +50,8 @@ public class ChannelerInitiate extends CardImpl { public ChannelerInitiate(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ChantOfTheSkifsang.java b/Mage.Sets/src/mage/cards/c/ChantOfTheSkifsang.java index 3316f18bc47..736e8172c9b 100644 --- a/Mage.Sets/src/mage/cards/c/ChantOfTheSkifsang.java +++ b/Mage.Sets/src/mage/cards/c/ChantOfTheSkifsang.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class ChantOfTheSkifsang extends CardImpl { public ChantOfTheSkifsang(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/c/ChantOfVituGhazi.java b/Mage.Sets/src/mage/cards/c/ChantOfVituGhazi.java index 60c9124019d..df72a965043 100644 --- a/Mage.Sets/src/mage/cards/c/ChantOfVituGhazi.java +++ b/Mage.Sets/src/mage/cards/c/ChantOfVituGhazi.java @@ -1,98 +1,98 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.c; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.PreventionEffectData; -import mage.abilities.effects.common.PreventAllDamageByAllPermanentsEffect; -import mage.abilities.keyword.ConvokeAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.filter.StaticFilters; -import mage.filter.common.FilterCreaturePermanent; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.players.Player; - -/** - * - * @author LevelX2 - */ -public class ChantOfVituGhazi extends CardImpl { - - public ChantOfVituGhazi(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{6}{W}{W}"); - - // Convoke - this.addAbility(new ConvokeAbility()); - - // Prevent all damage that would be dealt by creatures this turn. You gain life equal to the damage prevented this way. - this.getSpellAbility().addEffect(new ChantOfVituGhaziPreventEffect(StaticFilters.FILTER_PERMANENT_CREATURES, Duration.EndOfTurn, false)); - } - - public ChantOfVituGhazi(final ChantOfVituGhazi card) { - super(card); - } - - @Override - public ChantOfVituGhazi copy() { - return new ChantOfVituGhazi(this); - } -} - -class ChantOfVituGhaziPreventEffect extends PreventAllDamageByAllPermanentsEffect { - - public ChantOfVituGhaziPreventEffect(FilterCreaturePermanent filter, Duration duration, boolean onlyCombat) { - super(filter, duration, onlyCombat); - staticText = "Prevent all damage that would be dealt by creatures this turn. You gain life equal to the damage prevented this way"; - } - - public ChantOfVituGhaziPreventEffect(final ChantOfVituGhaziPreventEffect effect) { - super(effect); - } - - @Override - public ChantOfVituGhaziPreventEffect copy() { - return new ChantOfVituGhaziPreventEffect(this); - } - - @Override - public boolean replaceEvent(GameEvent event, Ability source, Game game) { - PreventionEffectData preventionData = preventDamageAction(event, source, game); - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - controller.gainLife(preventionData.getPreventedDamage(), game); - } - // damage amount is reduced or set to 0 so complete replacement of damage event is never neccessary - return false; - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.c; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.PreventionEffectData; +import mage.abilities.effects.common.PreventAllDamageByAllPermanentsEffect; +import mage.abilities.keyword.ConvokeAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.filter.StaticFilters; +import mage.filter.common.FilterCreaturePermanent; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.players.Player; + +/** + * + * @author LevelX2 + */ +public class ChantOfVituGhazi extends CardImpl { + + public ChantOfVituGhazi(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{6}{W}{W}"); + + // Convoke + this.addAbility(new ConvokeAbility()); + + // Prevent all damage that would be dealt by creatures this turn. You gain life equal to the damage prevented this way. + this.getSpellAbility().addEffect(new ChantOfVituGhaziPreventEffect(StaticFilters.FILTER_PERMANENT_CREATURES, Duration.EndOfTurn, false)); + } + + public ChantOfVituGhazi(final ChantOfVituGhazi card) { + super(card); + } + + @Override + public ChantOfVituGhazi copy() { + return new ChantOfVituGhazi(this); + } +} + +class ChantOfVituGhaziPreventEffect extends PreventAllDamageByAllPermanentsEffect { + + public ChantOfVituGhaziPreventEffect(FilterCreaturePermanent filter, Duration duration, boolean onlyCombat) { + super(filter, duration, onlyCombat); + staticText = "Prevent all damage that would be dealt by creatures this turn. You gain life equal to the damage prevented this way"; + } + + public ChantOfVituGhaziPreventEffect(final ChantOfVituGhaziPreventEffect effect) { + super(effect); + } + + @Override + public ChantOfVituGhaziPreventEffect copy() { + return new ChantOfVituGhaziPreventEffect(this); + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + PreventionEffectData preventionData = preventDamageAction(event, source, game); + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + controller.gainLife(preventionData.getPreventedDamage(), game); + } + // damage amount is reduced or set to 0 so complete replacement of damage event is never neccessary + return false; + } + +} diff --git a/Mage.Sets/src/mage/cards/c/ChaosImps.java b/Mage.Sets/src/mage/cards/c/ChaosImps.java index f195faebed0..08bb3375505 100644 --- a/Mage.Sets/src/mage/cards/c/ChaosImps.java +++ b/Mage.Sets/src/mage/cards/c/ChaosImps.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.UnleashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -50,7 +51,7 @@ public class ChaosImps extends CardImpl { public ChaosImps(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/ChaosMaw.java b/Mage.Sets/src/mage/cards/c/ChaosMaw.java index 2d2e260b0ec..b313293221c 100644 --- a/Mage.Sets/src/mage/cards/c/ChaosMaw.java +++ b/Mage.Sets/src/mage/cards/c/ChaosMaw.java @@ -7,6 +7,7 @@ import mage.abilities.effects.common.DamageAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -17,7 +18,7 @@ public class ChaosMaw extends CardImpl { } public ChaosMaw(UUID ownerId, CardSetInfo cardSetInfo){ super(ownerId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{5}{R}{R}"); - subtype.add("Hellion"); + subtype.add(SubType.HELLION); power = new MageInt(6); toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/Chaosphere.java b/Mage.Sets/src/mage/cards/c/Chaosphere.java index f419c8a3d0f..9e1ae1af641 100644 --- a/Mage.Sets/src/mage/cards/c/Chaosphere.java +++ b/Mage.Sets/src/mage/cards/c/Chaosphere.java @@ -1,117 +1,117 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.c; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.RestrictionEffect; -import mage.abilities.effects.common.continuous.GainAbilityAllEffect; -import mage.abilities.keyword.FlyingAbility; -import mage.abilities.keyword.ReachAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SuperType; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.AbilityPredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; - -/** - * - * @author jeffwadsworth - */ -public class Chaosphere extends CardImpl { - - static final private FilterCreaturePermanent filterCreature = new FilterCreaturePermanent(); - static final private String rule = "Creatures without flying have reach."; - - static { - filterCreature.add(Predicates.not(new AbilityPredicate(FlyingAbility.class))); - } - - public Chaosphere(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}"); - - addSuperType(SuperType.WORLD); - - // Creatures with flying can block only creatures with flying. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ChaosphereEffect())); - - // Creatures without flying have reach. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(ReachAbility.getInstance(), Duration.WhileOnBattlefield, filterCreature, rule))); - - } - - public Chaosphere(final Chaosphere card) { - super(card); - } - - @Override - public Chaosphere copy() { - return new Chaosphere(this); - } -} - -class ChaosphereEffect extends RestrictionEffect { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creatures with flying"); - - static { - filter.add(new AbilityPredicate(FlyingAbility.class)); - } - - public ChaosphereEffect() { - super(Duration.WhileOnBattlefield); - staticText = "creatures with flying can block only creatures with flying"; - } - - public ChaosphereEffect(final ChaosphereEffect effect) { - super(effect); - } - - @Override - public boolean applies(Permanent permanent, Ability source, Game game) { - return filter.match(permanent, source.getSourceId(), source.getControllerId(), game); - } - - @Override - public boolean canBlock(Permanent attacker, Permanent blocker, Ability source, Game game) { - return attacker.hasAbility(FlyingAbility.getInstance().getId(), game); - } - - @Override - public ChaosphereEffect copy() { - return new ChaosphereEffect(this); - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.c; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.RestrictionEffect; +import mage.abilities.effects.common.continuous.GainAbilityAllEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.ReachAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SuperType; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.AbilityPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; + +/** + * + * @author jeffwadsworth + */ +public class Chaosphere extends CardImpl { + + static final private FilterCreaturePermanent filterCreature = new FilterCreaturePermanent(); + static final private String rule = "Creatures without flying have reach."; + + static { + filterCreature.add(Predicates.not(new AbilityPredicate(FlyingAbility.class))); + } + + public Chaosphere(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}"); + + addSuperType(SuperType.WORLD); + + // Creatures with flying can block only creatures with flying. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ChaosphereEffect())); + + // Creatures without flying have reach. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(ReachAbility.getInstance(), Duration.WhileOnBattlefield, filterCreature, rule))); + + } + + public Chaosphere(final Chaosphere card) { + super(card); + } + + @Override + public Chaosphere copy() { + return new Chaosphere(this); + } +} + +class ChaosphereEffect extends RestrictionEffect { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Creatures with flying"); + + static { + filter.add(new AbilityPredicate(FlyingAbility.class)); + } + + public ChaosphereEffect() { + super(Duration.WhileOnBattlefield); + staticText = "creatures with flying can block only creatures with flying"; + } + + public ChaosphereEffect(final ChaosphereEffect effect) { + super(effect); + } + + @Override + public boolean applies(Permanent permanent, Ability source, Game game) { + return filter.match(permanent, source.getSourceId(), source.getControllerId(), game); + } + + @Override + public boolean canBlock(Permanent attacker, Permanent blocker, Ability source, Game game) { + return attacker.hasAbility(FlyingAbility.getInstance().getId(), game); + } + + @Override + public ChaosphereEffect copy() { + return new ChaosphereEffect(this); + } + +} diff --git a/Mage.Sets/src/mage/cards/c/ChaoticGoo.java b/Mage.Sets/src/mage/cards/c/ChaoticGoo.java index 34fd4f37982..ae6ed5d317f 100644 --- a/Mage.Sets/src/mage/cards/c/ChaoticGoo.java +++ b/Mage.Sets/src/mage/cards/c/ChaoticGoo.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class ChaoticGoo extends CardImpl { public ChaoticGoo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Ooze"); + this.subtype.add(SubType.OOZE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/c/ChapelGeist.java b/Mage.Sets/src/mage/cards/c/ChapelGeist.java index 6de8df13aff..b330a6932dc 100644 --- a/Mage.Sets/src/mage/cards/c/ChapelGeist.java +++ b/Mage.Sets/src/mage/cards/c/ChapelGeist.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ChapelGeist extends CardImpl { public ChapelGeist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CharRumbler.java b/Mage.Sets/src/mage/cards/c/CharRumbler.java index d13e205d957..61480127598 100644 --- a/Mage.Sets/src/mage/cards/c/CharRumbler.java +++ b/Mage.Sets/src/mage/cards/c/CharRumbler.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class CharRumbler extends CardImpl { public CharRumbler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(-1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/ChargeAcrossTheAraba.java b/Mage.Sets/src/mage/cards/c/ChargeAcrossTheAraba.java index b12f6fd0ad3..9cbb73c1995 100644 --- a/Mage.Sets/src/mage/cards/c/ChargeAcrossTheAraba.java +++ b/Mage.Sets/src/mage/cards/c/ChargeAcrossTheAraba.java @@ -46,7 +46,7 @@ public class ChargeAcrossTheAraba extends CardImpl { public ChargeAcrossTheAraba(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{4}{W}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Sweep - Return any number of Plains you control to their owner's hand. Creatures you control get +1/+1 until end of turn for each Plains returned this way. diff --git a/Mage.Sets/src/mage/cards/c/ChargingBadger.java b/Mage.Sets/src/mage/cards/c/ChargingBadger.java index 2b7e37006ef..f45a0632958 100644 --- a/Mage.Sets/src/mage/cards/c/ChargingBadger.java +++ b/Mage.Sets/src/mage/cards/c/ChargingBadger.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ChargingBadger extends CardImpl { public ChargingBadger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Badger"); + this.subtype.add(SubType.BADGER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ChargingBandits.java b/Mage.Sets/src/mage/cards/c/ChargingBandits.java index 4f585b2deb1..9b2eaacdcaa 100644 --- a/Mage.Sets/src/mage/cards/c/ChargingBandits.java +++ b/Mage.Sets/src/mage/cards/c/ChargingBandits.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class ChargingBandits extends CardImpl { public ChargingBandits(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/ChargingCinderhorn.java b/Mage.Sets/src/mage/cards/c/ChargingCinderhorn.java index 50ef93dd283..b6b782dc709 100644 --- a/Mage.Sets/src/mage/cards/c/ChargingCinderhorn.java +++ b/Mage.Sets/src/mage/cards/c/ChargingCinderhorn.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class ChargingCinderhorn extends CardImpl { public ChargingCinderhorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Ox"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.OX); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChargingGriffin.java b/Mage.Sets/src/mage/cards/c/ChargingGriffin.java index 4ae324c17f2..9cd953e2db1 100644 --- a/Mage.Sets/src/mage/cards/c/ChargingGriffin.java +++ b/Mage.Sets/src/mage/cards/c/ChargingGriffin.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class ChargingGriffin extends CardImpl { public ChargingGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChargingPaladin.java b/Mage.Sets/src/mage/cards/c/ChargingPaladin.java index ab5e0e959f5..d23e9d4e289 100644 --- a/Mage.Sets/src/mage/cards/c/ChargingPaladin.java +++ b/Mage.Sets/src/mage/cards/c/ChargingPaladin.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,8 +45,8 @@ public class ChargingPaladin extends CardImpl { public ChargingPaladin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChargingRhino.java b/Mage.Sets/src/mage/cards/c/ChargingRhino.java index e7caffc2a77..8b9f3754fb9 100644 --- a/Mage.Sets/src/mage/cards/c/ChargingRhino.java +++ b/Mage.Sets/src/mage/cards/c/ChargingRhino.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByMoreThanOneSourceEffe import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -44,7 +45,7 @@ public class ChargingRhino extends CardImpl { public ChargingRhino(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Rhino"); + this.subtype.add(SubType.RHINO); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ChargingSlateback.java b/Mage.Sets/src/mage/cards/c/ChargingSlateback.java index ded6d7eef01..ee7ae262195 100644 --- a/Mage.Sets/src/mage/cards/c/ChargingSlateback.java +++ b/Mage.Sets/src/mage/cards/c/ChargingSlateback.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class ChargingSlateback extends CardImpl { public ChargingSlateback(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/ChargingTroll.java b/Mage.Sets/src/mage/cards/c/ChargingTroll.java index 45160e988e8..3740430d70c 100644 --- a/Mage.Sets/src/mage/cards/c/ChargingTroll.java +++ b/Mage.Sets/src/mage/cards/c/ChargingTroll.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class ChargingTroll extends CardImpl { public ChargingTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{W}"); - this.subtype.add("Troll"); + this.subtype.add(SubType.TROLL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/ChariotOfVictory.java b/Mage.Sets/src/mage/cards/c/ChariotOfVictory.java index 8b2caa788e2..e45ae7966d1 100644 --- a/Mage.Sets/src/mage/cards/c/ChariotOfVictory.java +++ b/Mage.Sets/src/mage/cards/c/ChariotOfVictory.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class ChariotOfVictory extends CardImpl { public ChariotOfVictory(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has first strike, trample, and haste. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT)); diff --git a/Mage.Sets/src/mage/cards/c/Charisma.java b/Mage.Sets/src/mage/cards/c/Charisma.java index 33ed8143485..cfde550460a 100644 --- a/Mage.Sets/src/mage/cards/c/Charisma.java +++ b/Mage.Sets/src/mage/cards/c/Charisma.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.target.TargetPermanent; @@ -55,7 +56,7 @@ public class Charisma extends CardImpl { public Charisma(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{U}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CharmbreakerDevils.java b/Mage.Sets/src/mage/cards/c/CharmbreakerDevils.java index e3e437fd924..36e9897dfc1 100644 --- a/Mage.Sets/src/mage/cards/c/CharmbreakerDevils.java +++ b/Mage.Sets/src/mage/cards/c/CharmbreakerDevils.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -66,7 +67,7 @@ public class CharmbreakerDevils extends CardImpl { public CharmbreakerDevils(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CharmedGriffin.java b/Mage.Sets/src/mage/cards/c/CharmedGriffin.java index 0ad523dcfb7..39f417082ae 100644 --- a/Mage.Sets/src/mage/cards/c/CharmedGriffin.java +++ b/Mage.Sets/src/mage/cards/c/CharmedGriffin.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterArtifactOrEnchantmentCard; @@ -53,7 +54,7 @@ public class CharmedGriffin extends CardImpl { public CharmedGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CharnelhoardWurm.java b/Mage.Sets/src/mage/cards/c/CharnelhoardWurm.java index ef05089f8ed..4be731363ff 100644 --- a/Mage.Sets/src/mage/cards/c/CharnelhoardWurm.java +++ b/Mage.Sets/src/mage/cards/c/CharnelhoardWurm.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCardInYourGraveyard; /** @@ -46,7 +47,7 @@ public class CharnelhoardWurm extends CardImpl { public CharnelhoardWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{R}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/ChartoothCougar.java b/Mage.Sets/src/mage/cards/c/ChartoothCougar.java index 4e3981606b0..8300964eec3 100644 --- a/Mage.Sets/src/mage/cards/c/ChartoothCougar.java +++ b/Mage.Sets/src/mage/cards/c/ChartoothCougar.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MountaincyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class ChartoothCougar extends CardImpl { public ChartoothCougar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Cat"); - this.subtype.add("Beast"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ChasmDrake.java b/Mage.Sets/src/mage/cards/c/ChasmDrake.java index 05176e4e412..0b8ee850e21 100644 --- a/Mage.Sets/src/mage/cards/c/ChasmDrake.java +++ b/Mage.Sets/src/mage/cards/c/ChasmDrake.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetControlledCreaturePermanent; @@ -47,7 +48,7 @@ public class ChasmDrake extends CardImpl { public ChasmDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/ChasmGuide.java b/Mage.Sets/src/mage/cards/c/ChasmGuide.java index 9f534f69bd8..8f774529f03 100644 --- a/Mage.Sets/src/mage/cards/c/ChasmGuide.java +++ b/Mage.Sets/src/mage/cards/c/ChasmGuide.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; @@ -46,9 +47,9 @@ public class ChasmGuide extends CardImpl { public ChasmGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Scout"); - this.subtype.add("Ally"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SCOUT); + this.subtype.add(SubType.ALLY); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChasmSkulker.java b/Mage.Sets/src/mage/cards/c/ChasmSkulker.java index 00364e06978..1af20617a15 100644 --- a/Mage.Sets/src/mage/cards/c/ChasmSkulker.java +++ b/Mage.Sets/src/mage/cards/c/ChasmSkulker.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -54,8 +55,8 @@ public class ChasmSkulker extends CardImpl { public ChasmSkulker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Squid"); - this.subtype.add("Horror"); + this.subtype.add(SubType.SQUID); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/Chewbacca.java b/Mage.Sets/src/mage/cards/c/Chewbacca.java index 6141b7556b2..f87b5972ef8 100644 --- a/Mage.Sets/src/mage/cards/c/Chewbacca.java +++ b/Mage.Sets/src/mage/cards/c/Chewbacca.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -57,8 +58,8 @@ public class Chewbacca extends CardImpl { public Chewbacca(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Wookiee"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.WOOKIEE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/ChiefChirpa.java b/Mage.Sets/src/mage/cards/c/ChiefChirpa.java index b2fc404de4c..855cea3a057 100644 --- a/Mage.Sets/src/mage/cards/c/ChiefChirpa.java +++ b/Mage.Sets/src/mage/cards/c/ChiefChirpa.java @@ -72,8 +72,8 @@ public class ChiefChirpa extends CardImpl { public ChiefChirpa(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Ewok"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.EWOK); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChiefEngineer.java b/Mage.Sets/src/mage/cards/c/ChiefEngineer.java index e3ab5aa26fc..6d2c2ff102d 100644 --- a/Mage.Sets/src/mage/cards/c/ChiefEngineer.java +++ b/Mage.Sets/src/mage/cards/c/ChiefEngineer.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ConvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterArtifactSpell; @@ -46,8 +47,8 @@ public class ChiefEngineer extends CardImpl { public ChiefEngineer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/ChiefOfTheEdge.java b/Mage.Sets/src/mage/cards/c/ChiefOfTheEdge.java index 36f7a253e80..2b7e2ff4f2e 100644 --- a/Mage.Sets/src/mage/cards/c/ChiefOfTheEdge.java +++ b/Mage.Sets/src/mage/cards/c/ChiefOfTheEdge.java @@ -54,8 +54,8 @@ public class ChiefOfTheEdge extends CardImpl { public ChiefOfTheEdge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChiefOfTheFoundry.java b/Mage.Sets/src/mage/cards/c/ChiefOfTheFoundry.java index 8b309aabc70..09f2b30afa9 100644 --- a/Mage.Sets/src/mage/cards/c/ChiefOfTheFoundry.java +++ b/Mage.Sets/src/mage/cards/c/ChiefOfTheFoundry.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class ChiefOfTheFoundry extends CardImpl { public ChiefOfTheFoundry(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/ChiefOfTheScale.java b/Mage.Sets/src/mage/cards/c/ChiefOfTheScale.java index b66ef55ed97..1247817099b 100644 --- a/Mage.Sets/src/mage/cards/c/ChiefOfTheScale.java +++ b/Mage.Sets/src/mage/cards/c/ChiefOfTheScale.java @@ -54,8 +54,8 @@ public class ChiefOfTheScale extends CardImpl { public ChiefOfTheScale(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/ChieftainEnDal.java b/Mage.Sets/src/mage/cards/c/ChieftainEnDal.java index dfb6edf9d55..e6f55fc33cf 100644 --- a/Mage.Sets/src/mage/cards/c/ChieftainEnDal.java +++ b/Mage.Sets/src/mage/cards/c/ChieftainEnDal.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterAttackingCreature; @@ -48,8 +49,8 @@ public class ChieftainEnDal extends CardImpl { public ChieftainEnDal(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChildOfAlara.java b/Mage.Sets/src/mage/cards/c/ChildOfAlara.java index 1e7e4e40a45..ad4c0d7f957 100644 --- a/Mage.Sets/src/mage/cards/c/ChildOfAlara.java +++ b/Mage.Sets/src/mage/cards/c/ChildOfAlara.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterNonlandPermanent; @@ -47,7 +48,7 @@ public class ChildOfAlara extends CardImpl { public ChildOfAlara(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/ChildOfGaea.java b/Mage.Sets/src/mage/cards/c/ChildOfGaea.java index f6be0ebb36b..4cca45a94e4 100644 --- a/Mage.Sets/src/mage/cards/c/ChildOfGaea.java +++ b/Mage.Sets/src/mage/cards/c/ChildOfGaea.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class ChildOfGaea extends CardImpl { public ChildOfGaea(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/c/ChildOfNight.java b/Mage.Sets/src/mage/cards/c/ChildOfNight.java index 9a8c8c953e8..fcfcba2415c 100644 --- a/Mage.Sets/src/mage/cards/c/ChildOfNight.java +++ b/Mage.Sets/src/mage/cards/c/ChildOfNight.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class ChildOfNight extends CardImpl { public ChildOfNight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ChildOfThorns.java b/Mage.Sets/src/mage/cards/c/ChildOfThorns.java index e3e727f05df..390a7cbff0f 100644 --- a/Mage.Sets/src/mage/cards/c/ChildOfThorns.java +++ b/Mage.Sets/src/mage/cards/c/ChildOfThorns.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class ChildOfThorns extends CardImpl { public ChildOfThorns(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ChildhoodHorror.java b/Mage.Sets/src/mage/cards/c/ChildhoodHorror.java index 8e36f0837ea..4452370a738 100644 --- a/Mage.Sets/src/mage/cards/c/ChildhoodHorror.java +++ b/Mage.Sets/src/mage/cards/c/ChildhoodHorror.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class ChildhoodHorror extends CardImpl { public ChildhoodHorror(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChildrenOfKorlis.java b/Mage.Sets/src/mage/cards/c/ChildrenOfKorlis.java index 244ab124c34..21fc131f49e 100644 --- a/Mage.Sets/src/mage/cards/c/ChildrenOfKorlis.java +++ b/Mage.Sets/src/mage/cards/c/ChildrenOfKorlis.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.watchers.common.PlayerLostLifeWatcher; @@ -50,9 +51,9 @@ public class ChildrenOfKorlis extends CardImpl { public ChildrenOfKorlis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ChillingApparition.java b/Mage.Sets/src/mage/cards/c/ChillingApparition.java index 45cd6a6674c..d9c336d9548 100644 --- a/Mage.Sets/src/mage/cards/c/ChillingApparition.java +++ b/Mage.Sets/src/mage/cards/c/ChillingApparition.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class ChillingApparition extends CardImpl { public ChillingApparition(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ChillingShade.java b/Mage.Sets/src/mage/cards/c/ChillingShade.java index 51d6506f18e..0205c4d206f 100644 --- a/Mage.Sets/src/mage/cards/c/ChillingShade.java +++ b/Mage.Sets/src/mage/cards/c/ChillingShade.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class ChillingShade extends CardImpl { public ChillingShade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); addSuperType(SuperType.SNOW); - this.subtype.add("Shade"); + this.subtype.add(SubType.SHADE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ChimeOfNight.java b/Mage.Sets/src/mage/cards/c/ChimeOfNight.java index 85d0e436bba..bb87ac03324 100644 --- a/Mage.Sets/src/mage/cards/c/ChimeOfNight.java +++ b/Mage.Sets/src/mage/cards/c/ChimeOfNight.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -59,7 +60,7 @@ public class ChimeOfNight extends CardImpl { public ChimeOfNight(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/ChimericEgg.java b/Mage.Sets/src/mage/cards/c/ChimericEgg.java index cf0e0e75cdc..c68cd64383b 100644 --- a/Mage.Sets/src/mage/cards/c/ChimericEgg.java +++ b/Mage.Sets/src/mage/cards/c/ChimericEgg.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.Counter; @@ -86,7 +87,7 @@ public class ChimericEgg extends CardImpl { super("", "6/6 Construct artifact creature with trample"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); power = new MageInt(6); toughness = new MageInt(6); this.addAbility(TrampleAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/c/ChimericIdol.java b/Mage.Sets/src/mage/cards/c/ChimericIdol.java index 9f71be4cfaf..3db3bc1ab6b 100644 --- a/Mage.Sets/src/mage/cards/c/ChimericIdol.java +++ b/Mage.Sets/src/mage/cards/c/ChimericIdol.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -74,7 +75,7 @@ class ChimericIdolToken extends Token { super("Turtle", "3/3 Turtle artifact creature token"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Turtle"); + subtype.add(SubType.TURTLE); power = new MageInt(3); toughness = new MageInt(3); } diff --git a/Mage.Sets/src/mage/cards/c/ChimericMass.java b/Mage.Sets/src/mage/cards/c/ChimericMass.java index f26c0b71c08..8ae0d1fb1a3 100644 --- a/Mage.Sets/src/mage/cards/c/ChimericMass.java +++ b/Mage.Sets/src/mage/cards/c/ChimericMass.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -77,7 +78,7 @@ class ChimericMassToken extends Token { public ChimericMassToken() { super("", "Construct artifact creature with \"This creature's power and toughness are each equal to the number of charge counters on it.\""); cardType.add(CardType.CREATURE); - subtype.add("Construct"); + subtype.add(SubType.CONSTRUCT); power = new MageInt(0); toughness = new MageInt(0); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SetPowerToughnessSourceEffect(new CountersSourceCount(CounterType.CHARGE), Duration.WhileOnBattlefield))); diff --git a/Mage.Sets/src/mage/cards/c/ChimneyImp.java b/Mage.Sets/src/mage/cards/c/ChimneyImp.java index f18e96d11f0..6522c0499d7 100644 --- a/Mage.Sets/src/mage/cards/c/ChimneyImp.java +++ b/Mage.Sets/src/mage/cards/c/ChimneyImp.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -52,7 +53,7 @@ public class ChimneyImp extends CardImpl { public ChimneyImp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChiseiHeartOfOceans.java b/Mage.Sets/src/mage/cards/c/ChiseiHeartOfOceans.java index 15bea981e30..c2ed315ddf6 100644 --- a/Mage.Sets/src/mage/cards/c/ChiseiHeartOfOceans.java +++ b/Mage.Sets/src/mage/cards/c/ChiseiHeartOfOceans.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.filter.FilterPermanent; @@ -60,7 +61,7 @@ public class ChiseiHeartOfOceans extends CardImpl { public ChiseiHeartOfOceans(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ChitinousCloak.java b/Mage.Sets/src/mage/cards/c/ChitinousCloak.java index 19e37d57e59..165c8f52c20 100644 --- a/Mage.Sets/src/mage/cards/c/ChitinousCloak.java +++ b/Mage.Sets/src/mage/cards/c/ChitinousCloak.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class ChitinousCloak extends CardImpl { public ChitinousCloak(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+2 and has menace. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2)); diff --git a/Mage.Sets/src/mage/cards/c/ChitteringHost.java b/Mage.Sets/src/mage/cards/c/ChitteringHost.java index b1398716ae3..9e65b786e82 100644 --- a/Mage.Sets/src/mage/cards/c/ChitteringHost.java +++ b/Mage.Sets/src/mage/cards/c/ChitteringHost.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardSetInfo; import mage.cards.MeldCard; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterControlledCreaturePermanent; @@ -49,8 +50,8 @@ import mage.filter.common.FilterControlledCreaturePermanent; public class ChitteringHost extends MeldCard { public ChitteringHost(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, ""); - this.subtype.add("Eldrazi"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.HORROR); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/ChitteringRats.java b/Mage.Sets/src/mage/cards/c/ChitteringRats.java index 2cb26c09037..afaa4c0c6de 100644 --- a/Mage.Sets/src/mage/cards/c/ChitteringRats.java +++ b/Mage.Sets/src/mage/cards/c/ChitteringRats.java @@ -36,6 +36,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class ChitteringRats extends CardImpl { public ChitteringRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/Chlorophant.java b/Mage.Sets/src/mage/cards/c/Chlorophant.java index 10794220d33..ef9e6760fd8 100644 --- a/Mage.Sets/src/mage/cards/c/Chlorophant.java +++ b/Mage.Sets/src/mage/cards/c/Chlorophant.java @@ -50,7 +50,7 @@ public class Chlorophant extends CardImpl { public Chlorophant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ChoArrimAlchemist.java b/Mage.Sets/src/mage/cards/c/ChoArrimAlchemist.java index 5cbf395f3e1..db7f8862fa2 100644 --- a/Mage.Sets/src/mage/cards/c/ChoArrimAlchemist.java +++ b/Mage.Sets/src/mage/cards/c/ChoArrimAlchemist.java @@ -39,6 +39,7 @@ import mage.abilities.effects.PreventionEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class ChoArrimAlchemist extends CardImpl { public ChoArrimAlchemist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ChoArrimBruiser.java b/Mage.Sets/src/mage/cards/c/ChoArrimBruiser.java index 4065cd7311a..8b7db8f03dd 100644 --- a/Mage.Sets/src/mage/cards/c/ChoArrimBruiser.java +++ b/Mage.Sets/src/mage/cards/c/ChoArrimBruiser.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -45,8 +46,8 @@ public class ChoArrimBruiser extends CardImpl { public ChoArrimBruiser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Ogre"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.REBEL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ChoArrimLegate.java b/Mage.Sets/src/mage/cards/c/ChoArrimLegate.java index c91bf3cb6c5..962177a25bc 100644 --- a/Mage.Sets/src/mage/cards/c/ChoArrimLegate.java +++ b/Mage.Sets/src/mage/cards/c/ChoArrimLegate.java @@ -59,8 +59,8 @@ public class ChoArrimLegate extends CardImpl { public ChoArrimLegate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChoMannoRevolutionary.java b/Mage.Sets/src/mage/cards/c/ChoMannoRevolutionary.java index 4bbba6acc35..d8009776360 100644 --- a/Mage.Sets/src/mage/cards/c/ChoMannoRevolutionary.java +++ b/Mage.Sets/src/mage/cards/c/ChoMannoRevolutionary.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.PreventAllDamageToSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class ChoMannoRevolutionary extends CardImpl { public ChoMannoRevolutionary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChoMannosBlessing.java b/Mage.Sets/src/mage/cards/c/ChoMannosBlessing.java index 18e17b22cf6..c2d245cf687 100644 --- a/Mage.Sets/src/mage/cards/c/ChoMannosBlessing.java +++ b/Mage.Sets/src/mage/cards/c/ChoMannosBlessing.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class ChoMannosBlessing extends CardImpl { public ChoMannosBlessing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/c/ChoiceOfDamnations.java b/Mage.Sets/src/mage/cards/c/ChoiceOfDamnations.java index 3eeb080a83e..3fcfe767032 100644 --- a/Mage.Sets/src/mage/cards/c/ChoiceOfDamnations.java +++ b/Mage.Sets/src/mage/cards/c/ChoiceOfDamnations.java @@ -33,6 +33,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; @@ -51,7 +52,7 @@ public class ChoiceOfDamnations extends CardImpl { public ChoiceOfDamnations(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{5}{B}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Target opponent chooses a number. You may have that player lose that much life. If you don't, that player sacrifices all but that many permanents. this.getSpellAbility().addEffect(new ChoiceOfDamnationsEffect()); diff --git a/Mage.Sets/src/mage/cards/c/ChokingRestraints.java b/Mage.Sets/src/mage/cards/c/ChokingRestraints.java index 2f982f47a16..44ab15bfa29 100644 --- a/Mage.Sets/src/mage/cards/c/ChokingRestraints.java +++ b/Mage.Sets/src/mage/cards/c/ChokingRestraints.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -54,7 +55,7 @@ public class ChokingRestraints extends CardImpl { public ChokingRestraints(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/ChorusOfTheConclave.java b/Mage.Sets/src/mage/cards/c/ChorusOfTheConclave.java index 421996644dd..efe5d55042d 100644 --- a/Mage.Sets/src/mage/cards/c/ChorusOfTheConclave.java +++ b/Mage.Sets/src/mage/cards/c/ChorusOfTheConclave.java @@ -58,7 +58,7 @@ public class ChorusOfTheConclave extends CardImpl { public ChorusOfTheConclave(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{G}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(3); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/c/ChorusOfTheTides.java b/Mage.Sets/src/mage/cards/c/ChorusOfTheTides.java index 96f8f65f9f3..d6ee131adaa 100644 --- a/Mage.Sets/src/mage/cards/c/ChorusOfTheTides.java +++ b/Mage.Sets/src/mage/cards/c/ChorusOfTheTides.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class ChorusOfTheTides extends CardImpl { public ChorusOfTheTides(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Siren"); + this.subtype.add(SubType.SIREN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChosenByHeliod.java b/Mage.Sets/src/mage/cards/c/ChosenByHeliod.java index 1b4de790308..1351f630aae 100644 --- a/Mage.Sets/src/mage/cards/c/ChosenByHeliod.java +++ b/Mage.Sets/src/mage/cards/c/ChosenByHeliod.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class ChosenByHeliod extends CardImpl { public ChosenByHeliod(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/c/ChosenOfMarkov.java b/Mage.Sets/src/mage/cards/c/ChosenOfMarkov.java index c6f22da87d2..a5dffea59fe 100644 --- a/Mage.Sets/src/mage/cards/c/ChosenOfMarkov.java +++ b/Mage.Sets/src/mage/cards/c/ChosenOfMarkov.java @@ -61,7 +61,7 @@ public class ChosenOfMarkov extends CardImpl { public ChosenOfMarkov(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/Chromanticore.java b/Mage.Sets/src/mage/cards/c/Chromanticore.java index df147adceb5..7224cc683b4 100644 --- a/Mage.Sets/src/mage/cards/c/Chromanticore.java +++ b/Mage.Sets/src/mage/cards/c/Chromanticore.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,7 +50,7 @@ public class Chromanticore extends CardImpl { public Chromanticore(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{W}{U}{B}{R}{G}"); - this.subtype.add("Manticore"); + this.subtype.add(SubType.MANTICORE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ChromeSteed.java b/Mage.Sets/src/mage/cards/c/ChromeSteed.java index c76e74acbe5..e00bfbbb859 100644 --- a/Mage.Sets/src/mage/cards/c/ChromeSteed.java +++ b/Mage.Sets/src/mage/cards/c/ChromeSteed.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class ChromeSteed extends CardImpl { public ChromeSteed (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Horse"); + this.subtype.add(SubType.HORSE); this.power = new MageInt(2); this.toughness = new MageInt(2); ContinuousEffect boostSource = new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield); diff --git a/Mage.Sets/src/mage/cards/c/ChromescaleDrake.java b/Mage.Sets/src/mage/cards/c/ChromescaleDrake.java index 64f35a70755..5da39d27b63 100644 --- a/Mage.Sets/src/mage/cards/c/ChromescaleDrake.java +++ b/Mage.Sets/src/mage/cards/c/ChromescaleDrake.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterArtifactCard; @@ -47,7 +48,7 @@ public class ChromescaleDrake extends CardImpl { public ChromescaleDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{U}{U}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ChromeshellCrab.java b/Mage.Sets/src/mage/cards/c/ChromeshellCrab.java index f5e2361afb7..59cf4dcbb06 100644 --- a/Mage.Sets/src/mage/cards/c/ChromeshellCrab.java +++ b/Mage.Sets/src/mage/cards/c/ChromeshellCrab.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -61,8 +62,8 @@ public class ChromeshellCrab extends CardImpl { public ChromeshellCrab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Crab"); - this.subtype.add("Beast"); + this.subtype.add(SubType.CRAB); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/Chromium.java b/Mage.Sets/src/mage/cards/c/Chromium.java index d096cc10e30..e01dc868350 100644 --- a/Mage.Sets/src/mage/cards/c/Chromium.java +++ b/Mage.Sets/src/mage/cards/c/Chromium.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.RampageAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; @@ -49,8 +50,8 @@ public class Chromium extends CardImpl { public Chromium(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}{U}{U}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elder"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.ELDER); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/c/Chronatog.java b/Mage.Sets/src/mage/cards/c/Chronatog.java index b19e0ab126c..26c3b520828 100644 --- a/Mage.Sets/src/mage/cards/c/Chronatog.java +++ b/Mage.Sets/src/mage/cards/c/Chronatog.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.turn.SkipNextTurnSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class Chronatog extends CardImpl { public Chronatog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Atog"); + this.subtype.add(SubType.ATOG); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ChronatogTotem.java b/Mage.Sets/src/mage/cards/c/ChronatogTotem.java index 554a325dcc1..3633454e292 100644 --- a/Mage.Sets/src/mage/cards/c/ChronatogTotem.java +++ b/Mage.Sets/src/mage/cards/c/ChronatogTotem.java @@ -44,6 +44,7 @@ import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.EffectType; import mage.constants.Zone; @@ -138,7 +139,7 @@ class ChronatogTotemToken extends Token { super("Atog", "1/2 blue Atog artifact creature"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Atog"); + subtype.add(SubType.ATOG); power = new MageInt(1); toughness = new MageInt(2); color.setBlue(true); diff --git a/Mage.Sets/src/mage/cards/c/ChronicFlooding.java b/Mage.Sets/src/mage/cards/c/ChronicFlooding.java index f340202c243..da815baa941 100644 --- a/Mage.Sets/src/mage/cards/c/ChronicFlooding.java +++ b/Mage.Sets/src/mage/cards/c/ChronicFlooding.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -55,7 +56,7 @@ public class ChronicFlooding extends CardImpl { public ChronicFlooding(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); diff --git a/Mage.Sets/src/mage/cards/c/ChroniclerOfHeroes.java b/Mage.Sets/src/mage/cards/c/ChroniclerOfHeroes.java index 96461cb0fbf..594349cfe56 100644 --- a/Mage.Sets/src/mage/cards/c/ChroniclerOfHeroes.java +++ b/Mage.Sets/src/mage/cards/c/ChroniclerOfHeroes.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.counters.CounterType; @@ -54,8 +55,8 @@ public class ChroniclerOfHeroes extends CardImpl { public ChroniclerOfHeroes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}"); - this.subtype.add("Centaur"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/Chronomaton.java b/Mage.Sets/src/mage/cards/c/Chronomaton.java index 46a1ae5c004..9b19363ea40 100644 --- a/Mage.Sets/src/mage/cards/c/Chronomaton.java +++ b/Mage.Sets/src/mage/cards/c/Chronomaton.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -48,7 +49,7 @@ public class Chronomaton extends CardImpl { public Chronomaton(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/Chronosavant.java b/Mage.Sets/src/mage/cards/c/Chronosavant.java index 6c07708173f..f1a9a2f598c 100644 --- a/Mage.Sets/src/mage/cards/c/Chronosavant.java +++ b/Mage.Sets/src/mage/cards/c/Chronosavant.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.turn.SkipNextTurnSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class Chronosavant extends CardImpl { public Chronosavant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/Chronozoa.java b/Mage.Sets/src/mage/cards/c/Chronozoa.java index 8d3980b5e38..a12bb99c5bc 100644 --- a/Mage.Sets/src/mage/cards/c/Chronozoa.java +++ b/Mage.Sets/src/mage/cards/c/Chronozoa.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.VanishingUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -54,7 +55,7 @@ public class Chronozoa extends CardImpl { public Chronozoa(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/ChubToad.java b/Mage.Sets/src/mage/cards/c/ChubToad.java index 04f74bf2410..1b64eb472bf 100644 --- a/Mage.Sets/src/mage/cards/c/ChubToad.java +++ b/Mage.Sets/src/mage/cards/c/ChubToad.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,7 +47,7 @@ public class ChubToad extends CardImpl { public ChubToad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Frog"); + this.subtype.add(SubType.FROG); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CinderElemental.java b/Mage.Sets/src/mage/cards/c/CinderElemental.java index 49b65c5068c..93c63403458 100644 --- a/Mage.Sets/src/mage/cards/c/CinderElemental.java +++ b/Mage.Sets/src/mage/cards/c/CinderElemental.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -50,7 +51,7 @@ public class CinderElemental extends CardImpl { public CinderElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CinderGiant.java b/Mage.Sets/src/mage/cards/c/CinderGiant.java index e243e1b98e2..18ceb0214d6 100644 --- a/Mage.Sets/src/mage/cards/c/CinderGiant.java +++ b/Mage.Sets/src/mage/cards/c/CinderGiant.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -51,7 +52,7 @@ public class CinderGiant extends CardImpl { public CinderGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CinderGlade.java b/Mage.Sets/src/mage/cards/c/CinderGlade.java index 6add2373ef4..e37a2f782e2 100644 --- a/Mage.Sets/src/mage/cards/c/CinderGlade.java +++ b/Mage.Sets/src/mage/cards/c/CinderGlade.java @@ -39,6 +39,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; @@ -58,8 +59,8 @@ public class CinderGlade extends CardImpl { public CinderGlade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Mountain"); - this.subtype.add("Forest"); + this.subtype.add(SubType.MOUNTAIN); + this.subtype.add(SubType.FOREST); // Cinder Glade enters the battlefield tapped unless you control two or more basic lands. Condition controls = new InvertCondition(new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1)); diff --git a/Mage.Sets/src/mage/cards/c/CinderHellion.java b/Mage.Sets/src/mage/cards/c/CinderHellion.java index 388b7809273..7f7de2a4d48 100644 --- a/Mage.Sets/src/mage/cards/c/CinderHellion.java +++ b/Mage.Sets/src/mage/cards/c/CinderHellion.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetOpponent; /** @@ -46,7 +47,7 @@ public class CinderHellion extends CardImpl { public CinderHellion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Hellion"); + this.subtype.add(SubType.HELLION); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CinderPyromancer.java b/Mage.Sets/src/mage/cards/c/CinderPyromancer.java index 15bbcea0078..92b7e87d9ee 100644 --- a/Mage.Sets/src/mage/cards/c/CinderPyromancer.java +++ b/Mage.Sets/src/mage/cards/c/CinderPyromancer.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -58,8 +59,8 @@ public class CinderPyromancer extends CardImpl { public CinderPyromancer (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CinderShade.java b/Mage.Sets/src/mage/cards/c/CinderShade.java index c954ad63ba4..b3dc93f6178 100644 --- a/Mage.Sets/src/mage/cards/c/CinderShade.java +++ b/Mage.Sets/src/mage/cards/c/CinderShade.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -51,7 +52,7 @@ public class CinderShade extends CardImpl { public CinderShade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}"); - this.subtype.add("Shade"); + this.subtype.add(SubType.SHADE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CinderWall.java b/Mage.Sets/src/mage/cards/c/CinderWall.java index f96138842f4..94215962aa1 100644 --- a/Mage.Sets/src/mage/cards/c/CinderWall.java +++ b/Mage.Sets/src/mage/cards/c/CinderWall.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class CinderWall extends CardImpl { public CinderWall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/Cinderbones.java b/Mage.Sets/src/mage/cards/c/Cinderbones.java index b539e5101c0..54ed687bb6e 100644 --- a/Mage.Sets/src/mage/cards/c/Cinderbones.java +++ b/Mage.Sets/src/mage/cards/c/Cinderbones.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class Cinderbones extends CardImpl { public Cinderbones(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Elemental"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CinderhazeWretch.java b/Mage.Sets/src/mage/cards/c/CinderhazeWretch.java index c4bb825e251..7bf79f392cb 100644 --- a/Mage.Sets/src/mage/cards/c/CinderhazeWretch.java +++ b/Mage.Sets/src/mage/cards/c/CinderhazeWretch.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.TargetPlayer; @@ -53,8 +54,8 @@ public class CinderhazeWretch extends CardImpl { public CinderhazeWretch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CircleOfElders.java b/Mage.Sets/src/mage/cards/c/CircleOfElders.java index 9378b27aadb..0b7de53f549 100644 --- a/Mage.Sets/src/mage/cards/c/CircleOfElders.java +++ b/Mage.Sets/src/mage/cards/c/CircleOfElders.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -50,8 +51,8 @@ public class CircleOfElders extends CardImpl { public CircleOfElders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CircuDimirLobotomist.java b/Mage.Sets/src/mage/cards/c/CircuDimirLobotomist.java index 96a3f642f06..461ccd4f02e 100644 --- a/Mage.Sets/src/mage/cards/c/CircuDimirLobotomist.java +++ b/Mage.Sets/src/mage/cards/c/CircuDimirLobotomist.java @@ -1,179 +1,180 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.c; - -import java.util.UUID; -import mage.MageInt; -import mage.MageObject; -import mage.ObjectColor; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.common.SpellCastControllerTriggeredAbility; -import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; -import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.SuperType; -import mage.constants.Zone; -import mage.filter.FilterPlayer; -import mage.filter.FilterSpell; -import mage.filter.predicate.mageobject.ColorPredicate; -import mage.game.ExileZone; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.TargetPlayer; -import mage.util.CardUtil; - -/** - * - * @author LevelX2 - */ -public class CircuDimirLobotomist extends CardImpl { - - private static final FilterSpell filterBlue = new FilterSpell("a blue spell"); - private static final FilterSpell filterBlack = new FilterSpell("a black spell"); - - static { - filterBlue.add(new ColorPredicate(ObjectColor.BLUE)); - filterBlack.add(new ColorPredicate(ObjectColor.BLACK)); - } - - public CircuDimirLobotomist(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{B}"); - - addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); - this.power = new MageInt(2); - this.toughness = new MageInt(3); - - // 10/1/2005 The first two abilities target libraries, not players. - // Target Library not supported yet - used as workaround target player - // Whenever you cast a blue spell, exile the top card of target library. - Ability ability = new SpellCastControllerTriggeredAbility(new CircuDimirLobotomistEffect(), filterBlue, false); - ability.addTarget(new TargetPlayer(1, 1, true, new FilterPlayer("target library"))); - this.addAbility(ability); - // Whenever you cast a black spell, exile the top card of target library. - ability = new SpellCastControllerTriggeredAbility(new CircuDimirLobotomistEffect(), filterBlack, false); - ability.addTarget(new TargetPlayer(1, 1, true, new FilterPlayer("target library"))); - this.addAbility(ability); - // Your opponents can't cast nonland cards with the same name as a card exiled with Circu, Dimir Lobotomist. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CircuDimirLobotomistRuleModifyingEffect())); - } - - public CircuDimirLobotomist(final CircuDimirLobotomist card) { - super(card); - } - - @Override - public CircuDimirLobotomist copy() { - return new CircuDimirLobotomist(this); - } -} - -class CircuDimirLobotomistEffect extends OneShotEffect { - - public CircuDimirLobotomistEffect() { - super(Outcome.Detriment); - this.staticText = "exile the top card of target library"; - } - - public CircuDimirLobotomistEffect(final CircuDimirLobotomistEffect effect) { - super(effect); - } - - @Override - public CircuDimirLobotomistEffect copy() { - return new CircuDimirLobotomistEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - Player playerTargetLibrary = game.getPlayer(getTargetPointer().getFirst(game, source)); - Permanent sourcePermanent = game.getPermanentOrLKIBattlefield(source.getSourceId()); - if (controller != null && playerTargetLibrary != null && sourcePermanent != null) { - UUID exileId = CardUtil.getCardExileZoneId(game, source); - controller.moveCardToExileWithInfo(playerTargetLibrary.getLibrary().getFromTop(game), exileId, - sourcePermanent.getIdName() + " (" + sourcePermanent.getZoneChangeCounter(game) + ')', source.getSourceId(), game, Zone.BATTLEFIELD, true); - return true; - } - return false; - } -} - -class CircuDimirLobotomistRuleModifyingEffect extends ContinuousRuleModifyingEffectImpl { - - public CircuDimirLobotomistRuleModifyingEffect() { - super(Duration.WhileOnBattlefield, Outcome.Detriment); - staticText = "Your opponents can't cast nonland cards with the same name as a card exiled with {this}"; - } - - public CircuDimirLobotomistRuleModifyingEffect(final CircuDimirLobotomistRuleModifyingEffect effect) { - super(effect); - } - - @Override - public CircuDimirLobotomistRuleModifyingEffect copy() { - return new CircuDimirLobotomistRuleModifyingEffect(this); - } - - @Override - public String getInfoMessage(Ability source, GameEvent event, Game game) { - MageObject mageObject = game.getObject(source.getSourceId()); - if (mageObject != null) { - return "You can't cast this spell because a card with the same name is exiled by " + mageObject.getLogName() + '.'; - } - return null; - } - - @Override - public boolean applies(GameEvent event, Ability source, Game game) { - if (event.getType() == EventType.CAST_SPELL && game.getOpponents(source.getControllerId()).contains(event.getPlayerId())) { - MageObject object = game.getObject(event.getSourceId()); - if (object != null) { - ExileZone exileZone = game.getExile().getExileZone(CardUtil.getCardExileZoneId(game, source)); - if ((exileZone != null)) { - for (Card card : exileZone.getCards(game)) { - if ((card.getName().equals(object.getName()))) { - return true; - } - } - } - } - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.c; + +import java.util.UUID; +import mage.MageInt; +import mage.MageObject; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.common.SpellCastControllerTriggeredAbility; +import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.SuperType; +import mage.constants.Zone; +import mage.filter.FilterPlayer; +import mage.filter.FilterSpell; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.game.ExileZone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.TargetPlayer; +import mage.util.CardUtil; + +/** + * + * @author LevelX2 + */ +public class CircuDimirLobotomist extends CardImpl { + + private static final FilterSpell filterBlue = new FilterSpell("a blue spell"); + private static final FilterSpell filterBlack = new FilterSpell("a black spell"); + + static { + filterBlue.add(new ColorPredicate(ObjectColor.BLUE)); + filterBlack.add(new ColorPredicate(ObjectColor.BLACK)); + } + + public CircuDimirLobotomist(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{B}"); + + addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // 10/1/2005 The first two abilities target libraries, not players. + // Target Library not supported yet - used as workaround target player + // Whenever you cast a blue spell, exile the top card of target library. + Ability ability = new SpellCastControllerTriggeredAbility(new CircuDimirLobotomistEffect(), filterBlue, false); + ability.addTarget(new TargetPlayer(1, 1, true, new FilterPlayer("target library"))); + this.addAbility(ability); + // Whenever you cast a black spell, exile the top card of target library. + ability = new SpellCastControllerTriggeredAbility(new CircuDimirLobotomistEffect(), filterBlack, false); + ability.addTarget(new TargetPlayer(1, 1, true, new FilterPlayer("target library"))); + this.addAbility(ability); + // Your opponents can't cast nonland cards with the same name as a card exiled with Circu, Dimir Lobotomist. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CircuDimirLobotomistRuleModifyingEffect())); + } + + public CircuDimirLobotomist(final CircuDimirLobotomist card) { + super(card); + } + + @Override + public CircuDimirLobotomist copy() { + return new CircuDimirLobotomist(this); + } +} + +class CircuDimirLobotomistEffect extends OneShotEffect { + + public CircuDimirLobotomistEffect() { + super(Outcome.Detriment); + this.staticText = "exile the top card of target library"; + } + + public CircuDimirLobotomistEffect(final CircuDimirLobotomistEffect effect) { + super(effect); + } + + @Override + public CircuDimirLobotomistEffect copy() { + return new CircuDimirLobotomistEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + Player playerTargetLibrary = game.getPlayer(getTargetPointer().getFirst(game, source)); + Permanent sourcePermanent = game.getPermanentOrLKIBattlefield(source.getSourceId()); + if (controller != null && playerTargetLibrary != null && sourcePermanent != null) { + UUID exileId = CardUtil.getCardExileZoneId(game, source); + controller.moveCardToExileWithInfo(playerTargetLibrary.getLibrary().getFromTop(game), exileId, + sourcePermanent.getIdName() + " (" + sourcePermanent.getZoneChangeCounter(game) + ')', source.getSourceId(), game, Zone.BATTLEFIELD, true); + return true; + } + return false; + } +} + +class CircuDimirLobotomistRuleModifyingEffect extends ContinuousRuleModifyingEffectImpl { + + public CircuDimirLobotomistRuleModifyingEffect() { + super(Duration.WhileOnBattlefield, Outcome.Detriment); + staticText = "Your opponents can't cast nonland cards with the same name as a card exiled with {this}"; + } + + public CircuDimirLobotomistRuleModifyingEffect(final CircuDimirLobotomistRuleModifyingEffect effect) { + super(effect); + } + + @Override + public CircuDimirLobotomistRuleModifyingEffect copy() { + return new CircuDimirLobotomistRuleModifyingEffect(this); + } + + @Override + public String getInfoMessage(Ability source, GameEvent event, Game game) { + MageObject mageObject = game.getObject(source.getSourceId()); + if (mageObject != null) { + return "You can't cast this spell because a card with the same name is exiled by " + mageObject.getLogName() + '.'; + } + return null; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + if (event.getType() == EventType.CAST_SPELL && game.getOpponents(source.getControllerId()).contains(event.getPlayerId())) { + MageObject object = game.getObject(event.getSourceId()); + if (object != null) { + ExileZone exileZone = game.getExile().getExileZone(CardUtil.getCardExileZoneId(game, source)); + if ((exileZone != null)) { + for (Card card : exileZone.getCards(game)) { + if ((card.getName().equals(object.getName()))) { + return true; + } + } + } + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/c/CitadelCastellan.java b/Mage.Sets/src/mage/cards/c/CitadelCastellan.java index 59f2fed867e..1db77cfc2e1 100644 --- a/Mage.Sets/src/mage/cards/c/CitadelCastellan.java +++ b/Mage.Sets/src/mage/cards/c/CitadelCastellan.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class CitadelCastellan extends CardImpl { public CitadelCastellan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CitanulCentaurs.java b/Mage.Sets/src/mage/cards/c/CitanulCentaurs.java index 7f75093699e..1aa4315a483 100644 --- a/Mage.Sets/src/mage/cards/c/CitanulCentaurs.java +++ b/Mage.Sets/src/mage/cards/c/CitanulCentaurs.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class CitanulCentaurs extends CardImpl { public CitanulCentaurs(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Centaur"); + this.subtype.add(SubType.CENTAUR); this.power = new MageInt(6); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CitanulDruid.java b/Mage.Sets/src/mage/cards/c/CitanulDruid.java index a7f90ee14aa..724e22d7eba 100644 --- a/Mage.Sets/src/mage/cards/c/CitanulDruid.java +++ b/Mage.Sets/src/mage/cards/c/CitanulDruid.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterArtifactSpell; @@ -53,8 +54,8 @@ public class CitanulDruid extends CardImpl { public CitanulDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CitanulHierophants.java b/Mage.Sets/src/mage/cards/c/CitanulHierophants.java index 0b9ad163cd3..4590a5badd8 100644 --- a/Mage.Sets/src/mage/cards/c/CitanulHierophants.java +++ b/Mage.Sets/src/mage/cards/c/CitanulHierophants.java @@ -35,6 +35,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -54,8 +55,8 @@ public class CitanulHierophants extends CardImpl { public CitanulHierophants(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CitanulWoodreaders.java b/Mage.Sets/src/mage/cards/c/CitanulWoodreaders.java index fed156ebbda..a9804a54360 100644 --- a/Mage.Sets/src/mage/cards/c/CitanulWoodreaders.java +++ b/Mage.Sets/src/mage/cards/c/CitanulWoodreaders.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class CitanulWoodreaders extends CardImpl { public CitanulWoodreaders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CivicGuildmage.java b/Mage.Sets/src/mage/cards/c/CivicGuildmage.java index 4d445a22c09..7d3e73b0bea 100644 --- a/Mage.Sets/src/mage/cards/c/CivicGuildmage.java +++ b/Mage.Sets/src/mage/cards/c/CivicGuildmage.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -51,8 +52,8 @@ public class CivicGuildmage extends CardImpl { public CivicGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CivicSaber.java b/Mage.Sets/src/mage/cards/c/CivicSaber.java index f4d394987d6..ad74455206b 100644 --- a/Mage.Sets/src/mage/cards/c/CivicSaber.java +++ b/Mage.Sets/src/mage/cards/c/CivicSaber.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class CivicSaber extends CardImpl { public CivicSaber(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+0 for each of its colors. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new CivicSaberColorCount(), new StaticValue(0), Duration.WhileOnBattlefield))); diff --git a/Mage.Sets/src/mage/cards/c/CivicWayfinder.java b/Mage.Sets/src/mage/cards/c/CivicWayfinder.java index 04ac60e0fdc..414602e1609 100644 --- a/Mage.Sets/src/mage/cards/c/CivicWayfinder.java +++ b/Mage.Sets/src/mage/cards/c/CivicWayfinder.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -46,9 +47,9 @@ public class CivicWayfinder extends CardImpl { public CivicWayfinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CivilizedScholar.java b/Mage.Sets/src/mage/cards/c/CivilizedScholar.java index adc71df8ce4..30837240b27 100644 --- a/Mage.Sets/src/mage/cards/c/CivilizedScholar.java +++ b/Mage.Sets/src/mage/cards/c/CivilizedScholar.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.h.HomicidalBrute; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.WatcherScope; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class CivilizedScholar extends CardImpl { public CivilizedScholar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.transformable = true; this.secondSideCardClazz = HomicidalBrute.class; diff --git a/Mage.Sets/src/mage/cards/c/ClaimFame.java b/Mage.Sets/src/mage/cards/c/ClaimFame.java index 3161ce925e6..e2923fa9218 100644 --- a/Mage.Sets/src/mage/cards/c/ClaimFame.java +++ b/Mage.Sets/src/mage/cards/c/ClaimFame.java @@ -1,88 +1,88 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.c; - -import java.util.UUID; -import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; -import mage.abilities.effects.common.continuous.BoostTargetEffect; -import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; -import mage.abilities.keyword.AftermathAbility; -import mage.abilities.keyword.HasteAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.SplitCard; -import mage.constants.CardType; -import mage.constants.ComparisonType; -import mage.constants.Duration; -import mage.constants.SpellAbilityType; -import mage.filter.FilterCard; -import mage.filter.common.FilterCreatureCard; -import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; -import mage.target.common.TargetCardInYourGraveyard; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author LevelX2 - */ -public class ClaimFame extends SplitCard { - - private static final FilterCard filter = new FilterCreatureCard("creature card with converted mana cost 2 or less from your graveyard"); - - static { - filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 3)); - } - - public ClaimFame(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, new CardType[]{CardType.SORCERY}, "{B}", "{1}{R}", SpellAbilityType.SPLIT_AFTERMATH); - - // Claim - // Return target creature card with converted mana cost 2 or less from your graveyard to the battlefield. - getLeftHalfCard().getSpellAbility().addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect()); - getLeftHalfCard().getSpellAbility().addTarget(new TargetCardInYourGraveyard(filter)); - - // Fame - // Aftermath - ((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility().setRuleAtTheTop(true)); - // Target creature gets +2/+0 and gains haste until end of turn. - getRightHalfCard().getSpellAbility().addEffect(new BoostTargetEffect(2, 0, Duration.EndOfTurn)); - getRightHalfCard().getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn) - .setText("and gains haste until end of turn")); - getRightHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent()); - - } - - public ClaimFame(final ClaimFame card) { - super(card); - } - - @Override - public ClaimFame copy() { - return new ClaimFame(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.c; + +import java.util.UUID; +import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.AftermathAbility; +import mage.abilities.keyword.HasteAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.SplitCard; +import mage.constants.CardType; +import mage.constants.ComparisonType; +import mage.constants.Duration; +import mage.constants.SpellAbilityType; +import mage.filter.FilterCard; +import mage.filter.common.FilterCreatureCard; +import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; +import mage.target.common.TargetCardInYourGraveyard; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class ClaimFame extends SplitCard { + + private static final FilterCard filter = new FilterCreatureCard("creature card with converted mana cost 2 or less from your graveyard"); + + static { + filter.add(new ConvertedManaCostPredicate(ComparisonType.FEWER_THAN, 3)); + } + + public ClaimFame(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, new CardType[]{CardType.SORCERY}, "{B}", "{1}{R}", SpellAbilityType.SPLIT_AFTERMATH); + + // Claim + // Return target creature card with converted mana cost 2 or less from your graveyard to the battlefield. + getLeftHalfCard().getSpellAbility().addEffect(new ReturnFromGraveyardToBattlefieldTargetEffect()); + getLeftHalfCard().getSpellAbility().addTarget(new TargetCardInYourGraveyard(filter)); + + // Fame + // Aftermath + ((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility().setRuleAtTheTop(true)); + // Target creature gets +2/+0 and gains haste until end of turn. + getRightHalfCard().getSpellAbility().addEffect(new BoostTargetEffect(2, 0, Duration.EndOfTurn)); + getRightHalfCard().getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn) + .setText("and gains haste until end of turn")); + getRightHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent()); + + } + + public ClaimFame(final ClaimFame card) { + super(card); + } + + @Override + public ClaimFame copy() { + return new ClaimFame(this); + } +} diff --git a/Mage.Sets/src/mage/cards/c/ClaimOfErebos.java b/Mage.Sets/src/mage/cards/c/ClaimOfErebos.java index a02798e1c94..23dd7f3a754 100644 --- a/Mage.Sets/src/mage/cards/c/ClaimOfErebos.java +++ b/Mage.Sets/src/mage/cards/c/ClaimOfErebos.java @@ -52,7 +52,7 @@ public class ClaimOfErebos extends CardImpl { public ClaimOfErebos(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/c/Claustrophobia.java b/Mage.Sets/src/mage/cards/c/Claustrophobia.java index 0d833add9f0..8bc3427e850 100644 --- a/Mage.Sets/src/mage/cards/c/Claustrophobia.java +++ b/Mage.Sets/src/mage/cards/c/Claustrophobia.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class Claustrophobia extends CardImpl { public Claustrophobia(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/c/ClawsOfValakut.java b/Mage.Sets/src/mage/cards/c/ClawsOfValakut.java index c6bbba0f04b..fcb89ed7a7b 100644 --- a/Mage.Sets/src/mage/cards/c/ClawsOfValakut.java +++ b/Mage.Sets/src/mage/cards/c/ClawsOfValakut.java @@ -60,7 +60,7 @@ public class ClawsOfValakut extends CardImpl { public ClawsOfValakut (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/ClayStatue.java b/Mage.Sets/src/mage/cards/c/ClayStatue.java index 873163daee5..a937cc27ff0 100644 --- a/Mage.Sets/src/mage/cards/c/ClayStatue.java +++ b/Mage.Sets/src/mage/cards/c/ClayStatue.java @@ -8,6 +8,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -18,7 +19,7 @@ public class ClayStatue extends CardImpl { public ClayStatue(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/Cleanfall.java b/Mage.Sets/src/mage/cards/c/Cleanfall.java index 73feaf614a9..cffd9a9bf7b 100644 --- a/Mage.Sets/src/mage/cards/c/Cleanfall.java +++ b/Mage.Sets/src/mage/cards/c/Cleanfall.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.DestroyAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterEnchantmentPermanent; /** @@ -42,7 +43,7 @@ public class Cleanfall extends CardImpl { public Cleanfall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{W}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); this.getSpellAbility().addEffect(new DestroyAllEffect(new FilterEnchantmentPermanent("enchantments"))); } diff --git a/Mage.Sets/src/mage/cards/c/ClergyEnVec.java b/Mage.Sets/src/mage/cards/c/ClergyEnVec.java index 604926b3942..3b2da638131 100644 --- a/Mage.Sets/src/mage/cards/c/ClergyEnVec.java +++ b/Mage.Sets/src/mage/cards/c/ClergyEnVec.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class ClergyEnVec extends CardImpl { public ClergyEnVec(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ClergyOfTheHolyNimbus.java b/Mage.Sets/src/mage/cards/c/ClergyOfTheHolyNimbus.java index 74fcf82fa60..f8c2be4edd7 100644 --- a/Mage.Sets/src/mage/cards/c/ClergyOfTheHolyNimbus.java +++ b/Mage.Sets/src/mage/cards/c/ClergyOfTheHolyNimbus.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CantBeRegeneratedSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,8 +54,8 @@ public class ClergyOfTheHolyNimbus extends CardImpl { public ClergyOfTheHolyNimbus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ClericOfTheForwardOrder.java b/Mage.Sets/src/mage/cards/c/ClericOfTheForwardOrder.java index c9b52178242..eb08284b5a8 100644 --- a/Mage.Sets/src/mage/cards/c/ClericOfTheForwardOrder.java +++ b/Mage.Sets/src/mage/cards/c/ClericOfTheForwardOrder.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.NamePredicate; @@ -55,8 +56,8 @@ public class ClericOfTheForwardOrder extends CardImpl { public ClericOfTheForwardOrder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CleverImpersonator.java b/Mage.Sets/src/mage/cards/c/CleverImpersonator.java index 36bcc8edd72..d1d099d6866 100644 --- a/Mage.Sets/src/mage/cards/c/CleverImpersonator.java +++ b/Mage.Sets/src/mage/cards/c/CleverImpersonator.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CopyPermanentEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterNonlandPermanent; /** @@ -44,7 +45,7 @@ public class CleverImpersonator extends CardImpl { public CleverImpersonator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/c/Clickslither.java b/Mage.Sets/src/mage/cards/c/Clickslither.java index 94207484d88..ac73c7a8af7 100644 --- a/Mage.Sets/src/mage/cards/c/Clickslither.java +++ b/Mage.Sets/src/mage/cards/c/Clickslither.java @@ -61,7 +61,7 @@ public class Clickslither extends CardImpl { public Clickslither(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}{R}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CliffThreader.java b/Mage.Sets/src/mage/cards/c/CliffThreader.java index b2e29d503a6..27b600f361c 100644 --- a/Mage.Sets/src/mage/cards/c/CliffThreader.java +++ b/Mage.Sets/src/mage/cards/c/CliffThreader.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MountainwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class CliffThreader extends CardImpl { public CliffThreader (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Scout"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CliffhavenVampire.java b/Mage.Sets/src/mage/cards/c/CliffhavenVampire.java index 34dda148373..223047c9963 100644 --- a/Mage.Sets/src/mage/cards/c/CliffhavenVampire.java +++ b/Mage.Sets/src/mage/cards/c/CliffhavenVampire.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,9 +45,9 @@ public class CliffhavenVampire extends CardImpl { public CliffhavenVampire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Warrior"); - this.subtype.add("Ally"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CliffrunnerBehemoth.java b/Mage.Sets/src/mage/cards/c/CliffrunnerBehemoth.java index a3e90633da2..8aa065a7fcd 100644 --- a/Mage.Sets/src/mage/cards/c/CliffrunnerBehemoth.java +++ b/Mage.Sets/src/mage/cards/c/CliffrunnerBehemoth.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -60,8 +61,8 @@ public class CliffrunnerBehemoth extends CardImpl { public CliffrunnerBehemoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Rhino"); - this.subtype.add("Beast"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CliffsideLookout.java b/Mage.Sets/src/mage/cards/c/CliffsideLookout.java index 6277e750603..daf254f7a3b 100644 --- a/Mage.Sets/src/mage/cards/c/CliffsideLookout.java +++ b/Mage.Sets/src/mage/cards/c/CliffsideLookout.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,9 +47,9 @@ public class CliffsideLookout extends CardImpl { public CliffsideLookout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Kor"); - this.subtype.add("Scout"); - this.subtype.add("Ally"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SCOUT); + this.subtype.add(SubType.ALLY); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ClingingAnemones.java b/Mage.Sets/src/mage/cards/c/ClingingAnemones.java index 896d188a3b6..c0f798e9614 100644 --- a/Mage.Sets/src/mage/cards/c/ClingingAnemones.java +++ b/Mage.Sets/src/mage/cards/c/ClingingAnemones.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.EvolveAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class ClingingAnemones extends CardImpl { public ClingingAnemones(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Jellyfish"); + this.subtype.add(SubType.JELLYFISH); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ClingingDarkness.java b/Mage.Sets/src/mage/cards/c/ClingingDarkness.java index 57b6e82c4b9..c2574fb8c9d 100644 --- a/Mage.Sets/src/mage/cards/c/ClingingDarkness.java +++ b/Mage.Sets/src/mage/cards/c/ClingingDarkness.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class ClingingDarkness extends CardImpl { public ClingingDarkness(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/c/CloakAndDagger.java b/Mage.Sets/src/mage/cards/c/CloakAndDagger.java index ae718102d0c..626aceb4457 100644 --- a/Mage.Sets/src/mage/cards/c/CloakAndDagger.java +++ b/Mage.Sets/src/mage/cards/c/CloakAndDagger.java @@ -57,8 +57,8 @@ public class CloakAndDagger extends CardImpl { public CloakAndDagger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ARTIFACT},"{2}"); - this.subtype.add("Rogue"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.ROGUE); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+0 and has shroud. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 0)); diff --git a/Mage.Sets/src/mage/cards/c/CloakOfInvisibility.java b/Mage.Sets/src/mage/cards/c/CloakOfInvisibility.java index 152c92a01ef..06d89374a23 100644 --- a/Mage.Sets/src/mage/cards/c/CloakOfInvisibility.java +++ b/Mage.Sets/src/mage/cards/c/CloakOfInvisibility.java @@ -56,7 +56,7 @@ public class CloakOfInvisibility extends CardImpl { public CloakOfInvisibility(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CloakOfMists.java b/Mage.Sets/src/mage/cards/c/CloakOfMists.java index 0526dec1e4a..5b98138ae2e 100644 --- a/Mage.Sets/src/mage/cards/c/CloakOfMists.java +++ b/Mage.Sets/src/mage/cards/c/CloakOfMists.java @@ -36,6 +36,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class CloakOfMists extends CardImpl { public CloakOfMists(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/c/CloakedSiren.java b/Mage.Sets/src/mage/cards/c/CloakedSiren.java index 2a4288b5a38..4b27cf42cd9 100644 --- a/Mage.Sets/src/mage/cards/c/CloakedSiren.java +++ b/Mage.Sets/src/mage/cards/c/CloakedSiren.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CloakedSiren extends CardImpl { public CloakedSiren(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Siren"); + this.subtype.add(SubType.SIREN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CloakingDevice.java b/Mage.Sets/src/mage/cards/c/CloakingDevice.java index 755569c6de7..87755d79a04 100644 --- a/Mage.Sets/src/mage/cards/c/CloakingDevice.java +++ b/Mage.Sets/src/mage/cards/c/CloakingDevice.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -58,7 +59,7 @@ public class CloakingDevice extends CardImpl { public CloakingDevice(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/ClockworkAvian.java b/Mage.Sets/src/mage/cards/c/ClockworkAvian.java index 3dbea9f0410..aeeb82294ae 100644 --- a/Mage.Sets/src/mage/cards/c/ClockworkAvian.java +++ b/Mage.Sets/src/mage/cards/c/ClockworkAvian.java @@ -46,6 +46,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; import mage.constants.Zone; import mage.counters.Counter; @@ -62,7 +63,7 @@ public class ClockworkAvian extends CardImpl { public ClockworkAvian(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{5}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ClockworkBeast.java b/Mage.Sets/src/mage/cards/c/ClockworkBeast.java index 0a1c06eaf88..9abe959d4d7 100644 --- a/Mage.Sets/src/mage/cards/c/ClockworkBeast.java +++ b/Mage.Sets/src/mage/cards/c/ClockworkBeast.java @@ -45,6 +45,7 @@ import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; import mage.constants.Zone; import mage.counters.Counter; @@ -61,7 +62,7 @@ public class ClockworkBeast extends CardImpl { public ClockworkBeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{6}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ClockworkBeetle.java b/Mage.Sets/src/mage/cards/c/ClockworkBeetle.java index 02ca0b368d9..cb4e78db165 100644 --- a/Mage.Sets/src/mage/cards/c/ClockworkBeetle.java +++ b/Mage.Sets/src/mage/cards/c/ClockworkBeetle.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.counter.RemoveCounterTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -54,7 +55,7 @@ public class ClockworkBeetle extends CardImpl { public ClockworkBeetle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/c/ClockworkCondor.java b/Mage.Sets/src/mage/cards/c/ClockworkCondor.java index 3c84659583d..bd8aae69417 100644 --- a/Mage.Sets/src/mage/cards/c/ClockworkCondor.java +++ b/Mage.Sets/src/mage/cards/c/ClockworkCondor.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -53,7 +54,7 @@ public class ClockworkCondor extends CardImpl { public ClockworkCondor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(0); this.toughness = new MageInt(0); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/c/ClockworkDragon.java b/Mage.Sets/src/mage/cards/c/ClockworkDragon.java index 93e09a59d23..9d5f6450bef 100644 --- a/Mage.Sets/src/mage/cards/c/ClockworkDragon.java +++ b/Mage.Sets/src/mage/cards/c/ClockworkDragon.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -56,7 +57,7 @@ public class ClockworkDragon extends CardImpl { public ClockworkDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(0); this.toughness = new MageInt(0); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/c/ClockworkGnomes.java b/Mage.Sets/src/mage/cards/c/ClockworkGnomes.java index 8d67b2e128e..7c4377ec312 100644 --- a/Mage.Sets/src/mage/cards/c/ClockworkGnomes.java +++ b/Mage.Sets/src/mage/cards/c/ClockworkGnomes.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.RegenerateTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -56,7 +57,7 @@ public class ClockworkGnomes extends CardImpl { public ClockworkGnomes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Gnome"); + this.subtype.add(SubType.GNOME); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ClockworkHydra.java b/Mage.Sets/src/mage/cards/c/ClockworkHydra.java index 50a66752573..1c7859fb703 100644 --- a/Mage.Sets/src/mage/cards/c/ClockworkHydra.java +++ b/Mage.Sets/src/mage/cards/c/ClockworkHydra.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -59,7 +60,7 @@ public class ClockworkHydra extends CardImpl { public ClockworkHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/c/ClockworkVorrac.java b/Mage.Sets/src/mage/cards/c/ClockworkVorrac.java index 38aa0d063f3..f2d19569ea3 100644 --- a/Mage.Sets/src/mage/cards/c/ClockworkVorrac.java +++ b/Mage.Sets/src/mage/cards/c/ClockworkVorrac.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -56,8 +57,8 @@ public class ClockworkVorrac extends CardImpl { public ClockworkVorrac(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Boar"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BOAR); + this.subtype.add(SubType.BEAST); this.power = new MageInt(0); this.toughness = new MageInt(0); this.addAbility(TrampleAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/c/CloisteredYouth.java b/Mage.Sets/src/mage/cards/c/CloisteredYouth.java index ebdf8b93029..05723808f0c 100644 --- a/Mage.Sets/src/mage/cards/c/CloisteredYouth.java +++ b/Mage.Sets/src/mage/cards/c/CloisteredYouth.java @@ -36,6 +36,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.u.UnholyFiend; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -46,7 +47,7 @@ public class CloisteredYouth extends CardImpl { public CloisteredYouth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/Clone.java b/Mage.Sets/src/mage/cards/c/Clone.java index a46d26ca679..13420b2e6e8 100644 --- a/Mage.Sets/src/mage/cards/c/Clone.java +++ b/Mage.Sets/src/mage/cards/c/Clone.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CopyPermanentEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class Clone extends CardImpl { public Clone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/c/CloneShell.java b/Mage.Sets/src/mage/cards/c/CloneShell.java index 836b9dbea58..8d6ae28ee91 100644 --- a/Mage.Sets/src/mage/cards/c/CloneShell.java +++ b/Mage.Sets/src/mage/cards/c/CloneShell.java @@ -36,6 +36,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -51,7 +52,7 @@ public class CloneShell extends CardImpl { public CloneShell(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ClotSliver.java b/Mage.Sets/src/mage/cards/c/ClotSliver.java index a45cc761215..f81d24e29c8 100644 --- a/Mage.Sets/src/mage/cards/c/ClotSliver.java +++ b/Mage.Sets/src/mage/cards/c/ClotSliver.java @@ -56,7 +56,7 @@ public class ClotSliver extends CardImpl { public ClotSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CloudCrusader.java b/Mage.Sets/src/mage/cards/c/CloudCrusader.java index 3f98e6eddcf..b6c84dc6d9a 100644 --- a/Mage.Sets/src/mage/cards/c/CloudCrusader.java +++ b/Mage.Sets/src/mage/cards/c/CloudCrusader.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class CloudCrusader extends CardImpl { public CloudCrusader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CloudDjinn.java b/Mage.Sets/src/mage/cards/c/CloudDjinn.java index 16f3854f6a4..8a638f021c1 100644 --- a/Mage.Sets/src/mage/cards/c/CloudDjinn.java +++ b/Mage.Sets/src/mage/cards/c/CloudDjinn.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CloudDjinn extends CardImpl { public CloudDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CloudDragon.java b/Mage.Sets/src/mage/cards/c/CloudDragon.java index b75e3b1eb62..2c35637a78b 100644 --- a/Mage.Sets/src/mage/cards/c/CloudDragon.java +++ b/Mage.Sets/src/mage/cards/c/CloudDragon.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class CloudDragon extends CardImpl { public CloudDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Illusion"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.ILLUSION); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CloudElemental.java b/Mage.Sets/src/mage/cards/c/CloudElemental.java index 19c46314bf7..c042e9738da 100644 --- a/Mage.Sets/src/mage/cards/c/CloudElemental.java +++ b/Mage.Sets/src/mage/cards/c/CloudElemental.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CloudElemental extends CardImpl { public CloudElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CloudManta.java b/Mage.Sets/src/mage/cards/c/CloudManta.java index 967d2d1723e..94b8589d0a3 100644 --- a/Mage.Sets/src/mage/cards/c/CloudManta.java +++ b/Mage.Sets/src/mage/cards/c/CloudManta.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class CloudManta extends CardImpl { public CloudManta(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Fish"); + this.subtype.add(SubType.FISH); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CloudOfFaeries.java b/Mage.Sets/src/mage/cards/c/CloudOfFaeries.java index 94baf734e57..872cc6ab85e 100644 --- a/Mage.Sets/src/mage/cards/c/CloudOfFaeries.java +++ b/Mage.Sets/src/mage/cards/c/CloudOfFaeries.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class CloudOfFaeries extends CardImpl { public CloudOfFaeries(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CloudPirates.java b/Mage.Sets/src/mage/cards/c/CloudPirates.java index 86d526ea1e5..cb3e837bb06 100644 --- a/Mage.Sets/src/mage/cards/c/CloudPirates.java +++ b/Mage.Sets/src/mage/cards/c/CloudPirates.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class CloudPirates extends CardImpl { public CloudPirates(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CloudSpirit.java b/Mage.Sets/src/mage/cards/c/CloudSpirit.java index 7542a6cfca1..a8027b5b472 100644 --- a/Mage.Sets/src/mage/cards/c/CloudSpirit.java +++ b/Mage.Sets/src/mage/cards/c/CloudSpirit.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CloudSpirit extends CardImpl { public CloudSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CloudSprite.java b/Mage.Sets/src/mage/cards/c/CloudSprite.java index 064e14ff460..14e06f61127 100644 --- a/Mage.Sets/src/mage/cards/c/CloudSprite.java +++ b/Mage.Sets/src/mage/cards/c/CloudSprite.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CloudSprite extends CardImpl { public CloudSprite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/Cloudblazer.java b/Mage.Sets/src/mage/cards/c/Cloudblazer.java index 4ab0e9e4774..b0fefc28035 100644 --- a/Mage.Sets/src/mage/cards/c/Cloudblazer.java +++ b/Mage.Sets/src/mage/cards/c/Cloudblazer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,8 +48,8 @@ public class Cloudblazer extends CardImpl { public Cloudblazer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{U}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CloudchaserEagle.java b/Mage.Sets/src/mage/cards/c/CloudchaserEagle.java index 0e0c465dbd5..01d305c7997 100644 --- a/Mage.Sets/src/mage/cards/c/CloudchaserEagle.java +++ b/Mage.Sets/src/mage/cards/c/CloudchaserEagle.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetEnchantmentPermanent; /** @@ -46,7 +47,7 @@ public class CloudchaserEagle extends CardImpl { public CloudchaserEagle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CloudchaserKestrel.java b/Mage.Sets/src/mage/cards/c/CloudchaserKestrel.java index 68f702b2850..91443238a9f 100644 --- a/Mage.Sets/src/mage/cards/c/CloudchaserKestrel.java +++ b/Mage.Sets/src/mage/cards/c/CloudchaserKestrel.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -53,7 +54,7 @@ public class CloudchaserKestrel extends CardImpl { public CloudchaserKestrel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CloudcrownOak.java b/Mage.Sets/src/mage/cards/c/CloudcrownOak.java index e675c017a6c..da3874c902b 100644 --- a/Mage.Sets/src/mage/cards/c/CloudcrownOak.java +++ b/Mage.Sets/src/mage/cards/c/CloudcrownOak.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class CloudcrownOak extends CardImpl { public CloudcrownOak(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CloudfinRaptor.java b/Mage.Sets/src/mage/cards/c/CloudfinRaptor.java index 780b77a2478..609a6491148 100644 --- a/Mage.Sets/src/mage/cards/c/CloudfinRaptor.java +++ b/Mage.Sets/src/mage/cards/c/CloudfinRaptor.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class CloudfinRaptor extends CardImpl { public CloudfinRaptor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Bird"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CloudgoatRanger.java b/Mage.Sets/src/mage/cards/c/CloudgoatRanger.java index 1c0584ec87d..f55639b471b 100644 --- a/Mage.Sets/src/mage/cards/c/CloudgoatRanger.java +++ b/Mage.Sets/src/mage/cards/c/CloudgoatRanger.java @@ -66,8 +66,8 @@ public class CloudgoatRanger extends CardImpl { public CloudgoatRanger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CloudheathDrake.java b/Mage.Sets/src/mage/cards/c/CloudheathDrake.java index 48232686f48..9dd5a0db48e 100644 --- a/Mage.Sets/src/mage/cards/c/CloudheathDrake.java +++ b/Mage.Sets/src/mage/cards/c/CloudheathDrake.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class CloudheathDrake extends CardImpl { public CloudheathDrake (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CloudhoofKirin.java b/Mage.Sets/src/mage/cards/c/CloudhoofKirin.java index f939ff5a113..8cc24f3b144 100644 --- a/Mage.Sets/src/mage/cards/c/CloudhoofKirin.java +++ b/Mage.Sets/src/mage/cards/c/CloudhoofKirin.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class CloudhoofKirin extends CardImpl { public CloudhoofKirin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Kirin"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.KIRIN); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CloudreachCavalry.java b/Mage.Sets/src/mage/cards/c/CloudreachCavalry.java index 82499a16d42..2c5d3ec0a28 100644 --- a/Mage.Sets/src/mage/cards/c/CloudreachCavalry.java +++ b/Mage.Sets/src/mage/cards/c/CloudreachCavalry.java @@ -59,8 +59,8 @@ public class CloudreachCavalry extends CardImpl { public CloudreachCavalry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/Cloudseeder.java b/Mage.Sets/src/mage/cards/c/Cloudseeder.java index faf8f4ba4db..a86c21cceec 100644 --- a/Mage.Sets/src/mage/cards/c/Cloudseeder.java +++ b/Mage.Sets/src/mage/cards/c/Cloudseeder.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.CloudSpriteToken; @@ -50,8 +51,8 @@ public class Cloudseeder extends CardImpl { public Cloudseeder(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/Cloudskate.java b/Mage.Sets/src/mage/cards/c/Cloudskate.java index 787b202217f..6a144fe38ec 100644 --- a/Mage.Sets/src/mage/cards/c/Cloudskate.java +++ b/Mage.Sets/src/mage/cards/c/Cloudskate.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class Cloudskate extends CardImpl { public Cloudskate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/Cloudthresher.java b/Mage.Sets/src/mage/cards/c/Cloudthresher.java index 96e29a1402c..2d1651c387d 100644 --- a/Mage.Sets/src/mage/cards/c/Cloudthresher.java +++ b/Mage.Sets/src/mage/cards/c/Cloudthresher.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -56,7 +57,7 @@ public class Cloudthresher extends CardImpl { public Cloudthresher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/c/CloutOfTheDominus.java b/Mage.Sets/src/mage/cards/c/CloutOfTheDominus.java index 27dd095bd62..90323feef0f 100644 --- a/Mage.Sets/src/mage/cards/c/CloutOfTheDominus.java +++ b/Mage.Sets/src/mage/cards/c/CloutOfTheDominus.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -56,7 +57,7 @@ public class CloutOfTheDominus extends CardImpl { public CloutOfTheDominus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U/R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/c/ClutchOfUndeath.java b/Mage.Sets/src/mage/cards/c/ClutchOfUndeath.java index 1156dbd801b..2c04cc3a7e9 100644 --- a/Mage.Sets/src/mage/cards/c/ClutchOfUndeath.java +++ b/Mage.Sets/src/mage/cards/c/ClutchOfUndeath.java @@ -53,7 +53,7 @@ public class ClutchOfUndeath extends CardImpl { public ClutchOfUndeath(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CoalGolem.java b/Mage.Sets/src/mage/cards/c/CoalGolem.java index dbb9a1e40ab..b6ee9219edb 100644 --- a/Mage.Sets/src/mage/cards/c/CoalGolem.java +++ b/Mage.Sets/src/mage/cards/c/CoalGolem.java @@ -37,6 +37,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class CoalGolem extends CardImpl { public CoalGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CoalStoker.java b/Mage.Sets/src/mage/cards/c/CoalStoker.java index 8f0f9f98cc9..bf3a8b83c0e 100644 --- a/Mage.Sets/src/mage/cards/c/CoalStoker.java +++ b/Mage.Sets/src/mage/cards/c/CoalStoker.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.BasicManaEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.watchers.common.CastFromHandWatcher; /** @@ -47,7 +48,7 @@ public class CoalStoker extends CardImpl { public CoalStoker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CoalhaulerSwine.java b/Mage.Sets/src/mage/cards/c/CoalhaulerSwine.java index 84f067b8c42..91720d3b2d9 100644 --- a/Mage.Sets/src/mage/cards/c/CoalhaulerSwine.java +++ b/Mage.Sets/src/mage/cards/c/CoalhaulerSwine.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -49,8 +50,8 @@ public class CoalhaulerSwine extends CardImpl { public CoalhaulerSwine(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{R}"); - this.subtype.add("Boar"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BOAR); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CoalitionHonorGuard.java b/Mage.Sets/src/mage/cards/c/CoalitionHonorGuard.java index 9efb9fb1312..6625d8b943c 100644 --- a/Mage.Sets/src/mage/cards/c/CoalitionHonorGuard.java +++ b/Mage.Sets/src/mage/cards/c/CoalitionHonorGuard.java @@ -48,8 +48,8 @@ public class CoalitionHonorGuard extends CardImpl { public CoalitionHonorGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Flagbearer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.FLAGBEARER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CoastWatcher.java b/Mage.Sets/src/mage/cards/c/CoastWatcher.java index 713fa18c765..510aedbcea9 100644 --- a/Mage.Sets/src/mage/cards/c/CoastWatcher.java +++ b/Mage.Sets/src/mage/cards/c/CoastWatcher.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class CoastWatcher extends CardImpl { public CoastWatcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CoastalDrake.java b/Mage.Sets/src/mage/cards/c/CoastalDrake.java index 3ca0ff78001..d8fd9eb2643 100644 --- a/Mage.Sets/src/mage/cards/c/CoastalDrake.java +++ b/Mage.Sets/src/mage/cards/c/CoastalDrake.java @@ -51,7 +51,7 @@ public class CoastalDrake extends CardImpl { public CoastalDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CoastalHornclaw.java b/Mage.Sets/src/mage/cards/c/CoastalHornclaw.java index 94c8df34e7f..c41a11017f7 100644 --- a/Mage.Sets/src/mage/cards/c/CoastalHornclaw.java +++ b/Mage.Sets/src/mage/cards/c/CoastalHornclaw.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -53,7 +54,7 @@ public class CoastalHornclaw extends CardImpl { public CoastalHornclaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CoastalWizard.java b/Mage.Sets/src/mage/cards/c/CoastalWizard.java index 5c53eb4d9ab..4b689b32689 100644 --- a/Mage.Sets/src/mage/cards/c/CoastalWizard.java +++ b/Mage.Sets/src/mage/cards/c/CoastalWizard.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -57,8 +58,8 @@ public class CoastalWizard extends CardImpl { public CoastalWizard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CoastlineChimera.java b/Mage.Sets/src/mage/cards/c/CoastlineChimera.java index b8a06e49f86..bfe814eab47 100644 --- a/Mage.Sets/src/mage/cards/c/CoastlineChimera.java +++ b/Mage.Sets/src/mage/cards/c/CoastlineChimera.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class CoastlineChimera extends CardImpl { public CoastlineChimera(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Chimera"); + this.subtype.add(SubType.CHIMERA); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CobaltGolem.java b/Mage.Sets/src/mage/cards/c/CobaltGolem.java index 7df0ab599be..1f806dfcb07 100644 --- a/Mage.Sets/src/mage/cards/c/CobaltGolem.java +++ b/Mage.Sets/src/mage/cards/c/CobaltGolem.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class CobaltGolem extends CardImpl { public CobaltGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(2); this.toughness = new MageInt(3); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{U}"))); diff --git a/Mage.Sets/src/mage/cards/c/Cobblebrute.java b/Mage.Sets/src/mage/cards/c/Cobblebrute.java index 99b200c5b34..503c4b2f03d 100644 --- a/Mage.Sets/src/mage/cards/c/Cobblebrute.java +++ b/Mage.Sets/src/mage/cards/c/Cobblebrute.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class Cobblebrute extends CardImpl { public Cobblebrute (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CobbledWings.java b/Mage.Sets/src/mage/cards/c/CobbledWings.java index 67b0d7b8a86..fed371f2f87 100644 --- a/Mage.Sets/src/mage/cards/c/CobbledWings.java +++ b/Mage.Sets/src/mage/cards/c/CobbledWings.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class CobbledWings extends CardImpl { public CobbledWings(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has flying. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/c/Cockatrice.java b/Mage.Sets/src/mage/cards/c/Cockatrice.java index c1389e91f95..53d0ff12e7c 100644 --- a/Mage.Sets/src/mage/cards/c/Cockatrice.java +++ b/Mage.Sets/src/mage/cards/c/Cockatrice.java @@ -57,7 +57,7 @@ public class Cockatrice extends CardImpl { public Cockatrice(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{G}"); - this.subtype.add("Cockatrice"); + this.subtype.add(SubType.COCKATRICE); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CoffinPuppets.java b/Mage.Sets/src/mage/cards/c/CoffinPuppets.java index 1a53273b65f..55e53caf1bf 100644 --- a/Mage.Sets/src/mage/cards/c/CoffinPuppets.java +++ b/Mage.Sets/src/mage/cards/c/CoffinPuppets.java @@ -63,7 +63,7 @@ public class CoffinPuppets extends CardImpl { public CoffinPuppets(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CoffinQueen.java b/Mage.Sets/src/mage/cards/c/CoffinQueen.java index b51adf9b8d2..ca66fe8f4a0 100644 --- a/Mage.Sets/src/mage/cards/c/CoffinQueen.java +++ b/Mage.Sets/src/mage/cards/c/CoffinQueen.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class CoffinQueen extends CardImpl { public CoffinQueen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/Cognivore.java b/Mage.Sets/src/mage/cards/c/Cognivore.java index 69a735302d0..f1f4cd19b50 100644 --- a/Mage.Sets/src/mage/cards/c/Cognivore.java +++ b/Mage.Sets/src/mage/cards/c/Cognivore.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterCard; @@ -55,7 +56,7 @@ public class Cognivore extends CardImpl { public Cognivore(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{U}{U}"); - this.subtype.add("Lhurgoyf"); + this.subtype.add(SubType.LHURGOYF); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/c/CogworkAssembler.java b/Mage.Sets/src/mage/cards/c/CogworkAssembler.java index 7aa000630d6..650f1962f87 100644 --- a/Mage.Sets/src/mage/cards/c/CogworkAssembler.java +++ b/Mage.Sets/src/mage/cards/c/CogworkAssembler.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.CreateTokenCopyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class CogworkAssembler extends CardImpl { public CogworkAssembler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); - this.subtype.add("Assembly-Worker"); + this.subtype.add(SubType.ASSEMBLY_WORKER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CoiledTinviper.java b/Mage.Sets/src/mage/cards/c/CoiledTinviper.java index 497f3014364..659837bfab1 100644 --- a/Mage.Sets/src/mage/cards/c/CoiledTinviper.java +++ b/Mage.Sets/src/mage/cards/c/CoiledTinviper.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class CoiledTinviper extends CardImpl { public CoiledTinviper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CoilingOracle.java b/Mage.Sets/src/mage/cards/c/CoilingOracle.java index 322db21d7fc..358fa6714b2 100644 --- a/Mage.Sets/src/mage/cards/c/CoilingOracle.java +++ b/Mage.Sets/src/mage/cards/c/CoilingOracle.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.RevealTopLandToBattlefieldElseHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author mluds @@ -42,9 +43,9 @@ public class CoilingOracle extends CardImpl { public CoilingOracle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{U}"); - this.subtype.add("Snake"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CoilingWoodworm.java b/Mage.Sets/src/mage/cards/c/CoilingWoodworm.java index da59c1bc16d..189edae62bf 100644 --- a/Mage.Sets/src/mage/cards/c/CoilingWoodworm.java +++ b/Mage.Sets/src/mage/cards/c/CoilingWoodworm.java @@ -56,8 +56,8 @@ public class CoilingWoodworm extends CardImpl { public CoilingWoodworm(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Insect"); - this.subtype.add("Worm"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.WORM); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ColdEyedSelkie.java b/Mage.Sets/src/mage/cards/c/ColdEyedSelkie.java index 3c3fe6b837b..f488e3cfde4 100644 --- a/Mage.Sets/src/mage/cards/c/ColdEyedSelkie.java +++ b/Mage.Sets/src/mage/cards/c/ColdEyedSelkie.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -48,8 +49,8 @@ public class ColdEyedSelkie extends CardImpl { public ColdEyedSelkie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G/U}{G/U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ColfenorsUrn.java b/Mage.Sets/src/mage/cards/c/ColfenorsUrn.java index ced07045bf0..6f0c415ae1a 100644 --- a/Mage.Sets/src/mage/cards/c/ColfenorsUrn.java +++ b/Mage.Sets/src/mage/cards/c/ColfenorsUrn.java @@ -1,138 +1,138 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.c; - -import java.util.UUID; -import mage.MageObject; -import mage.abilities.Ability; -import mage.abilities.common.BeginningOfEndStepTriggeredAbility; -import mage.abilities.common.PutIntoGraveFromBattlefieldAllTriggeredAbility; -import mage.abilities.condition.Condition; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.ExileTargetForSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.ComparisonType; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.ToughnessPredicate; -import mage.game.ExileZone; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.util.CardUtil; - -/** - * - * @author Styxo - */ -public class ColfenorsUrn extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a creature with toughness 4 or greater"); - - static { - filter.add(new ToughnessPredicate(ComparisonType.MORE_THAN, 3)); - } - - public ColfenorsUrn(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); - - // Whenever a creature with toughness 4 or greater is put into your graveyard from the battlefield, you may exile it. - this.addAbility(new PutIntoGraveFromBattlefieldAllTriggeredAbility(new ExileTargetForSourceEffect(), true, filter, true, true)); - - // At the beginning of the end step, if three or more cards have been exiled with Colfenor's Urn, sacrifice it. If you do, return those cards to the battlefield under their owner's control. - this.addAbility(new BeginningOfEndStepTriggeredAbility(Zone.BATTLEFIELD, new ColfenorsUrnEffect(), TargetController.ANY, new ColfenorsUrnCondition(), false)); - } - - public ColfenorsUrn(final ColfenorsUrn card) { - super(card); - } - - @Override - public ColfenorsUrn copy() { - return new ColfenorsUrn(this); - } -} - -class ColfenorsUrnEffect extends OneShotEffect { - - public ColfenorsUrnEffect() { - super(Outcome.PutCreatureInPlay); - this.staticText = "If you do, return those cards to the battlefield under their owner's control"; - } - - public ColfenorsUrnEffect(final ColfenorsUrnEffect effect) { - super(effect); - } - - @Override - public ColfenorsUrnEffect copy() { - return new ColfenorsUrnEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - Permanent permanent = (Permanent) source.getSourceObjectIfItStillExists(game); - if (controller != null && permanent != null) { - UUID exileId = CardUtil.getCardExileZoneId(game, source); - ExileZone exile = game.getExile().getExileZone(exileId); - if (permanent.sacrifice(source.getSourceId(), game)) { - controller.moveCards(exile.getCards(game), Zone.BATTLEFIELD, source, game); - } - return true; - - } - return false; - } -} - -class ColfenorsUrnCondition implements Condition { - - @Override - public final boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - MageObject sourceObject = game.getObject(source.getSourceId()); - if (controller != null && sourceObject != null) { - UUID exileId = CardUtil.getCardExileZoneId(game, source); - ExileZone exile = game.getExile().getExileZone(exileId); - if (exile != null) { - return exile.size() > 2; - } - } - return false; - } - - @Override - public String toString() { - return "if three or more cards have been exiled with Colfenor's Urn, sacrifice it."; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.c; + +import java.util.UUID; +import mage.MageObject; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfEndStepTriggeredAbility; +import mage.abilities.common.PutIntoGraveFromBattlefieldAllTriggeredAbility; +import mage.abilities.condition.Condition; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.ExileTargetForSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.ComparisonType; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.ToughnessPredicate; +import mage.game.ExileZone; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.util.CardUtil; + +/** + * + * @author Styxo + */ +public class ColfenorsUrn extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("a creature with toughness 4 or greater"); + + static { + filter.add(new ToughnessPredicate(ComparisonType.MORE_THAN, 3)); + } + + public ColfenorsUrn(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); + + // Whenever a creature with toughness 4 or greater is put into your graveyard from the battlefield, you may exile it. + this.addAbility(new PutIntoGraveFromBattlefieldAllTriggeredAbility(new ExileTargetForSourceEffect(), true, filter, true, true)); + + // At the beginning of the end step, if three or more cards have been exiled with Colfenor's Urn, sacrifice it. If you do, return those cards to the battlefield under their owner's control. + this.addAbility(new BeginningOfEndStepTriggeredAbility(Zone.BATTLEFIELD, new ColfenorsUrnEffect(), TargetController.ANY, new ColfenorsUrnCondition(), false)); + } + + public ColfenorsUrn(final ColfenorsUrn card) { + super(card); + } + + @Override + public ColfenorsUrn copy() { + return new ColfenorsUrn(this); + } +} + +class ColfenorsUrnEffect extends OneShotEffect { + + public ColfenorsUrnEffect() { + super(Outcome.PutCreatureInPlay); + this.staticText = "If you do, return those cards to the battlefield under their owner's control"; + } + + public ColfenorsUrnEffect(final ColfenorsUrnEffect effect) { + super(effect); + } + + @Override + public ColfenorsUrnEffect copy() { + return new ColfenorsUrnEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + Permanent permanent = (Permanent) source.getSourceObjectIfItStillExists(game); + if (controller != null && permanent != null) { + UUID exileId = CardUtil.getCardExileZoneId(game, source); + ExileZone exile = game.getExile().getExileZone(exileId); + if (permanent.sacrifice(source.getSourceId(), game)) { + controller.moveCards(exile.getCards(game), Zone.BATTLEFIELD, source, game); + } + return true; + + } + return false; + } +} + +class ColfenorsUrnCondition implements Condition { + + @Override + public final boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + MageObject sourceObject = game.getObject(source.getSourceId()); + if (controller != null && sourceObject != null) { + UUID exileId = CardUtil.getCardExileZoneId(game, source); + ExileZone exile = game.getExile().getExileZone(exileId); + if (exile != null) { + return exile.size() > 2; + } + } + return false; + } + + @Override + public String toString() { + return "if three or more cards have been exiled with Colfenor's Urn, sacrifice it."; + } +} diff --git a/Mage.Sets/src/mage/cards/c/ColosYearling.java b/Mage.Sets/src/mage/cards/c/ColosYearling.java index a9dc44558d5..8940c37bec7 100644 --- a/Mage.Sets/src/mage/cards/c/ColosYearling.java +++ b/Mage.Sets/src/mage/cards/c/ColosYearling.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MountainwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class ColosYearling extends CardImpl { public ColosYearling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goat"); - this.subtype.add("Beast"); + this.subtype.add(SubType.GOAT); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ColossalWhale.java b/Mage.Sets/src/mage/cards/c/ColossalWhale.java index 69e32b2c6a9..ea34c64046f 100644 --- a/Mage.Sets/src/mage/cards/c/ColossalWhale.java +++ b/Mage.Sets/src/mage/cards/c/ColossalWhale.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -58,7 +59,7 @@ public class ColossalWhale extends CardImpl { public ColossalWhale(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Whale"); + this.subtype.add(SubType.WHALE); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/Colossapede.java b/Mage.Sets/src/mage/cards/c/Colossapede.java index a2e914ebccb..15886bd3e29 100644 --- a/Mage.Sets/src/mage/cards/c/Colossapede.java +++ b/Mage.Sets/src/mage/cards/c/Colossapede.java @@ -5,6 +5,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Stravant @@ -13,7 +14,7 @@ public class Colossapede extends CardImpl { public Colossapede(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(5); this.toughness = new MageInt(5); } diff --git a/Mage.Sets/src/mage/cards/c/ColossodonYearling.java b/Mage.Sets/src/mage/cards/c/ColossodonYearling.java index 5b2c30505a7..5dfed80bf97 100644 --- a/Mage.Sets/src/mage/cards/c/ColossodonYearling.java +++ b/Mage.Sets/src/mage/cards/c/ColossodonYearling.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class ColossodonYearling extends CardImpl { public ColossodonYearling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(4); } diff --git a/Mage.Sets/src/mage/cards/c/ColossusOfAkros.java b/Mage.Sets/src/mage/cards/c/ColossusOfAkros.java index a1dccd72bb3..3ecee284304 100644 --- a/Mage.Sets/src/mage/cards/c/ColossusOfAkros.java +++ b/Mage.Sets/src/mage/cards/c/ColossusOfAkros.java @@ -44,6 +44,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class ColossusOfAkros extends CardImpl { public ColossusOfAkros(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{8}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(10); this.toughness = new MageInt(10); diff --git a/Mage.Sets/src/mage/cards/c/ColossusOfSardia.java b/Mage.Sets/src/mage/cards/c/ColossusOfSardia.java index 0d2ab77813e..1bf75b58b99 100644 --- a/Mage.Sets/src/mage/cards/c/ColossusOfSardia.java +++ b/Mage.Sets/src/mage/cards/c/ColossusOfSardia.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class ColossusOfSardia extends CardImpl { public ColossusOfSardia(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{9}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(9); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/c/ComaVeil.java b/Mage.Sets/src/mage/cards/c/ComaVeil.java index c22d198aaac..0284ee55a72 100644 --- a/Mage.Sets/src/mage/cards/c/ComaVeil.java +++ b/Mage.Sets/src/mage/cards/c/ComaVeil.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -58,7 +59,7 @@ public class ComaVeil extends CardImpl { public ComaVeil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact or creature TargetPermanent auraTarget = new TargetPermanent(filter); diff --git a/Mage.Sets/src/mage/cards/c/CombatCelebrant.java b/Mage.Sets/src/mage/cards/c/CombatCelebrant.java index d8069144b75..a5b096a2904 100644 --- a/Mage.Sets/src/mage/cards/c/CombatCelebrant.java +++ b/Mage.Sets/src/mage/cards/c/CombatCelebrant.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ExertAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; /** @@ -47,8 +48,8 @@ public class CombatCelebrant extends CardImpl { public CombatCelebrant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CombatMedic.java b/Mage.Sets/src/mage/cards/c/CombatMedic.java index f6e0dcb23b1..22f4a02f125 100644 --- a/Mage.Sets/src/mage/cards/c/CombatMedic.java +++ b/Mage.Sets/src/mage/cards/c/CombatMedic.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,9 +49,9 @@ public class CombatMedic extends CardImpl { public CombatMedic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CombustibleGearhulk.java b/Mage.Sets/src/mage/cards/c/CombustibleGearhulk.java index 9ea0f7704cd..df92f77e6d5 100644 --- a/Mage.Sets/src/mage/cards/c/CombustibleGearhulk.java +++ b/Mage.Sets/src/mage/cards/c/CombustibleGearhulk.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -55,7 +56,7 @@ public class CombustibleGearhulk extends CardImpl { public CombustibleGearhulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/CommanderCody.java b/Mage.Sets/src/mage/cards/c/CommanderCody.java index 52797ddaa0f..418ab31c201 100644 --- a/Mage.Sets/src/mage/cards/c/CommanderCody.java +++ b/Mage.Sets/src/mage/cards/c/CommanderCody.java @@ -58,8 +58,8 @@ public class CommanderCody extends CardImpl { public CommanderCody(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Trooper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.TROOPER); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/c/CommanderEesha.java b/Mage.Sets/src/mage/cards/c/CommanderEesha.java index d6248b0ce97..e5fea9d91ce 100644 --- a/Mage.Sets/src/mage/cards/c/CommanderEesha.java +++ b/Mage.Sets/src/mage/cards/c/CommanderEesha.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -53,8 +54,8 @@ public class CommanderEesha extends CardImpl { public CommanderEesha(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CommanderGrevenIlVec.java b/Mage.Sets/src/mage/cards/c/CommanderGrevenIlVec.java index ce4b098eb64..6d6dca37ba8 100644 --- a/Mage.Sets/src/mage/cards/c/CommanderGrevenIlVec.java +++ b/Mage.Sets/src/mage/cards/c/CommanderGrevenIlVec.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.StaticFilters; @@ -47,8 +48,8 @@ public class CommanderGrevenIlVec extends CardImpl { public CommanderGrevenIlVec(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(7); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CommandersAuthority.java b/Mage.Sets/src/mage/cards/c/CommandersAuthority.java index 4f4fd540126..23889904546 100644 --- a/Mage.Sets/src/mage/cards/c/CommandersAuthority.java +++ b/Mage.Sets/src/mage/cards/c/CommandersAuthority.java @@ -50,7 +50,7 @@ public class CommandersAuthority extends CardImpl { public CommandersAuthority(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/c/CompanionOfTheTrials.java b/Mage.Sets/src/mage/cards/c/CompanionOfTheTrials.java index 9c5060911a8..3cba42bb5c0 100644 --- a/Mage.Sets/src/mage/cards/c/CompanionOfTheTrials.java +++ b/Mage.Sets/src/mage/cards/c/CompanionOfTheTrials.java @@ -59,8 +59,8 @@ public class CompanionOfTheTrials extends CardImpl { public CompanionOfTheTrials(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ComplexAutomaton.java b/Mage.Sets/src/mage/cards/c/ComplexAutomaton.java index a1b9729bac0..d6eba4f2c8c 100644 --- a/Mage.Sets/src/mage/cards/c/ComplexAutomaton.java +++ b/Mage.Sets/src/mage/cards/c/ComplexAutomaton.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; @@ -50,7 +51,7 @@ public class ComplexAutomaton extends CardImpl { public ComplexAutomaton(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CompositeGolem.java b/Mage.Sets/src/mage/cards/c/CompositeGolem.java index 3331e85ad88..7ffb48b7977 100644 --- a/Mage.Sets/src/mage/cards/c/CompositeGolem.java +++ b/Mage.Sets/src/mage/cards/c/CompositeGolem.java @@ -35,6 +35,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class CompositeGolem extends CardImpl { public CompositeGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CompulsoryRest.java b/Mage.Sets/src/mage/cards/c/CompulsoryRest.java index 24eae26442e..4056b898551 100644 --- a/Mage.Sets/src/mage/cards/c/CompulsoryRest.java +++ b/Mage.Sets/src/mage/cards/c/CompulsoryRest.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class CompulsoryRest extends CardImpl { public CompulsoryRest(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/ConclaveEquenaut.java b/Mage.Sets/src/mage/cards/c/ConclaveEquenaut.java index a74c5c3fe60..9526a1fa8fa 100644 --- a/Mage.Sets/src/mage/cards/c/ConclaveEquenaut.java +++ b/Mage.Sets/src/mage/cards/c/ConclaveEquenaut.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ConclaveEquenaut extends CardImpl { public ConclaveEquenaut(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/ConclaveNaturalists.java b/Mage.Sets/src/mage/cards/c/ConclaveNaturalists.java index 2b85bbf7b6a..73c925df3c3 100644 --- a/Mage.Sets/src/mage/cards/c/ConclaveNaturalists.java +++ b/Mage.Sets/src/mage/cards/c/ConclaveNaturalists.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -47,7 +48,7 @@ public class ConclaveNaturalists extends CardImpl { public ConclaveNaturalists(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ConclavePhalanx.java b/Mage.Sets/src/mage/cards/c/ConclavePhalanx.java index ca932999f1c..a6e6d4f8280 100644 --- a/Mage.Sets/src/mage/cards/c/ConclavePhalanx.java +++ b/Mage.Sets/src/mage/cards/c/ConclavePhalanx.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ConvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; /** @@ -46,8 +47,8 @@ public class ConclavePhalanx extends CardImpl { public ConclavePhalanx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ConclavesBlessing.java b/Mage.Sets/src/mage/cards/c/ConclavesBlessing.java index 6f2ab57eaf9..a7c3c88a83a 100644 --- a/Mage.Sets/src/mage/cards/c/ConclavesBlessing.java +++ b/Mage.Sets/src/mage/cards/c/ConclavesBlessing.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class ConclavesBlessing extends CardImpl { public ConclavesBlessing(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Convoke this.addAbility(new ConvokeAbility()); diff --git a/Mage.Sets/src/mage/cards/c/ConcordiaPegasus.java b/Mage.Sets/src/mage/cards/c/ConcordiaPegasus.java index 972b98055ba..0552441018e 100644 --- a/Mage.Sets/src/mage/cards/c/ConcordiaPegasus.java +++ b/Mage.Sets/src/mage/cards/c/ConcordiaPegasus.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ConcordiaPegasus extends CardImpl { public ConcordiaPegasus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Pegasus"); + this.subtype.add(SubType.PEGASUS); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/ConduitOfEmrakul.java b/Mage.Sets/src/mage/cards/c/ConduitOfEmrakul.java index 0edb9d0e101..6c9e354279d 100644 --- a/Mage.Sets/src/mage/cards/c/ConduitOfEmrakul.java +++ b/Mage.Sets/src/mage/cards/c/ConduitOfEmrakul.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,8 +49,8 @@ public class ConduitOfEmrakul extends CardImpl { public ConduitOfEmrakul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Eldrazi"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ConduitOfRuin.java b/Mage.Sets/src/mage/cards/c/ConduitOfRuin.java index df714e3bd72..b24a933ae8b 100644 --- a/Mage.Sets/src/mage/cards/c/ConduitOfRuin.java +++ b/Mage.Sets/src/mage/cards/c/ConduitOfRuin.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutOnLibraryEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.WatcherScope; import mage.constants.Zone; @@ -70,7 +71,7 @@ public class ConduitOfRuin extends CardImpl { public ConduitOfRuin(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/ConduitOfStorms.java b/Mage.Sets/src/mage/cards/c/ConduitOfStorms.java index 21dc6e752ab..e3451bfc895 100644 --- a/Mage.Sets/src/mage/cards/c/ConduitOfStorms.java +++ b/Mage.Sets/src/mage/cards/c/ConduitOfStorms.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -53,8 +54,8 @@ public class ConduitOfStorms extends CardImpl { public ConduitOfStorms(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Werewolf"); - this.subtype.add("Horror"); + this.subtype.add(SubType.WEREWOLF); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/Confessor.java b/Mage.Sets/src/mage/cards/c/Confessor.java index 759f18be1b4..3ab080f4f2c 100644 --- a/Mage.Sets/src/mage/cards/c/Confessor.java +++ b/Mage.Sets/src/mage/cards/c/Confessor.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.events.GameEvent.EventType; @@ -45,8 +46,8 @@ public class Confessor extends CardImpl { public Confessor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/Confiscate.java b/Mage.Sets/src/mage/cards/c/Confiscate.java index b5418a06bf3..773b845c386 100644 --- a/Mage.Sets/src/mage/cards/c/Confiscate.java +++ b/Mage.Sets/src/mage/cards/c/Confiscate.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -48,7 +49,7 @@ public class Confiscate extends CardImpl { public Confiscate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant permanent diff --git a/Mage.Sets/src/mage/cards/c/ConiferStrider.java b/Mage.Sets/src/mage/cards/c/ConiferStrider.java index f2f672e8934..7b8be0d3ea0 100644 --- a/Mage.Sets/src/mage/cards/c/ConiferStrider.java +++ b/Mage.Sets/src/mage/cards/c/ConiferStrider.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ConiferStrider extends CardImpl { public ConiferStrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/Conquer.java b/Mage.Sets/src/mage/cards/c/Conquer.java index 1da4a1fd335..6555c10a023 100644 --- a/Mage.Sets/src/mage/cards/c/Conquer.java +++ b/Mage.Sets/src/mage/cards/c/Conquer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class Conquer extends CardImpl { public Conquer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{R}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/c/ConqueringManticore.java b/Mage.Sets/src/mage/cards/c/ConqueringManticore.java index af25fb2150e..21b369bbd5f 100644 --- a/Mage.Sets/src/mage/cards/c/ConqueringManticore.java +++ b/Mage.Sets/src/mage/cards/c/ConqueringManticore.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -50,7 +51,7 @@ public class ConqueringManticore extends CardImpl { public ConqueringManticore(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Manticore"); + this.subtype.add(SubType.MANTICORE); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/ConquerorsFlail.java b/Mage.Sets/src/mage/cards/c/ConquerorsFlail.java index 349ff190712..a18c86f10ba 100644 --- a/Mage.Sets/src/mage/cards/c/ConquerorsFlail.java +++ b/Mage.Sets/src/mage/cards/c/ConquerorsFlail.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class ConquerorsFlail extends CardImpl { public ConquerorsFlail(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+1 for each color among permanents you control. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new ConquerorsFlailColorCount(), new ConquerorsFlailColorCount(), Duration.WhileOnBattlefield))); diff --git a/Mage.Sets/src/mage/cards/c/ConquerorsGalleon.java b/Mage.Sets/src/mage/cards/c/ConquerorsGalleon.java index beefa13d4d1..aed4a492000 100644 --- a/Mage.Sets/src/mage/cards/c/ConquerorsGalleon.java +++ b/Mage.Sets/src/mage/cards/c/ConquerorsGalleon.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -48,7 +49,7 @@ public class ConquerorsGalleon extends CardImpl { public ConquerorsGalleon(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); - this.subtype.add("Vehicle"); + this.subtype.add(SubType.VEHICLE); this.power = new MageInt(2); this.toughness = new MageInt(10); diff --git a/Mage.Sets/src/mage/cards/c/ConsecrateLand.java b/Mage.Sets/src/mage/cards/c/ConsecrateLand.java index 843a536587f..6f406002071 100644 --- a/Mage.Sets/src/mage/cards/c/ConsecrateLand.java +++ b/Mage.Sets/src/mage/cards/c/ConsecrateLand.java @@ -54,7 +54,7 @@ public class ConsecrateLand extends CardImpl { public ConsecrateLand(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/c/ConsecratedByBlood.java b/Mage.Sets/src/mage/cards/c/ConsecratedByBlood.java index b65e7cb50c4..0c93d79adef 100644 --- a/Mage.Sets/src/mage/cards/c/ConsecratedByBlood.java +++ b/Mage.Sets/src/mage/cards/c/ConsecratedByBlood.java @@ -63,7 +63,7 @@ public class ConsecratedByBlood extends CardImpl { public ConsecratedByBlood(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/ConsecratedSphinx.java b/Mage.Sets/src/mage/cards/c/ConsecratedSphinx.java index bf06bfc1f8a..53c0ad0ab26 100644 --- a/Mage.Sets/src/mage/cards/c/ConsecratedSphinx.java +++ b/Mage.Sets/src/mage/cards/c/ConsecratedSphinx.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -48,7 +49,7 @@ public class ConsecratedSphinx extends CardImpl { public ConsecratedSphinx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/ConsignOblivion.java b/Mage.Sets/src/mage/cards/c/ConsignOblivion.java index 54d3599a867..dfd284e6675 100644 --- a/Mage.Sets/src/mage/cards/c/ConsignOblivion.java +++ b/Mage.Sets/src/mage/cards/c/ConsignOblivion.java @@ -1,72 +1,72 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.c; - -import java.util.UUID; -import mage.abilities.effects.common.ReturnToHandTargetEffect; -import mage.abilities.effects.common.discard.DiscardTargetEffect; -import mage.abilities.keyword.AftermathAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.SplitCard; -import mage.constants.CardType; -import mage.constants.SpellAbilityType; -import mage.target.common.TargetNonlandPermanent; -import mage.target.common.TargetOpponent; - -/** - * - * @author LevelX2 - */ -public class ConsignOblivion extends SplitCard { - - public ConsignOblivion(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, new CardType[]{CardType.SORCERY}, "{1}{U}", "{4}{B}", SpellAbilityType.SPLIT_AFTERMATH); - - // Return target nonland permanent to its owner's hand. - getLeftHalfCard().getSpellAbility().addEffect(new ReturnToHandTargetEffect()); - getLeftHalfCard().getSpellAbility().addTarget(new TargetNonlandPermanent()); - - // Oblivion {4}{B} - // Sorcery - // Aftermath - ((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility().setRuleAtTheTop(true)); - // Target opponent discards two cards. - getRightHalfCard().getSpellAbility().addEffect(new DiscardTargetEffect(2)); - getRightHalfCard().getSpellAbility().addTarget(new TargetOpponent()); - } - - public ConsignOblivion(final ConsignOblivion card) { - super(card); - } - - @Override - public ConsignOblivion copy() { - return new ConsignOblivion(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.c; + +import java.util.UUID; +import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.abilities.effects.common.discard.DiscardTargetEffect; +import mage.abilities.keyword.AftermathAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.SplitCard; +import mage.constants.CardType; +import mage.constants.SpellAbilityType; +import mage.target.common.TargetNonlandPermanent; +import mage.target.common.TargetOpponent; + +/** + * + * @author LevelX2 + */ +public class ConsignOblivion extends SplitCard { + + public ConsignOblivion(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, new CardType[]{CardType.SORCERY}, "{1}{U}", "{4}{B}", SpellAbilityType.SPLIT_AFTERMATH); + + // Return target nonland permanent to its owner's hand. + getLeftHalfCard().getSpellAbility().addEffect(new ReturnToHandTargetEffect()); + getLeftHalfCard().getSpellAbility().addTarget(new TargetNonlandPermanent()); + + // Oblivion {4}{B} + // Sorcery + // Aftermath + ((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility().setRuleAtTheTop(true)); + // Target opponent discards two cards. + getRightHalfCard().getSpellAbility().addEffect(new DiscardTargetEffect(2)); + getRightHalfCard().getSpellAbility().addTarget(new TargetOpponent()); + } + + public ConsignOblivion(final ConsignOblivion card) { + super(card); + } + + @Override + public ConsignOblivion copy() { + return new ConsignOblivion(this); + } +} diff --git a/Mage.Sets/src/mage/cards/c/ConstrictingSliver.java b/Mage.Sets/src/mage/cards/c/ConstrictingSliver.java index 8b3284ce158..0ba5e8c004d 100644 --- a/Mage.Sets/src/mage/cards/c/ConstrictingSliver.java +++ b/Mage.Sets/src/mage/cards/c/ConstrictingSliver.java @@ -62,7 +62,7 @@ public class ConstrictingSliver extends CardImpl { public ConstrictingSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/ConsulateSkygate.java b/Mage.Sets/src/mage/cards/c/ConsulateSkygate.java index 83e9e52bfb5..20a42f1e718 100644 --- a/Mage.Sets/src/mage/cards/c/ConsulateSkygate.java +++ b/Mage.Sets/src/mage/cards/c/ConsulateSkygate.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class ConsulateSkygate extends CardImpl { public ConsulateSkygate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ConsulsLieutenant.java b/Mage.Sets/src/mage/cards/c/ConsulsLieutenant.java index 805ab0cb21e..f801dec3924 100644 --- a/Mage.Sets/src/mage/cards/c/ConsulsLieutenant.java +++ b/Mage.Sets/src/mage/cards/c/ConsulsLieutenant.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.RenownAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterAttackingCreature; @@ -49,8 +50,8 @@ public class ConsulsLieutenant extends CardImpl { public ConsulsLieutenant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ConsulsShieldguard.java b/Mage.Sets/src/mage/cards/c/ConsulsShieldguard.java index 885b14e914b..60e62aa9201 100644 --- a/Mage.Sets/src/mage/cards/c/ConsulsShieldguard.java +++ b/Mage.Sets/src/mage/cards/c/ConsulsShieldguard.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterAttackingCreature; import mage.filter.predicate.permanent.AnotherPredicate; @@ -59,8 +60,8 @@ public class ConsulsShieldguard extends CardImpl { public ConsulsShieldguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Dwarf"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ConsumingAberration.java b/Mage.Sets/src/mage/cards/c/ConsumingAberration.java index 0978d139d00..1928b372c7b 100644 --- a/Mage.Sets/src/mage/cards/c/ConsumingAberration.java +++ b/Mage.Sets/src/mage/cards/c/ConsumingAberration.java @@ -38,6 +38,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class ConsumingAberration extends CardImpl { public ConsumingAberration(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/c/ConsumingBonfire.java b/Mage.Sets/src/mage/cards/c/ConsumingBonfire.java index dcc0c582477..ba2eb347af1 100644 --- a/Mage.Sets/src/mage/cards/c/ConsumingBonfire.java +++ b/Mage.Sets/src/mage/cards/c/ConsumingBonfire.java @@ -59,7 +59,7 @@ public class ConsumingBonfire extends CardImpl { public ConsumingBonfire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.SORCERY},"{3}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); // Choose one - Consuming Bonfire deals 4 damage to target non-Elemental creature; this.getSpellAbility().addTarget(new TargetPermanent(filter)); diff --git a/Mage.Sets/src/mage/cards/c/ConsumingFerocity.java b/Mage.Sets/src/mage/cards/c/ConsumingFerocity.java index ec6996e2c97..f8801a61a44 100644 --- a/Mage.Sets/src/mage/cards/c/ConsumingFerocity.java +++ b/Mage.Sets/src/mage/cards/c/ConsumingFerocity.java @@ -71,7 +71,7 @@ public class ConsumingFerocity extends CardImpl { public ConsumingFerocity(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant non-Wall creature TargetPermanent auraTarget = new TargetPermanent(filter); diff --git a/Mage.Sets/src/mage/cards/c/ConsumingFervor.java b/Mage.Sets/src/mage/cards/c/ConsumingFervor.java index d704b56ac3a..59e8b751a00 100644 --- a/Mage.Sets/src/mage/cards/c/ConsumingFervor.java +++ b/Mage.Sets/src/mage/cards/c/ConsumingFervor.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -58,7 +59,7 @@ public class ConsumingFervor extends CardImpl { public ConsumingFervor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/ConsumingVortex.java b/Mage.Sets/src/mage/cards/c/ConsumingVortex.java index 83e17c50c54..ccfdd94653f 100644 --- a/Mage.Sets/src/mage/cards/c/ConsumingVortex.java +++ b/Mage.Sets/src/mage/cards/c/ConsumingVortex.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SpliceOntoArcaneAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -43,7 +44,7 @@ public class ConsumingVortex extends CardImpl { public ConsumingVortex(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{U}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Return target creature to its owner's hand. diff --git a/Mage.Sets/src/mage/cards/c/ConsumptiveGoo.java b/Mage.Sets/src/mage/cards/c/ConsumptiveGoo.java index 5f583a27da9..9257f20e0d3 100644 --- a/Mage.Sets/src/mage/cards/c/ConsumptiveGoo.java +++ b/Mage.Sets/src/mage/cards/c/ConsumptiveGoo.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -50,7 +51,7 @@ public class ConsumptiveGoo extends CardImpl { public ConsumptiveGoo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Ooze"); + this.subtype.add(SubType.OOZE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/ContagiousNim.java b/Mage.Sets/src/mage/cards/c/ContagiousNim.java index 3ea14c890c2..08e5707722c 100644 --- a/Mage.Sets/src/mage/cards/c/ContagiousNim.java +++ b/Mage.Sets/src/mage/cards/c/ContagiousNim.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class ContagiousNim extends CardImpl { public ContagiousNim (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ContainmentMembrane.java b/Mage.Sets/src/mage/cards/c/ContainmentMembrane.java index a5ace7825e7..476c4e215d6 100644 --- a/Mage.Sets/src/mage/cards/c/ContainmentMembrane.java +++ b/Mage.Sets/src/mage/cards/c/ContainmentMembrane.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.SurgeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class ContainmentMembrane extends CardImpl { public ContainmentMembrane(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/ContainmentPriest.java b/Mage.Sets/src/mage/cards/c/ContainmentPriest.java index ed8b24fbc49..d93809301e7 100644 --- a/Mage.Sets/src/mage/cards/c/ContainmentPriest.java +++ b/Mage.Sets/src/mage/cards/c/ContainmentPriest.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class ContainmentPriest extends CardImpl { public ContainmentPriest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/ContaminatedBond.java b/Mage.Sets/src/mage/cards/c/ContaminatedBond.java index a421fb7b92b..d2b4646db9f 100644 --- a/Mage.Sets/src/mage/cards/c/ContaminatedBond.java +++ b/Mage.Sets/src/mage/cards/c/ContaminatedBond.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class ContaminatedBond extends CardImpl { public ContaminatedBond(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/ContaminatedGround.java b/Mage.Sets/src/mage/cards/c/ContaminatedGround.java index 7b7d6f289e6..56fcd127351 100644 --- a/Mage.Sets/src/mage/cards/c/ContaminatedGround.java +++ b/Mage.Sets/src/mage/cards/c/ContaminatedGround.java @@ -52,7 +52,7 @@ public class ContaminatedGround extends CardImpl { public ContaminatedGround(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/c/ContrabandKingpin.java b/Mage.Sets/src/mage/cards/c/ContrabandKingpin.java index f2252cc42ad..2b9316574ee 100644 --- a/Mage.Sets/src/mage/cards/c/ContrabandKingpin.java +++ b/Mage.Sets/src/mage/cards/c/ContrabandKingpin.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; @@ -46,8 +47,8 @@ public class ContrabandKingpin extends CardImpl { public ContrabandKingpin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}"); - this.subtype.add("Aetherborn"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.AETHERBORN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/ControlMagic.java b/Mage.Sets/src/mage/cards/c/ControlMagic.java index c85056dd72d..fd5b3b734a2 100644 --- a/Mage.Sets/src/mage/cards/c/ControlMagic.java +++ b/Mage.Sets/src/mage/cards/c/ControlMagic.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class ControlMagic extends CardImpl { public ControlMagic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/c/ControlledInstincts.java b/Mage.Sets/src/mage/cards/c/ControlledInstincts.java index d30cb857c76..0c2f9f82620 100644 --- a/Mage.Sets/src/mage/cards/c/ControlledInstincts.java +++ b/Mage.Sets/src/mage/cards/c/ControlledInstincts.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -60,7 +61,7 @@ public class ControlledInstincts extends CardImpl { public ControlledInstincts(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant red or green creature diff --git a/Mage.Sets/src/mage/cards/c/ConvictedKiller.java b/Mage.Sets/src/mage/cards/c/ConvictedKiller.java index 7bfd9c9c346..33a40f929dd 100644 --- a/Mage.Sets/src/mage/cards/c/ConvictedKiller.java +++ b/Mage.Sets/src/mage/cards/c/ConvictedKiller.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.b.BrandedHowler; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -49,8 +50,8 @@ public class ConvictedKiller extends CardImpl { public ConvictedKiller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/Conviction.java b/Mage.Sets/src/mage/cards/c/Conviction.java index cf4580b25ff..137b86e9d3a 100644 --- a/Mage.Sets/src/mage/cards/c/Conviction.java +++ b/Mage.Sets/src/mage/cards/c/Conviction.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class Conviction extends CardImpl { public Conviction(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/ConvincingMirage.java b/Mage.Sets/src/mage/cards/c/ConvincingMirage.java index ce546f20c7e..a461b51e031 100644 --- a/Mage.Sets/src/mage/cards/c/ConvincingMirage.java +++ b/Mage.Sets/src/mage/cards/c/ConvincingMirage.java @@ -52,7 +52,7 @@ public class ConvincingMirage extends CardImpl { public ConvincingMirage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/c/ConvulsingLicid.java b/Mage.Sets/src/mage/cards/c/ConvulsingLicid.java index e0cd1f3321f..de1edf40ef2 100644 --- a/Mage.Sets/src/mage/cards/c/ConvulsingLicid.java +++ b/Mage.Sets/src/mage/cards/c/ConvulsingLicid.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class ConvulsingLicid extends CardImpl { public ConvulsingLicid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Licid"); + this.subtype.add(SubType.LICID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CopperCarapace.java b/Mage.Sets/src/mage/cards/c/CopperCarapace.java index e1d55f6d6d4..a57e232c19e 100644 --- a/Mage.Sets/src/mage/cards/c/CopperCarapace.java +++ b/Mage.Sets/src/mage/cards/c/CopperCarapace.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class CopperCarapace extends CardImpl { public CopperCarapace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(3))); // Equipped creature gets +2/+2 and can't block. diff --git a/Mage.Sets/src/mage/cards/c/CopperGnomes.java b/Mage.Sets/src/mage/cards/c/CopperGnomes.java index d8f07519b2e..d926d333a85 100644 --- a/Mage.Sets/src/mage/cards/c/CopperGnomes.java +++ b/Mage.Sets/src/mage/cards/c/CopperGnomes.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.PutPermanentOnBattlefieldEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterArtifactCard; @@ -48,7 +49,7 @@ public class CopperGnomes extends CardImpl { public CopperGnomes(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}"); - this.subtype.add("Gnome"); + this.subtype.add(SubType.GNOME); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CopperLeafAngel.java b/Mage.Sets/src/mage/cards/c/CopperLeafAngel.java index 27fb1d19b59..80250266920 100644 --- a/Mage.Sets/src/mage/cards/c/CopperLeafAngel.java +++ b/Mage.Sets/src/mage/cards/c/CopperLeafAngel.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledLandPermanent; @@ -52,7 +53,7 @@ public class CopperLeafAngel extends CardImpl { public CopperLeafAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{5}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CopperMyr.java b/Mage.Sets/src/mage/cards/c/CopperMyr.java index 20859bcb57a..cd8cfafecc5 100644 --- a/Mage.Sets/src/mage/cards/c/CopperMyr.java +++ b/Mage.Sets/src/mage/cards/c/CopperMyr.java @@ -34,6 +34,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CopperMyr extends CardImpl { public CopperMyr (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(new GreenManaAbility()); diff --git a/Mage.Sets/src/mage/cards/c/CopperhoofVorrac.java b/Mage.Sets/src/mage/cards/c/CopperhoofVorrac.java index 82c52854077..11ed989f77a 100644 --- a/Mage.Sets/src/mage/cards/c/CopperhoofVorrac.java +++ b/Mage.Sets/src/mage/cards/c/CopperhoofVorrac.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -59,8 +60,8 @@ public class CopperhoofVorrac extends CardImpl { public CopperhoofVorrac(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Boar"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BOAR); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CopperhornScout.java b/Mage.Sets/src/mage/cards/c/CopperhornScout.java index b66d546c7a4..c7229c0991f 100644 --- a/Mage.Sets/src/mage/cards/c/CopperhornScout.java +++ b/Mage.Sets/src/mage/cards/c/CopperhornScout.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -52,8 +53,8 @@ public class CopperhornScout extends CardImpl { public CopperhornScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CoralBarrier.java b/Mage.Sets/src/mage/cards/c/CoralBarrier.java index 00fe2e40a87..1e6f30411d8 100644 --- a/Mage.Sets/src/mage/cards/c/CoralBarrier.java +++ b/Mage.Sets/src/mage/cards/c/CoralBarrier.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.CoralBarrierSquidToken; /** @@ -45,7 +46,7 @@ public class CoralBarrier extends CardImpl { public CoralBarrier(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CoralEel.java b/Mage.Sets/src/mage/cards/c/CoralEel.java index 96b2e141f49..fc3478e1132 100644 --- a/Mage.Sets/src/mage/cards/c/CoralEel.java +++ b/Mage.Sets/src/mage/cards/c/CoralEel.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class CoralEel extends CardImpl { public CoralEel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Fish"); + this.subtype.add(SubType.FISH); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CoralFighters.java b/Mage.Sets/src/mage/cards/c/CoralFighters.java index fa38a081a69..8234bd16041 100644 --- a/Mage.Sets/src/mage/cards/c/CoralFighters.java +++ b/Mage.Sets/src/mage/cards/c/CoralFighters.java @@ -34,6 +34,7 @@ import mage.abilities.common.AttacksAndIsNotBlockedTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -47,8 +48,8 @@ public class CoralFighters extends CardImpl { public CoralFighters(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CoralMerfolk.java b/Mage.Sets/src/mage/cards/c/CoralMerfolk.java index baf29120329..b254d1bf375 100644 --- a/Mage.Sets/src/mage/cards/c/CoralMerfolk.java +++ b/Mage.Sets/src/mage/cards/c/CoralMerfolk.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CoralMerfolk extends CardImpl { public CoralMerfolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(2); this.toughness = new MageInt(1); } diff --git a/Mage.Sets/src/mage/cards/c/CoralNet.java b/Mage.Sets/src/mage/cards/c/CoralNet.java index 1d84e39e407..b66d5404b1a 100644 --- a/Mage.Sets/src/mage/cards/c/CoralNet.java +++ b/Mage.Sets/src/mage/cards/c/CoralNet.java @@ -64,7 +64,7 @@ public class CoralNet extends CardImpl { public CoralNet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant green or white creature TargetPermanent auraTarget = new TargetCreaturePermanent(filter); diff --git a/Mage.Sets/src/mage/cards/c/CoralTrickster.java b/Mage.Sets/src/mage/cards/c/CoralTrickster.java index 967b1231f60..5a995797ccf 100644 --- a/Mage.Sets/src/mage/cards/c/CoralTrickster.java +++ b/Mage.Sets/src/mage/cards/c/CoralTrickster.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPermanent; /** @@ -47,8 +48,8 @@ public class CoralTrickster extends CardImpl { public CoralTrickster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CoralhelmCommander.java b/Mage.Sets/src/mage/cards/c/CoralhelmCommander.java index 2a6416db6b5..f7e49593649 100644 --- a/Mage.Sets/src/mage/cards/c/CoralhelmCommander.java +++ b/Mage.Sets/src/mage/cards/c/CoralhelmCommander.java @@ -61,8 +61,8 @@ public class CoralhelmCommander extends LevelerCard { public CoralhelmCommander(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.color.setBlue(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CoralhelmGuide.java b/Mage.Sets/src/mage/cards/c/CoralhelmGuide.java index 48c593198e4..1d3328e5216 100644 --- a/Mage.Sets/src/mage/cards/c/CoralhelmGuide.java +++ b/Mage.Sets/src/mage/cards/c/CoralhelmGuide.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,9 +49,9 @@ public class CoralhelmGuide extends CardImpl { public CoralhelmGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Scout"); - this.subtype.add("Ally"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SCOUT); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CoreProwler.java b/Mage.Sets/src/mage/cards/c/CoreProwler.java index 66a792e2dce..47dec4fe8e8 100644 --- a/Mage.Sets/src/mage/cards/c/CoreProwler.java +++ b/Mage.Sets/src/mage/cards/c/CoreProwler.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class CoreProwler extends CardImpl { public CoreProwler (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(InfectAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/c/CorellianCorvette.java b/Mage.Sets/src/mage/cards/c/CorellianCorvette.java index dfe55a0ee7d..9b7af57ccc9 100644 --- a/Mage.Sets/src/mage/cards/c/CorellianCorvette.java +++ b/Mage.Sets/src/mage/cards/c/CorellianCorvette.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.SpaceflightAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CorellianCorvette extends CardImpl { public CorellianCorvette(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{G}"); - this.subtype.add("Starship"); + this.subtype.add(SubType.STARSHIP); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/Coretapper.java b/Mage.Sets/src/mage/cards/c/Coretapper.java index 1130d1b06a9..2a95d0627b5 100644 --- a/Mage.Sets/src/mage/cards/c/Coretapper.java +++ b/Mage.Sets/src/mage/cards/c/Coretapper.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; @@ -57,7 +58,7 @@ public class Coretapper extends CardImpl { public Coretapper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(1); Ability firstAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.CHARGE.createInstance()), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/c/CorpseAugur.java b/Mage.Sets/src/mage/cards/c/CorpseAugur.java index 4b3629df341..4022c7f6ee0 100644 --- a/Mage.Sets/src/mage/cards/c/CorpseAugur.java +++ b/Mage.Sets/src/mage/cards/c/CorpseAugur.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.target.TargetPlayer; @@ -49,8 +50,8 @@ public class CorpseAugur extends CardImpl { public CorpseAugur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CorpseBlockade.java b/Mage.Sets/src/mage/cards/c/CorpseBlockade.java index f2861fccf41..a14f89f231e 100644 --- a/Mage.Sets/src/mage/cards/c/CorpseBlockade.java +++ b/Mage.Sets/src/mage/cards/c/CorpseBlockade.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -50,7 +51,7 @@ public class CorpseBlockade extends CardImpl { public CorpseBlockade(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CorpseConnoisseur.java b/Mage.Sets/src/mage/cards/c/CorpseConnoisseur.java index 6fad3c8e83f..47efd67b94d 100644 --- a/Mage.Sets/src/mage/cards/c/CorpseConnoisseur.java +++ b/Mage.Sets/src/mage/cards/c/CorpseConnoisseur.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -53,8 +54,8 @@ public class CorpseConnoisseur extends CardImpl { public CorpseConnoisseur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CorpseCur.java b/Mage.Sets/src/mage/cards/c/CorpseCur.java index f6f18740f69..e7f9506fb89 100644 --- a/Mage.Sets/src/mage/cards/c/CorpseCur.java +++ b/Mage.Sets/src/mage/cards/c/CorpseCur.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.AbilityPredicate; import mage.target.common.TargetCardInYourGraveyard; @@ -55,7 +56,7 @@ public class CorpseCur extends CardImpl { public CorpseCur (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(InfectAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/c/CorpseHarvester.java b/Mage.Sets/src/mage/cards/c/CorpseHarvester.java index 40c9100a3a8..17444dcf118 100644 --- a/Mage.Sets/src/mage/cards/c/CorpseHarvester.java +++ b/Mage.Sets/src/mage/cards/c/CorpseHarvester.java @@ -63,8 +63,8 @@ public class CorpseHarvester extends CardImpl { public CorpseHarvester(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CorpseHauler.java b/Mage.Sets/src/mage/cards/c/CorpseHauler.java index c36da250bde..699208df105 100644 --- a/Mage.Sets/src/mage/cards/c/CorpseHauler.java +++ b/Mage.Sets/src/mage/cards/c/CorpseHauler.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.AnotherCardPredicate; @@ -57,8 +58,8 @@ public class CorpseHauler extends CardImpl { public CorpseHauler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CorpseTraders.java b/Mage.Sets/src/mage/cards/c/CorpseTraders.java index 5dc86898d95..182abdc3b5c 100644 --- a/Mage.Sets/src/mage/cards/c/CorpseTraders.java +++ b/Mage.Sets/src/mage/cards/c/CorpseTraders.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardCardYouChooseTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetOpponent; @@ -48,8 +49,8 @@ public class CorpseTraders extends CardImpl { public CorpseTraders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CorpsejackMenace.java b/Mage.Sets/src/mage/cards/c/CorpsejackMenace.java index 82ba7a9bd02..57ea6563351 100644 --- a/Mage.Sets/src/mage/cards/c/CorpsejackMenace.java +++ b/Mage.Sets/src/mage/cards/c/CorpsejackMenace.java @@ -35,6 +35,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class CorpsejackMenace extends CardImpl { public CorpsejackMenace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CorpulentCorpse.java b/Mage.Sets/src/mage/cards/c/CorpulentCorpse.java index c383a5db9e3..db2b7ae1b9a 100644 --- a/Mage.Sets/src/mage/cards/c/CorpulentCorpse.java +++ b/Mage.Sets/src/mage/cards/c/CorpulentCorpse.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class CorpulentCorpse extends CardImpl { public CorpulentCorpse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CorrosiveMentor.java b/Mage.Sets/src/mage/cards/c/CorrosiveMentor.java index 97a27cd5f9d..47e874a0749 100644 --- a/Mage.Sets/src/mage/cards/c/CorrosiveMentor.java +++ b/Mage.Sets/src/mage/cards/c/CorrosiveMentor.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -55,8 +56,8 @@ public class CorrosiveMentor extends CardImpl { public CorrosiveMentor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Elemental"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CorruptCourtOfficial.java b/Mage.Sets/src/mage/cards/c/CorruptCourtOfficial.java index ece971b5d24..854dbaf2651 100644 --- a/Mage.Sets/src/mage/cards/c/CorruptCourtOfficial.java +++ b/Mage.Sets/src/mage/cards/c/CorruptCourtOfficial.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetOpponent; /** @@ -45,8 +46,8 @@ public class CorruptCourtOfficial extends CardImpl { public CorruptCourtOfficial(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CorruptEunuchs.java b/Mage.Sets/src/mage/cards/c/CorruptEunuchs.java index e0009bee6e6..4cb46225a54 100644 --- a/Mage.Sets/src/mage/cards/c/CorruptEunuchs.java +++ b/Mage.Sets/src/mage/cards/c/CorruptEunuchs.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -45,8 +46,8 @@ public class CorruptEunuchs extends CardImpl { public CorruptEunuchs(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CorruptOfficial.java b/Mage.Sets/src/mage/cards/c/CorruptOfficial.java index 461e8b0d6ea..b9fa873cac6 100644 --- a/Mage.Sets/src/mage/cards/c/CorruptOfficial.java +++ b/Mage.Sets/src/mage/cards/c/CorruptOfficial.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -52,8 +53,8 @@ public class CorruptOfficial extends CardImpl { public CorruptOfficial(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Human"); - this.subtype.add("Minion"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MINION); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CorruptedConscience.java b/Mage.Sets/src/mage/cards/c/CorruptedConscience.java index 66f4a9766d1..1d410e2ab13 100644 --- a/Mage.Sets/src/mage/cards/c/CorruptedConscience.java +++ b/Mage.Sets/src/mage/cards/c/CorruptedConscience.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -52,7 +53,7 @@ public class CorruptedConscience extends CardImpl { public CorruptedConscience(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CorruptedHarvester.java b/Mage.Sets/src/mage/cards/c/CorruptedHarvester.java index 65488b2cda7..614c47bdab8 100644 --- a/Mage.Sets/src/mage/cards/c/CorruptedHarvester.java +++ b/Mage.Sets/src/mage/cards/c/CorruptedHarvester.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -49,7 +50,7 @@ public class CorruptedHarvester extends CardImpl { public CorruptedHarvester (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(6); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CorruptedRoots.java b/Mage.Sets/src/mage/cards/c/CorruptedRoots.java index ee155d20df9..506dbecc09c 100644 --- a/Mage.Sets/src/mage/cards/c/CorruptedRoots.java +++ b/Mage.Sets/src/mage/cards/c/CorruptedRoots.java @@ -59,7 +59,7 @@ public class CorruptedRoots extends CardImpl { public CorruptedRoots(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant Forest or Plains TargetPermanent auraTarget = new TargetPermanent(filter); diff --git a/Mage.Sets/src/mage/cards/c/CorruptedZendikon.java b/Mage.Sets/src/mage/cards/c/CorruptedZendikon.java index 3913512a7e2..ecb1e79db35 100644 --- a/Mage.Sets/src/mage/cards/c/CorruptedZendikon.java +++ b/Mage.Sets/src/mage/cards/c/CorruptedZendikon.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class CorruptedZendikon extends CardImpl { public CorruptedZendikon(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); @@ -90,7 +91,7 @@ class CorruptedZendikonOozeToken extends Token { super("Ooze", "3/3 black Ooze creature"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Ooze"); + subtype.add(SubType.OOZE); this.power = new MageInt(3); this.toughness = new MageInt(3); } diff --git a/Mage.Sets/src/mage/cards/c/CorruptingLicid.java b/Mage.Sets/src/mage/cards/c/CorruptingLicid.java index 5fc0e9dc428..bb8093eceba 100644 --- a/Mage.Sets/src/mage/cards/c/CorruptingLicid.java +++ b/Mage.Sets/src/mage/cards/c/CorruptingLicid.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class CorruptingLicid extends CardImpl { public CorruptingLicid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Licid"); + this.subtype.add(SubType.LICID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CosisRavager.java b/Mage.Sets/src/mage/cards/c/CosisRavager.java index e25168cd254..c305d3a1d9e 100644 --- a/Mage.Sets/src/mage/cards/c/CosisRavager.java +++ b/Mage.Sets/src/mage/cards/c/CosisRavager.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -46,7 +47,7 @@ public class CosisRavager extends CardImpl { public CosisRavager (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.color.setRed(true); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CosisTrickster.java b/Mage.Sets/src/mage/cards/c/CosisTrickster.java index 63c295626b3..bd21b873848 100644 --- a/Mage.Sets/src/mage/cards/c/CosisTrickster.java +++ b/Mage.Sets/src/mage/cards/c/CosisTrickster.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -48,8 +49,8 @@ public class CosisTrickster extends CardImpl { public CosisTrickster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CosmicHorror.java b/Mage.Sets/src/mage/cards/c/CosmicHorror.java index 464a0cabb41..3196ca0f58b 100644 --- a/Mage.Sets/src/mage/cards/c/CosmicHorror.java +++ b/Mage.Sets/src/mage/cards/c/CosmicHorror.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.game.Game; @@ -52,7 +53,7 @@ public class CosmicHorror extends CardImpl { public CosmicHorror(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/c/CosmicLarva.java b/Mage.Sets/src/mage/cards/c/CosmicLarva.java index ffb4c2d393b..dd04b8fac8c 100644 --- a/Mage.Sets/src/mage/cards/c/CosmicLarva.java +++ b/Mage.Sets/src/mage/cards/c/CosmicLarva.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterControlledLandPermanent; import mage.target.common.TargetControlledPermanent; @@ -48,7 +49,7 @@ public class CosmicLarva extends CardImpl { public CosmicLarva(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(7); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/CouncilGuardian.java b/Mage.Sets/src/mage/cards/c/CouncilGuardian.java index f56956f4b73..f8fc87afc1f 100644 --- a/Mage.Sets/src/mage/cards/c/CouncilGuardian.java +++ b/Mage.Sets/src/mage/cards/c/CouncilGuardian.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.choices.ChoiceColor; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.game.Game; @@ -55,8 +56,8 @@ public class CouncilGuardian extends CardImpl { public CouncilGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}"); - this.subtype.add("Giant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CouncilOfAdvisors.java b/Mage.Sets/src/mage/cards/c/CouncilOfAdvisors.java index 348b1d5f010..aa80e99f0bd 100644 --- a/Mage.Sets/src/mage/cards/c/CouncilOfAdvisors.java +++ b/Mage.Sets/src/mage/cards/c/CouncilOfAdvisors.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class CouncilOfAdvisors extends CardImpl { public CouncilOfAdvisors(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CouncilOfTheAbsolute.java b/Mage.Sets/src/mage/cards/c/CouncilOfTheAbsolute.java index 3bec136498a..223d3cd3f7e 100644 --- a/Mage.Sets/src/mage/cards/c/CouncilOfTheAbsolute.java +++ b/Mage.Sets/src/mage/cards/c/CouncilOfTheAbsolute.java @@ -55,8 +55,8 @@ public class CouncilOfTheAbsolute extends CardImpl { public CouncilOfTheAbsolute(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{U}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CountervailingWinds.java b/Mage.Sets/src/mage/cards/c/CountervailingWinds.java index bc1528f8e57..2f1b6717a7c 100644 --- a/Mage.Sets/src/mage/cards/c/CountervailingWinds.java +++ b/Mage.Sets/src/mage/cards/c/CountervailingWinds.java @@ -1,69 +1,69 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.c; - -import java.util.UUID; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.CounterUnlessPaysEffect; -import mage.abilities.keyword.CyclingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.target.TargetSpell; - -/** - * - * @author emerald000 - */ -public class CountervailingWinds extends CardImpl { - - public CountervailingWinds(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}"); - - // Counter target spell unless its controller pays {1} for each card in your graveyard. - Effect effect = new CounterUnlessPaysEffect(new CardsInControllerGraveyardCount()); - effect.setText("Counter target spell unless its controller pays {1} for each card in your graveyard"); - this.getSpellAbility().addEffect(effect); - this.getSpellAbility().addTarget(new TargetSpell()); - - // Cycling {2} - this.addAbility(new CyclingAbility(new GenericManaCost(2))); - - } - - public CountervailingWinds(final CountervailingWinds card) { - super(card); - } - - @Override - public CountervailingWinds copy() { - return new CountervailingWinds(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.c; + +import java.util.UUID; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.dynamicvalue.common.CardsInControllerGraveyardCount; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.CounterUnlessPaysEffect; +import mage.abilities.keyword.CyclingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.target.TargetSpell; + +/** + * + * @author emerald000 + */ +public class CountervailingWinds extends CardImpl { + + public CountervailingWinds(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}"); + + // Counter target spell unless its controller pays {1} for each card in your graveyard. + Effect effect = new CounterUnlessPaysEffect(new CardsInControllerGraveyardCount()); + effect.setText("Counter target spell unless its controller pays {1} for each card in your graveyard"); + this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addTarget(new TargetSpell()); + + // Cycling {2} + this.addAbility(new CyclingAbility(new GenericManaCost(2))); + + } + + public CountervailingWinds(final CountervailingWinds card) { + super(card); + } + + @Override + public CountervailingWinds copy() { + return new CountervailingWinds(this); + } +} diff --git a/Mage.Sets/src/mage/cards/c/CountlessGearsRenegade.java b/Mage.Sets/src/mage/cards/c/CountlessGearsRenegade.java index 07aa488d006..f2b0835c8d8 100644 --- a/Mage.Sets/src/mage/cards/c/CountlessGearsRenegade.java +++ b/Mage.Sets/src/mage/cards/c/CountlessGearsRenegade.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.ServoToken; import mage.watchers.common.RevoltWatcher; @@ -49,8 +50,8 @@ public class CountlessGearsRenegade extends CardImpl { public CountlessGearsRenegade(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Dwarf"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CountrysideCrusher.java b/Mage.Sets/src/mage/cards/c/CountrysideCrusher.java index edce249f5a0..954851fb495 100644 --- a/Mage.Sets/src/mage/cards/c/CountrysideCrusher.java +++ b/Mage.Sets/src/mage/cards/c/CountrysideCrusher.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -53,8 +54,8 @@ public class CountrysideCrusher extends CardImpl { public CountrysideCrusher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CourageousOutrider.java b/Mage.Sets/src/mage/cards/c/CourageousOutrider.java index cca20d76fc7..0234afeafa7 100644 --- a/Mage.Sets/src/mage/cards/c/CourageousOutrider.java +++ b/Mage.Sets/src/mage/cards/c/CourageousOutrider.java @@ -53,8 +53,8 @@ public class CourageousOutrider extends CardImpl { public CourageousOutrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CourierGriffin.java b/Mage.Sets/src/mage/cards/c/CourierGriffin.java index 16d0072b56f..64990241e09 100644 --- a/Mage.Sets/src/mage/cards/c/CourierGriffin.java +++ b/Mage.Sets/src/mage/cards/c/CourierGriffin.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class CourierGriffin extends CardImpl { public CourierGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CourierHawk.java b/Mage.Sets/src/mage/cards/c/CourierHawk.java index 57740560a44..c880685b361 100644 --- a/Mage.Sets/src/mage/cards/c/CourierHawk.java +++ b/Mage.Sets/src/mage/cards/c/CourierHawk.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CourierHawk extends CardImpl { public CourierHawk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CourserOfKruphix.java b/Mage.Sets/src/mage/cards/c/CourserOfKruphix.java index 0cbed01e5b4..a93a2974dd3 100644 --- a/Mage.Sets/src/mage/cards/c/CourserOfKruphix.java +++ b/Mage.Sets/src/mage/cards/c/CourserOfKruphix.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.PlayWithTheTopCardRevealedEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterLandCard; import mage.filter.common.FilterLandPermanent; @@ -49,7 +50,7 @@ public class CourserOfKruphix extends CardImpl { public CourserOfKruphix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Centaur"); + this.subtype.add(SubType.CENTAUR); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CourtArchers.java b/Mage.Sets/src/mage/cards/c/CourtArchers.java index 00509a60ba3..0622e7f7aed 100644 --- a/Mage.Sets/src/mage/cards/c/CourtArchers.java +++ b/Mage.Sets/src/mage/cards/c/CourtArchers.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class CourtArchers extends CardImpl { public CourtArchers (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CourtHomunculus.java b/Mage.Sets/src/mage/cards/c/CourtHomunculus.java index dd64ffa3edc..fb36c2130cd 100644 --- a/Mage.Sets/src/mage/cards/c/CourtHomunculus.java +++ b/Mage.Sets/src/mage/cards/c/CourtHomunculus.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; @@ -52,7 +53,7 @@ public class CourtHomunculus extends CardImpl { public CourtHomunculus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{W}"); - this.subtype.add("Homunculus"); + this.subtype.add(SubType.HOMUNCULUS); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CourtHussar.java b/Mage.Sets/src/mage/cards/c/CourtHussar.java index 3a77184cf18..6a768012b10 100644 --- a/Mage.Sets/src/mage/cards/c/CourtHussar.java +++ b/Mage.Sets/src/mage/cards/c/CourtHussar.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.filter.FilterCard; @@ -51,8 +52,8 @@ public class CourtHussar extends CardImpl { public CourtHussar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Knight"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CourtStreetDenizen.java b/Mage.Sets/src/mage/cards/c/CourtStreetDenizen.java index d5680ba6a93..e05868515a7 100644 --- a/Mage.Sets/src/mage/cards/c/CourtStreetDenizen.java +++ b/Mage.Sets/src/mage/cards/c/CourtStreetDenizen.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -61,8 +62,8 @@ public class CourtStreetDenizen extends CardImpl { } public CourtStreetDenizen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CourtlyProvocateur.java b/Mage.Sets/src/mage/cards/c/CourtlyProvocateur.java index 6f47a901045..dd5a5b1b6c1 100644 --- a/Mage.Sets/src/mage/cards/c/CourtlyProvocateur.java +++ b/Mage.Sets/src/mage/cards/c/CourtlyProvocateur.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.BlocksThisTurnMarkerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -51,8 +52,8 @@ public class CourtlyProvocateur extends CardImpl { public CourtlyProvocateur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CovertOperative.java b/Mage.Sets/src/mage/cards/c/CovertOperative.java index c6f450db581..c5089c4ef29 100644 --- a/Mage.Sets/src/mage/cards/c/CovertOperative.java +++ b/Mage.Sets/src/mage/cards/c/CovertOperative.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class CovertOperative extends CardImpl { public CovertOperative(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CovetedPeacock.java b/Mage.Sets/src/mage/cards/c/CovetedPeacock.java index 3637f67e07b..7f4a010b7c4 100644 --- a/Mage.Sets/src/mage/cards/c/CovetedPeacock.java +++ b/Mage.Sets/src/mage/cards/c/CovetedPeacock.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; import mage.game.Game; @@ -52,7 +53,7 @@ public class CovetedPeacock extends CardImpl { public CovetedPeacock(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CovetousDragon.java b/Mage.Sets/src/mage/cards/c/CovetousDragon.java index 445df158496..537b965c6ab 100644 --- a/Mage.Sets/src/mage/cards/c/CovetousDragon.java +++ b/Mage.Sets/src/mage/cards/c/CovetousDragon.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterArtifactPermanent; @@ -46,7 +47,7 @@ public class CovetousDragon extends CardImpl { public CovetousDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CowedByWisdom.java b/Mage.Sets/src/mage/cards/c/CowedByWisdom.java index e1e2290bdc5..9c6a1868b7d 100644 --- a/Mage.Sets/src/mage/cards/c/CowedByWisdom.java +++ b/Mage.Sets/src/mage/cards/c/CowedByWisdom.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class CowedByWisdom extends CardImpl { public CowedByWisdom(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CowlProwler.java b/Mage.Sets/src/mage/cards/c/CowlProwler.java index d306baaeace..40c00c413cb 100644 --- a/Mage.Sets/src/mage/cards/c/CowlProwler.java +++ b/Mage.Sets/src/mage/cards/c/CowlProwler.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class CowlProwler extends CardImpl { public CowlProwler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(6); } diff --git a/Mage.Sets/src/mage/cards/c/CrabUmbra.java b/Mage.Sets/src/mage/cards/c/CrabUmbra.java index 13cf1704da7..a182da6693d 100644 --- a/Mage.Sets/src/mage/cards/c/CrabUmbra.java +++ b/Mage.Sets/src/mage/cards/c/CrabUmbra.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TotemArmorAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class CrabUmbra extends CardImpl { public CrabUmbra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/c/CrabappleCohort.java b/Mage.Sets/src/mage/cards/c/CrabappleCohort.java index 80bbcbdd877..e70187d7ea8 100644 --- a/Mage.Sets/src/mage/cards/c/CrabappleCohort.java +++ b/Mage.Sets/src/mage/cards/c/CrabappleCohort.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -63,8 +64,8 @@ public class CrabappleCohort extends CardImpl { public CrabappleCohort(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.WARRIOR); this.color.setGreen(true); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CrackTheEarth.java b/Mage.Sets/src/mage/cards/c/CrackTheEarth.java index 0db78e162f9..f82c61313da 100644 --- a/Mage.Sets/src/mage/cards/c/CrackTheEarth.java +++ b/Mage.Sets/src/mage/cards/c/CrackTheEarth.java @@ -32,6 +32,7 @@ import mage.abilities.effects.common.SacrificeAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; /** @@ -42,7 +43,7 @@ public class CrackTheEarth extends CardImpl { public CrackTheEarth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{R}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Each player sacrifices a permanent. this.getSpellAbility().addEffect(new SacrificeAllEffect(1, new FilterControlledPermanent("permanent"))); diff --git a/Mage.Sets/src/mage/cards/c/CrackdownConstruct.java b/Mage.Sets/src/mage/cards/c/CrackdownConstruct.java index beca085b919..6341a23b516 100644 --- a/Mage.Sets/src/mage/cards/c/CrackdownConstruct.java +++ b/Mage.Sets/src/mage/cards/c/CrackdownConstruct.java @@ -36,6 +36,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class CrackdownConstruct extends CardImpl { public CrackdownConstruct(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/Crackleburr.java b/Mage.Sets/src/mage/cards/c/Crackleburr.java index 0078728151d..b6b81a070ec 100644 --- a/Mage.Sets/src/mage/cards/c/Crackleburr.java +++ b/Mage.Sets/src/mage/cards/c/Crackleburr.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -71,7 +72,7 @@ public class Crackleburr extends CardImpl { public Crackleburr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U/R}{U/R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CracklingClub.java b/Mage.Sets/src/mage/cards/c/CracklingClub.java index 289d0ce00d7..aed57df283c 100644 --- a/Mage.Sets/src/mage/cards/c/CracklingClub.java +++ b/Mage.Sets/src/mage/cards/c/CracklingClub.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class CracklingClub extends CardImpl { public CracklingClub(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CracklingTriton.java b/Mage.Sets/src/mage/cards/c/CracklingTriton.java index 76d2daccd01..1b597da8af4 100644 --- a/Mage.Sets/src/mage/cards/c/CracklingTriton.java +++ b/Mage.Sets/src/mage/cards/c/CracklingTriton.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class CracklingTriton extends CardImpl { public CracklingTriton(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CradleGuard.java b/Mage.Sets/src/mage/cards/c/CradleGuard.java index 36355eceb54..1032befa2e6 100644 --- a/Mage.Sets/src/mage/cards/c/CradleGuard.java +++ b/Mage.Sets/src/mage/cards/c/CradleGuard.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class CradleGuard extends CardImpl { public CradleGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CradleOfTheAccursed.java b/Mage.Sets/src/mage/cards/c/CradleOfTheAccursed.java index 85e3b0dbc8b..e0b4e3be8d9 100644 --- a/Mage.Sets/src/mage/cards/c/CradleOfTheAccursed.java +++ b/Mage.Sets/src/mage/cards/c/CradleOfTheAccursed.java @@ -38,6 +38,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.ZombieToken; @@ -50,7 +51,7 @@ public class CradleOfTheAccursed extends CardImpl { public CradleOfTheAccursed(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Desert"); + this.subtype.add(SubType.DESERT); // {T}: Add {C} to your mana pool. this.addAbility(new ColorlessManaAbility()); diff --git a/Mage.Sets/src/mage/cards/c/CraftyPathmage.java b/Mage.Sets/src/mage/cards/c/CraftyPathmage.java index 2e4b50ed2ae..7389fbe7de9 100644 --- a/Mage.Sets/src/mage/cards/c/CraftyPathmage.java +++ b/Mage.Sets/src/mage/cards/c/CraftyPathmage.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -56,8 +57,8 @@ public class CraftyPathmage extends CardImpl { public CraftyPathmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CragPuca.java b/Mage.Sets/src/mage/cards/c/CragPuca.java index eb1d1cde53e..d659f13be38 100644 --- a/Mage.Sets/src/mage/cards/c/CragPuca.java +++ b/Mage.Sets/src/mage/cards/c/CragPuca.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.SwitchPowerToughnessSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class CragPuca extends CardImpl { public CragPuca(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U/R}{U/R}{U/R}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CragganwickCremator.java b/Mage.Sets/src/mage/cards/c/CragganwickCremator.java index 7906a40469b..4fdbf66f84e 100644 --- a/Mage.Sets/src/mage/cards/c/CragganwickCremator.java +++ b/Mage.Sets/src/mage/cards/c/CragganwickCremator.java @@ -36,6 +36,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -49,8 +50,8 @@ public class CragganwickCremator extends CardImpl { public CragganwickCremator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CranialPlating.java b/Mage.Sets/src/mage/cards/c/CranialPlating.java index 4c077b014a7..fc666fda568 100644 --- a/Mage.Sets/src/mage/cards/c/CranialPlating.java +++ b/Mage.Sets/src/mage/cards/c/CranialPlating.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -60,7 +61,7 @@ public class CranialPlating extends CardImpl { public CranialPlating(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+0 for each artifact you control. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new PermanentsOnBattlefieldCount(filterCounted), new StaticValue(0)))); diff --git a/Mage.Sets/src/mage/cards/c/CrashOfRhinos.java b/Mage.Sets/src/mage/cards/c/CrashOfRhinos.java index 0c295adae79..576f6fdc264 100644 --- a/Mage.Sets/src/mage/cards/c/CrashOfRhinos.java +++ b/Mage.Sets/src/mage/cards/c/CrashOfRhinos.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class CrashOfRhinos extends CardImpl { public CrashOfRhinos(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{G}"); - this.subtype.add("Rhino"); + this.subtype.add(SubType.RHINO); this.power = new MageInt(8); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CrashingBoars.java b/Mage.Sets/src/mage/cards/c/CrashingBoars.java index 16d8ec6fbc7..2d2de5f4f85 100644 --- a/Mage.Sets/src/mage/cards/c/CrashingBoars.java +++ b/Mage.Sets/src/mage/cards/c/CrashingBoars.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.combat.MustBeBlockedByTargetSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.filter.common.FilterControlledCreaturePermanent; @@ -56,7 +57,7 @@ public class CrashingBoars extends CardImpl { public CrashingBoars(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Boar"); + this.subtype.add(SubType.BOAR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CrashingCentaur.java b/Mage.Sets/src/mage/cards/c/CrashingCentaur.java index e9b609b3efb..70ae1601c19 100644 --- a/Mage.Sets/src/mage/cards/c/CrashingCentaur.java +++ b/Mage.Sets/src/mage/cards/c/CrashingCentaur.java @@ -45,6 +45,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class CrashingCentaur extends CardImpl { public CrashingCentaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Centaur"); + this.subtype.add(SubType.CENTAUR); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CraterElemental.java b/Mage.Sets/src/mage/cards/c/CraterElemental.java index 38615fc135d..a3df9319dd0 100644 --- a/Mage.Sets/src/mage/cards/c/CraterElemental.java +++ b/Mage.Sets/src/mage/cards/c/CraterElemental.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -55,7 +56,7 @@ public class CraterElemental extends CardImpl { public CraterElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/CraterHellion.java b/Mage.Sets/src/mage/cards/c/CraterHellion.java index d9b347e690f..bff7863db0a 100644 --- a/Mage.Sets/src/mage/cards/c/CraterHellion.java +++ b/Mage.Sets/src/mage/cards/c/CraterHellion.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.StaticFilters; import mage.game.Game; @@ -50,8 +51,8 @@ public class CraterHellion extends CardImpl { public CraterHellion(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{R}"); - this.subtype.add("Hellion"); - this.subtype.add("Beast"); + this.subtype.add(SubType.HELLION); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/CraterhoofBehemoth.java b/Mage.Sets/src/mage/cards/c/CraterhoofBehemoth.java index cd9306790a7..c9ab595eea3 100644 --- a/Mage.Sets/src/mage/cards/c/CraterhoofBehemoth.java +++ b/Mage.Sets/src/mage/cards/c/CraterhoofBehemoth.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; @@ -59,7 +60,7 @@ public class CraterhoofBehemoth extends CardImpl { public CraterhoofBehemoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CravenGiant.java b/Mage.Sets/src/mage/cards/c/CravenGiant.java index 42fcba22bc9..9e2463c0b79 100644 --- a/Mage.Sets/src/mage/cards/c/CravenGiant.java +++ b/Mage.Sets/src/mage/cards/c/CravenGiant.java @@ -33,6 +33,7 @@ import mage.abilities.common.CantBlockAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class CravenGiant extends CardImpl { public CravenGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CravenKnight.java b/Mage.Sets/src/mage/cards/c/CravenKnight.java index 508965233c2..86add2ea66f 100644 --- a/Mage.Sets/src/mage/cards/c/CravenKnight.java +++ b/Mage.Sets/src/mage/cards/c/CravenKnight.java @@ -33,6 +33,7 @@ import mage.abilities.common.CantBlockAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class CravenKnight extends CardImpl { public CravenKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CrawGiant.java b/Mage.Sets/src/mage/cards/c/CrawGiant.java index 29c242cd195..f0b57c9502f 100644 --- a/Mage.Sets/src/mage/cards/c/CrawGiant.java +++ b/Mage.Sets/src/mage/cards/c/CrawGiant.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CrawGiant extends CardImpl { public CrawGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}{G}{G}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CrawWurm.java b/Mage.Sets/src/mage/cards/c/CrawWurm.java index ef1a30bb6af..4c213a02cba 100644 --- a/Mage.Sets/src/mage/cards/c/CrawWurm.java +++ b/Mage.Sets/src/mage/cards/c/CrawWurm.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class CrawWurm extends CardImpl { public CrawWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CrawlingFilth.java b/Mage.Sets/src/mage/cards/c/CrawlingFilth.java index c6b273f8012..f72c98f9c6d 100644 --- a/Mage.Sets/src/mage/cards/c/CrawlingFilth.java +++ b/Mage.Sets/src/mage/cards/c/CrawlingFilth.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CrawlingFilth extends CardImpl { public CrawlingFilth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CrazedArmodon.java b/Mage.Sets/src/mage/cards/c/CrazedArmodon.java index 2d83228a0a3..4f346ed8467 100644 --- a/Mage.Sets/src/mage/cards/c/CrazedArmodon.java +++ b/Mage.Sets/src/mage/cards/c/CrazedArmodon.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class CrazedArmodon extends CardImpl { public CrazedArmodon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CrazedFirecat.java b/Mage.Sets/src/mage/cards/c/CrazedFirecat.java index 423874b9080..048e0f10b5c 100644 --- a/Mage.Sets/src/mage/cards/c/CrazedFirecat.java +++ b/Mage.Sets/src/mage/cards/c/CrazedFirecat.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -50,8 +51,8 @@ public class CrazedFirecat extends CardImpl { public CrazedFirecat(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{R}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Cat"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.CAT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CrazedGoblin.java b/Mage.Sets/src/mage/cards/c/CrazedGoblin.java index 3e66a5d1589..bfd8bae6eba 100644 --- a/Mage.Sets/src/mage/cards/c/CrazedGoblin.java +++ b/Mage.Sets/src/mage/cards/c/CrazedGoblin.java @@ -34,6 +34,7 @@ import mage.abilities.common.AttacksEachTurnStaticAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -42,8 +43,8 @@ public class CrazedGoblin extends CardImpl { public CrazedGoblin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CrazedSkirge.java b/Mage.Sets/src/mage/cards/c/CrazedSkirge.java index b0bc8744b67..bfd80a531df 100644 --- a/Mage.Sets/src/mage/cards/c/CrazedSkirge.java +++ b/Mage.Sets/src/mage/cards/c/CrazedSkirge.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class CrazedSkirge extends CardImpl { public CrazedSkirge (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CreakwoodGhoul.java b/Mage.Sets/src/mage/cards/c/CreakwoodGhoul.java index 9e24c55d66e..1e42c001b75 100644 --- a/Mage.Sets/src/mage/cards/c/CreakwoodGhoul.java +++ b/Mage.Sets/src/mage/cards/c/CreakwoodGhoul.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCardInGraveyard; @@ -49,8 +50,8 @@ public class CreakwoodGhoul extends CardImpl { public CreakwoodGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Plant"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CreakwoodLiege.java b/Mage.Sets/src/mage/cards/c/CreakwoodLiege.java index 4c6629a4de0..05586fd5e84 100644 --- a/Mage.Sets/src/mage/cards/c/CreakwoodLiege.java +++ b/Mage.Sets/src/mage/cards/c/CreakwoodLiege.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class CreakwoodLiege extends CardImpl { public CreakwoodLiege(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B/G}{B/G}{B/G}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CreatureBond.java b/Mage.Sets/src/mage/cards/c/CreatureBond.java index b88a1283b2f..6041d3debd0 100644 --- a/Mage.Sets/src/mage/cards/c/CreatureBond.java +++ b/Mage.Sets/src/mage/cards/c/CreatureBond.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -50,7 +51,7 @@ public class CreatureBond extends CardImpl { public CreatureBond(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/Creeperhulk.java b/Mage.Sets/src/mage/cards/c/Creeperhulk.java index 82258d5be25..07f6d433d45 100644 --- a/Mage.Sets/src/mage/cards/c/Creeperhulk.java +++ b/Mage.Sets/src/mage/cards/c/Creeperhulk.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -51,8 +52,8 @@ public class Creeperhulk extends CardImpl { public Creeperhulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CreepingTarPit.java b/Mage.Sets/src/mage/cards/c/CreepingTarPit.java index 31799c4f549..59ce83209fa 100644 --- a/Mage.Sets/src/mage/cards/c/CreepingTarPit.java +++ b/Mage.Sets/src/mage/cards/c/CreepingTarPit.java @@ -40,6 +40,7 @@ import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -79,7 +80,7 @@ class CreepingTarPitToken extends Token { public CreepingTarPitToken() { super("", "3/2 blue and black Elemental creature and can't be blocked"); cardType.add(CardType.CREATURE); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); color.setBlue(true); color.setBlack(true); power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CreepyDoll.java b/Mage.Sets/src/mage/cards/c/CreepyDoll.java index adce9e80e20..5b0091cbafe 100644 --- a/Mage.Sets/src/mage/cards/c/CreepyDoll.java +++ b/Mage.Sets/src/mage/cards/c/CreepyDoll.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -53,7 +54,7 @@ public class CreepyDoll extends CardImpl { public CreepyDoll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CrenellatedWall.java b/Mage.Sets/src/mage/cards/c/CrenellatedWall.java index 2b21360e87a..1beb37963d8 100644 --- a/Mage.Sets/src/mage/cards/c/CrenellatedWall.java +++ b/Mage.Sets/src/mage/cards/c/CrenellatedWall.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class CrenellatedWall extends CardImpl { public CrenellatedWall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CrestedCraghorn.java b/Mage.Sets/src/mage/cards/c/CrestedCraghorn.java index be0706ba734..47580c0afe4 100644 --- a/Mage.Sets/src/mage/cards/c/CrestedCraghorn.java +++ b/Mage.Sets/src/mage/cards/c/CrestedCraghorn.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class CrestedCraghorn extends CardImpl { public CrestedCraghorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Goat"); - this.subtype.add("Beast"); + this.subtype.add(SubType.GOAT); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CrestedSunmare.java b/Mage.Sets/src/mage/cards/c/CrestedSunmare.java index 4bfaac48421..fa0bf4dd977 100644 --- a/Mage.Sets/src/mage/cards/c/CrestedSunmare.java +++ b/Mage.Sets/src/mage/cards/c/CrestedSunmare.java @@ -1,91 +1,91 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.c; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.BeginningOfEndStepTriggeredAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.condition.common.YouGainedLifeCondition; -import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.effects.common.continuous.GainAbilityAllEffect; -import mage.abilities.keyword.IndestructibleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.ComparisonType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.game.permanent.token.CrestedSunmareToken; -import mage.watchers.common.PlayerGainedLifeWatcher; - -/** - * - * @author emerald000 - */ -public class CrestedSunmare extends CardImpl { - - private static final FilterControlledPermanent filter = new FilterControlledPermanent("Horses you control"); - - static { - filter.add(new SubtypePredicate(SubType.HORSE)); - } - - public CrestedSunmare(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{W}"); - - this.subtype.add("Horse"); - this.power = new MageInt(5); - this.toughness = new MageInt(5); - - // Other Horses you control have indestructible. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield, filter, true))); - - // At the beginning of each end step, if you gained life this turn, create a 5/5 white Horse creature token. - this.addAbility( - new ConditionalTriggeredAbility( - new BeginningOfEndStepTriggeredAbility(new CreateTokenEffect(new CrestedSunmareToken()), TargetController.ANY, false), - new YouGainedLifeCondition(ComparisonType.MORE_THAN, 0), - "At the beginning of each end step, if you gained life this turn, create a 5/5 white Horse creature token."), - new PlayerGainedLifeWatcher()); - } - - public CrestedSunmare(final CrestedSunmare card) { - super(card); - } - - @Override - public CrestedSunmare copy() { - return new CrestedSunmare(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.c; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.BeginningOfEndStepTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.YouGainedLifeCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continuous.GainAbilityAllEffect; +import mage.abilities.keyword.IndestructibleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.ComparisonType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.permanent.token.CrestedSunmareToken; +import mage.watchers.common.PlayerGainedLifeWatcher; + +/** + * + * @author emerald000 + */ +public class CrestedSunmare extends CardImpl { + + private static final FilterControlledPermanent filter = new FilterControlledPermanent("Horses you control"); + + static { + filter.add(new SubtypePredicate(SubType.HORSE)); + } + + public CrestedSunmare(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{W}"); + + this.subtype.add(SubType.HORSE); + this.power = new MageInt(5); + this.toughness = new MageInt(5); + + // Other Horses you control have indestructible. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAllEffect(IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield, filter, true))); + + // At the beginning of each end step, if you gained life this turn, create a 5/5 white Horse creature token. + this.addAbility( + new ConditionalTriggeredAbility( + new BeginningOfEndStepTriggeredAbility(new CreateTokenEffect(new CrestedSunmareToken()), TargetController.ANY, false), + new YouGainedLifeCondition(ComparisonType.MORE_THAN, 0), + "At the beginning of each end step, if you gained life this turn, create a 5/5 white Horse creature token."), + new PlayerGainedLifeWatcher()); + } + + public CrestedSunmare(final CrestedSunmare card) { + super(card); + } + + @Override + public CrestedSunmare copy() { + return new CrestedSunmare(this); + } +} diff --git a/Mage.Sets/src/mage/cards/c/CribSwap.java b/Mage.Sets/src/mage/cards/c/CribSwap.java index 6abeb085487..d30b68eda0b 100644 --- a/Mage.Sets/src/mage/cards/c/CribSwap.java +++ b/Mage.Sets/src/mage/cards/c/CribSwap.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ChangelingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -50,7 +51,7 @@ public class CribSwap extends CardImpl { public CribSwap(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{2}{W}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); // Changeling this.addAbility(ChangelingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/c/CrimsonAcolyte.java b/Mage.Sets/src/mage/cards/c/CrimsonAcolyte.java index 21904b99265..288575b4aaf 100644 --- a/Mage.Sets/src/mage/cards/c/CrimsonAcolyte.java +++ b/Mage.Sets/src/mage/cards/c/CrimsonAcolyte.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class CrimsonAcolyte extends CardImpl { public CrimsonAcolyte(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CrimsonHellkite.java b/Mage.Sets/src/mage/cards/c/CrimsonHellkite.java index 2dda663b606..9b395f4ebea 100644 --- a/Mage.Sets/src/mage/cards/c/CrimsonHellkite.java +++ b/Mage.Sets/src/mage/cards/c/CrimsonHellkite.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterMana; import mage.target.common.TargetCreaturePermanent; @@ -60,7 +61,7 @@ public class CrimsonHellkite extends CardImpl { public CrimsonHellkite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{R}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/CrimsonHonorGuard.java b/Mage.Sets/src/mage/cards/c/CrimsonHonorGuard.java index 64938d9c4a0..78187e67a64 100644 --- a/Mage.Sets/src/mage/cards/c/CrimsonHonorGuard.java +++ b/Mage.Sets/src/mage/cards/c/CrimsonHonorGuard.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.FilterPermanent; @@ -54,8 +55,8 @@ public class CrimsonHonorGuard extends CardImpl { public CrimsonHonorGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); - this.subtype.add("Vampire"); - this.subtype.add("Knight"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CrimsonKobolds.java b/Mage.Sets/src/mage/cards/c/CrimsonKobolds.java index de6a512a0d9..07fcaa1b815 100644 --- a/Mage.Sets/src/mage/cards/c/CrimsonKobolds.java +++ b/Mage.Sets/src/mage/cards/c/CrimsonKobolds.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class CrimsonKobolds extends CardImpl { public CrimsonKobolds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{0}"); this.color.setRed(true); - this.subtype.add("Kobold"); + this.subtype.add(SubType.KOBOLD); this.power = new MageInt(0); this.toughness = new MageInt(1); } diff --git a/Mage.Sets/src/mage/cards/c/CrimsonMage.java b/Mage.Sets/src/mage/cards/c/CrimsonMage.java index d85aede8810..be2a27e5abb 100644 --- a/Mage.Sets/src/mage/cards/c/CrimsonMage.java +++ b/Mage.Sets/src/mage/cards/c/CrimsonMage.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class CrimsonMage extends CardImpl { public CrimsonMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CrimsonManticore.java b/Mage.Sets/src/mage/cards/c/CrimsonManticore.java index 912e1d3324d..73fbf7aceb0 100644 --- a/Mage.Sets/src/mage/cards/c/CrimsonManticore.java +++ b/Mage.Sets/src/mage/cards/c/CrimsonManticore.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetAttackingOrBlockingCreature; @@ -49,7 +50,7 @@ public class CrimsonManticore extends CardImpl { public CrimsonManticore(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Manticore"); + this.subtype.add(SubType.MANTICORE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CrimsonMuckwader.java b/Mage.Sets/src/mage/cards/c/CrimsonMuckwader.java index b8eefaa94d1..962312115ef 100644 --- a/Mage.Sets/src/mage/cards/c/CrimsonMuckwader.java +++ b/Mage.Sets/src/mage/cards/c/CrimsonMuckwader.java @@ -56,7 +56,7 @@ public class CrimsonMuckwader extends CardImpl { public CrimsonMuckwader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CripplingBlight.java b/Mage.Sets/src/mage/cards/c/CripplingBlight.java index b1f97745bf5..b4e95dd7697 100644 --- a/Mage.Sets/src/mage/cards/c/CripplingBlight.java +++ b/Mage.Sets/src/mage/cards/c/CripplingBlight.java @@ -47,7 +47,7 @@ public class CripplingBlight extends CardImpl { public CripplingBlight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/c/Crocanura.java b/Mage.Sets/src/mage/cards/c/Crocanura.java index 3be39e334ae..afdf6b86742 100644 --- a/Mage.Sets/src/mage/cards/c/Crocanura.java +++ b/Mage.Sets/src/mage/cards/c/Crocanura.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class Crocanura extends CardImpl { public Crocanura(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Crocodile"); - this.subtype.add("Frog"); + this.subtype.add(SubType.CROCODILE); + this.subtype.add(SubType.FROG); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CrocodileOfTheCrossing.java b/Mage.Sets/src/mage/cards/c/CrocodileOfTheCrossing.java index e98f62ac66b..bdad68e9344 100644 --- a/Mage.Sets/src/mage/cards/c/CrocodileOfTheCrossing.java +++ b/Mage.Sets/src/mage/cards/c/CrocodileOfTheCrossing.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetControlledCreaturePermanent; @@ -48,7 +49,7 @@ public class CrocodileOfTheCrossing extends CardImpl { public CrocodileOfTheCrossing(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - this.subtype.add("Crocodile"); + this.subtype.add(SubType.CROCODILE); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/Cromat.java b/Mage.Sets/src/mage/cards/c/Cromat.java index 51ed41f45cb..cfb752ae07b 100644 --- a/Mage.Sets/src/mage/cards/c/Cromat.java +++ b/Mage.Sets/src/mage/cards/c/Cromat.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class Cromat extends CardImpl { public Cromat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CrookOfComdemnation.java b/Mage.Sets/src/mage/cards/c/CrookOfComdemnation.java index 9da5242baa1..d53857d8e22 100644 --- a/Mage.Sets/src/mage/cards/c/CrookOfComdemnation.java +++ b/Mage.Sets/src/mage/cards/c/CrookOfComdemnation.java @@ -1,77 +1,77 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.c; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.ExileSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.ExileGraveyardAllPlayersEffect; -import mage.abilities.effects.common.ExileTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.target.common.TargetCardInGraveyard; - -/** - * - * @author jeffwadsworth - */ -public class CrookOfComdemnation extends CardImpl { - - private UUID exileId = UUID.randomUUID(); - - public CrookOfComdemnation(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); - - - // {1}, {t}: Exile target card from a graveyard. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl("{1}")); - ability.addCost(new TapSourceCost()); - ability.addTarget(new TargetCardInGraveyard()); - this.addAbility(ability); - - // {1}, Exile Crook of Condemnation: Exile all cards from all graveyards. - Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileGraveyardAllPlayersEffect(), new ManaCostsImpl("{1}")); - ability2.addCost(new ExileSourceCost()); - this.addAbility(ability2); - - } - - public CrookOfComdemnation(final CrookOfComdemnation card) { - super(card); - } - - @Override - public CrookOfComdemnation copy() { - return new CrookOfComdemnation(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.c; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.ExileSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.ExileGraveyardAllPlayersEffect; +import mage.abilities.effects.common.ExileTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.target.common.TargetCardInGraveyard; + +/** + * + * @author jeffwadsworth + */ +public class CrookOfComdemnation extends CardImpl { + + private UUID exileId = UUID.randomUUID(); + + public CrookOfComdemnation(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); + + + // {1}, {t}: Exile target card from a graveyard. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl("{1}")); + ability.addCost(new TapSourceCost()); + ability.addTarget(new TargetCardInGraveyard()); + this.addAbility(ability); + + // {1}, Exile Crook of Condemnation: Exile all cards from all graveyards. + Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileGraveyardAllPlayersEffect(), new ManaCostsImpl("{1}")); + ability2.addCost(new ExileSourceCost()); + this.addAbility(ability2); + + } + + public CrookOfComdemnation(final CrookOfComdemnation card) { + super(card); + } + + @Override + public CrookOfComdemnation copy() { + return new CrookOfComdemnation(this); + } +} diff --git a/Mage.Sets/src/mage/cards/c/CrookOfCondemnation.java b/Mage.Sets/src/mage/cards/c/CrookOfCondemnation.java index 676d248f3a7..8f3733e97e6 100644 --- a/Mage.Sets/src/mage/cards/c/CrookOfCondemnation.java +++ b/Mage.Sets/src/mage/cards/c/CrookOfCondemnation.java @@ -1,77 +1,77 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.c; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.ExileSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.ExileGraveyardAllPlayersEffect; -import mage.abilities.effects.common.ExileTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.target.common.TargetCardInGraveyard; - -/** - * - * @author jeffwadsworth - */ -public class CrookOfCondemnation extends CardImpl { - - private UUID exileId = UUID.randomUUID(); - - public CrookOfCondemnation(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); - - - // {1}, {t}: Exile target card from a graveyard. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl("{1}")); - ability.addCost(new TapSourceCost()); - ability.addTarget(new TargetCardInGraveyard()); - this.addAbility(ability); - - // {1}, Exile Crook of Condemnation: Exile all cards from all graveyards. - Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileGraveyardAllPlayersEffect(), new ManaCostsImpl("{1}")); - ability2.addCost(new ExileSourceCost()); - this.addAbility(ability2); - - } - - public CrookOfCondemnation(final CrookOfCondemnation card) { - super(card); - } - - @Override - public CrookOfCondemnation copy() { - return new CrookOfCondemnation(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.c; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.ExileSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.ExileGraveyardAllPlayersEffect; +import mage.abilities.effects.common.ExileTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.target.common.TargetCardInGraveyard; + +/** + * + * @author jeffwadsworth + */ +public class CrookOfCondemnation extends CardImpl { + + private UUID exileId = UUID.randomUUID(); + + public CrookOfCondemnation(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); + + + // {1}, {t}: Exile target card from a graveyard. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileTargetEffect(), new ManaCostsImpl("{1}")); + ability.addCost(new TapSourceCost()); + ability.addTarget(new TargetCardInGraveyard()); + this.addAbility(ability); + + // {1}, Exile Crook of Condemnation: Exile all cards from all graveyards. + Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ExileGraveyardAllPlayersEffect(), new ManaCostsImpl("{1}")); + ability2.addCost(new ExileSourceCost()); + this.addAbility(ability2); + + } + + public CrookOfCondemnation(final CrookOfCondemnation card) { + super(card); + } + + @Override + public CrookOfCondemnation copy() { + return new CrookOfCondemnation(this); + } +} diff --git a/Mage.Sets/src/mage/cards/c/CrookclawElder.java b/Mage.Sets/src/mage/cards/c/CrookclawElder.java index d0810723e9e..a5295003023 100644 --- a/Mage.Sets/src/mage/cards/c/CrookclawElder.java +++ b/Mage.Sets/src/mage/cards/c/CrookclawElder.java @@ -67,8 +67,8 @@ public class CrookclawElder extends CardImpl { public CrookclawElder(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CrookclawTransmuter.java b/Mage.Sets/src/mage/cards/c/CrookclawTransmuter.java index 9f2da756694..64855624095 100644 --- a/Mage.Sets/src/mage/cards/c/CrookclawTransmuter.java +++ b/Mage.Sets/src/mage/cards/c/CrookclawTransmuter.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class CrookclawTransmuter extends CardImpl { public CrookclawTransmuter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CrookshankKobolds.java b/Mage.Sets/src/mage/cards/c/CrookshankKobolds.java index a47718fef9c..6a2197d6692 100644 --- a/Mage.Sets/src/mage/cards/c/CrookshankKobolds.java +++ b/Mage.Sets/src/mage/cards/c/CrookshankKobolds.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class CrookshankKobolds extends CardImpl { public CrookshankKobolds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{0}"); this.color.setRed(true); - this.subtype.add("Kobold"); + this.subtype.add(SubType.KOBOLD); this.power = new MageInt(0); this.toughness = new MageInt(1); } diff --git a/Mage.Sets/src/mage/cards/c/CrosisThePurger.java b/Mage.Sets/src/mage/cards/c/CrosisThePurger.java index 87fe6764044..a3675c0bdca 100644 --- a/Mage.Sets/src/mage/cards/c/CrosisThePurger.java +++ b/Mage.Sets/src/mage/cards/c/CrosisThePurger.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.choices.ChoiceColor; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.FilterCard; @@ -60,7 +61,7 @@ public class CrosisThePurger extends CardImpl { public CrosisThePurger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/c/CrosissAttendant.java b/Mage.Sets/src/mage/cards/c/CrosissAttendant.java index 7829eb4a660..61fa716d5cd 100644 --- a/Mage.Sets/src/mage/cards/c/CrosissAttendant.java +++ b/Mage.Sets/src/mage/cards/c/CrosissAttendant.java @@ -37,6 +37,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class CrosissAttendant extends CardImpl { public CrosissAttendant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CrossbowInfantry.java b/Mage.Sets/src/mage/cards/c/CrossbowInfantry.java index d26320852c6..f070471074c 100644 --- a/Mage.Sets/src/mage/cards/c/CrossbowInfantry.java +++ b/Mage.Sets/src/mage/cards/c/CrossbowInfantry.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetAttackingOrBlockingCreature; @@ -47,9 +48,9 @@ public class CrossbowInfantry extends CardImpl { public CrossbowInfantry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CrossroadsConsecrator.java b/Mage.Sets/src/mage/cards/c/CrossroadsConsecrator.java index 255217e9359..3517a12e801 100644 --- a/Mage.Sets/src/mage/cards/c/CrossroadsConsecrator.java +++ b/Mage.Sets/src/mage/cards/c/CrossroadsConsecrator.java @@ -58,8 +58,8 @@ public class CrossroadsConsecrator extends CardImpl { public CrossroadsConsecrator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CrosstownCourier.java b/Mage.Sets/src/mage/cards/c/CrosstownCourier.java index 083bf520418..4c49aed6951 100644 --- a/Mage.Sets/src/mage/cards/c/CrosstownCourier.java +++ b/Mage.Sets/src/mage/cards/c/CrosstownCourier.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.DamagedPlayerEvent; @@ -51,7 +52,7 @@ public class CrosstownCourier extends CardImpl { public CrosstownCourier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Vedalken"); + this.subtype.add(SubType.VEDALKEN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CrosswayVampire.java b/Mage.Sets/src/mage/cards/c/CrosswayVampire.java index 8f748257feb..4afba91c82e 100644 --- a/Mage.Sets/src/mage/cards/c/CrosswayVampire.java +++ b/Mage.Sets/src/mage/cards/c/CrosswayVampire.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantBlockTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -46,7 +47,7 @@ public class CrosswayVampire extends CardImpl { public CrosswayVampire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CrovaxAscendantHero.java b/Mage.Sets/src/mage/cards/c/CrovaxAscendantHero.java index 13b308d190d..6b94be72abf 100644 --- a/Mage.Sets/src/mage/cards/c/CrovaxAscendantHero.java +++ b/Mage.Sets/src/mage/cards/c/CrovaxAscendantHero.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -61,7 +62,7 @@ public class CrovaxAscendantHero extends CardImpl { public CrovaxAscendantHero(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CrovaxTheCursed.java b/Mage.Sets/src/mage/cards/c/CrovaxTheCursed.java index ede8e62928a..ac674638f52 100644 --- a/Mage.Sets/src/mage/cards/c/CrovaxTheCursed.java +++ b/Mage.Sets/src/mage/cards/c/CrovaxTheCursed.java @@ -57,7 +57,7 @@ public class CrovaxTheCursed extends CardImpl { public CrovaxTheCursed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/c/CrowOfDarkTidings.java b/Mage.Sets/src/mage/cards/c/CrowOfDarkTidings.java index a5ef620a608..981970f4938 100644 --- a/Mage.Sets/src/mage/cards/c/CrowOfDarkTidings.java +++ b/Mage.Sets/src/mage/cards/c/CrowOfDarkTidings.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class CrowOfDarkTidings extends CardImpl { public CrowOfDarkTidings(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Bird"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CrowdFavorites.java b/Mage.Sets/src/mage/cards/c/CrowdFavorites.java index 4fb7f352027..cbf3d8caccf 100644 --- a/Mage.Sets/src/mage/cards/c/CrowdFavorites.java +++ b/Mage.Sets/src/mage/cards/c/CrowdFavorites.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class CrowdFavorites extends CardImpl { public CrowdFavorites(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CrowdOfCinders.java b/Mage.Sets/src/mage/cards/c/CrowdOfCinders.java index 1b38902ccd9..42c9be5caa6 100644 --- a/Mage.Sets/src/mage/cards/c/CrowdOfCinders.java +++ b/Mage.Sets/src/mage/cards/c/CrowdOfCinders.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -56,7 +57,7 @@ public class CrowdOfCinders extends CardImpl { public CrowdOfCinders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/c/CrownHunterHireling.java b/Mage.Sets/src/mage/cards/c/CrownHunterHireling.java index 3541708d15a..f1c59b35fa7 100644 --- a/Mage.Sets/src/mage/cards/c/CrownHunterHireling.java +++ b/Mage.Sets/src/mage/cards/c/CrownHunterHireling.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.BecomesMonarchSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -51,8 +52,8 @@ public class CrownHunterHireling extends CardImpl { public CrownHunterHireling(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CrownOfFlames.java b/Mage.Sets/src/mage/cards/c/CrownOfFlames.java index 4add5555978..a8046667377 100644 --- a/Mage.Sets/src/mage/cards/c/CrownOfFlames.java +++ b/Mage.Sets/src/mage/cards/c/CrownOfFlames.java @@ -49,7 +49,7 @@ public class CrownOfFlames extends CardImpl { public CrownOfFlames(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CrownedCeratok.java b/Mage.Sets/src/mage/cards/c/CrownedCeratok.java index c03b07d417f..332b8eede6c 100644 --- a/Mage.Sets/src/mage/cards/c/CrownedCeratok.java +++ b/Mage.Sets/src/mage/cards/c/CrownedCeratok.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class CrownedCeratok extends CardImpl { public CrownedCeratok(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Rhino"); + this.subtype.add(SubType.RHINO); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CrudeRampart.java b/Mage.Sets/src/mage/cards/c/CrudeRampart.java index 9595ff4be1d..b901baff913 100644 --- a/Mage.Sets/src/mage/cards/c/CrudeRampart.java +++ b/Mage.Sets/src/mage/cards/c/CrudeRampart.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class CrudeRampart extends CardImpl { public CrudeRampart(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CruelDeceiver.java b/Mage.Sets/src/mage/cards/c/CruelDeceiver.java index 38866d26c25..ed6b1ef8e38 100644 --- a/Mage.Sets/src/mage/cards/c/CruelDeceiver.java +++ b/Mage.Sets/src/mage/cards/c/CruelDeceiver.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; import mage.abilities.keyword.TrampleAbility; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class CruelDeceiver extends CardImpl { public CruelDeceiver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CruelSadist.java b/Mage.Sets/src/mage/cards/c/CruelSadist.java index 461b3940175..11024c6cb30 100644 --- a/Mage.Sets/src/mage/cards/c/CruelSadist.java +++ b/Mage.Sets/src/mage/cards/c/CruelSadist.java @@ -43,6 +43,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.counters.CounterType; @@ -56,8 +57,8 @@ public class CruelSadist extends CardImpl { public CruelSadist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Human"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CrumblingColossus.java b/Mage.Sets/src/mage/cards/c/CrumblingColossus.java index 8c34e658d1c..1e0ae9dc73f 100644 --- a/Mage.Sets/src/mage/cards/c/CrumblingColossus.java +++ b/Mage.Sets/src/mage/cards/c/CrumblingColossus.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class CrumblingColossus extends CardImpl { public CrumblingColossus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(7); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CrusaderOfOdric.java b/Mage.Sets/src/mage/cards/c/CrusaderOfOdric.java index ddc7d6ad671..3d966157f81 100644 --- a/Mage.Sets/src/mage/cards/c/CrusaderOfOdric.java +++ b/Mage.Sets/src/mage/cards/c/CrusaderOfOdric.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -47,8 +48,8 @@ public class CrusaderOfOdric extends CardImpl { public CrusaderOfOdric(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/c/CrusadingKnight.java b/Mage.Sets/src/mage/cards/c/CrusadingKnight.java index 344e001b1ab..5e352294601 100644 --- a/Mage.Sets/src/mage/cards/c/CrusadingKnight.java +++ b/Mage.Sets/src/mage/cards/c/CrusadingKnight.java @@ -55,8 +55,8 @@ public class CrusadingKnight extends CardImpl { public CrusadingKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CrushUnderfoot.java b/Mage.Sets/src/mage/cards/c/CrushUnderfoot.java index 04aa407efd5..5fc416f168f 100644 --- a/Mage.Sets/src/mage/cards/c/CrushUnderfoot.java +++ b/Mage.Sets/src/mage/cards/c/CrushUnderfoot.java @@ -53,7 +53,7 @@ public class CrushUnderfoot extends CardImpl { public CrushUnderfoot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{1}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); // Choose a Giant creature you control. It deals damage equal to its power to target creature. diff --git a/Mage.Sets/src/mage/cards/c/CrusherZendikon.java b/Mage.Sets/src/mage/cards/c/CrusherZendikon.java index 6576d5feea2..b71aa8c3650 100644 --- a/Mage.Sets/src/mage/cards/c/CrusherZendikon.java +++ b/Mage.Sets/src/mage/cards/c/CrusherZendikon.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class CrusherZendikon extends CardImpl { public CrusherZendikon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land @@ -88,7 +89,7 @@ class BeastToken extends Token { super("", "4/2 red Beast creature with trample"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Beast"); + subtype.add(SubType.BEAST); power = new MageInt(4); toughness = new MageInt(2); this.addAbility(TrampleAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/c/CrushingPain.java b/Mage.Sets/src/mage/cards/c/CrushingPain.java index 3fa5d870e2a..b60671a2014 100644 --- a/Mage.Sets/src/mage/cards/c/CrushingPain.java +++ b/Mage.Sets/src/mage/cards/c/CrushingPain.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.WasDealtDamageThisTurnPredicate; import mage.target.common.TargetCreaturePermanent; @@ -52,7 +53,7 @@ public class CrushingPain extends CardImpl { public CrushingPain (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{R}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Crushing Pain deals 6 damage to target creature that was dealt damage this turn. this.getSpellAbility().addEffect(new DamageTargetEffect(6)); diff --git a/Mage.Sets/src/mage/cards/c/CryptAngel.java b/Mage.Sets/src/mage/cards/c/CryptAngel.java index f4d87d3a37d..6376048e968 100644 --- a/Mage.Sets/src/mage/cards/c/CryptAngel.java +++ b/Mage.Sets/src/mage/cards/c/CryptAngel.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,7 +58,7 @@ public class CryptAngel extends CardImpl { public CryptAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CryptChampion.java b/Mage.Sets/src/mage/cards/c/CryptChampion.java index 47b8f0c86be..89bb2cd93f7 100644 --- a/Mage.Sets/src/mage/cards/c/CryptChampion.java +++ b/Mage.Sets/src/mage/cards/c/CryptChampion.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.ComparisonType; import mage.constants.Outcome; @@ -61,7 +62,7 @@ public class CryptChampion extends CardImpl { public CryptChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CryptCobra.java b/Mage.Sets/src/mage/cards/c/CryptCobra.java index c7d11596b5d..57e1f4b4d08 100644 --- a/Mage.Sets/src/mage/cards/c/CryptCobra.java +++ b/Mage.Sets/src/mage/cards/c/CryptCobra.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddPoisonCounterTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class CryptCobra extends CardImpl { public CryptCobra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CryptCreeper.java b/Mage.Sets/src/mage/cards/c/CryptCreeper.java index 88a81cf9e68..0935557bdb6 100644 --- a/Mage.Sets/src/mage/cards/c/CryptCreeper.java +++ b/Mage.Sets/src/mage/cards/c/CryptCreeper.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCardInGraveyard; @@ -46,7 +47,7 @@ public class CryptCreeper extends CardImpl { public CryptCreeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CryptGhast.java b/Mage.Sets/src/mage/cards/c/CryptGhast.java index e42b70c23e4..70c4e1d568e 100644 --- a/Mage.Sets/src/mage/cards/c/CryptGhast.java +++ b/Mage.Sets/src/mage/cards/c/CryptGhast.java @@ -54,7 +54,7 @@ public class CryptGhast extends CardImpl { public CryptGhast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CryptOfTheEternals.java b/Mage.Sets/src/mage/cards/c/CryptOfTheEternals.java index ffd18b00e59..c4c173189bc 100644 --- a/Mage.Sets/src/mage/cards/c/CryptOfTheEternals.java +++ b/Mage.Sets/src/mage/cards/c/CryptOfTheEternals.java @@ -1,52 +1,52 @@ -package mage.cards.c; - -import mage.Mana; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.GainLifeEffect; -import mage.abilities.mana.ColorlessManaAbility; -import mage.abilities.mana.SimpleManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; - -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - -public class CryptOfTheEternals extends CardImpl { - - public CryptOfTheEternals(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - - // When Crypt of the Eternals enters the battlefield, you gain 1 life. - this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(1))); - - // {T}: Add {C} to your mana pool. - this.addAbility(new ColorlessManaAbility()); - - // {1}, {T}: Add {U}, {B}, or {R} to your mana pool. - List list = new ArrayList() {{ - add(Mana.BlueMana(1)); - add(Mana.BlackMana(1)); - add(Mana.RedMana(1)); - }}; - - for(Mana m: list) { - SimpleManaAbility uAbility = new SimpleManaAbility(Zone.BATTLEFIELD, m, new ManaCostsImpl("{1}")); - uAbility.addCost(new TapSourceCost()); - this.addAbility(uAbility); - } - } - - public CryptOfTheEternals(final CryptOfTheEternals card) { - super(card); - } - - @Override - public CryptOfTheEternals copy() { - return new CryptOfTheEternals(this); - } -} +package mage.cards.c; + +import mage.Mana; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.mana.ColorlessManaAbility; +import mage.abilities.mana.SimpleManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +public class CryptOfTheEternals extends CardImpl { + + public CryptOfTheEternals(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + // When Crypt of the Eternals enters the battlefield, you gain 1 life. + this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(1))); + + // {T}: Add {C} to your mana pool. + this.addAbility(new ColorlessManaAbility()); + + // {1}, {T}: Add {U}, {B}, or {R} to your mana pool. + List list = new ArrayList() {{ + add(Mana.BlueMana(1)); + add(Mana.BlackMana(1)); + add(Mana.RedMana(1)); + }}; + + for(Mana m: list) { + SimpleManaAbility uAbility = new SimpleManaAbility(Zone.BATTLEFIELD, m, new ManaCostsImpl("{1}")); + uAbility.addCost(new TapSourceCost()); + this.addAbility(uAbility); + } + } + + public CryptOfTheEternals(final CryptOfTheEternals card) { + super(card); + } + + @Override + public CryptOfTheEternals copy() { + return new CryptOfTheEternals(this); + } +} diff --git a/Mage.Sets/src/mage/cards/c/CryptRats.java b/Mage.Sets/src/mage/cards/c/CryptRats.java index e5fb5da2e93..fd2a8f6469b 100644 --- a/Mage.Sets/src/mage/cards/c/CryptRats.java +++ b/Mage.Sets/src/mage/cards/c/CryptRats.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.DamageEverythingEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterMana; @@ -57,7 +58,7 @@ public class CryptRats extends CardImpl { public CryptRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CryptRipper.java b/Mage.Sets/src/mage/cards/c/CryptRipper.java index cde76def98b..8139982a8bb 100644 --- a/Mage.Sets/src/mage/cards/c/CryptRipper.java +++ b/Mage.Sets/src/mage/cards/c/CryptRipper.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class CryptRipper extends CardImpl { public CryptRipper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Shade"); + this.subtype.add(SubType.SHADE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CryptSliver.java b/Mage.Sets/src/mage/cards/c/CryptSliver.java index 271ba5b8d98..49a65d439a5 100644 --- a/Mage.Sets/src/mage/cards/c/CryptSliver.java +++ b/Mage.Sets/src/mage/cards/c/CryptSliver.java @@ -53,7 +53,7 @@ public class CryptSliver extends CardImpl { public CryptSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CryptbornHorror.java b/Mage.Sets/src/mage/cards/c/CryptbornHorror.java index 24be98a363c..18643f9ea47 100644 --- a/Mage.Sets/src/mage/cards/c/CryptbornHorror.java +++ b/Mage.Sets/src/mage/cards/c/CryptbornHorror.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -52,7 +53,7 @@ public class CryptbornHorror extends CardImpl { public CryptbornHorror(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B/R}{B/R}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.color.setBlack(true); this.color.setRed(true); this.power = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/c/Cryptbreaker.java b/Mage.Sets/src/mage/cards/c/Cryptbreaker.java index 43f50b27ea3..732cd644ed3 100644 --- a/Mage.Sets/src/mage/cards/c/Cryptbreaker.java +++ b/Mage.Sets/src/mage/cards/c/Cryptbreaker.java @@ -66,7 +66,7 @@ public class Cryptbreaker extends CardImpl { public Cryptbreaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CrypticAnnelid.java b/Mage.Sets/src/mage/cards/c/CrypticAnnelid.java index 3b31fb83927..23dc6817dbd 100644 --- a/Mage.Sets/src/mage/cards/c/CrypticAnnelid.java +++ b/Mage.Sets/src/mage/cards/c/CrypticAnnelid.java @@ -36,6 +36,7 @@ import mage.abilities.effects.keyword.ScryEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class CrypticAnnelid extends CardImpl { public CrypticAnnelid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Worm"); - this.subtype.add("Beast"); + this.subtype.add(SubType.WORM); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CrypticCruiser.java b/Mage.Sets/src/mage/cards/c/CrypticCruiser.java index 1d587f23eed..1e53956d3e2 100644 --- a/Mage.Sets/src/mage/cards/c/CrypticCruiser.java +++ b/Mage.Sets/src/mage/cards/c/CrypticCruiser.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class CrypticCruiser extends CardImpl { public CrypticCruiser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Processor"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.PROCESSOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CrypticSerpent.java b/Mage.Sets/src/mage/cards/c/CrypticSerpent.java index 01879bc9e44..a4f1d37d484 100644 --- a/Mage.Sets/src/mage/cards/c/CrypticSerpent.java +++ b/Mage.Sets/src/mage/cards/c/CrypticSerpent.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.cost.SourceCostReductionForEachCardInGravey import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterInstantOrSorceryCard; @@ -46,7 +47,7 @@ public class CrypticSerpent extends CardImpl { public CrypticSerpent(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{U}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/Cryptoplasm.java b/Mage.Sets/src/mage/cards/c/Cryptoplasm.java index 6a01c6f0a7f..a6ca4a53156 100644 --- a/Mage.Sets/src/mage/cards/c/Cryptoplasm.java +++ b/Mage.Sets/src/mage/cards/c/Cryptoplasm.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -58,7 +59,7 @@ public class Cryptoplasm extends CardImpl { public Cryptoplasm(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CrystalGolem.java b/Mage.Sets/src/mage/cards/c/CrystalGolem.java index 6b3a8b0e677..5688b6a0e0d 100644 --- a/Mage.Sets/src/mage/cards/c/CrystalGolem.java +++ b/Mage.Sets/src/mage/cards/c/CrystalGolem.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.PhaseOutSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -44,7 +45,7 @@ public class CrystalGolem extends CardImpl { public CrystalGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CrystalSeer.java b/Mage.Sets/src/mage/cards/c/CrystalSeer.java index cd2a0572583..d7025b4f7e1 100644 --- a/Mage.Sets/src/mage/cards/c/CrystalSeer.java +++ b/Mage.Sets/src/mage/cards/c/CrystalSeer.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,8 +50,8 @@ public class CrystalSeer extends CardImpl { public CrystalSeer (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CrystallineCrawler.java b/Mage.Sets/src/mage/cards/c/CrystallineCrawler.java index f93601c1add..00d94f74e78 100644 --- a/Mage.Sets/src/mage/cards/c/CrystallineCrawler.java +++ b/Mage.Sets/src/mage/cards/c/CrystallineCrawler.java @@ -39,6 +39,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -51,7 +52,7 @@ public class CrystallineCrawler extends CardImpl { public CrystallineCrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CrystallineNautilus.java b/Mage.Sets/src/mage/cards/c/CrystallineNautilus.java index 6d6dca9d8d4..929ffd9a694 100644 --- a/Mage.Sets/src/mage/cards/c/CrystallineNautilus.java +++ b/Mage.Sets/src/mage/cards/c/CrystallineNautilus.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class CrystallineNautilus extends CardImpl { public CrystallineNautilus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{U}"); - this.subtype.add("Nautilus"); + this.subtype.add(SubType.NAUTILUS); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CrystallineSliver.java b/Mage.Sets/src/mage/cards/c/CrystallineSliver.java index 8db90d5c719..6c5839c4bda 100644 --- a/Mage.Sets/src/mage/cards/c/CrystallineSliver.java +++ b/Mage.Sets/src/mage/cards/c/CrystallineSliver.java @@ -48,7 +48,7 @@ public class CrystallineSliver extends CardImpl { public CrystallineSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/Crystallization.java b/Mage.Sets/src/mage/cards/c/Crystallization.java index 80ca4dc990e..5b992cb8057 100644 --- a/Mage.Sets/src/mage/cards/c/Crystallization.java +++ b/Mage.Sets/src/mage/cards/c/Crystallization.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -57,7 +58,7 @@ public class Crystallization extends CardImpl { public Crystallization(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G/U}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CudgelTroll.java b/Mage.Sets/src/mage/cards/c/CudgelTroll.java index 8eccc4c4665..b8091d7424d 100644 --- a/Mage.Sets/src/mage/cards/c/CudgelTroll.java +++ b/Mage.Sets/src/mage/cards/c/CudgelTroll.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class CudgelTroll extends CardImpl { public CudgelTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Troll"); + this.subtype.add(SubType.TROLL); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CullingDrone.java b/Mage.Sets/src/mage/cards/c/CullingDrone.java index 1ff868f07a7..181c706511f 100644 --- a/Mage.Sets/src/mage/cards/c/CullingDrone.java +++ b/Mage.Sets/src/mage/cards/c/CullingDrone.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.IngestAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class CullingDrone extends CardImpl { public CullingDrone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CultOfTheWaxingMoon.java b/Mage.Sets/src/mage/cards/c/CultOfTheWaxingMoon.java index ae7a81d9e20..f9b0619e2c4 100644 --- a/Mage.Sets/src/mage/cards/c/CultOfTheWaxingMoon.java +++ b/Mage.Sets/src/mage/cards/c/CultOfTheWaxingMoon.java @@ -52,8 +52,8 @@ public class CultOfTheWaxingMoon extends CardImpl { public CultOfTheWaxingMoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CultbrandCinder.java b/Mage.Sets/src/mage/cards/c/CultbrandCinder.java index 1758eeed8b7..8aa1cdec0de 100644 --- a/Mage.Sets/src/mage/cards/c/CultbrandCinder.java +++ b/Mage.Sets/src/mage/cards/c/CultbrandCinder.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -46,8 +47,8 @@ public class CultbrandCinder extends CardImpl { public CultbrandCinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B/R}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CultistsStaff.java b/Mage.Sets/src/mage/cards/c/CultistsStaff.java index 0397ddac934..184d283d74c 100644 --- a/Mage.Sets/src/mage/cards/c/CultistsStaff.java +++ b/Mage.Sets/src/mage/cards/c/CultistsStaff.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -47,7 +48,7 @@ public class CultistsStaff extends CardImpl { public CultistsStaff(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+2. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2))); diff --git a/Mage.Sets/src/mage/cards/c/CultivatorDrone.java b/Mage.Sets/src/mage/cards/c/CultivatorDrone.java index 374de5a6bf8..a05b89470a3 100644 --- a/Mage.Sets/src/mage/cards/c/CultivatorDrone.java +++ b/Mage.Sets/src/mage/cards/c/CultivatorDrone.java @@ -46,6 +46,7 @@ import mage.abilities.mana.conditional.ManaCondition; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.Game; import mage.game.permanent.Permanent; @@ -57,8 +58,8 @@ public class CultivatorDrone extends CardImpl { public CultivatorDrone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CultivatorOfBlades.java b/Mage.Sets/src/mage/cards/c/CultivatorOfBlades.java index 7ab795a0127..981b95d8570 100644 --- a/Mage.Sets/src/mage/cards/c/CultivatorOfBlades.java +++ b/Mage.Sets/src/mage/cards/c/CultivatorOfBlades.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FabricateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterAttackingCreature; @@ -47,8 +48,8 @@ public class CultivatorOfBlades extends CardImpl { public CultivatorOfBlades(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CunningAdvisor.java b/Mage.Sets/src/mage/cards/c/CunningAdvisor.java index 0dd7bd2970a..d9f52cdff44 100644 --- a/Mage.Sets/src/mage/cards/c/CunningAdvisor.java +++ b/Mage.Sets/src/mage/cards/c/CunningAdvisor.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetOpponent; @@ -48,8 +49,8 @@ public class CunningAdvisor extends CardImpl { public CunningAdvisor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CunningBandit.java b/Mage.Sets/src/mage/cards/c/CunningBandit.java index 2fd14937638..82f59bcbb94 100644 --- a/Mage.Sets/src/mage/cards/c/CunningBandit.java +++ b/Mage.Sets/src/mage/cards/c/CunningBandit.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -59,8 +60,8 @@ public class CunningBandit extends CardImpl { public CunningBandit(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); @@ -94,7 +95,7 @@ class AzamukiTreacheryIncarnate extends Token { addSuperType(SuperType.LEGENDARY); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(5); toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CunningBreezedancer.java b/Mage.Sets/src/mage/cards/c/CunningBreezedancer.java index 7d480f9661e..d166055c55d 100644 --- a/Mage.Sets/src/mage/cards/c/CunningBreezedancer.java +++ b/Mage.Sets/src/mage/cards/c/CunningBreezedancer.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -54,7 +55,7 @@ public class CunningBreezedancer extends CardImpl { public CunningBreezedancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{U}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CunningLethemancer.java b/Mage.Sets/src/mage/cards/c/CunningLethemancer.java index 09a8fb51cc4..586303715fa 100644 --- a/Mage.Sets/src/mage/cards/c/CunningLethemancer.java +++ b/Mage.Sets/src/mage/cards/c/CunningLethemancer.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.discard.DiscardEachPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.events.GameEvent.EventType; /** @@ -44,8 +45,8 @@ public class CunningLethemancer extends CardImpl { public CunningLethemancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CunningSparkmage.java b/Mage.Sets/src/mage/cards/c/CunningSparkmage.java index 434757ddc43..72447100d8d 100644 --- a/Mage.Sets/src/mage/cards/c/CunningSparkmage.java +++ b/Mage.Sets/src/mage/cards/c/CunningSparkmage.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -49,8 +50,8 @@ public class CunningSparkmage extends CardImpl { public CunningSparkmage (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.color.setRed(true); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CunningSurvivor.java b/Mage.Sets/src/mage/cards/c/CunningSurvivor.java index 44c2321bcd4..65eea723d8f 100644 --- a/Mage.Sets/src/mage/cards/c/CunningSurvivor.java +++ b/Mage.Sets/src/mage/cards/c/CunningSurvivor.java @@ -1,72 +1,73 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.c; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.CycleOrDiscardControllerTriggeredAbility; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; - -/** - * - * @author emerald000 - */ -public class CunningSurvivor extends CardImpl { - - public CunningSurvivor(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - - this.subtype.add("Human"); - this.subtype.add("Warrior"); - this.power = new MageInt(1); - this.toughness = new MageInt(3); - - // Whenever you cycle or discard a card, Cunning Survivor gets +1/+0 until end of turn and can't be blocked this turn. - Ability ability = new CycleOrDiscardControllerTriggeredAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn)); - Effect effect = new CantBeBlockedSourceEffect(Duration.EndOfTurn); - effect.setText("and can't be blocked this turn"); - ability.addEffect(effect); - this.addAbility(ability); - } - - public CunningSurvivor(final CunningSurvivor card) { - super(card); - } - - @Override - public CunningSurvivor copy() { - return new CunningSurvivor(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.c; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.CycleOrDiscardControllerTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; + +/** + * + * @author emerald000 + */ +public class CunningSurvivor extends CardImpl { + + public CunningSurvivor(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(1); + this.toughness = new MageInt(3); + + // Whenever you cycle or discard a card, Cunning Survivor gets +1/+0 until end of turn and can't be blocked this turn. + Ability ability = new CycleOrDiscardControllerTriggeredAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn)); + Effect effect = new CantBeBlockedSourceEffect(Duration.EndOfTurn); + effect.setText("and can't be blocked this turn"); + ability.addEffect(effect); + this.addAbility(ability); + } + + public CunningSurvivor(final CunningSurvivor card) { + super(card); + } + + @Override + public CunningSurvivor copy() { + return new CunningSurvivor(this); + } +} diff --git a/Mage.Sets/src/mage/cards/c/CuombajjWitches.java b/Mage.Sets/src/mage/cards/c/CuombajjWitches.java index 74047137f92..2cb334d4f77 100644 --- a/Mage.Sets/src/mage/cards/c/CuombajjWitches.java +++ b/Mage.Sets/src/mage/cards/c/CuombajjWitches.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,8 +57,8 @@ public class CuombajjWitches extends CardImpl { public CuombajjWitches(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CuratorOfMysteries.java b/Mage.Sets/src/mage/cards/c/CuratorOfMysteries.java index 01e8448cfb8..789aa0c95f0 100644 --- a/Mage.Sets/src/mage/cards/c/CuratorOfMysteries.java +++ b/Mage.Sets/src/mage/cards/c/CuratorOfMysteries.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,7 +48,7 @@ public class CuratorOfMysteries extends CardImpl { public CuratorOfMysteries(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CurioVendor.java b/Mage.Sets/src/mage/cards/c/CurioVendor.java index ef599e65948..eab9d079338 100644 --- a/Mage.Sets/src/mage/cards/c/CurioVendor.java +++ b/Mage.Sets/src/mage/cards/c/CurioVendor.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class CurioVendor extends CardImpl { public CurioVendor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Vedalken"); + this.subtype.add(SubType.VEDALKEN); this.power = new MageInt(2); this.toughness = new MageInt(1); } diff --git a/Mage.Sets/src/mage/cards/c/Curiosity.java b/Mage.Sets/src/mage/cards/c/Curiosity.java index ed2e5eeb434..e096c5d1c69 100644 --- a/Mage.Sets/src/mage/cards/c/Curiosity.java +++ b/Mage.Sets/src/mage/cards/c/Curiosity.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -53,7 +54,7 @@ public class Curiosity extends CardImpl { public Curiosity(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/c/CuriousHomunculus.java b/Mage.Sets/src/mage/cards/c/CuriousHomunculus.java index ab69af8ff76..a6d38641869 100644 --- a/Mage.Sets/src/mage/cards/c/CuriousHomunculus.java +++ b/Mage.Sets/src/mage/cards/c/CuriousHomunculus.java @@ -48,6 +48,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.v.VoraciousReader; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterInstantOrSorceryCard; import mage.game.Game; @@ -61,7 +62,7 @@ public class CuriousHomunculus extends CardImpl { public CuriousHomunculus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Homunculus"); + this.subtype.add(SubType.HOMUNCULUS); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CurseOfChains.java b/Mage.Sets/src/mage/cards/c/CurseOfChains.java index fae3ee3e1d1..032d68abd28 100644 --- a/Mage.Sets/src/mage/cards/c/CurseOfChains.java +++ b/Mage.Sets/src/mage/cards/c/CurseOfChains.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class CurseOfChains extends CardImpl { public CurseOfChains(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W/U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/c/Cursecatcher.java b/Mage.Sets/src/mage/cards/c/Cursecatcher.java index f226c19415c..36bf35432f8 100644 --- a/Mage.Sets/src/mage/cards/c/Cursecatcher.java +++ b/Mage.Sets/src/mage/cards/c/Cursecatcher.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CounterUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.TargetSpell; @@ -48,8 +49,8 @@ public class Cursecatcher extends CardImpl { public Cursecatcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CursedFlesh.java b/Mage.Sets/src/mage/cards/c/CursedFlesh.java index fc2f296bd34..45064f5c3bf 100644 --- a/Mage.Sets/src/mage/cards/c/CursedFlesh.java +++ b/Mage.Sets/src/mage/cards/c/CursedFlesh.java @@ -49,7 +49,7 @@ public class CursedFlesh extends CardImpl { public CursedFlesh(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CursedLand.java b/Mage.Sets/src/mage/cards/c/CursedLand.java index 947175a62bb..07d7cf351b5 100644 --- a/Mage.Sets/src/mage/cards/c/CursedLand.java +++ b/Mage.Sets/src/mage/cards/c/CursedLand.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class CursedLand extends CardImpl { public CursedLand(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CursedMinotaur.java b/Mage.Sets/src/mage/cards/c/CursedMinotaur.java index 1c8ef94494b..a363957ba02 100644 --- a/Mage.Sets/src/mage/cards/c/CursedMinotaur.java +++ b/Mage.Sets/src/mage/cards/c/CursedMinotaur.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class CursedMinotaur extends CardImpl { public CursedMinotaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Minotaur"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.MINOTAUR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CursedMonstrosity.java b/Mage.Sets/src/mage/cards/c/CursedMonstrosity.java index 990392fca98..1402a5bd340 100644 --- a/Mage.Sets/src/mage/cards/c/CursedMonstrosity.java +++ b/Mage.Sets/src/mage/cards/c/CursedMonstrosity.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterLandCard; import mage.target.common.TargetCardInHand; @@ -47,7 +48,7 @@ public class CursedMonstrosity extends CardImpl { public CursedMonstrosity(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CursedRonin.java b/Mage.Sets/src/mage/cards/c/CursedRonin.java index db8d79a7574..c2b49d9d251 100644 --- a/Mage.Sets/src/mage/cards/c/CursedRonin.java +++ b/Mage.Sets/src/mage/cards/c/CursedRonin.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.BushidoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class CursedRonin extends CardImpl { public CursedRonin (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CustodiLich.java b/Mage.Sets/src/mage/cards/c/CustodiLich.java index 3896ab02765..0d202720d84 100644 --- a/Mage.Sets/src/mage/cards/c/CustodiLich.java +++ b/Mage.Sets/src/mage/cards/c/CustodiLich.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.SacrificeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.game.Game; @@ -53,8 +54,8 @@ public class CustodiLich extends CardImpl { public CustodiLich(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CustodiSoulbinders.java b/Mage.Sets/src/mage/cards/c/CustodiSoulbinders.java index b2098d86d6c..135fed12084 100644 --- a/Mage.Sets/src/mage/cards/c/CustodiSoulbinders.java +++ b/Mage.Sets/src/mage/cards/c/CustodiSoulbinders.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -59,8 +60,8 @@ public class CustodiSoulbinders extends CardImpl { public CustodiSoulbinders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/c/CustodiSquire.java b/Mage.Sets/src/mage/cards/c/CustodiSquire.java index ef9e3e62520..2a821426a29 100644 --- a/Mage.Sets/src/mage/cards/c/CustodiSquire.java +++ b/Mage.Sets/src/mage/cards/c/CustodiSquire.java @@ -34,6 +34,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -55,8 +56,8 @@ public class CustodiSquire extends CardImpl { public CustodiSquire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Spirit"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CustodianOfTheTrove.java b/Mage.Sets/src/mage/cards/c/CustodianOfTheTrove.java index 2a06c3acd08..9a4be99ec89 100644 --- a/Mage.Sets/src/mage/cards/c/CustodianOfTheTrove.java +++ b/Mage.Sets/src/mage/cards/c/CustodianOfTheTrove.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CustodianOfTheTrove extends CardImpl { public CustodianOfTheTrove(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/c/CustodyBattle.java b/Mage.Sets/src/mage/cards/c/CustodyBattle.java index 3e18d3775dd..cff9c850a97 100644 --- a/Mage.Sets/src/mage/cards/c/CustodyBattle.java +++ b/Mage.Sets/src/mage/cards/c/CustodyBattle.java @@ -46,6 +46,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.SubLayer; @@ -72,7 +73,7 @@ public class CustodyBattle extends CardImpl { public CustodyBattle(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/c/CutthroatIlDal.java b/Mage.Sets/src/mage/cards/c/CutthroatIlDal.java index e9347001607..d707cf1669b 100644 --- a/Mage.Sets/src/mage/cards/c/CutthroatIlDal.java +++ b/Mage.Sets/src/mage/cards/c/CutthroatIlDal.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class CutthroatIlDal extends CardImpl { public CutthroatIlDal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CycloneSire.java b/Mage.Sets/src/mage/cards/c/CycloneSire.java index 3c45fcbf27c..8dc818dabf1 100644 --- a/Mage.Sets/src/mage/cards/c/CycloneSire.java +++ b/Mage.Sets/src/mage/cards/c/CycloneSire.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.counters.CounterType; import mage.filter.common.FilterControlledLandPermanent; @@ -52,7 +53,7 @@ public class CycloneSire extends CardImpl { public CycloneSire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CyclopeanMummy.java b/Mage.Sets/src/mage/cards/c/CyclopeanMummy.java index ee7db7206c2..d945e06ccc0 100644 --- a/Mage.Sets/src/mage/cards/c/CyclopeanMummy.java +++ b/Mage.Sets/src/mage/cards/c/CyclopeanMummy.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ExileSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class CyclopeanMummy extends CardImpl { public CyclopeanMummy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/c/CyclopsGladiator.java b/Mage.Sets/src/mage/cards/c/CyclopsGladiator.java index 3ad114668dc..93dcf093036 100644 --- a/Mage.Sets/src/mage/cards/c/CyclopsGladiator.java +++ b/Mage.Sets/src/mage/cards/c/CyclopsGladiator.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -52,8 +53,8 @@ public class CyclopsGladiator extends CardImpl { public CyclopsGladiator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}{R}"); - this.subtype.add("Cyclops"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CYCLOPS); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CyclopsOfEternalFury.java b/Mage.Sets/src/mage/cards/c/CyclopsOfEternalFury.java index 0711bd42308..9f7218d1afd 100644 --- a/Mage.Sets/src/mage/cards/c/CyclopsOfEternalFury.java +++ b/Mage.Sets/src/mage/cards/c/CyclopsOfEternalFury.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -48,7 +49,7 @@ public class CyclopsOfEternalFury extends CardImpl { public CyclopsOfEternalFury(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Cyclops"); + this.subtype.add(SubType.CYCLOPS); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CyclopsOfOneEyedPass.java b/Mage.Sets/src/mage/cards/c/CyclopsOfOneEyedPass.java index 036a30e0a1b..4759f2b9e69 100644 --- a/Mage.Sets/src/mage/cards/c/CyclopsOfOneEyedPass.java +++ b/Mage.Sets/src/mage/cards/c/CyclopsOfOneEyedPass.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class CyclopsOfOneEyedPass extends CardImpl { public CyclopsOfOneEyedPass(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Cyclops"); + this.subtype.add(SubType.CYCLOPS); this.power = new MageInt(5); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CyclopsTyrant.java b/Mage.Sets/src/mage/cards/c/CyclopsTyrant.java index bf075a3db5f..2db10574e00 100644 --- a/Mage.Sets/src/mage/cards/c/CyclopsTyrant.java +++ b/Mage.Sets/src/mage/cards/c/CyclopsTyrant.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -53,7 +54,7 @@ public class CyclopsTyrant extends CardImpl { public CyclopsTyrant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Cyclops"); + this.subtype.add(SubType.CYCLOPS); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/c/CylianElf.java b/Mage.Sets/src/mage/cards/c/CylianElf.java index f08772d5536..01323f2c960 100644 --- a/Mage.Sets/src/mage/cards/c/CylianElf.java +++ b/Mage.Sets/src/mage/cards/c/CylianElf.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class CylianElf extends CardImpl { public CylianElf (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/CylianSunsinger.java b/Mage.Sets/src/mage/cards/c/CylianSunsinger.java index efe994b2a1b..8276e3bdb65 100644 --- a/Mage.Sets/src/mage/cards/c/CylianSunsinger.java +++ b/Mage.Sets/src/mage/cards/c/CylianSunsinger.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -54,8 +55,8 @@ public class CylianSunsinger extends CardImpl { public CylianSunsinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/c/Cystbearer.java b/Mage.Sets/src/mage/cards/c/Cystbearer.java index b83a902f38d..22f99998873 100644 --- a/Mage.Sets/src/mage/cards/c/Cystbearer.java +++ b/Mage.Sets/src/mage/cards/c/Cystbearer.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * Cystbearer @@ -44,7 +45,7 @@ public class Cystbearer extends CardImpl { public Cystbearer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/c/CytoplastManipulator.java b/Mage.Sets/src/mage/cards/c/CytoplastManipulator.java index 79d043ea417..469b6d334bb 100644 --- a/Mage.Sets/src/mage/cards/c/CytoplastManipulator.java +++ b/Mage.Sets/src/mage/cards/c/CytoplastManipulator.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.GraftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -60,9 +61,9 @@ public class CytoplastManipulator extends CardImpl { public CytoplastManipulator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/c/CytoplastRootKin.java b/Mage.Sets/src/mage/cards/c/CytoplastRootKin.java index f4414962077..805d7991b1a 100644 --- a/Mage.Sets/src/mage/cards/c/CytoplastRootKin.java +++ b/Mage.Sets/src/mage/cards/c/CytoplastRootKin.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.GraftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -63,8 +64,8 @@ public class CytoplastRootKin extends CardImpl { public CytoplastRootKin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Elemental"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/c/CytospawnShambler.java b/Mage.Sets/src/mage/cards/c/CytospawnShambler.java index 27132344858..820ff1953ff 100644 --- a/Mage.Sets/src/mage/cards/c/CytospawnShambler.java +++ b/Mage.Sets/src/mage/cards/c/CytospawnShambler.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -58,8 +59,8 @@ public class CytospawnShambler extends CardImpl { public CytospawnShambler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}"); - this.subtype.add("Elemental"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/d/DAvenantArcher.java b/Mage.Sets/src/mage/cards/d/DAvenantArcher.java index 0642070c761..a78f57c0de3 100644 --- a/Mage.Sets/src/mage/cards/d/DAvenantArcher.java +++ b/Mage.Sets/src/mage/cards/d/DAvenantArcher.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetAttackingOrBlockingCreature; @@ -47,9 +48,9 @@ public class DAvenantArcher extends CardImpl { public DAvenantArcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DAvenantHealer.java b/Mage.Sets/src/mage/cards/d/DAvenantHealer.java index 9647b3090be..a2bbfde3ac2 100644 --- a/Mage.Sets/src/mage/cards/d/DAvenantHealer.java +++ b/Mage.Sets/src/mage/cards/d/DAvenantHealer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetAttackingOrBlockingCreature; @@ -50,9 +51,9 @@ public class DAvenantHealer extends CardImpl { public DAvenantHealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DackFayden.java b/Mage.Sets/src/mage/cards/d/DackFayden.java index ca975a99eaf..08760be9006 100644 --- a/Mage.Sets/src/mage/cards/d/DackFayden.java +++ b/Mage.Sets/src/mage/cards/d/DackFayden.java @@ -51,7 +51,7 @@ public class DackFayden extends CardImpl { public DackFayden(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{U}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dack"); + this.subtype.add(SubType.DACK); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/d/DacksDuplicate.java b/Mage.Sets/src/mage/cards/d/DacksDuplicate.java index 947e29caa6a..07f784dc603 100644 --- a/Mage.Sets/src/mage/cards/d/DacksDuplicate.java +++ b/Mage.Sets/src/mage/cards/d/DacksDuplicate.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.game.Game; import mage.game.permanent.Permanent; @@ -52,7 +53,7 @@ public class DacksDuplicate extends CardImpl { public DacksDuplicate(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{R}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/d/DaggerOfTheWorthy.java b/Mage.Sets/src/mage/cards/d/DaggerOfTheWorthy.java index d076bdde99c..7214f3c103c 100644 --- a/Mage.Sets/src/mage/cards/d/DaggerOfTheWorthy.java +++ b/Mage.Sets/src/mage/cards/d/DaggerOfTheWorthy.java @@ -1,74 +1,75 @@ - /* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.d; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.continuous.BoostEquippedEffect; -import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; -import mage.abilities.keyword.AfflictAbility; -import mage.abilities.keyword.EquipAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.AttachmentType; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; - -/** - * - * @author ciaccona007 - */ -public class DaggerOfTheWorthy extends CardImpl { - - public DaggerOfTheWorthy(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); - - this.subtype.add("Equipment"); - - // Equipped creature gets +2/+0 and has afflict 1. (Whenever it becomes blocked, defending player loses 1 life.) - Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2,0)); - ability.addEffect(new GainAbilityAttachedEffect(new AfflictAbility(1), AttachmentType.EQUIPMENT)); - addAbility(ability); - - // Equip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.) - this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2))); - - } - - public DaggerOfTheWorthy(final DaggerOfTheWorthy card) { - super(card); - } - - @Override - public DaggerOfTheWorthy copy() { - return new DaggerOfTheWorthy(this); - } -} + /* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.d; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.continuous.BoostEquippedEffect; +import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; +import mage.abilities.keyword.AfflictAbility; +import mage.abilities.keyword.EquipAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.constants.Zone; + +/** + * + * @author ciaccona007 + */ +public class DaggerOfTheWorthy extends CardImpl { + + public DaggerOfTheWorthy(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); + + this.subtype.add(SubType.EQUIPMENT); + + // Equipped creature gets +2/+0 and has afflict 1. (Whenever it becomes blocked, defending player loses 1 life.) + Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2,0)); + ability.addEffect(new GainAbilityAttachedEffect(new AfflictAbility(1), AttachmentType.EQUIPMENT)); + addAbility(ability); + + // Equip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.) + this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2))); + + } + + public DaggerOfTheWorthy(final DaggerOfTheWorthy card) { + super(card); + } + + @Override + public DaggerOfTheWorthy copy() { + return new DaggerOfTheWorthy(this); + } +} diff --git a/Mage.Sets/src/mage/cards/d/DaggerbackBasilisk.java b/Mage.Sets/src/mage/cards/d/DaggerbackBasilisk.java index 4cb89181325..2eaf485402e 100644 --- a/Mage.Sets/src/mage/cards/d/DaggerbackBasilisk.java +++ b/Mage.Sets/src/mage/cards/d/DaggerbackBasilisk.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DaggerbackBasilisk extends CardImpl { public DaggerbackBasilisk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Basilisk"); + this.subtype.add(SubType.BASILISK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DaggerclawImp.java b/Mage.Sets/src/mage/cards/d/DaggerclawImp.java index ebe397ac1b7..d0368d138ea 100644 --- a/Mage.Sets/src/mage/cards/d/DaggerclawImp.java +++ b/Mage.Sets/src/mage/cards/d/DaggerclawImp.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class DaggerclawImp extends CardImpl { public DaggerclawImp (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DaggerdromeImp.java b/Mage.Sets/src/mage/cards/d/DaggerdromeImp.java index 4f80418a791..1d4f2ce3970 100644 --- a/Mage.Sets/src/mage/cards/d/DaggerdromeImp.java +++ b/Mage.Sets/src/mage/cards/d/DaggerdromeImp.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class DaggerdromeImp extends CardImpl { public DaggerdromeImp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DaghatarTheAdamant.java b/Mage.Sets/src/mage/cards/d/DaghatarTheAdamant.java index c8e83d26b78..b3a102289ad 100644 --- a/Mage.Sets/src/mage/cards/d/DaghatarTheAdamant.java +++ b/Mage.Sets/src/mage/cards/d/DaghatarTheAdamant.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -59,8 +60,8 @@ public class DaghatarTheAdamant extends CardImpl { public DaghatarTheAdamant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/d/DagobahMawSlug.java b/Mage.Sets/src/mage/cards/d/DagobahMawSlug.java index a552c70d34b..d52589b1fe8 100644 --- a/Mage.Sets/src/mage/cards/d/DagobahMawSlug.java +++ b/Mage.Sets/src/mage/cards/d/DagobahMawSlug.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class DagobahMawSlug extends CardImpl { public DagobahMawSlug(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{G}{W}"); - this.subtype.add("Slug"); + this.subtype.add(SubType.SLUG); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DailyRegimen.java b/Mage.Sets/src/mage/cards/d/DailyRegimen.java index bfad958efc7..fd7553fe43b 100644 --- a/Mage.Sets/src/mage/cards/d/DailyRegimen.java +++ b/Mage.Sets/src/mage/cards/d/DailyRegimen.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -51,7 +52,7 @@ public class DailyRegimen extends CardImpl { public DailyRegimen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/d/DakkonBlackblade.java b/Mage.Sets/src/mage/cards/d/DakkonBlackblade.java index b273f938c0a..768c361794b 100644 --- a/Mage.Sets/src/mage/cards/d/DakkonBlackblade.java +++ b/Mage.Sets/src/mage/cards/d/DakkonBlackblade.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -53,8 +54,8 @@ public class DakkonBlackblade extends CardImpl { public DakkonBlackblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{U}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/d/DakmorBat.java b/Mage.Sets/src/mage/cards/d/DakmorBat.java index ffd9e34e416..87b85d05df7 100644 --- a/Mage.Sets/src/mage/cards/d/DakmorBat.java +++ b/Mage.Sets/src/mage/cards/d/DakmorBat.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DakmorBat extends CardImpl { public DakmorBat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Bat"); + this.subtype.add(SubType.BAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DakmorGhoul.java b/Mage.Sets/src/mage/cards/d/DakmorGhoul.java index 63eee52d802..0a741d6b23a 100644 --- a/Mage.Sets/src/mage/cards/d/DakmorGhoul.java +++ b/Mage.Sets/src/mage/cards/d/DakmorGhoul.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetOpponent; /** @@ -47,7 +48,7 @@ public class DakmorGhoul extends CardImpl { public DakmorGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DakmorLancer.java b/Mage.Sets/src/mage/cards/d/DakmorLancer.java index 4a48ebf48d2..b6a0455b881 100644 --- a/Mage.Sets/src/mage/cards/d/DakmorLancer.java +++ b/Mage.Sets/src/mage/cards/d/DakmorLancer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,8 +58,8 @@ public class DakmorLancer extends CardImpl { public DakmorLancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DakmorScorpion.java b/Mage.Sets/src/mage/cards/d/DakmorScorpion.java index c10357bf969..a536967fb54 100644 --- a/Mage.Sets/src/mage/cards/d/DakmorScorpion.java +++ b/Mage.Sets/src/mage/cards/d/DakmorScorpion.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class DakmorScorpion extends CardImpl { public DakmorScorpion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Scorpion"); + this.subtype.add(SubType.SCORPION); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DakmorSorceress.java b/Mage.Sets/src/mage/cards/d/DakmorSorceress.java index e534c6473ee..d66eec76cea 100644 --- a/Mage.Sets/src/mage/cards/d/DakmorSorceress.java +++ b/Mage.Sets/src/mage/cards/d/DakmorSorceress.java @@ -55,8 +55,8 @@ public class DakmorSorceress extends CardImpl { public DakmorSorceress(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DakraMystic.java b/Mage.Sets/src/mage/cards/d/DakraMystic.java index ace9563f95b..18ff2b5fa94 100644 --- a/Mage.Sets/src/mage/cards/d/DakraMystic.java +++ b/Mage.Sets/src/mage/cards/d/DakraMystic.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -52,8 +53,8 @@ public class DakraMystic extends CardImpl { public DakraMystic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DamiaSageOfStone.java b/Mage.Sets/src/mage/cards/d/DamiaSageOfStone.java index f99cb645d6e..a9b29a2bc89 100644 --- a/Mage.Sets/src/mage/cards/d/DamiaSageOfStone.java +++ b/Mage.Sets/src/mage/cards/d/DamiaSageOfStone.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class DamiaSageOfStone extends CardImpl { public DamiaSageOfStone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Gorgon"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.GORGON); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DampenThought.java b/Mage.Sets/src/mage/cards/d/DampenThought.java index d37346e0a52..87e3f473870 100644 --- a/Mage.Sets/src/mage/cards/d/DampenThought.java +++ b/Mage.Sets/src/mage/cards/d/DampenThought.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SpliceOntoArcaneAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -43,7 +44,7 @@ public class DampenThought extends CardImpl { public DampenThought(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{U}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Target player puts the top four cards of his or her library into his or her graveyard. diff --git a/Mage.Sets/src/mage/cards/d/DanceOfTheDead.java b/Mage.Sets/src/mage/cards/d/DanceOfTheDead.java index dd17e1c2694..00b5e3b7f2e 100644 --- a/Mage.Sets/src/mage/cards/d/DanceOfTheDead.java +++ b/Mage.Sets/src/mage/cards/d/DanceOfTheDead.java @@ -69,7 +69,7 @@ public class DanceOfTheDead extends CardImpl { public DanceOfTheDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature card in a graveyard TargetCardInGraveyard auraTarget = new TargetCardInGraveyard(new FilterCreatureCard("creature card in a graveyard")); diff --git a/Mage.Sets/src/mage/cards/d/DanceOfTheSkywise.java b/Mage.Sets/src/mage/cards/d/DanceOfTheSkywise.java index 3e8e062a02e..cdb619773f2 100644 --- a/Mage.Sets/src/mage/cards/d/DanceOfTheSkywise.java +++ b/Mage.Sets/src/mage/cards/d/DanceOfTheSkywise.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.game.permanent.token.Token; import mage.target.common.TargetControlledCreaturePermanent; @@ -70,8 +71,8 @@ public class DanceOfTheSkywise extends CardImpl { super("Dragon", "blue Dragon Illusion with base power and toughness 4/4 and with flying"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Dragon"); - subtype.add("Illusion"); + subtype.add(SubType.DRAGON); + subtype.add(SubType.ILLUSION); power = new MageInt(4); toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/d/DancingScimitar.java b/Mage.Sets/src/mage/cards/d/DancingScimitar.java index fc3de1a9549..ee9a389b898 100644 --- a/Mage.Sets/src/mage/cards/d/DancingScimitar.java +++ b/Mage.Sets/src/mage/cards/d/DancingScimitar.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DancingScimitar extends CardImpl { public DancingScimitar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/Dandan.java b/Mage.Sets/src/mage/cards/d/Dandan.java index 06626be85b7..fc1f4f29b50 100644 --- a/Mage.Sets/src/mage/cards/d/Dandan.java +++ b/Mage.Sets/src/mage/cards/d/Dandan.java @@ -48,7 +48,7 @@ public class Dandan extends CardImpl { public Dandan(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}{U}"); - this.subtype.add("Fish"); + this.subtype.add(SubType.FISH); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DarajaGriffin.java b/Mage.Sets/src/mage/cards/d/DarajaGriffin.java index 55fb01f0170..10a21077ded 100644 --- a/Mage.Sets/src/mage/cards/d/DarajaGriffin.java +++ b/Mage.Sets/src/mage/cards/d/DarajaGriffin.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,7 +58,7 @@ public class DarajaGriffin extends CardImpl { public DarajaGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/Darba.java b/Mage.Sets/src/mage/cards/d/Darba.java index ecc9c9d1208..f380a60b7d2 100644 --- a/Mage.Sets/src/mage/cards/d/Darba.java +++ b/Mage.Sets/src/mage/cards/d/Darba.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,8 +46,8 @@ public class Darba extends CardImpl { public Darba(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Bird"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DarettiIngeniousIconoclast.java b/Mage.Sets/src/mage/cards/d/DarettiIngeniousIconoclast.java index 8da715a5dc7..4b8544d7e6f 100644 --- a/Mage.Sets/src/mage/cards/d/DarettiIngeniousIconoclast.java +++ b/Mage.Sets/src/mage/cards/d/DarettiIngeniousIconoclast.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.CreateTokenCopyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.FilterPermanent; @@ -70,7 +71,7 @@ public class DarettiIngeniousIconoclast extends CardImpl { public DarettiIngeniousIconoclast(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{B}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Daretti"); + this.subtype.add(SubType.DARETTI); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/d/DarettiScrapSavant.java b/Mage.Sets/src/mage/cards/d/DarettiScrapSavant.java index f85d4f4fe69..ce376ce6868 100644 --- a/Mage.Sets/src/mage/cards/d/DarettiScrapSavant.java +++ b/Mage.Sets/src/mage/cards/d/DarettiScrapSavant.java @@ -41,6 +41,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.TargetController; @@ -67,7 +68,7 @@ public class DarettiScrapSavant extends CardImpl { public DarettiScrapSavant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Daretti"); + this.subtype.add(SubType.DARETTI); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/d/DarienKingOfKjeldor.java b/Mage.Sets/src/mage/cards/d/DarienKingOfKjeldor.java index b7fc6b6e903..5aa34573f37 100644 --- a/Mage.Sets/src/mage/cards/d/DarienKingOfKjeldor.java +++ b/Mage.Sets/src/mage/cards/d/DarienKingOfKjeldor.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class DarienKingOfKjeldor extends CardImpl { public DarienKingOfKjeldor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DarigaazTheIgniter.java b/Mage.Sets/src/mage/cards/d/DarigaazTheIgniter.java index 98969cbc8c7..567f0177e46 100644 --- a/Mage.Sets/src/mage/cards/d/DarigaazTheIgniter.java +++ b/Mage.Sets/src/mage/cards/d/DarigaazTheIgniter.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.choices.ChoiceColor; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.FilterCard; @@ -55,7 +56,7 @@ public class DarigaazTheIgniter extends CardImpl { public DarigaazTheIgniter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DarigaazsAttendant.java b/Mage.Sets/src/mage/cards/d/DarigaazsAttendant.java index a0b07f2c42f..c591ce85533 100644 --- a/Mage.Sets/src/mage/cards/d/DarigaazsAttendant.java +++ b/Mage.Sets/src/mage/cards/d/DarigaazsAttendant.java @@ -37,6 +37,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class DarigaazsAttendant extends CardImpl { public DarigaazsAttendant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DaringApprentice.java b/Mage.Sets/src/mage/cards/d/DaringApprentice.java index 656c219c35a..2c68cb5cc9b 100644 --- a/Mage.Sets/src/mage/cards/d/DaringApprentice.java +++ b/Mage.Sets/src/mage/cards/d/DaringApprentice.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CounterTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetSpell; @@ -48,8 +49,8 @@ public class DaringApprentice extends CardImpl { public DaringApprentice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DaringSaboteur.java b/Mage.Sets/src/mage/cards/d/DaringSaboteur.java index 729b34dfbe0..9c34129962d 100644 --- a/Mage.Sets/src/mage/cards/d/DaringSaboteur.java +++ b/Mage.Sets/src/mage/cards/d/DaringSaboteur.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class DaringSaboteur extends CardImpl { public DaringSaboteur(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DaringSkyjek.java b/Mage.Sets/src/mage/cards/d/DaringSkyjek.java index ce03c93cf0b..c0ea33efaae 100644 --- a/Mage.Sets/src/mage/cards/d/DaringSkyjek.java +++ b/Mage.Sets/src/mage/cards/d/DaringSkyjek.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class DaringSkyjek extends CardImpl { public DaringSkyjek(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DaringSleuth.java b/Mage.Sets/src/mage/cards/d/DaringSleuth.java index ebbddbec587..ad8b247bb97 100644 --- a/Mage.Sets/src/mage/cards/d/DaringSleuth.java +++ b/Mage.Sets/src/mage/cards/d/DaringSleuth.java @@ -36,6 +36,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.b.BearerOfOverwhelmingTruths; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -49,8 +50,8 @@ public class DaringSleuth extends CardImpl { public DaringSleuth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DaringThief.java b/Mage.Sets/src/mage/cards/d/DaringThief.java index f25cd2046a2..126138f0633 100644 --- a/Mage.Sets/src/mage/cards/d/DaringThief.java +++ b/Mage.Sets/src/mage/cards/d/DaringThief.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.InspiredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -59,8 +60,8 @@ public class DaringThief extends CardImpl { public DaringThief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DarkConfidant.java b/Mage.Sets/src/mage/cards/d/DarkConfidant.java index b89e4577817..bca6a50257b 100644 --- a/Mage.Sets/src/mage/cards/d/DarkConfidant.java +++ b/Mage.Sets/src/mage/cards/d/DarkConfidant.java @@ -34,6 +34,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class DarkConfidant extends CardImpl { public DarkConfidant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DarkFavor.java b/Mage.Sets/src/mage/cards/d/DarkFavor.java index d99fcb121f8..bd70948b4aa 100644 --- a/Mage.Sets/src/mage/cards/d/DarkFavor.java +++ b/Mage.Sets/src/mage/cards/d/DarkFavor.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class DarkFavor extends CardImpl { public DarkFavor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/d/DarkHatchling.java b/Mage.Sets/src/mage/cards/d/DarkHatchling.java index 2d6c1007653..7951a950ff6 100644 --- a/Mage.Sets/src/mage/cards/d/DarkHatchling.java +++ b/Mage.Sets/src/mage/cards/d/DarkHatchling.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -56,7 +57,7 @@ public class DarkHatchling extends CardImpl { public DarkHatchling (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DarkImpostor.java b/Mage.Sets/src/mage/cards/d/DarkImpostor.java index 59aab2b8583..ebd1853c016 100644 --- a/Mage.Sets/src/mage/cards/d/DarkImpostor.java +++ b/Mage.Sets/src/mage/cards/d/DarkImpostor.java @@ -56,8 +56,8 @@ public class DarkImpostor extends CardImpl { public DarkImpostor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DarkMaze.java b/Mage.Sets/src/mage/cards/d/DarkMaze.java index 8b855845138..7d70b7eac8b 100644 --- a/Mage.Sets/src/mage/cards/d/DarkMaze.java +++ b/Mage.Sets/src/mage/cards/d/DarkMaze.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class DarkMaze extends CardImpl { public DarkMaze(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DarkPrivilege.java b/Mage.Sets/src/mage/cards/d/DarkPrivilege.java index 52cfbfb9732..94a979fee11 100644 --- a/Mage.Sets/src/mage/cards/d/DarkPrivilege.java +++ b/Mage.Sets/src/mage/cards/d/DarkPrivilege.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -57,7 +58,7 @@ public class DarkPrivilege extends CardImpl { public DarkPrivilege(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DarkRevenant.java b/Mage.Sets/src/mage/cards/d/DarkRevenant.java index cef47ae30f7..e0120e02b6d 100644 --- a/Mage.Sets/src/mage/cards/d/DarkRevenant.java +++ b/Mage.Sets/src/mage/cards/d/DarkRevenant.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -50,7 +51,7 @@ public class DarkRevenant extends CardImpl { public DarkRevenant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DarkSupplicant.java b/Mage.Sets/src/mage/cards/d/DarkSupplicant.java index 790c3cb3cfd..34d342b90d2 100644 --- a/Mage.Sets/src/mage/cards/d/DarkSupplicant.java +++ b/Mage.Sets/src/mage/cards/d/DarkSupplicant.java @@ -66,8 +66,8 @@ public class DarkSupplicant extends CardImpl { public DarkSupplicant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DarkTrooper.java b/Mage.Sets/src/mage/cards/d/DarkTrooper.java index 8cfbfd70653..f817049f4b7 100644 --- a/Mage.Sets/src/mage/cards/d/DarkTrooper.java +++ b/Mage.Sets/src/mage/cards/d/DarkTrooper.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.RepairAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class DarkTrooper extends CardImpl { public DarkTrooper(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); - this.subtype.add("Droid"); - this.subtype.add("Trooper"); + this.subtype.add(SubType.DROID); + this.subtype.add(SubType.TROOPER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DarkheartSliver.java b/Mage.Sets/src/mage/cards/d/DarkheartSliver.java index 92efb96f2fd..5cb7fcfa64e 100644 --- a/Mage.Sets/src/mage/cards/d/DarkheartSliver.java +++ b/Mage.Sets/src/mage/cards/d/DarkheartSliver.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.GainAbilityAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -50,7 +51,7 @@ public class DarkheartSliver extends CardImpl { public DarkheartSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{G}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DarklingStalker.java b/Mage.Sets/src/mage/cards/d/DarklingStalker.java index f9be7723aff..e3aee6f97cf 100644 --- a/Mage.Sets/src/mage/cards/d/DarklingStalker.java +++ b/Mage.Sets/src/mage/cards/d/DarklingStalker.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class DarklingStalker extends CardImpl { public DarklingStalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Shade"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SHADE); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DarklitGargoyle.java b/Mage.Sets/src/mage/cards/d/DarklitGargoyle.java index 33772383dd8..f6d00afad29 100644 --- a/Mage.Sets/src/mage/cards/d/DarklitGargoyle.java +++ b/Mage.Sets/src/mage/cards/d/DarklitGargoyle.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class DarklitGargoyle extends CardImpl { public DarklitGargoyle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{W}"); - this.subtype.add("Gargoyle"); + this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(1); this.toughness = new MageInt(2); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/d/DarkslickDrake.java b/Mage.Sets/src/mage/cards/d/DarkslickDrake.java index ae6127cc4a0..d2c8f600e9d 100644 --- a/Mage.Sets/src/mage/cards/d/DarkslickDrake.java +++ b/Mage.Sets/src/mage/cards/d/DarkslickDrake.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class DarkslickDrake extends CardImpl { public DarkslickDrake (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DarksteelAxe.java b/Mage.Sets/src/mage/cards/d/DarksteelAxe.java index 158f73eea38..771d9f93667 100644 --- a/Mage.Sets/src/mage/cards/d/DarksteelAxe.java +++ b/Mage.Sets/src/mage/cards/d/DarksteelAxe.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class DarksteelAxe extends CardImpl { public DarksteelAxe (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(IndestructibleAbility.getInstance()); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 0))); this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2))); diff --git a/Mage.Sets/src/mage/cards/d/DarksteelColossus.java b/Mage.Sets/src/mage/cards/d/DarksteelColossus.java index cd7f6442a61..59baceeff97 100644 --- a/Mage.Sets/src/mage/cards/d/DarksteelColossus.java +++ b/Mage.Sets/src/mage/cards/d/DarksteelColossus.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -45,7 +46,7 @@ public class DarksteelColossus extends CardImpl { public DarksteelColossus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{11}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(11); this.toughness = new MageInt(11); diff --git a/Mage.Sets/src/mage/cards/d/DarksteelGargoyle.java b/Mage.Sets/src/mage/cards/d/DarksteelGargoyle.java index 98345b6c002..f8bcb58e4b1 100644 --- a/Mage.Sets/src/mage/cards/d/DarksteelGargoyle.java +++ b/Mage.Sets/src/mage/cards/d/DarksteelGargoyle.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -43,7 +44,7 @@ public class DarksteelGargoyle extends CardImpl { public DarksteelGargoyle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Gargoyle"); + this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(3); this.toughness = new MageInt(3); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/d/DarksteelJuggernaut.java b/Mage.Sets/src/mage/cards/d/DarksteelJuggernaut.java index dc0663be153..2effb3ae30b 100644 --- a/Mage.Sets/src/mage/cards/d/DarksteelJuggernaut.java +++ b/Mage.Sets/src/mage/cards/d/DarksteelJuggernaut.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; @@ -49,7 +50,7 @@ public class DarksteelJuggernaut extends CardImpl { public DarksteelJuggernaut(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{5}"); - this.subtype.add("Juggernaut"); + this.subtype.add(SubType.JUGGERNAUT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/d/DarksteelMutation.java b/Mage.Sets/src/mage/cards/d/DarksteelMutation.java index 070fc2ebc11..d77d6ad8aca 100644 --- a/Mage.Sets/src/mage/cards/d/DarksteelMutation.java +++ b/Mage.Sets/src/mage/cards/d/DarksteelMutation.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class DarksteelMutation extends CardImpl { public DarksteelMutation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); @@ -86,7 +87,7 @@ class DarksteelMutationInsectToken extends Token { super("Insect", "Insect artifact creature with base power and toughness 0/1"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Insect"); + subtype.add(SubType.INSECT); power = new MageInt(0); toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DarksteelMyr.java b/Mage.Sets/src/mage/cards/d/DarksteelMyr.java index c0421aa8915..0f20417a68e 100644 --- a/Mage.Sets/src/mage/cards/d/DarksteelMyr.java +++ b/Mage.Sets/src/mage/cards/d/DarksteelMyr.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class DarksteelMyr extends CardImpl { public DarksteelMyr (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(0); this.toughness = new MageInt(1); this.addAbility(IndestructibleAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/d/DarksteelPlate.java b/Mage.Sets/src/mage/cards/d/DarksteelPlate.java index a38023a446f..bdac772db5a 100644 --- a/Mage.Sets/src/mage/cards/d/DarksteelPlate.java +++ b/Mage.Sets/src/mage/cards/d/DarksteelPlate.java @@ -46,7 +46,7 @@ public class DarksteelPlate extends CardImpl { public DarksteelPlate (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Darksteel Plate is indestructible. this.addAbility(IndestructibleAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/d/DarksteelSentinel.java b/Mage.Sets/src/mage/cards/d/DarksteelSentinel.java index 8d6270ced81..b21a279147f 100644 --- a/Mage.Sets/src/mage/cards/d/DarksteelSentinel.java +++ b/Mage.Sets/src/mage/cards/d/DarksteelSentinel.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class DarksteelSentinel extends CardImpl { public DarksteelSentinel (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(3); this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/d/DarkthicketWolf.java b/Mage.Sets/src/mage/cards/d/DarkthicketWolf.java index 76e70a7b64b..791bf48b646 100644 --- a/Mage.Sets/src/mage/cards/d/DarkthicketWolf.java +++ b/Mage.Sets/src/mage/cards/d/DarkthicketWolf.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class DarkthicketWolf extends CardImpl { public DarkthicketWolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DarkwatchElves.java b/Mage.Sets/src/mage/cards/d/DarkwatchElves.java index cbe5f24d247..5bd66ae38d0 100644 --- a/Mage.Sets/src/mage/cards/d/DarkwatchElves.java +++ b/Mage.Sets/src/mage/cards/d/DarkwatchElves.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Backfir3 @@ -44,7 +45,7 @@ public class DarkwatchElves extends CardImpl { public DarkwatchElves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DarthMaul.java b/Mage.Sets/src/mage/cards/d/DarthMaul.java index 890beaf38e3..918bd7be330 100644 --- a/Mage.Sets/src/mage/cards/d/DarthMaul.java +++ b/Mage.Sets/src/mage/cards/d/DarthMaul.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.target.common.TargetCreaturePermanent; @@ -53,8 +54,8 @@ public class DarthMaul extends CardImpl { public DarthMaul(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zabrak"); - this.subtype.add("Sith"); + this.subtype.add(SubType.ZABRAK); + this.subtype.add(SubType.SITH); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DarthSidiousSithLord.java b/Mage.Sets/src/mage/cards/d/DarthSidiousSithLord.java index 852270a55c5..114dc69f497 100644 --- a/Mage.Sets/src/mage/cards/d/DarthSidiousSithLord.java +++ b/Mage.Sets/src/mage/cards/d/DarthSidiousSithLord.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -61,7 +62,7 @@ public class DarthSidiousSithLord extends CardImpl { public DarthSidiousSithLord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{4}{U}{B}{B}{R}"); - this.subtype.add("Sidious"); + this.subtype.add(SubType.SIDIOUS); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/d/DarthTyranus.java b/Mage.Sets/src/mage/cards/d/DarthTyranus.java index cf375ba73bd..98a6a34dbae 100644 --- a/Mage.Sets/src/mage/cards/d/DarthTyranus.java +++ b/Mage.Sets/src/mage/cards/d/DarthTyranus.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class DarthTyranus extends CardImpl { public DarthTyranus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{1}{W}{U}{B}"); - this.subtype.add("Dooku"); + this.subtype.add(SubType.DOOKU); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/d/DarthVader.java b/Mage.Sets/src/mage/cards/d/DarthVader.java index acc15b1f84f..85a40aca5d2 100644 --- a/Mage.Sets/src/mage/cards/d/DarthVader.java +++ b/Mage.Sets/src/mage/cards/d/DarthVader.java @@ -54,8 +54,8 @@ public class DarthVader extends CardImpl { public DarthVader(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, ""); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Sith"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SITH); this.power = new MageInt(4); this.toughness = new MageInt(4); this.color.setBlack(true); diff --git a/Mage.Sets/src/mage/cards/d/DartingMerfolk.java b/Mage.Sets/src/mage/cards/d/DartingMerfolk.java index 0e1547f0b9a..a7ff571ea36 100644 --- a/Mage.Sets/src/mage/cards/d/DartingMerfolk.java +++ b/Mage.Sets/src/mage/cards/d/DartingMerfolk.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class DartingMerfolk extends CardImpl { public DartingMerfolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DaruCavalier.java b/Mage.Sets/src/mage/cards/d/DaruCavalier.java index c931bd66967..37a75f64a74 100644 --- a/Mage.Sets/src/mage/cards/d/DaruCavalier.java +++ b/Mage.Sets/src/mage/cards/d/DaruCavalier.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.NamePredicate; import mage.target.common.TargetCardInLibrary; @@ -54,8 +55,8 @@ public class DaruCavalier extends CardImpl { public DaruCavalier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DaruHealer.java b/Mage.Sets/src/mage/cards/d/DaruHealer.java index 9b4778f03db..88fa15a77b9 100644 --- a/Mage.Sets/src/mage/cards/d/DaruHealer.java +++ b/Mage.Sets/src/mage/cards/d/DaruHealer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -51,8 +52,8 @@ public class DaruHealer extends CardImpl { public DaruHealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DaruLancer.java b/Mage.Sets/src/mage/cards/d/DaruLancer.java index 0d84167ee49..8055aa3c4cf 100644 --- a/Mage.Sets/src/mage/cards/d/DaruLancer.java +++ b/Mage.Sets/src/mage/cards/d/DaruLancer.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class DaruLancer extends CardImpl { public DaruLancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DaruMender.java b/Mage.Sets/src/mage/cards/d/DaruMender.java index d54f78651bf..88ae921811d 100644 --- a/Mage.Sets/src/mage/cards/d/DaruMender.java +++ b/Mage.Sets/src/mage/cards/d/DaruMender.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -47,8 +48,8 @@ public class DaruMender extends CardImpl { public DaruMender(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DaruSanctifier.java b/Mage.Sets/src/mage/cards/d/DaruSanctifier.java index 6d4676eff95..725399e860c 100644 --- a/Mage.Sets/src/mage/cards/d/DaruSanctifier.java +++ b/Mage.Sets/src/mage/cards/d/DaruSanctifier.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetEnchantmentPermanent; /** @@ -47,8 +48,8 @@ public class DaruSanctifier extends CardImpl { public DaruSanctifier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DaruSpiritualist.java b/Mage.Sets/src/mage/cards/d/DaruSpiritualist.java index 6b1617086dc..2c0442f5dff 100644 --- a/Mage.Sets/src/mage/cards/d/DaruSpiritualist.java +++ b/Mage.Sets/src/mage/cards/d/DaruSpiritualist.java @@ -54,8 +54,8 @@ public class DaruSpiritualist extends CardImpl { public DaruSpiritualist(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DaruStinger.java b/Mage.Sets/src/mage/cards/d/DaruStinger.java index 4a9b4974d6b..9e4810f5200 100644 --- a/Mage.Sets/src/mage/cards/d/DaruStinger.java +++ b/Mage.Sets/src/mage/cards/d/DaruStinger.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.AmplifyAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetAttackingOrBlockingCreature; @@ -51,7 +52,7 @@ public class DaruStinger extends CardImpl { public DaruStinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DaruWarchief.java b/Mage.Sets/src/mage/cards/d/DaruWarchief.java index 4fe0947a8e1..c9f4a41e887 100644 --- a/Mage.Sets/src/mage/cards/d/DaruWarchief.java +++ b/Mage.Sets/src/mage/cards/d/DaruWarchief.java @@ -58,8 +58,8 @@ public class DaruWarchief extends CardImpl { public DaruWarchief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DaughterOfAutumn.java b/Mage.Sets/src/mage/cards/d/DaughterOfAutumn.java index 6fe72a37f12..07fa354c4a6 100644 --- a/Mage.Sets/src/mage/cards/d/DaughterOfAutumn.java +++ b/Mage.Sets/src/mage/cards/d/DaughterOfAutumn.java @@ -37,6 +37,7 @@ import mage.abilities.effects.RedirectionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -63,7 +64,7 @@ public class DaughterOfAutumn extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DauntingDefender.java b/Mage.Sets/src/mage/cards/d/DauntingDefender.java index e48db5befce..8eef9e3c72e 100644 --- a/Mage.Sets/src/mage/cards/d/DauntingDefender.java +++ b/Mage.Sets/src/mage/cards/d/DauntingDefender.java @@ -51,8 +51,8 @@ public class DauntingDefender extends CardImpl { public DauntingDefender(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DauntlessAven.java b/Mage.Sets/src/mage/cards/d/DauntlessAven.java index b74b7a9d01b..d35dab98d65 100644 --- a/Mage.Sets/src/mage/cards/d/DauntlessAven.java +++ b/Mage.Sets/src/mage/cards/d/DauntlessAven.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -47,8 +48,8 @@ public class DauntlessAven extends CardImpl { public DauntlessAven(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DauntlessCathar.java b/Mage.Sets/src/mage/cards/d/DauntlessCathar.java index ee27c4519dd..a29671d35e8 100644 --- a/Mage.Sets/src/mage/cards/d/DauntlessCathar.java +++ b/Mage.Sets/src/mage/cards/d/DauntlessCathar.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.SpiritWhiteToken; @@ -48,8 +49,8 @@ public class DauntlessCathar extends CardImpl { public DauntlessCathar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DauntlessDourbark.java b/Mage.Sets/src/mage/cards/d/DauntlessDourbark.java index 86deb412932..e0560f0df86 100644 --- a/Mage.Sets/src/mage/cards/d/DauntlessDourbark.java +++ b/Mage.Sets/src/mage/cards/d/DauntlessDourbark.java @@ -69,8 +69,8 @@ public class DauntlessDourbark extends CardImpl { public DauntlessDourbark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.WARRIOR); this.color.setGreen(true); this.power = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/d/DauntlessEscort.java b/Mage.Sets/src/mage/cards/d/DauntlessEscort.java index 818917e8373..9d6ec5a0b9c 100644 --- a/Mage.Sets/src/mage/cards/d/DauntlessEscort.java +++ b/Mage.Sets/src/mage/cards/d/DauntlessEscort.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -50,8 +51,8 @@ public class DauntlessEscort extends CardImpl { public DauntlessEscort(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}"); - this.subtype.add("Rhino"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.SOLDIER); diff --git a/Mage.Sets/src/mage/cards/d/DauntlessRiverMarshal.java b/Mage.Sets/src/mage/cards/d/DauntlessRiverMarshal.java index cdb57c80a13..b2875fb81b6 100644 --- a/Mage.Sets/src/mage/cards/d/DauntlessRiverMarshal.java +++ b/Mage.Sets/src/mage/cards/d/DauntlessRiverMarshal.java @@ -59,8 +59,8 @@ public class DauntlessRiverMarshal extends CardImpl { public DauntlessRiverMarshal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DauthiCutthroat.java b/Mage.Sets/src/mage/cards/d/DauthiCutthroat.java index 6cb66fecefe..71fadcf00a7 100644 --- a/Mage.Sets/src/mage/cards/d/DauthiCutthroat.java +++ b/Mage.Sets/src/mage/cards/d/DauthiCutthroat.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -57,8 +58,8 @@ public class DauthiCutthroat extends CardImpl { public DauthiCutthroat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Dauthi"); - this.subtype.add("Minion"); + this.subtype.add(SubType.DAUTHI); + this.subtype.add(SubType.MINION); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DauthiGhoul.java b/Mage.Sets/src/mage/cards/d/DauthiGhoul.java index b392902aefe..39f0cf1fc47 100644 --- a/Mage.Sets/src/mage/cards/d/DauthiGhoul.java +++ b/Mage.Sets/src/mage/cards/d/DauthiGhoul.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -53,8 +54,8 @@ public class DauthiGhoul extends CardImpl { public DauthiGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Dauthi"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.DAUTHI); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DauthiHorror.java b/Mage.Sets/src/mage/cards/d/DauthiHorror.java index 41d05cc671a..e76dca1686b 100644 --- a/Mage.Sets/src/mage/cards/d/DauthiHorror.java +++ b/Mage.Sets/src/mage/cards/d/DauthiHorror.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -53,8 +54,8 @@ public class DauthiHorror extends CardImpl { public DauthiHorror(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Dauthi"); - this.subtype.add("Horror"); + this.subtype.add(SubType.DAUTHI); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DauthiJackal.java b/Mage.Sets/src/mage/cards/d/DauthiJackal.java index e3491123169..62db90500a6 100644 --- a/Mage.Sets/src/mage/cards/d/DauthiJackal.java +++ b/Mage.Sets/src/mage/cards/d/DauthiJackal.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterBlockingCreature; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class DauthiJackal extends CardImpl { public DauthiJackal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Dauthi"); - this.subtype.add("Jackal"); + this.subtype.add(SubType.DAUTHI); + this.subtype.add(SubType.JACKAL); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DauthiMarauder.java b/Mage.Sets/src/mage/cards/d/DauthiMarauder.java index 6f0f9ac0347..d65005baba4 100644 --- a/Mage.Sets/src/mage/cards/d/DauthiMarauder.java +++ b/Mage.Sets/src/mage/cards/d/DauthiMarauder.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class DauthiMarauder extends CardImpl { public DauthiMarauder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Dauthi"); - this.subtype.add("Minion"); + this.subtype.add(SubType.DAUTHI); + this.subtype.add(SubType.MINION); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DauthiMercenary.java b/Mage.Sets/src/mage/cards/d/DauthiMercenary.java index 7005340fb53..22d3cad4116 100644 --- a/Mage.Sets/src/mage/cards/d/DauthiMercenary.java +++ b/Mage.Sets/src/mage/cards/d/DauthiMercenary.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,9 +48,9 @@ public class DauthiMercenary extends CardImpl { public DauthiMercenary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Dauthi"); - this.subtype.add("Knight"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.DAUTHI); + this.subtype.add(SubType.KNIGHT); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DauthiMindripper.java b/Mage.Sets/src/mage/cards/d/DauthiMindripper.java index f32e8b6f51e..71f11395c54 100644 --- a/Mage.Sets/src/mage/cards/d/DauthiMindripper.java +++ b/Mage.Sets/src/mage/cards/d/DauthiMindripper.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,8 +48,8 @@ public class DauthiMindripper extends CardImpl { public DauthiMindripper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Dauthi"); - this.subtype.add("Minion"); + this.subtype.add(SubType.DAUTHI); + this.subtype.add(SubType.MINION); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DauthiSlayer.java b/Mage.Sets/src/mage/cards/d/DauthiSlayer.java index 7cce97a377c..e689980d390 100644 --- a/Mage.Sets/src/mage/cards/d/DauthiSlayer.java +++ b/Mage.Sets/src/mage/cards/d/DauthiSlayer.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class DauthiSlayer extends CardImpl { public DauthiSlayer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Dauthi"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.DAUTHI); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DauthiTrapper.java b/Mage.Sets/src/mage/cards/d/DauthiTrapper.java index 5ebf1711d96..7670231f0bd 100644 --- a/Mage.Sets/src/mage/cards/d/DauthiTrapper.java +++ b/Mage.Sets/src/mage/cards/d/DauthiTrapper.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class DauthiTrapper extends CardImpl { public DauthiTrapper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Dauthi"); - this.subtype.add("Minion"); + this.subtype.add(SubType.DAUTHI); + this.subtype.add(SubType.MINION); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DauthiWarlord.java b/Mage.Sets/src/mage/cards/d/DauthiWarlord.java index bb1cf1a9a37..915f690c40d 100644 --- a/Mage.Sets/src/mage/cards/d/DauthiWarlord.java +++ b/Mage.Sets/src/mage/cards/d/DauthiWarlord.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -57,8 +58,8 @@ public class DauthiWarlord extends CardImpl { public DauthiWarlord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Dauthi"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.DAUTHI); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DawnElemental.java b/Mage.Sets/src/mage/cards/d/DawnElemental.java index 0a6dddaaa13..012bffa4b83 100644 --- a/Mage.Sets/src/mage/cards/d/DawnElemental.java +++ b/Mage.Sets/src/mage/cards/d/DawnElemental.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class DawnElemental extends CardImpl { public DawnElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{W}{W}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DawnGryff.java b/Mage.Sets/src/mage/cards/d/DawnGryff.java index 4fa4648a28d..30510321701 100644 --- a/Mage.Sets/src/mage/cards/d/DawnGryff.java +++ b/Mage.Sets/src/mage/cards/d/DawnGryff.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DawnGryff extends CardImpl { public DawnGryff(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Hippogriff"); + this.subtype.add(SubType.HIPPOGRIFF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DawnbreakReclaimer.java b/Mage.Sets/src/mage/cards/d/DawnbreakReclaimer.java index 92f47640d9d..4c5b0f14d17 100644 --- a/Mage.Sets/src/mage/cards/d/DawnbreakReclaimer.java +++ b/Mage.Sets/src/mage/cards/d/DawnbreakReclaimer.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class DawnbreakReclaimer extends CardImpl { public DawnbreakReclaimer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DawnbringerCharioteers.java b/Mage.Sets/src/mage/cards/d/DawnbringerCharioteers.java index b33c88a6d1d..d8014924364 100644 --- a/Mage.Sets/src/mage/cards/d/DawnbringerCharioteers.java +++ b/Mage.Sets/src/mage/cards/d/DawnbringerCharioteers.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -46,8 +47,8 @@ public class DawnbringerCharioteers extends CardImpl { public DawnbringerCharioteers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DawnfeatherEagle.java b/Mage.Sets/src/mage/cards/d/DawnfeatherEagle.java index da6e32acf02..ae9435f2b21 100644 --- a/Mage.Sets/src/mage/cards/d/DawnfeatherEagle.java +++ b/Mage.Sets/src/mage/cards/d/DawnfeatherEagle.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; @@ -51,7 +52,7 @@ public class DawnfeatherEagle extends CardImpl { public DawnfeatherEagle(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/Dawnfluke.java b/Mage.Sets/src/mage/cards/d/Dawnfluke.java index 71166229510..cdcebfcbb1e 100644 --- a/Mage.Sets/src/mage/cards/d/Dawnfluke.java +++ b/Mage.Sets/src/mage/cards/d/Dawnfluke.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.Target; import mage.target.common.TargetCreatureOrPlayer; @@ -49,7 +50,7 @@ public class Dawnfluke extends CardImpl { public Dawnfluke(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DawnglareInvoker.java b/Mage.Sets/src/mage/cards/d/DawnglareInvoker.java index 5c87a69b36d..7683ae7673f 100644 --- a/Mage.Sets/src/mage/cards/d/DawnglareInvoker.java +++ b/Mage.Sets/src/mage/cards/d/DawnglareInvoker.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; import mage.target.TargetPlayer; @@ -48,8 +49,8 @@ public class DawnglareInvoker extends CardImpl { public DawnglareInvoker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DawningPurist.java b/Mage.Sets/src/mage/cards/d/DawningPurist.java index 4a5e3e7fb47..4941ccc6420 100644 --- a/Mage.Sets/src/mage/cards/d/DawningPurist.java +++ b/Mage.Sets/src/mage/cards/d/DawningPurist.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterEnchantmentPermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -52,8 +53,8 @@ public class DawningPurist extends CardImpl { public DawningPurist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DawnrayArcher.java b/Mage.Sets/src/mage/cards/d/DawnrayArcher.java index 82378baeed6..2c1b159e0a2 100644 --- a/Mage.Sets/src/mage/cards/d/DawnrayArcher.java +++ b/Mage.Sets/src/mage/cards/d/DawnrayArcher.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ExaltedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetAttackingOrBlockingCreature; @@ -49,8 +50,8 @@ public class DawnrayArcher extends CardImpl { public DawnrayArcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DawnsReflection.java b/Mage.Sets/src/mage/cards/d/DawnsReflection.java index aca47bdf035..f008b699bbb 100644 --- a/Mage.Sets/src/mage/cards/d/DawnsReflection.java +++ b/Mage.Sets/src/mage/cards/d/DawnsReflection.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.choices.ChoiceColor; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class DawnsReflection extends CardImpl { public DawnsReflection(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/d/Dawnstrider.java b/Mage.Sets/src/mage/cards/d/Dawnstrider.java index 19b5a0b1e4b..acc83ac2ead 100644 --- a/Mage.Sets/src/mage/cards/d/Dawnstrider.java +++ b/Mage.Sets/src/mage/cards/d/Dawnstrider.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.PreventAllDamageByAllPermanentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCardInHand; @@ -50,8 +51,8 @@ public class Dawnstrider extends CardImpl { public Dawnstrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Dryad"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.DRYAD); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DawnstrikePaladin.java b/Mage.Sets/src/mage/cards/d/DawnstrikePaladin.java index ef042aa0821..ecb80c47750 100644 --- a/Mage.Sets/src/mage/cards/d/DawnstrikePaladin.java +++ b/Mage.Sets/src/mage/cards/d/DawnstrikePaladin.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class DawnstrikePaladin extends CardImpl { public DawnstrikePaladin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DawntreaderElk.java b/Mage.Sets/src/mage/cards/d/DawntreaderElk.java index 85229f43376..23f52358dde 100644 --- a/Mage.Sets/src/mage/cards/d/DawntreaderElk.java +++ b/Mage.Sets/src/mage/cards/d/DawntreaderElk.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -50,7 +51,7 @@ public class DawntreaderElk extends CardImpl { public DawntreaderElk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elk"); + this.subtype.add(SubType.ELK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DaxosOfMeletis.java b/Mage.Sets/src/mage/cards/d/DaxosOfMeletis.java index 1f920318d92..5b66bc19302 100644 --- a/Mage.Sets/src/mage/cards/d/DaxosOfMeletis.java +++ b/Mage.Sets/src/mage/cards/d/DaxosOfMeletis.java @@ -67,8 +67,8 @@ public class DaxosOfMeletis extends CardImpl { public DaxosOfMeletis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DaxosTheReturned.java b/Mage.Sets/src/mage/cards/d/DaxosTheReturned.java index 2cbd014beef..511acbc335a 100644 --- a/Mage.Sets/src/mage/cards/d/DaxosTheReturned.java +++ b/Mage.Sets/src/mage/cards/d/DaxosTheReturned.java @@ -59,8 +59,8 @@ public class DaxosTheReturned extends CardImpl { public DaxosTheReturned(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DaxossTorment.java b/Mage.Sets/src/mage/cards/d/DaxossTorment.java index e0ac0e2334b..10ee7aeff99 100644 --- a/Mage.Sets/src/mage/cards/d/DaxossTorment.java +++ b/Mage.Sets/src/mage/cards/d/DaxossTorment.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.game.permanent.token.Token; @@ -68,7 +69,7 @@ class DaxossTormentToken extends Token { super("", "5/5 Demon creature with flying and haste"); cardType.add(CardType.CREATURE); - subtype.add("Demon"); + subtype.add(SubType.DEMON); power = new MageInt(5); toughness = new MageInt(5); addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/d/DaybreakCoronet.java b/Mage.Sets/src/mage/cards/d/DaybreakCoronet.java index 6128c5359e9..b9872301e90 100644 --- a/Mage.Sets/src/mage/cards/d/DaybreakCoronet.java +++ b/Mage.Sets/src/mage/cards/d/DaybreakCoronet.java @@ -58,7 +58,7 @@ public class DaybreakCoronet extends CardImpl { public DaybreakCoronet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature with another Aura attached to it diff --git a/Mage.Sets/src/mage/cards/d/DaybreakRanger.java b/Mage.Sets/src/mage/cards/d/DaybreakRanger.java index 33ff8a46496..172b92e61e9 100644 --- a/Mage.Sets/src/mage/cards/d/DaybreakRanger.java +++ b/Mage.Sets/src/mage/cards/d/DaybreakRanger.java @@ -44,6 +44,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.n.NightfallPredator; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -64,9 +65,9 @@ public class DaybreakRanger extends CardImpl { public DaybreakRanger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Archer"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARCHER); + this.subtype.add(SubType.WEREWOLF); this.transformable = true; this.secondSideCardClazz = NightfallPredator.class; diff --git a/Mage.Sets/src/mage/cards/d/DazzlingRamparts.java b/Mage.Sets/src/mage/cards/d/DazzlingRamparts.java index d0c4c26341b..14d4301d2ff 100644 --- a/Mage.Sets/src/mage/cards/d/DazzlingRamparts.java +++ b/Mage.Sets/src/mage/cards/d/DazzlingRamparts.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class DazzlingRamparts extends CardImpl { public DazzlingRamparts(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/d/DeadReveler.java b/Mage.Sets/src/mage/cards/d/DeadReveler.java index a92b87d69bc..4032ca7abff 100644 --- a/Mage.Sets/src/mage/cards/d/DeadReveler.java +++ b/Mage.Sets/src/mage/cards/d/DeadReveler.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.UnleashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DeadReveler extends CardImpl { public DeadReveler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DeadWeight.java b/Mage.Sets/src/mage/cards/d/DeadWeight.java index 8753de09d14..fad973b69ff 100644 --- a/Mage.Sets/src/mage/cards/d/DeadWeight.java +++ b/Mage.Sets/src/mage/cards/d/DeadWeight.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class DeadWeight extends CardImpl { public DeadWeight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/d/DeadbridgeGoliath.java b/Mage.Sets/src/mage/cards/d/DeadbridgeGoliath.java index a2f07212cee..be7f22987f7 100644 --- a/Mage.Sets/src/mage/cards/d/DeadbridgeGoliath.java +++ b/Mage.Sets/src/mage/cards/d/DeadbridgeGoliath.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ScavengeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class DeadbridgeGoliath extends CardImpl { public DeadbridgeGoliath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DeadbridgeShaman.java b/Mage.Sets/src/mage/cards/d/DeadbridgeShaman.java index a2c43b48a2b..1a6af0d021d 100644 --- a/Mage.Sets/src/mage/cards/d/DeadbridgeShaman.java +++ b/Mage.Sets/src/mage/cards/d/DeadbridgeShaman.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetOpponent; /** @@ -45,8 +46,8 @@ public class DeadbridgeShaman extends CardImpl { public DeadbridgeShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeadeyeHarpooner.java b/Mage.Sets/src/mage/cards/d/DeadeyeHarpooner.java index cf884ba66b4..ea20a739c31 100644 --- a/Mage.Sets/src/mage/cards/d/DeadeyeHarpooner.java +++ b/Mage.Sets/src/mage/cards/d/DeadeyeHarpooner.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterOpponentsCreaturePermanent; import mage.filter.predicate.permanent.TappedPredicate; import mage.target.common.TargetOpponentsCreaturePermanent; @@ -58,8 +59,8 @@ public class DeadeyeHarpooner extends CardImpl { public DeadeyeHarpooner(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Dwarf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DeadeyeNavigator.java b/Mage.Sets/src/mage/cards/d/DeadeyeNavigator.java index ad50173d735..d1be4f775a3 100644 --- a/Mage.Sets/src/mage/cards/d/DeadeyeNavigator.java +++ b/Mage.Sets/src/mage/cards/d/DeadeyeNavigator.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -51,7 +52,7 @@ public class DeadeyeNavigator extends CardImpl { public DeadeyeNavigator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DeadeyePlunderers.java b/Mage.Sets/src/mage/cards/d/DeadeyePlunderers.java index 6c204949789..9ae98ea7598 100644 --- a/Mage.Sets/src/mage/cards/d/DeadeyePlunderers.java +++ b/Mage.Sets/src/mage/cards/d/DeadeyePlunderers.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -62,8 +63,8 @@ public class DeadeyePlunderers extends CardImpl { public DeadeyePlunderers(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{B}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DeadeyeQuartermaster.java b/Mage.Sets/src/mage/cards/d/DeadeyeQuartermaster.java index c51e6b9da03..c99d19e5e60 100644 --- a/Mage.Sets/src/mage/cards/d/DeadeyeQuartermaster.java +++ b/Mage.Sets/src/mage/cards/d/DeadeyeQuartermaster.java @@ -55,8 +55,8 @@ public class DeadeyeQuartermaster extends CardImpl { public DeadeyeQuartermaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DeadeyeTormentor.java b/Mage.Sets/src/mage/cards/d/DeadeyeTormentor.java index da3a864954a..9e9e44ae286 100644 --- a/Mage.Sets/src/mage/cards/d/DeadeyeTormentor.java +++ b/Mage.Sets/src/mage/cards/d/DeadeyeTormentor.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetOpponent; import mage.watchers.common.PlayerAttackedWatcher; @@ -49,8 +50,8 @@ public class DeadeyeTormentor extends CardImpl { public DeadeyeTormentor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DeadeyeTracker.java b/Mage.Sets/src/mage/cards/d/DeadeyeTracker.java index 69a992f3fb3..5915342b3df 100644 --- a/Mage.Sets/src/mage/cards/d/DeadeyeTracker.java +++ b/Mage.Sets/src/mage/cards/d/DeadeyeTracker.java @@ -39,6 +39,7 @@ import mage.abilities.effects.keyword.ExploreSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterCard; @@ -61,8 +62,8 @@ public class DeadeyeTracker extends CardImpl { public DeadeyeTracker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeadlyGrub.java b/Mage.Sets/src/mage/cards/d/DeadlyGrub.java index fd144f9749d..109c981cd51 100644 --- a/Mage.Sets/src/mage/cards/d/DeadlyGrub.java +++ b/Mage.Sets/src/mage/cards/d/DeadlyGrub.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.VanishingUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.game.permanent.token.DeadlyGrubToken; @@ -52,7 +53,7 @@ public class DeadlyGrub extends CardImpl { public DeadlyGrub(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeadlyInsect.java b/Mage.Sets/src/mage/cards/d/DeadlyInsect.java index 29f9cbeedea..d7dfc1656c9 100644 --- a/Mage.Sets/src/mage/cards/d/DeadlyInsect.java +++ b/Mage.Sets/src/mage/cards/d/DeadlyInsect.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DeadlyInsect extends CardImpl { public DeadlyInsect(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(6); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeadlyRecluse.java b/Mage.Sets/src/mage/cards/d/DeadlyRecluse.java index 23fc7bea986..3d861b4a40a 100644 --- a/Mage.Sets/src/mage/cards/d/DeadlyRecluse.java +++ b/Mage.Sets/src/mage/cards/d/DeadlyRecluse.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class DeadlyRecluse extends CardImpl { public DeadlyRecluse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(1); this.toughness = new MageInt(2); this.addAbility(ReachAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/d/DeadshotMinotaur.java b/Mage.Sets/src/mage/cards/d/DeadshotMinotaur.java index 240d2966623..e9093070494 100644 --- a/Mage.Sets/src/mage/cards/d/DeadshotMinotaur.java +++ b/Mage.Sets/src/mage/cards/d/DeadshotMinotaur.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; import mage.target.common.TargetCreaturePermanent; @@ -56,7 +57,7 @@ public class DeadshotMinotaur extends CardImpl { public DeadshotMinotaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{G}"); - this.subtype.add("Minotaur"); + this.subtype.add(SubType.MINOTAUR); diff --git a/Mage.Sets/src/mage/cards/d/DeadwoodTreefolk.java b/Mage.Sets/src/mage/cards/d/DeadwoodTreefolk.java index 25dce2ffa07..10311b5ad9d 100644 --- a/Mage.Sets/src/mage/cards/d/DeadwoodTreefolk.java +++ b/Mage.Sets/src/mage/cards/d/DeadwoodTreefolk.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.VanishingUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.AnotherCardPredicate; @@ -58,7 +59,7 @@ public class DeadwoodTreefolk extends CardImpl { public DeadwoodTreefolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DearlyDeparted.java b/Mage.Sets/src/mage/cards/d/DearlyDeparted.java index d919c1a1596..74b092938bc 100644 --- a/Mage.Sets/src/mage/cards/d/DearlyDeparted.java +++ b/Mage.Sets/src/mage/cards/d/DearlyDeparted.java @@ -51,7 +51,7 @@ public class DearlyDeparted extends CardImpl { public DearlyDeparted(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DeathBaron.java b/Mage.Sets/src/mage/cards/d/DeathBaron.java index 1b00b5a3f59..ecd892178fd 100644 --- a/Mage.Sets/src/mage/cards/d/DeathBaron.java +++ b/Mage.Sets/src/mage/cards/d/DeathBaron.java @@ -59,8 +59,8 @@ public class DeathBaron extends CardImpl { public DeathBaron(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DeathCultist.java b/Mage.Sets/src/mage/cards/d/DeathCultist.java index 7410606e3c0..7daf76b0934 100644 --- a/Mage.Sets/src/mage/cards/d/DeathCultist.java +++ b/Mage.Sets/src/mage/cards/d/DeathCultist.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -47,8 +48,8 @@ public class DeathCultist extends CardImpl { public DeathCultist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeathHoodCobra.java b/Mage.Sets/src/mage/cards/d/DeathHoodCobra.java index c878c81fbeb..ce27747ec25 100644 --- a/Mage.Sets/src/mage/cards/d/DeathHoodCobra.java +++ b/Mage.Sets/src/mage/cards/d/DeathHoodCobra.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class DeathHoodCobra extends CardImpl { public DeathHoodCobra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DeathSpeakers.java b/Mage.Sets/src/mage/cards/d/DeathSpeakers.java index 0a981948580..788a81e2fae 100644 --- a/Mage.Sets/src/mage/cards/d/DeathSpeakers.java +++ b/Mage.Sets/src/mage/cards/d/DeathSpeakers.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class DeathSpeakers extends CardImpl { public DeathSpeakers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeathTrooper.java b/Mage.Sets/src/mage/cards/d/DeathTrooper.java index a5464a66419..c7095be0ba9 100644 --- a/Mage.Sets/src/mage/cards/d/DeathTrooper.java +++ b/Mage.Sets/src/mage/cards/d/DeathTrooper.java @@ -55,8 +55,8 @@ public class DeathTrooper extends CardImpl { public DeathTrooper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Trooper"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.TROOPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeathWatch.java b/Mage.Sets/src/mage/cards/d/DeathWatch.java index 148b4f4f293..26f421155a7 100644 --- a/Mage.Sets/src/mage/cards/d/DeathWatch.java +++ b/Mage.Sets/src/mage/cards/d/DeathWatch.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -52,7 +53,7 @@ public class DeathWatch extends CardImpl { public DeathWatch(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DeathbellowRaider.java b/Mage.Sets/src/mage/cards/d/DeathbellowRaider.java index 2c1a254990c..adb239ec472 100644 --- a/Mage.Sets/src/mage/cards/d/DeathbellowRaider.java +++ b/Mage.Sets/src/mage/cards/d/DeathbellowRaider.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class DeathbellowRaider extends CardImpl { public DeathbellowRaider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DeathbringerLiege.java b/Mage.Sets/src/mage/cards/d/DeathbringerLiege.java index 681ef57d903..614feb88daf 100644 --- a/Mage.Sets/src/mage/cards/d/DeathbringerLiege.java +++ b/Mage.Sets/src/mage/cards/d/DeathbringerLiege.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -69,7 +70,7 @@ public class DeathbringerLiege extends CardImpl { public DeathbringerLiege (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W/B}{W/B}{W/B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DeathbringerRegent.java b/Mage.Sets/src/mage/cards/d/DeathbringerRegent.java index 92f60ee9aa5..2d2fdd0c8dc 100644 --- a/Mage.Sets/src/mage/cards/d/DeathbringerRegent.java +++ b/Mage.Sets/src/mage/cards/d/DeathbringerRegent.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -59,7 +60,7 @@ public class DeathbringerRegent extends CardImpl { public DeathbringerRegent(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{B}{B}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DeathbringerThoctar.java b/Mage.Sets/src/mage/cards/d/DeathbringerThoctar.java index 929d6ff21e5..094e5b662e8 100644 --- a/Mage.Sets/src/mage/cards/d/DeathbringerThoctar.java +++ b/Mage.Sets/src/mage/cards/d/DeathbringerThoctar.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreatureOrPlayer; @@ -50,8 +51,8 @@ public class DeathbringerThoctar extends CardImpl { public DeathbringerThoctar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{R}"); - this.subtype.add("Zombie"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.BEAST); diff --git a/Mage.Sets/src/mage/cards/d/DeathcapCultivator.java b/Mage.Sets/src/mage/cards/d/DeathcapCultivator.java index 0a9368901f0..65ff59cb00f 100644 --- a/Mage.Sets/src/mage/cards/d/DeathcapCultivator.java +++ b/Mage.Sets/src/mage/cards/d/DeathcapCultivator.java @@ -39,6 +39,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class DeathcapCultivator extends CardImpl { public DeathcapCultivator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeathcoilWurm.java b/Mage.Sets/src/mage/cards/d/DeathcoilWurm.java index 8a3fb159828..975d5d0551b 100644 --- a/Mage.Sets/src/mage/cards/d/DeathcoilWurm.java +++ b/Mage.Sets/src/mage/cards/d/DeathcoilWurm.java @@ -33,6 +33,7 @@ import mage.abilities.common.DamageAsThoughNotBlockedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DeathcoilWurm extends CardImpl { public DeathcoilWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(7); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DeathcultRogue.java b/Mage.Sets/src/mage/cards/d/DeathcultRogue.java index c8c2e31ee2f..b229c0874f8 100644 --- a/Mage.Sets/src/mage/cards/d/DeathcultRogue.java +++ b/Mage.Sets/src/mage/cards/d/DeathcultRogue.java @@ -49,8 +49,8 @@ public class DeathcultRogue extends CardImpl { public DeathcultRogue(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U/B}{U/B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DeathcurseOgre.java b/Mage.Sets/src/mage/cards/d/DeathcurseOgre.java index a00040a7898..905dfe2060b 100644 --- a/Mage.Sets/src/mage/cards/d/DeathcurseOgre.java +++ b/Mage.Sets/src/mage/cards/d/DeathcurseOgre.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.LoseLifeAllPlayersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class DeathcurseOgre extends CardImpl { public DeathcurseOgre (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DeathforgeShaman.java b/Mage.Sets/src/mage/cards/d/DeathforgeShaman.java index a3ae41d8ce6..f389704351c 100644 --- a/Mage.Sets/src/mage/cards/d/DeathforgeShaman.java +++ b/Mage.Sets/src/mage/cards/d/DeathforgeShaman.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MultikickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -51,8 +52,8 @@ public class DeathforgeShaman extends CardImpl { public DeathforgeShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DeathgazeCockatrice.java b/Mage.Sets/src/mage/cards/d/DeathgazeCockatrice.java index 8f737172a9e..6968bd3ac35 100644 --- a/Mage.Sets/src/mage/cards/d/DeathgazeCockatrice.java +++ b/Mage.Sets/src/mage/cards/d/DeathgazeCockatrice.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class DeathgazeCockatrice extends CardImpl { public DeathgazeCockatrice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Cockatrice"); + this.subtype.add(SubType.COCKATRICE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/Deathgazer.java b/Mage.Sets/src/mage/cards/d/Deathgazer.java index 4b5bf1a4b8c..219899c75b5 100644 --- a/Mage.Sets/src/mage/cards/d/Deathgazer.java +++ b/Mage.Sets/src/mage/cards/d/Deathgazer.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -56,7 +57,7 @@ public class Deathgazer extends CardImpl { public Deathgazer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/Deathgreeter.java b/Mage.Sets/src/mage/cards/d/Deathgreeter.java index b6676df309a..de07f1ff60b 100644 --- a/Mage.Sets/src/mage/cards/d/Deathgreeter.java +++ b/Mage.Sets/src/mage/cards/d/Deathgreeter.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class Deathgreeter extends CardImpl { public Deathgreeter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeathknellKami.java b/Mage.Sets/src/mage/cards/d/DeathknellKami.java index ca7a58b2621..d89427df4e5 100644 --- a/Mage.Sets/src/mage/cards/d/DeathknellKami.java +++ b/Mage.Sets/src/mage/cards/d/DeathknellKami.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class DeathknellKami extends CardImpl { public DeathknellKami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeathlessAncient.java b/Mage.Sets/src/mage/cards/d/DeathlessAncient.java index eb88cb44501..d1c0ee4ab73 100644 --- a/Mage.Sets/src/mage/cards/d/DeathlessAncient.java +++ b/Mage.Sets/src/mage/cards/d/DeathlessAncient.java @@ -60,8 +60,8 @@ public class DeathlessAncient extends CardImpl { public DeathlessAncient(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Knight"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DeathlessAngel.java b/Mage.Sets/src/mage/cards/d/DeathlessAngel.java index d97c39d6511..831294e15fa 100644 --- a/Mage.Sets/src/mage/cards/d/DeathlessAngel.java +++ b/Mage.Sets/src/mage/cards/d/DeathlessAngel.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -52,7 +53,7 @@ public class DeathlessAngel extends CardImpl { public DeathlessAngel (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(5); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/d/DeathlessBehemoth.java b/Mage.Sets/src/mage/cards/d/DeathlessBehemoth.java index acc14ffc13b..743a8da73f7 100644 --- a/Mage.Sets/src/mage/cards/d/DeathlessBehemoth.java +++ b/Mage.Sets/src/mage/cards/d/DeathlessBehemoth.java @@ -59,7 +59,7 @@ public class DeathlessBehemoth extends CardImpl { public DeathlessBehemoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DeathmarkPrelate.java b/Mage.Sets/src/mage/cards/d/DeathmarkPrelate.java index cbb3d69ebb7..4b5d854d9ef 100644 --- a/Mage.Sets/src/mage/cards/d/DeathmarkPrelate.java +++ b/Mage.Sets/src/mage/cards/d/DeathmarkPrelate.java @@ -64,8 +64,8 @@ public class DeathmarkPrelate extends CardImpl { public DeathmarkPrelate(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DeathmaskNezumi.java b/Mage.Sets/src/mage/cards/d/DeathmaskNezumi.java index 0dd0b7204a8..f567b7e1d0f 100644 --- a/Mage.Sets/src/mage/cards/d/DeathmaskNezumi.java +++ b/Mage.Sets/src/mage/cards/d/DeathmaskNezumi.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class DeathmaskNezumi extends CardImpl { public DeathmaskNezumi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Rat"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DeathpactAngel.java b/Mage.Sets/src/mage/cards/d/DeathpactAngel.java index cdbb65139a0..03bbda894bc 100644 --- a/Mage.Sets/src/mage/cards/d/DeathpactAngel.java +++ b/Mage.Sets/src/mage/cards/d/DeathpactAngel.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.DeathpactAngelToken; /** @@ -46,7 +47,7 @@ public class DeathpactAngel extends CardImpl { public DeathpactAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{B}{B}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/Deathrender.java b/Mage.Sets/src/mage/cards/d/Deathrender.java index a2ddb5aec90..bd1b6c8d1df 100644 --- a/Mage.Sets/src/mage/cards/d/Deathrender.java +++ b/Mage.Sets/src/mage/cards/d/Deathrender.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -56,7 +57,7 @@ public class Deathrender extends CardImpl { public Deathrender(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+2. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2))); diff --git a/Mage.Sets/src/mage/cards/d/DeathriteShaman.java b/Mage.Sets/src/mage/cards/d/DeathriteShaman.java index 5169ea86583..91d8071e99f 100644 --- a/Mage.Sets/src/mage/cards/d/DeathriteShaman.java +++ b/Mage.Sets/src/mage/cards/d/DeathriteShaman.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.LoseLifeOpponentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.common.FilterCreatureCard; @@ -64,8 +65,8 @@ public class DeathriteShaman extends CardImpl { public DeathriteShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B/G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeathsApproach.java b/Mage.Sets/src/mage/cards/d/DeathsApproach.java index c13fe4529e9..1977ca4c8af 100644 --- a/Mage.Sets/src/mage/cards/d/DeathsApproach.java +++ b/Mage.Sets/src/mage/cards/d/DeathsApproach.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class DeathsApproach extends CardImpl { public DeathsApproach(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DeathsHeadBuzzard.java b/Mage.Sets/src/mage/cards/d/DeathsHeadBuzzard.java index 97f8e59ecf2..feed52b3dda 100644 --- a/Mage.Sets/src/mage/cards/d/DeathsHeadBuzzard.java +++ b/Mage.Sets/src/mage/cards/d/DeathsHeadBuzzard.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class DeathsHeadBuzzard extends CardImpl { public DeathsHeadBuzzard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeathsShadow.java b/Mage.Sets/src/mage/cards/d/DeathsShadow.java index 5dbc8d77330..6bae1cb5898 100644 --- a/Mage.Sets/src/mage/cards/d/DeathsShadow.java +++ b/Mage.Sets/src/mage/cards/d/DeathsShadow.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class DeathsShadow extends CardImpl { public DeathsShadow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(13); this.toughness = new MageInt(13); diff --git a/Mage.Sets/src/mage/cards/d/DeathsporeThallid.java b/Mage.Sets/src/mage/cards/d/DeathsporeThallid.java index fcb7bee0643..cfcabc9ceae 100644 --- a/Mage.Sets/src/mage/cards/d/DeathsporeThallid.java +++ b/Mage.Sets/src/mage/cards/d/DeathsporeThallid.java @@ -60,8 +60,8 @@ public class DeathsporeThallid extends CardImpl { public DeathsporeThallid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DebilitatingInjury.java b/Mage.Sets/src/mage/cards/d/DebilitatingInjury.java index d1608326fbe..7ab0167e647 100644 --- a/Mage.Sets/src/mage/cards/d/DebilitatingInjury.java +++ b/Mage.Sets/src/mage/cards/d/DebilitatingInjury.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class DebilitatingInjury extends CardImpl { public DebilitatingInjury(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/d/DebtorsPulpit.java b/Mage.Sets/src/mage/cards/d/DebtorsPulpit.java index 042c332b795..9687f2c5676 100644 --- a/Mage.Sets/src/mage/cards/d/DebtorsPulpit.java +++ b/Mage.Sets/src/mage/cards/d/DebtorsPulpit.java @@ -52,7 +52,7 @@ public class DebtorsPulpit extends CardImpl { public DebtorsPulpit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DeceiverExarch.java b/Mage.Sets/src/mage/cards/d/DeceiverExarch.java index 38dce4182f4..17d7af7efee 100644 --- a/Mage.Sets/src/mage/cards/d/DeceiverExarch.java +++ b/Mage.Sets/src/mage/cards/d/DeceiverExarch.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -58,7 +59,7 @@ public class DeceiverExarch extends CardImpl { public DeceiverExarch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DeceiverOfForm.java b/Mage.Sets/src/mage/cards/d/DeceiverOfForm.java index 3e1d28722d0..f8dd917bbf6 100644 --- a/Mage.Sets/src/mage/cards/d/DeceiverOfForm.java +++ b/Mage.Sets/src/mage/cards/d/DeceiverOfForm.java @@ -50,7 +50,7 @@ public class DeceiverOfForm extends CardImpl { public DeceiverOfForm(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{C}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/d/DecimatorBeetle.java b/Mage.Sets/src/mage/cards/d/DecimatorBeetle.java index 2a3b8796862..268395c6b95 100644 --- a/Mage.Sets/src/mage/cards/d/DecimatorBeetle.java +++ b/Mage.Sets/src/mage/cards/d/DecimatorBeetle.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.RemoveCounterTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -60,7 +61,7 @@ public class DecimatorBeetle extends CardImpl { public DecimatorBeetle(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DecimatorOfTheProvinces.java b/Mage.Sets/src/mage/cards/d/DecimatorOfTheProvinces.java index ff790e6b860..f162c18e94a 100644 --- a/Mage.Sets/src/mage/cards/d/DecimatorOfTheProvinces.java +++ b/Mage.Sets/src/mage/cards/d/DecimatorOfTheProvinces.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; @@ -52,8 +53,8 @@ public class DecimatorOfTheProvinces extends CardImpl { public DecimatorOfTheProvinces(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{10}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Boar"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.BOAR); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/d/DecoratedGriffin.java b/Mage.Sets/src/mage/cards/d/DecoratedGriffin.java index 2d728288d16..9825502bf3b 100644 --- a/Mage.Sets/src/mage/cards/d/DecoratedGriffin.java +++ b/Mage.Sets/src/mage/cards/d/DecoratedGriffin.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class DecoratedGriffin extends CardImpl { public DecoratedGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DedicatedMartyr.java b/Mage.Sets/src/mage/cards/d/DedicatedMartyr.java index 11af8c99c7c..e225e1f9a60 100644 --- a/Mage.Sets/src/mage/cards/d/DedicatedMartyr.java +++ b/Mage.Sets/src/mage/cards/d/DedicatedMartyr.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class DedicatedMartyr extends CardImpl { public DedicatedMartyr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeepSeaKraken.java b/Mage.Sets/src/mage/cards/d/DeepSeaKraken.java index 892889812ca..d6786cff18f 100644 --- a/Mage.Sets/src/mage/cards/d/DeepSeaKraken.java +++ b/Mage.Sets/src/mage/cards/d/DeepSeaKraken.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SetTargetPointer; import mage.constants.TargetController; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class DeepSeaKraken extends CardImpl { public DeepSeaKraken(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{7}{U}{U}{U}"); - this.subtype.add("Kraken"); + this.subtype.add(SubType.KRAKEN); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DeepSeaSerpent.java b/Mage.Sets/src/mage/cards/d/DeepSeaSerpent.java index ee51d8722a8..fed428204d6 100644 --- a/Mage.Sets/src/mage/cards/d/DeepSeaSerpent.java +++ b/Mage.Sets/src/mage/cards/d/DeepSeaSerpent.java @@ -46,7 +46,7 @@ public class DeepSeaSerpent extends CardImpl { public DeepSeaSerpent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DeepSeaTerror.java b/Mage.Sets/src/mage/cards/d/DeepSeaTerror.java index a3ed9deebf4..8649b276c58 100644 --- a/Mage.Sets/src/mage/cards/d/DeepSeaTerror.java +++ b/Mage.Sets/src/mage/cards/d/DeepSeaTerror.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.combat.CantAttackAnyPlayerSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class DeepSeaTerror extends CardImpl { public DeepSeaTerror(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DeepSlumberTitan.java b/Mage.Sets/src/mage/cards/d/DeepSlumberTitan.java index 069ac2bcdbb..9ba49415769 100644 --- a/Mage.Sets/src/mage/cards/d/DeepSlumberTitan.java +++ b/Mage.Sets/src/mage/cards/d/DeepSlumberTitan.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,8 +49,8 @@ public class DeepSlumberTitan extends CardImpl { public DeepSlumberTitan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/d/DeepSpawn.java b/Mage.Sets/src/mage/cards/d/DeepSpawn.java index 83fc08a90b5..47a088228e4 100644 --- a/Mage.Sets/src/mage/cards/d/DeepSpawn.java +++ b/Mage.Sets/src/mage/cards/d/DeepSpawn.java @@ -44,6 +44,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class DeepSpawn extends CardImpl { public DeepSpawn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}{U}"); - this.subtype.add("Homarid"); + this.subtype.add(SubType.HOMARID); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DeepcavernImp.java b/Mage.Sets/src/mage/cards/d/DeepcavernImp.java index 1f5fa402fba..bef9e5a8b4b 100644 --- a/Mage.Sets/src/mage/cards/d/DeepcavernImp.java +++ b/Mage.Sets/src/mage/cards/d/DeepcavernImp.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class DeepcavernImp extends CardImpl { public DeepcavernImp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Imp"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.IMP); + this.subtype.add(SubType.REBEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DeepchannelMentor.java b/Mage.Sets/src/mage/cards/d/DeepchannelMentor.java index 9a31019d8a6..e5f6875af4b 100644 --- a/Mage.Sets/src/mage/cards/d/DeepchannelMentor.java +++ b/Mage.Sets/src/mage/cards/d/DeepchannelMentor.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -54,8 +55,8 @@ public class DeepchannelMentor extends CardImpl { public DeepchannelMentor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DeepfathomSkulker.java b/Mage.Sets/src/mage/cards/d/DeepfathomSkulker.java index 6b502cd9a72..cccfd7596a9 100644 --- a/Mage.Sets/src/mage/cards/d/DeepfathomSkulker.java +++ b/Mage.Sets/src/mage/cards/d/DeepfathomSkulker.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.DamagedPlayerEvent; @@ -55,7 +56,7 @@ public class DeepfathomSkulker extends CardImpl { public DeepfathomSkulker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DeepfireElemental.java b/Mage.Sets/src/mage/cards/d/DeepfireElemental.java index 6d5f2bc6da0..f4e4f95ecb7 100644 --- a/Mage.Sets/src/mage/cards/d/DeepfireElemental.java +++ b/Mage.Sets/src/mage/cards/d/DeepfireElemental.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -62,7 +63,7 @@ public class DeepfireElemental extends CardImpl { public DeepfireElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DeepglowSkate.java b/Mage.Sets/src/mage/cards/d/DeepglowSkate.java index e41dcc62239..a79f4c599d7 100644 --- a/Mage.Sets/src/mage/cards/d/DeepglowSkate.java +++ b/Mage.Sets/src/mage/cards/d/DeepglowSkate.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.Counter; import mage.filter.FilterPermanent; @@ -52,7 +53,7 @@ public class DeepglowSkate extends CardImpl { public DeepglowSkate(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}"); - this.subtype.add("Fish"); + this.subtype.add(SubType.FISH); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DeeprootChampion.java b/Mage.Sets/src/mage/cards/d/DeeprootChampion.java index c43ffb858a3..7d8e31f0971 100644 --- a/Mage.Sets/src/mage/cards/d/DeeprootChampion.java +++ b/Mage.Sets/src/mage/cards/d/DeeprootChampion.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -54,8 +55,8 @@ public class DeeprootChampion extends CardImpl { public DeeprootChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Merfolk"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeeptreadMerrow.java b/Mage.Sets/src/mage/cards/d/DeeptreadMerrow.java index 483ce380b51..7cb5d7ce7f2 100644 --- a/Mage.Sets/src/mage/cards/d/DeeptreadMerrow.java +++ b/Mage.Sets/src/mage/cards/d/DeeptreadMerrow.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class DeeptreadMerrow extends CardImpl { public DeeptreadMerrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeepwaterHypnotist.java b/Mage.Sets/src/mage/cards/d/DeepwaterHypnotist.java index 063990348a6..0d9364785ac 100644 --- a/Mage.Sets/src/mage/cards/d/DeepwaterHypnotist.java +++ b/Mage.Sets/src/mage/cards/d/DeepwaterHypnotist.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.InspiredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -56,8 +57,8 @@ public class DeepwaterHypnotist extends CardImpl { public DeepwaterHypnotist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeepwoodDrummer.java b/Mage.Sets/src/mage/cards/d/DeepwoodDrummer.java index 77f4c052831..19d15c96f61 100644 --- a/Mage.Sets/src/mage/cards/d/DeepwoodDrummer.java +++ b/Mage.Sets/src/mage/cards/d/DeepwoodDrummer.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class DeepwoodDrummer extends CardImpl { public DeepwoodDrummer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeepwoodGhoul.java b/Mage.Sets/src/mage/cards/d/DeepwoodGhoul.java index aa901ce929f..cb91f7998f6 100644 --- a/Mage.Sets/src/mage/cards/d/DeepwoodGhoul.java +++ b/Mage.Sets/src/mage/cards/d/DeepwoodGhoul.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class DeepwoodGhoul extends CardImpl { public DeepwoodGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeepwoodLegate.java b/Mage.Sets/src/mage/cards/d/DeepwoodLegate.java index cec31c517b9..adcc98b7e97 100644 --- a/Mage.Sets/src/mage/cards/d/DeepwoodLegate.java +++ b/Mage.Sets/src/mage/cards/d/DeepwoodLegate.java @@ -62,7 +62,7 @@ public class DeepwoodLegate extends CardImpl { public DeepwoodLegate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Shade"); + this.subtype.add(SubType.SHADE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeepwoodTantiv.java b/Mage.Sets/src/mage/cards/d/DeepwoodTantiv.java index c1395239bd0..4ee5e32eb27 100644 --- a/Mage.Sets/src/mage/cards/d/DeepwoodTantiv.java +++ b/Mage.Sets/src/mage/cards/d/DeepwoodTantiv.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class DeepwoodTantiv extends CardImpl { public DeepwoodTantiv(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DeepwoodWolverine.java b/Mage.Sets/src/mage/cards/d/DeepwoodWolverine.java index dc7d34bac69..7c40d32aaa1 100644 --- a/Mage.Sets/src/mage/cards/d/DeepwoodWolverine.java +++ b/Mage.Sets/src/mage/cards/d/DeepwoodWolverine.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class DeepwoodWolverine extends CardImpl { public DeepwoodWolverine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Wolverine"); + this.subtype.add(SubType.WOLVERINE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/Defang.java b/Mage.Sets/src/mage/cards/d/Defang.java index 32b1ee4ad17..96dc34cdb67 100644 --- a/Mage.Sets/src/mage/cards/d/Defang.java +++ b/Mage.Sets/src/mage/cards/d/Defang.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class Defang extends CardImpl { public Defang(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/d/DefenderEnVec.java b/Mage.Sets/src/mage/cards/d/DefenderEnVec.java index 5108aa9a446..7b1236370cc 100644 --- a/Mage.Sets/src/mage/cards/d/DefenderEnVec.java +++ b/Mage.Sets/src/mage/cards/d/DefenderEnVec.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FadingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -50,8 +51,8 @@ public class DefenderEnVec extends CardImpl { public DefenderEnVec(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DefenderOfChaos.java b/Mage.Sets/src/mage/cards/d/DefenderOfChaos.java index 4bf364a39e7..9fb30832333 100644 --- a/Mage.Sets/src/mage/cards/d/DefenderOfChaos.java +++ b/Mage.Sets/src/mage/cards/d/DefenderOfChaos.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Backfir3 @@ -43,8 +44,8 @@ public class DefenderOfChaos extends CardImpl { public DefenderOfChaos(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DefenderOfLaw.java b/Mage.Sets/src/mage/cards/d/DefenderOfLaw.java index 8626910c3af..3e0ad68c96a 100644 --- a/Mage.Sets/src/mage/cards/d/DefenderOfLaw.java +++ b/Mage.Sets/src/mage/cards/d/DefenderOfLaw.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Backfir3 @@ -43,8 +44,8 @@ public class DefenderOfLaw extends CardImpl { public DefenderOfLaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DefenderOfTheOrder.java b/Mage.Sets/src/mage/cards/d/DefenderOfTheOrder.java index 6e432c0c65f..6740aaeeae5 100644 --- a/Mage.Sets/src/mage/cards/d/DefenderOfTheOrder.java +++ b/Mage.Sets/src/mage/cards/d/DefenderOfTheOrder.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,8 +47,8 @@ public class DefenderOfTheOrder extends CardImpl { public DefenderOfTheOrder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DefensiveStance.java b/Mage.Sets/src/mage/cards/d/DefensiveStance.java index e173d585eae..b309c04ae28 100644 --- a/Mage.Sets/src/mage/cards/d/DefensiveStance.java +++ b/Mage.Sets/src/mage/cards/d/DefensiveStance.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class DefensiveStance extends CardImpl { public DefensiveStance(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DefiantBloodlord.java b/Mage.Sets/src/mage/cards/d/DefiantBloodlord.java index 8a2fb58e48b..c6708334634 100644 --- a/Mage.Sets/src/mage/cards/d/DefiantBloodlord.java +++ b/Mage.Sets/src/mage/cards/d/DefiantBloodlord.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -49,7 +50,7 @@ public class DefiantBloodlord extends CardImpl { public DefiantBloodlord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DefiantElf.java b/Mage.Sets/src/mage/cards/d/DefiantElf.java index fa795ef7cd7..d42cb426812 100644 --- a/Mage.Sets/src/mage/cards/d/DefiantElf.java +++ b/Mage.Sets/src/mage/cards/d/DefiantElf.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DefiantElf extends CardImpl { public DefiantElf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DefiantFalcon.java b/Mage.Sets/src/mage/cards/d/DefiantFalcon.java index c164c9c571e..5a59f0b5023 100644 --- a/Mage.Sets/src/mage/cards/d/DefiantFalcon.java +++ b/Mage.Sets/src/mage/cards/d/DefiantFalcon.java @@ -60,8 +60,8 @@ public class DefiantFalcon extends CardImpl { public DefiantFalcon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Rebel"); - this.subtype.add("Bird"); + this.subtype.add(SubType.REBEL); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DefiantGreatmaw.java b/Mage.Sets/src/mage/cards/d/DefiantGreatmaw.java index 56994aac9f0..b465588e354 100644 --- a/Mage.Sets/src/mage/cards/d/DefiantGreatmaw.java +++ b/Mage.Sets/src/mage/cards/d/DefiantGreatmaw.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.RemoveCounterTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -57,7 +58,7 @@ public class DefiantGreatmaw extends CardImpl { public DefiantGreatmaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Hippo"); + this.subtype.add(SubType.HIPPO); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DefiantKhenra.java b/Mage.Sets/src/mage/cards/d/DefiantKhenra.java index 8c3f4a3bf82..ef519ea7d78 100644 --- a/Mage.Sets/src/mage/cards/d/DefiantKhenra.java +++ b/Mage.Sets/src/mage/cards/d/DefiantKhenra.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class DefiantKhenra extends CardImpl { public DefiantKhenra(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Jackal"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.JACKAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); } diff --git a/Mage.Sets/src/mage/cards/d/DefiantOgre.java b/Mage.Sets/src/mage/cards/d/DefiantOgre.java index 391972d2f44..665c3168cae 100644 --- a/Mage.Sets/src/mage/cards/d/DefiantOgre.java +++ b/Mage.Sets/src/mage/cards/d/DefiantOgre.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetArtifactPermanent; @@ -48,8 +49,8 @@ public class DefiantOgre extends CardImpl { public DefiantOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DefiantSalvager.java b/Mage.Sets/src/mage/cards/d/DefiantSalvager.java index 7a754c33198..24ffefbf89b 100644 --- a/Mage.Sets/src/mage/cards/d/DefiantSalvager.java +++ b/Mage.Sets/src/mage/cards/d/DefiantSalvager.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledPermanent; @@ -58,8 +59,8 @@ public class DefiantSalvager extends CardImpl { public DefiantSalvager(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Aetherborn"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.AETHERBORN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DefiantVanguard.java b/Mage.Sets/src/mage/cards/d/DefiantVanguard.java index 3160a5274cb..45de395c37c 100644 --- a/Mage.Sets/src/mage/cards/d/DefiantVanguard.java +++ b/Mage.Sets/src/mage/cards/d/DefiantVanguard.java @@ -73,8 +73,8 @@ public class DefiantVanguard extends CardImpl { public DefiantVanguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DefilerOfSouls.java b/Mage.Sets/src/mage/cards/d/DefilerOfSouls.java index c338fa9129f..9f4b497438f 100644 --- a/Mage.Sets/src/mage/cards/d/DefilerOfSouls.java +++ b/Mage.Sets/src/mage/cards/d/DefilerOfSouls.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class DefilerOfSouls extends CardImpl { public DefilerOfSouls(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{R}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); diff --git a/Mage.Sets/src/mage/cards/d/DeftDuelist.java b/Mage.Sets/src/mage/cards/d/DeftDuelist.java index 43b399cd21d..3132a6a98db 100644 --- a/Mage.Sets/src/mage/cards/d/DeftDuelist.java +++ b/Mage.Sets/src/mage/cards/d/DeftDuelist.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class DeftDuelist extends CardImpl { public DeftDuelist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeftbladeElite.java b/Mage.Sets/src/mage/cards/d/DeftbladeElite.java index 68bdadbe342..228d1330237 100644 --- a/Mage.Sets/src/mage/cards/d/DeftbladeElite.java +++ b/Mage.Sets/src/mage/cards/d/DeftbladeElite.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class DeftbladeElite extends CardImpl { public DeftbladeElite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DegaDisciple.java b/Mage.Sets/src/mage/cards/d/DegaDisciple.java index 04668e2fd69..dd1ce924706 100644 --- a/Mage.Sets/src/mage/cards/d/DegaDisciple.java +++ b/Mage.Sets/src/mage/cards/d/DegaDisciple.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class DegaDisciple extends CardImpl { public DegaDisciple(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/Degavolver.java b/Mage.Sets/src/mage/cards/d/Degavolver.java index c557a3256ac..0b3c5965cad 100644 --- a/Mage.Sets/src/mage/cards/d/Degavolver.java +++ b/Mage.Sets/src/mage/cards/d/Degavolver.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -54,7 +55,7 @@ public class Degavolver extends CardImpl { public Degavolver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Volver"); + this.subtype.add(SubType.VOLVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/Dehydration.java b/Mage.Sets/src/mage/cards/d/Dehydration.java index f55749b6b27..87069b55480 100644 --- a/Mage.Sets/src/mage/cards/d/Dehydration.java +++ b/Mage.Sets/src/mage/cards/d/Dehydration.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -48,7 +49,7 @@ public class Dehydration extends CardImpl { public Dehydration(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/d/DeityOfScars.java b/Mage.Sets/src/mage/cards/d/DeityOfScars.java index ef298357767..b996d9bc067 100644 --- a/Mage.Sets/src/mage/cards/d/DeityOfScars.java +++ b/Mage.Sets/src/mage/cards/d/DeityOfScars.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -50,8 +51,8 @@ public class DeityOfScars extends CardImpl { public DeityOfScars(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B/G}{B/G}{B/G}{B/G}{B/G}"); - this.subtype.add("Spirit"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/d/Delraich.java b/Mage.Sets/src/mage/cards/d/Delraich.java index 4ae625a8932..0e2a8d364fc 100644 --- a/Mage.Sets/src/mage/cards/d/Delraich.java +++ b/Mage.Sets/src/mage/cards/d/Delraich.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; import mage.target.common.TargetControlledPermanent; @@ -55,7 +56,7 @@ public class Delraich extends CardImpl { public Delraich(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DelverOfSecrets.java b/Mage.Sets/src/mage/cards/d/DelverOfSecrets.java index f6e260ebd17..c0c9cf8ad34 100644 --- a/Mage.Sets/src/mage/cards/d/DelverOfSecrets.java +++ b/Mage.Sets/src/mage/cards/d/DelverOfSecrets.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.*; import mage.cards.i.InsectileAberration; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.FilterCard; @@ -53,8 +54,8 @@ public class DelverOfSecrets extends CardImpl { public DelverOfSecrets(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DementiaBat.java b/Mage.Sets/src/mage/cards/d/DementiaBat.java index 9e673a821bb..5cf1f513440 100644 --- a/Mage.Sets/src/mage/cards/d/DementiaBat.java +++ b/Mage.Sets/src/mage/cards/d/DementiaBat.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -48,7 +49,7 @@ public class DementiaBat extends CardImpl { public DementiaBat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Bat"); + this.subtype.add(SubType.BAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DementiaSliver.java b/Mage.Sets/src/mage/cards/d/DementiaSliver.java index 2480eda08d5..97d586ff79a 100644 --- a/Mage.Sets/src/mage/cards/d/DementiaSliver.java +++ b/Mage.Sets/src/mage/cards/d/DementiaSliver.java @@ -60,7 +60,7 @@ public class DementiaSliver extends CardImpl { public DementiaSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{B}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DemigodOfRevenge.java b/Mage.Sets/src/mage/cards/d/DemigodOfRevenge.java index de5a7ce4c04..673aa2fa9d4 100644 --- a/Mage.Sets/src/mage/cards/d/DemigodOfRevenge.java +++ b/Mage.Sets/src/mage/cards/d/DemigodOfRevenge.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -52,8 +53,8 @@ public class DemigodOfRevenge extends CardImpl { public DemigodOfRevenge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B/R}{B/R}{B/R}{B/R}{B/R}"); - this.subtype.add("Spirit"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DemonOfDarkSchemes.java b/Mage.Sets/src/mage/cards/d/DemonOfDarkSchemes.java index 578be6379f6..937736289f7 100644 --- a/Mage.Sets/src/mage/cards/d/DemonOfDarkSchemes.java +++ b/Mage.Sets/src/mage/cards/d/DemonOfDarkSchemes.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -56,7 +57,7 @@ public class DemonOfDarkSchemes extends CardImpl { public DemonOfDarkSchemes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DemonOfDeathsGate.java b/Mage.Sets/src/mage/cards/d/DemonOfDeathsGate.java index 520c9326b1c..7741ebda95f 100644 --- a/Mage.Sets/src/mage/cards/d/DemonOfDeathsGate.java +++ b/Mage.Sets/src/mage/cards/d/DemonOfDeathsGate.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; import mage.target.common.TargetControlledPermanent; @@ -57,7 +58,7 @@ public class DemonOfDeathsGate extends CardImpl { public DemonOfDeathsGate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{B}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(9); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/d/DemonOfWailingAgonies.java b/Mage.Sets/src/mage/cards/d/DemonOfWailingAgonies.java index 7c33892e87a..e5067728532 100644 --- a/Mage.Sets/src/mage/cards/d/DemonOfWailingAgonies.java +++ b/Mage.Sets/src/mage/cards/d/DemonOfWailingAgonies.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; /** @@ -49,7 +50,7 @@ public class DemonOfWailingAgonies extends CardImpl { public DemonOfWailingAgonies(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DemonPossessedWitch.java b/Mage.Sets/src/mage/cards/d/DemonPossessedWitch.java index 7cc4409c5c5..0da73a82910 100644 --- a/Mage.Sets/src/mage/cards/d/DemonPossessedWitch.java +++ b/Mage.Sets/src/mage/cards/d/DemonPossessedWitch.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; @@ -52,8 +53,8 @@ public class DemonPossessedWitch extends CardImpl { public DemonPossessedWitch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(3); this.color.setBlack(true); diff --git a/Mage.Sets/src/mage/cards/d/DemonicAppetite.java b/Mage.Sets/src/mage/cards/d/DemonicAppetite.java index ec9669c659d..9daf72d02c2 100644 --- a/Mage.Sets/src/mage/cards/d/DemonicAppetite.java +++ b/Mage.Sets/src/mage/cards/d/DemonicAppetite.java @@ -51,7 +51,7 @@ public class DemonicAppetite extends CardImpl { public DemonicAppetite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature you control TargetPermanent auraTarget = new TargetControlledCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DemonicHordes.java b/Mage.Sets/src/mage/cards/d/DemonicHordes.java index 1019b6d7468..fc9d2271d35 100644 --- a/Mage.Sets/src/mage/cards/d/DemonicHordes.java +++ b/Mage.Sets/src/mage/cards/d/DemonicHordes.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -61,7 +62,7 @@ public class DemonicHordes extends CardImpl { public DemonicHordes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DemonicTaskmaster.java b/Mage.Sets/src/mage/cards/d/DemonicTaskmaster.java index 0f114bd82c4..5c7381acc60 100644 --- a/Mage.Sets/src/mage/cards/d/DemonicTaskmaster.java +++ b/Mage.Sets/src/mage/cards/d/DemonicTaskmaster.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -54,7 +55,7 @@ public class DemonicTaskmaster extends CardImpl { public DemonicTaskmaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DemonicTorment.java b/Mage.Sets/src/mage/cards/d/DemonicTorment.java index 5cc923a0409..dc04d29e71b 100644 --- a/Mage.Sets/src/mage/cards/d/DemonicTorment.java +++ b/Mage.Sets/src/mage/cards/d/DemonicTorment.java @@ -48,7 +48,7 @@ public class DemonicTorment extends CardImpl { public DemonicTorment(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/d/DemonlordOfAshmouth.java b/Mage.Sets/src/mage/cards/d/DemonlordOfAshmouth.java index 5ec9914125b..43fe1b418e8 100644 --- a/Mage.Sets/src/mage/cards/d/DemonlordOfAshmouth.java +++ b/Mage.Sets/src/mage/cards/d/DemonlordOfAshmouth.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.UndyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; import mage.target.common.TargetControlledPermanent; @@ -54,7 +55,7 @@ public class DemonlordOfAshmouth extends CardImpl { public DemonlordOfAshmouth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DemonmailHauberk.java b/Mage.Sets/src/mage/cards/d/DemonmailHauberk.java index 07ea818e701..4ec10651c00 100644 --- a/Mage.Sets/src/mage/cards/d/DemonmailHauberk.java +++ b/Mage.Sets/src/mage/cards/d/DemonmailHauberk.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -47,7 +48,7 @@ public class DemonmailHauberk extends CardImpl { public DemonmailHauberk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equip - Sacrifice a creature. this.addAbility(new EquipAbility(Outcome.AddAbility, new SacrificeTargetCost(new TargetControlledCreaturePermanent()))); diff --git a/Mage.Sets/src/mage/cards/d/DemonsHerald.java b/Mage.Sets/src/mage/cards/d/DemonsHerald.java index 50bee6b4166..3fb7ea6e6c7 100644 --- a/Mage.Sets/src/mage/cards/d/DemonsHerald.java +++ b/Mage.Sets/src/mage/cards/d/DemonsHerald.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.common.FilterControlledCreaturePermanent; @@ -67,8 +68,8 @@ public class DemonsHerald extends CardImpl { public DemonsHerald(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DemonsJester.java b/Mage.Sets/src/mage/cards/d/DemonsJester.java index 13c1f1873ec..be8c2c4188b 100644 --- a/Mage.Sets/src/mage/cards/d/DemonsJester.java +++ b/Mage.Sets/src/mage/cards/d/DemonsJester.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class DemonsJester extends CardImpl { public DemonsJester(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DemonspineWhip.java b/Mage.Sets/src/mage/cards/d/DemonspineWhip.java index afb4eeb7585..8c90a93e9bf 100644 --- a/Mage.Sets/src/mage/cards/d/DemonspineWhip.java +++ b/Mage.Sets/src/mage/cards/d/DemonspineWhip.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class DemonspineWhip extends CardImpl { public DemonspineWhip(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{B}{R}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // {X}: Equipped creature gets +X/+0 until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new XPaid(), new StaticValue(0), Duration.EndOfTurn), new ManaCostsImpl("{X}"))); diff --git a/Mage.Sets/src/mage/cards/d/DenProtector.java b/Mage.Sets/src/mage/cards/d/DenProtector.java index ae954b7b2a0..1d6bd8f8d9f 100644 --- a/Mage.Sets/src/mage/cards/d/DenProtector.java +++ b/Mage.Sets/src/mage/cards/d/DenProtector.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCardInYourGraveyard; @@ -50,8 +51,8 @@ public class DenProtector extends CardImpl { public DenProtector(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DenizenOfTheDeep.java b/Mage.Sets/src/mage/cards/d/DenizenOfTheDeep.java index 583d998b933..8a2b778565f 100644 --- a/Mage.Sets/src/mage/cards/d/DenizenOfTheDeep.java +++ b/Mage.Sets/src/mage/cards/d/DenizenOfTheDeep.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandFromBattlefieldAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -52,7 +53,7 @@ public class DenizenOfTheDeep extends CardImpl { public DenizenOfTheDeep(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{U}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(11); this.toughness = new MageInt(11); diff --git a/Mage.Sets/src/mage/cards/d/DepalaPilotExemplar.java b/Mage.Sets/src/mage/cards/d/DepalaPilotExemplar.java index 8ec56896b86..d904eea1003 100644 --- a/Mage.Sets/src/mage/cards/d/DepalaPilotExemplar.java +++ b/Mage.Sets/src/mage/cards/d/DepalaPilotExemplar.java @@ -59,8 +59,8 @@ public class DepalaPilotExemplar extends CardImpl { public DepalaPilotExemplar(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dwarf"); - this.subtype.add("Pilot"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.PILOT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DeputizedProtester.java b/Mage.Sets/src/mage/cards/d/DeputizedProtester.java index c6f6bc8ab99..b5550b88287 100644 --- a/Mage.Sets/src/mage/cards/d/DeputizedProtester.java +++ b/Mage.Sets/src/mage/cards/d/DeputizedProtester.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class DeputizedProtester extends CardImpl { public DeputizedProtester(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DeputyOfAcquittals.java b/Mage.Sets/src/mage/cards/d/DeputyOfAcquittals.java index f7169432b59..4654005151d 100644 --- a/Mage.Sets/src/mage/cards/d/DeputyOfAcquittals.java +++ b/Mage.Sets/src/mage/cards/d/DeputyOfAcquittals.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -57,8 +58,8 @@ public class DeputyOfAcquittals extends CardImpl { public DeputyOfAcquittals(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DerangedAssistant.java b/Mage.Sets/src/mage/cards/d/DerangedAssistant.java index aad4f9541ad..47638deec9f 100644 --- a/Mage.Sets/src/mage/cards/d/DerangedAssistant.java +++ b/Mage.Sets/src/mage/cards/d/DerangedAssistant.java @@ -34,6 +34,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class DerangedAssistant extends CardImpl { public DerangedAssistant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DerangedHermit.java b/Mage.Sets/src/mage/cards/d/DerangedHermit.java index 8f61d91da88..bfa613bf75a 100644 --- a/Mage.Sets/src/mage/cards/d/DerangedHermit.java +++ b/Mage.Sets/src/mage/cards/d/DerangedHermit.java @@ -58,7 +58,7 @@ public class DerangedHermit extends CardImpl { public DerangedHermit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DerangedOutcast.java b/Mage.Sets/src/mage/cards/d/DerangedOutcast.java index 45d8b2b71b4..7e0ded1c217 100644 --- a/Mage.Sets/src/mage/cards/d/DerangedOutcast.java +++ b/Mage.Sets/src/mage/cards/d/DerangedOutcast.java @@ -58,8 +58,8 @@ public class DerangedOutcast extends CardImpl { public DerangedOutcast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DerangedWhelp.java b/Mage.Sets/src/mage/cards/d/DerangedWhelp.java index 88e7228b14e..7b00a45fb70 100644 --- a/Mage.Sets/src/mage/cards/d/DerangedWhelp.java +++ b/Mage.Sets/src/mage/cards/d/DerangedWhelp.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DerangedWhelp extends CardImpl { public DerangedWhelp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/Derelor.java b/Mage.Sets/src/mage/cards/d/Derelor.java index 12852f8fb53..5c466873cd3 100644 --- a/Mage.Sets/src/mage/cards/d/Derelor.java +++ b/Mage.Sets/src/mage/cards/d/Derelor.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.cost.SpellsCostIncreasementControllerEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.ColorPredicate; @@ -54,7 +55,7 @@ public class Derelor extends CardImpl { public Derelor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Thrull"); + this.subtype.add(SubType.THRULL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DereviEmpyrialTactician.java b/Mage.Sets/src/mage/cards/d/DereviEmpyrialTactician.java index 0368da66974..38fd233b3ad 100644 --- a/Mage.Sets/src/mage/cards/d/DereviEmpyrialTactician.java +++ b/Mage.Sets/src/mage/cards/d/DereviEmpyrialTactician.java @@ -41,6 +41,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -61,8 +62,8 @@ public class DereviEmpyrialTactician extends CardImpl { public DereviEmpyrialTactician(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Bird"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/Dermoplasm.java b/Mage.Sets/src/mage/cards/d/Dermoplasm.java index b54af6914eb..3fe7abef13b 100644 --- a/Mage.Sets/src/mage/cards/d/Dermoplasm.java +++ b/Mage.Sets/src/mage/cards/d/Dermoplasm.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -57,7 +58,7 @@ public class Dermoplasm extends CardImpl { public Dermoplasm(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DescendantOfKiyomaro.java b/Mage.Sets/src/mage/cards/d/DescendantOfKiyomaro.java index 22da50ac1e8..3119f0ffe21 100644 --- a/Mage.Sets/src/mage/cards/d/DescendantOfKiyomaro.java +++ b/Mage.Sets/src/mage/cards/d/DescendantOfKiyomaro.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class DescendantOfKiyomaro extends CardImpl { public DescendantOfKiyomaro(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DescendantOfMasumaro.java b/Mage.Sets/src/mage/cards/d/DescendantOfMasumaro.java index 5412a84808b..9e0d574148e 100644 --- a/Mage.Sets/src/mage/cards/d/DescendantOfMasumaro.java +++ b/Mage.Sets/src/mage/cards/d/DescendantOfMasumaro.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.counters.CounterType; @@ -52,8 +53,8 @@ public class DescendantOfMasumaro extends CardImpl { public DescendantOfMasumaro(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DescendantOfSoramaro.java b/Mage.Sets/src/mage/cards/d/DescendantOfSoramaro.java index 3db5df3ae83..aa41ed96582 100644 --- a/Mage.Sets/src/mage/cards/d/DescendantOfSoramaro.java +++ b/Mage.Sets/src/mage/cards/d/DescendantOfSoramaro.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.LookLibraryControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class DescendantOfSoramaro extends CardImpl { public DescendantOfSoramaro(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DesecrationDemon.java b/Mage.Sets/src/mage/cards/d/DesecrationDemon.java index 8d49b8eeb43..c4ce45a3d46 100644 --- a/Mage.Sets/src/mage/cards/d/DesecrationDemon.java +++ b/Mage.Sets/src/mage/cards/d/DesecrationDemon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.counters.CounterType; @@ -55,7 +56,7 @@ public class DesecrationDemon extends CardImpl { public DesecrationDemon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DesecrationElemental.java b/Mage.Sets/src/mage/cards/d/DesecrationElemental.java index f702ac65807..715151395a5 100644 --- a/Mage.Sets/src/mage/cards/d/DesecrationElemental.java +++ b/Mage.Sets/src/mage/cards/d/DesecrationElemental.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; /** @@ -45,7 +46,7 @@ public class DesecrationElemental extends CardImpl { public DesecrationElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/d/DesecratorHag.java b/Mage.Sets/src/mage/cards/d/DesecratorHag.java index ddb20e60b1b..ef658e805c3 100644 --- a/Mage.Sets/src/mage/cards/d/DesecratorHag.java +++ b/Mage.Sets/src/mage/cards/d/DesecratorHag.java @@ -34,6 +34,7 @@ import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -50,7 +51,7 @@ public class DesecratorHag extends CardImpl { public DesecratorHag(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B/G}{B/G}"); - this.subtype.add("Hag"); + this.subtype.add(SubType.HAG); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/Desert.java b/Mage.Sets/src/mage/cards/d/Desert.java index 3ea37794a48..31fac87d93c 100644 --- a/Mage.Sets/src/mage/cards/d/Desert.java +++ b/Mage.Sets/src/mage/cards/d/Desert.java @@ -37,6 +37,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -57,7 +58,7 @@ public class Desert extends CardImpl { public Desert(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Desert"); + this.subtype.add(SubType.DESERT); // {tap}: Add {C} to your mana pool. this.addAbility(new ColorlessManaAbility()); diff --git a/Mage.Sets/src/mage/cards/d/DesertCerodon.java b/Mage.Sets/src/mage/cards/d/DesertCerodon.java index 17129eeec44..fdca1079352 100644 --- a/Mage.Sets/src/mage/cards/d/DesertCerodon.java +++ b/Mage.Sets/src/mage/cards/d/DesertCerodon.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class DesertCerodon extends CardImpl { public DesertCerodon(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DesertDrake.java b/Mage.Sets/src/mage/cards/d/DesertDrake.java index d6cb8c13fae..5deda498b68 100644 --- a/Mage.Sets/src/mage/cards/d/DesertDrake.java +++ b/Mage.Sets/src/mage/cards/d/DesertDrake.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DesertDrake extends CardImpl { public DesertDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DesertNomads.java b/Mage.Sets/src/mage/cards/d/DesertNomads.java index 3558baddda0..ae20e300bb8 100644 --- a/Mage.Sets/src/mage/cards/d/DesertNomads.java +++ b/Mage.Sets/src/mage/cards/d/DesertNomads.java @@ -59,8 +59,8 @@ public class DesertNomads extends CardImpl { public DesertNomads(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DesertOfTheFervent.java b/Mage.Sets/src/mage/cards/d/DesertOfTheFervent.java index c1f7a81530e..38438d07117 100644 --- a/Mage.Sets/src/mage/cards/d/DesertOfTheFervent.java +++ b/Mage.Sets/src/mage/cards/d/DesertOfTheFervent.java @@ -35,6 +35,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class DesertOfTheFervent extends CardImpl { public DesertOfTheFervent(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Desert"); + this.subtype.add(SubType.DESERT); // Desert of the Fervent enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); diff --git a/Mage.Sets/src/mage/cards/d/DesertOfTheGlorified.java b/Mage.Sets/src/mage/cards/d/DesertOfTheGlorified.java index 1cb28246e66..78208179f3a 100644 --- a/Mage.Sets/src/mage/cards/d/DesertOfTheGlorified.java +++ b/Mage.Sets/src/mage/cards/d/DesertOfTheGlorified.java @@ -35,6 +35,7 @@ import mage.abilities.mana.BlackManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class DesertOfTheGlorified extends CardImpl { public DesertOfTheGlorified(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Desert"); + this.subtype.add(SubType.DESERT); // Desert of the Glorified enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); diff --git a/Mage.Sets/src/mage/cards/d/DesertOfTheIndomitable.java b/Mage.Sets/src/mage/cards/d/DesertOfTheIndomitable.java index 410b8ac9814..18e3672a488 100644 --- a/Mage.Sets/src/mage/cards/d/DesertOfTheIndomitable.java +++ b/Mage.Sets/src/mage/cards/d/DesertOfTheIndomitable.java @@ -35,6 +35,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class DesertOfTheIndomitable extends CardImpl { public DesertOfTheIndomitable(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Desert"); + this.subtype.add(SubType.DESERT); // Desert of the Indomitable enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); diff --git a/Mage.Sets/src/mage/cards/d/DesertOfTheMindful.java b/Mage.Sets/src/mage/cards/d/DesertOfTheMindful.java index 006eff7373c..2f501b15fe2 100644 --- a/Mage.Sets/src/mage/cards/d/DesertOfTheMindful.java +++ b/Mage.Sets/src/mage/cards/d/DesertOfTheMindful.java @@ -35,6 +35,7 @@ import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class DesertOfTheMindful extends CardImpl { public DesertOfTheMindful(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Desert"); + this.subtype.add(SubType.DESERT); // Desert of the Mindful enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); diff --git a/Mage.Sets/src/mage/cards/d/DesertOfTheTrue.java b/Mage.Sets/src/mage/cards/d/DesertOfTheTrue.java index 278cf3cd81e..736aa271082 100644 --- a/Mage.Sets/src/mage/cards/d/DesertOfTheTrue.java +++ b/Mage.Sets/src/mage/cards/d/DesertOfTheTrue.java @@ -35,6 +35,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class DesertOfTheTrue extends CardImpl { public DesertOfTheTrue(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Desert"); + this.subtype.add(SubType.DESERT); // Desert of the True enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); diff --git a/Mage.Sets/src/mage/cards/d/DesertsHold.java b/Mage.Sets/src/mage/cards/d/DesertsHold.java index ecab2018eb2..c74eac584f8 100644 --- a/Mage.Sets/src/mage/cards/d/DesertsHold.java +++ b/Mage.Sets/src/mage/cards/d/DesertsHold.java @@ -1,99 +1,99 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.d; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.condition.OrCondition; -import mage.abilities.condition.common.CardsInControllerGraveCondition; -import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; -import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.GainLifeEffect; -import mage.abilities.effects.common.combat.CantBlockAttackActivateAttachedEffect; -import mage.abilities.keyword.EnchantAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.FilterCard; -import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.target.TargetPermanent; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author emerald000 - */ -public class DesertsHold extends CardImpl { - - private static final FilterControlledPermanent filterDesertPermanent = new FilterControlledPermanent("Desert"); - private static final FilterCard filterDesertCard = new FilterCard("Desert card"); - static { - filterDesertPermanent.add(new SubtypePredicate(SubType.DESERT)); - filterDesertCard.add(new SubtypePredicate(SubType.DESERT)); - } - - public DesertsHold(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}"); - - this.subtype.add("Aura"); - - // Enchant creature - TargetPermanent auraTarget = new TargetCreaturePermanent(); - this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Removal)); - Ability ability = new EnchantAbility(auraTarget.getTargetName()); - this.addAbility(ability); - - // When Desert's Hold enters the battlefield, if you control a Desert or there is a Desert card in your graveyard, you gain 3 life. - this.addAbility(new ConditionalTriggeredAbility( - new EntersBattlefieldTriggeredAbility(new GainLifeEffect(3)), - new OrCondition( - new PermanentsOnTheBattlefieldCondition(new FilterControlledPermanent(filterDesertPermanent)), - new CardsInControllerGraveCondition(1, filterDesertCard)), - "When {this} enters the battlefield, if you control a Desert or there is a Desert card in your graveyard, you gain 3 life.")); - - // Enchanted creature can't attack or block, and its activated abilities can't be activated. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockAttackActivateAttachedEffect())); - } - - public DesertsHold(final DesertsHold card) { - super(card); - } - - @Override - public DesertsHold copy() { - return new DesertsHold(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.d; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.OrCondition; +import mage.abilities.condition.common.CardsInControllerGraveCondition; +import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.combat.CantBlockAttackActivateAttachedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author emerald000 + */ +public class DesertsHold extends CardImpl { + + private static final FilterControlledPermanent filterDesertPermanent = new FilterControlledPermanent("Desert"); + private static final FilterCard filterDesertCard = new FilterCard("Desert card"); + static { + filterDesertPermanent.add(new SubtypePredicate(SubType.DESERT)); + filterDesertCard.add(new SubtypePredicate(SubType.DESERT)); + } + + public DesertsHold(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}"); + + this.subtype.add(SubType.AURA); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Removal)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + + // When Desert's Hold enters the battlefield, if you control a Desert or there is a Desert card in your graveyard, you gain 3 life. + this.addAbility(new ConditionalTriggeredAbility( + new EntersBattlefieldTriggeredAbility(new GainLifeEffect(3)), + new OrCondition( + new PermanentsOnTheBattlefieldCondition(new FilterControlledPermanent(filterDesertPermanent)), + new CardsInControllerGraveCondition(1, filterDesertCard)), + "When {this} enters the battlefield, if you control a Desert or there is a Desert card in your graveyard, you gain 3 life.")); + + // Enchanted creature can't attack or block, and its activated abilities can't be activated. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockAttackActivateAttachedEffect())); + } + + public DesertsHold(final DesertsHold card) { + super(card); + } + + @Override + public DesertsHold copy() { + return new DesertsHold(this); + } +} diff --git a/Mage.Sets/src/mage/cards/d/DesiccatedNaga.java b/Mage.Sets/src/mage/cards/d/DesiccatedNaga.java index 6fa7b811da2..eb8eb6d4a5b 100644 --- a/Mage.Sets/src/mage/cards/d/DesiccatedNaga.java +++ b/Mage.Sets/src/mage/cards/d/DesiccatedNaga.java @@ -61,8 +61,8 @@ public class DesiccatedNaga extends CardImpl { public DesiccatedNaga(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Naga"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.NAGA); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DesolationAngel.java b/Mage.Sets/src/mage/cards/d/DesolationAngel.java index f42bf6ecb43..bd5fddae30e 100644 --- a/Mage.Sets/src/mage/cards/d/DesolationAngel.java +++ b/Mage.Sets/src/mage/cards/d/DesolationAngel.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.filter.common.FilterLandPermanent; @@ -56,7 +57,7 @@ public class DesolationAngel extends CardImpl { public DesolationAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DesolationGiant.java b/Mage.Sets/src/mage/cards/d/DesolationGiant.java index bd07f232f7b..49e542f8469 100644 --- a/Mage.Sets/src/mage/cards/d/DesolationGiant.java +++ b/Mage.Sets/src/mage/cards/d/DesolationGiant.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -59,7 +60,7 @@ public class DesolationGiant extends CardImpl { public DesolationGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DesolationTwin.java b/Mage.Sets/src/mage/cards/d/DesolationTwin.java index 03044cf6077..59daf3625e8 100644 --- a/Mage.Sets/src/mage/cards/d/DesolationTwin.java +++ b/Mage.Sets/src/mage/cards/d/DesolationTwin.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -49,7 +50,7 @@ public class DesolationTwin extends CardImpl { public DesolationTwin(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{10}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(10); this.toughness = new MageInt(10); diff --git a/Mage.Sets/src/mage/cards/d/DesperateRitual.java b/Mage.Sets/src/mage/cards/d/DesperateRitual.java index 71b9c94f7cf..7167de5005e 100644 --- a/Mage.Sets/src/mage/cards/d/DesperateRitual.java +++ b/Mage.Sets/src/mage/cards/d/DesperateRitual.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.SpliceOntoArcaneAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class DesperateRitual extends CardImpl { public DesperateRitual(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{R}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Add {R}{R}{R} to your mana pool. diff --git a/Mage.Sets/src/mage/cards/d/DesperateSentry.java b/Mage.Sets/src/mage/cards/d/DesperateSentry.java index b7c891fb5f6..5fa96b6e178 100644 --- a/Mage.Sets/src/mage/cards/d/DesperateSentry.java +++ b/Mage.Sets/src/mage/cards/d/DesperateSentry.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.EldraziHorrorToken; @@ -51,8 +52,8 @@ public class DesperateSentry extends CardImpl { public DesperateSentry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DespoilerOfSouls.java b/Mage.Sets/src/mage/cards/d/DespoilerOfSouls.java index 111c9d6d286..812c117410c 100644 --- a/Mage.Sets/src/mage/cards/d/DespoilerOfSouls.java +++ b/Mage.Sets/src/mage/cards/d/DespoilerOfSouls.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.common.FilterCreatureCard; @@ -53,7 +54,7 @@ public class DespoilerOfSouls extends CardImpl { public DespoilerOfSouls(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/Despondency.java b/Mage.Sets/src/mage/cards/d/Despondency.java index 383f1c8b4f1..9ce12a2c836 100644 --- a/Mage.Sets/src/mage/cards/d/Despondency.java +++ b/Mage.Sets/src/mage/cards/d/Despondency.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class Despondency extends CardImpl { public Despondency(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DestructiveUrge.java b/Mage.Sets/src/mage/cards/d/DestructiveUrge.java index d51474b4eaf..abf262acc3e 100644 --- a/Mage.Sets/src/mage/cards/d/DestructiveUrge.java +++ b/Mage.Sets/src/mage/cards/d/DestructiveUrge.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterLandPermanent; /** @@ -50,7 +51,7 @@ public class DestructiveUrge extends CardImpl { public DestructiveUrge(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DestructorDragon.java b/Mage.Sets/src/mage/cards/d/DestructorDragon.java index 8b3d643dea1..a32ab8f3b3e 100644 --- a/Mage.Sets/src/mage/cards/d/DestructorDragon.java +++ b/Mage.Sets/src/mage/cards/d/DestructorDragon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -54,7 +55,7 @@ public class DestructorDragon extends CardImpl { public DestructorDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/Detritivore.java b/Mage.Sets/src/mage/cards/d/Detritivore.java index 77cb02fab36..4be1d1f6841 100644 --- a/Mage.Sets/src/mage/cards/d/Detritivore.java +++ b/Mage.Sets/src/mage/cards/d/Detritivore.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -63,7 +64,7 @@ public class Detritivore extends CardImpl { public Detritivore(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Lhurgoyf"); + this.subtype.add(SubType.LHURGOYF); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/d/DeusOfCalamity.java b/Mage.Sets/src/mage/cards/d/DeusOfCalamity.java index c232cbde473..3819106ef9b 100644 --- a/Mage.Sets/src/mage/cards/d/DeusOfCalamity.java +++ b/Mage.Sets/src/mage/cards/d/DeusOfCalamity.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -52,8 +53,8 @@ public class DeusOfCalamity extends CardImpl { public DeusOfCalamity(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R/G}{R/G}{R/G}{R/G}{R/G}"); - this.subtype.add("Spirit"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DeviantGlee.java b/Mage.Sets/src/mage/cards/d/DeviantGlee.java index 51b4dd292b8..fbab7461886 100644 --- a/Mage.Sets/src/mage/cards/d/DeviantGlee.java +++ b/Mage.Sets/src/mage/cards/d/DeviantGlee.java @@ -55,7 +55,7 @@ public class DeviantGlee extends CardImpl { public DeviantGlee (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); this.color.setBlack(true); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/d/DevilthornFox.java b/Mage.Sets/src/mage/cards/d/DevilthornFox.java index d3b09986dec..e1d2105b367 100644 --- a/Mage.Sets/src/mage/cards/d/DevilthornFox.java +++ b/Mage.Sets/src/mage/cards/d/DevilthornFox.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class DevilthornFox extends CardImpl { public DevilthornFox(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Fox"); + this.subtype.add(SubType.FOX); this.power = new MageInt(3); this.toughness = new MageInt(1); } diff --git a/Mage.Sets/src/mage/cards/d/DevotedCaretaker.java b/Mage.Sets/src/mage/cards/d/DevotedCaretaker.java index 2627cdaae6d..15b2f70861b 100644 --- a/Mage.Sets/src/mage/cards/d/DevotedCaretaker.java +++ b/Mage.Sets/src/mage/cards/d/DevotedCaretaker.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterSpell; @@ -60,8 +61,8 @@ public class DevotedCaretaker extends CardImpl { public DevotedCaretaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DevotedCropMate.java b/Mage.Sets/src/mage/cards/d/DevotedCropMate.java index 4f7251a732d..254a193d5df 100644 --- a/Mage.Sets/src/mage/cards/d/DevotedCropMate.java +++ b/Mage.Sets/src/mage/cards/d/DevotedCropMate.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ExertAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; @@ -56,8 +57,8 @@ public class DevotedCropMate extends CardImpl { public DevotedCropMate(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DevotedDruid.java b/Mage.Sets/src/mage/cards/d/DevotedDruid.java index 2900c9e4f8e..1730fc3ecb1 100644 --- a/Mage.Sets/src/mage/cards/d/DevotedDruid.java +++ b/Mage.Sets/src/mage/cards/d/DevotedDruid.java @@ -36,6 +36,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -47,8 +48,8 @@ public class DevotedDruid extends CardImpl { public DevotedDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DevotedHero.java b/Mage.Sets/src/mage/cards/d/DevotedHero.java index a15a08d907a..962d4eabf48 100644 --- a/Mage.Sets/src/mage/cards/d/DevotedHero.java +++ b/Mage.Sets/src/mage/cards/d/DevotedHero.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class DevotedHero extends CardImpl { public DevotedHero(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Elf"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DevotedRetainer.java b/Mage.Sets/src/mage/cards/d/DevotedRetainer.java index 7e138667b95..a5226ed7974 100644 --- a/Mage.Sets/src/mage/cards/d/DevotedRetainer.java +++ b/Mage.Sets/src/mage/cards/d/DevotedRetainer.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.BushidoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class DevotedRetainer extends CardImpl { public DevotedRetainer (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DevoteeOfStrength.java b/Mage.Sets/src/mage/cards/d/DevoteeOfStrength.java index 24f4214b6b1..0c6f5f51145 100644 --- a/Mage.Sets/src/mage/cards/d/DevoteeOfStrength.java +++ b/Mage.Sets/src/mage/cards/d/DevoteeOfStrength.java @@ -1,70 +1,71 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.d; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.continuous.BoostTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author ciaccona007 - */ -public class DevoteeOfStrength extends CardImpl { - - public DevoteeOfStrength(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - - this.subtype.add("Naga"); - this.subtype.add("Wizard"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - - // {4}{G}: Target creature gets +2/+2 until end of turn. - SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(2,2,Duration.EndOfTurn), new ManaCostsImpl("{4}{G}")); - ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability); - } - - public DevoteeOfStrength(final DevoteeOfStrength card) { - super(card); - } - - @Override - public DevoteeOfStrength copy() { - return new DevoteeOfStrength(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.d; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author ciaccona007 + */ +public class DevoteeOfStrength extends CardImpl { + + public DevoteeOfStrength(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); + + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // {4}{G}: Target creature gets +2/+2 until end of turn. + SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(2,2,Duration.EndOfTurn), new ManaCostsImpl("{4}{G}")); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public DevoteeOfStrength(final DevoteeOfStrength card) { + super(card); + } + + @Override + public DevoteeOfStrength copy() { + return new DevoteeOfStrength(this); + } +} diff --git a/Mage.Sets/src/mage/cards/d/DevouringDeep.java b/Mage.Sets/src/mage/cards/d/DevouringDeep.java index 5c70cdd2801..8413c92892e 100644 --- a/Mage.Sets/src/mage/cards/d/DevouringDeep.java +++ b/Mage.Sets/src/mage/cards/d/DevouringDeep.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DevouringDeep extends CardImpl { public DevouringDeep(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Fish"); + this.subtype.add(SubType.FISH); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DevouringGreed.java b/Mage.Sets/src/mage/cards/d/DevouringGreed.java index a88af5e6e7f..a3d226dae34 100644 --- a/Mage.Sets/src/mage/cards/d/DevouringGreed.java +++ b/Mage.Sets/src/mage/cards/d/DevouringGreed.java @@ -58,7 +58,7 @@ public class DevouringGreed extends CardImpl { public DevouringGreed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{B}{B}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // As an additional cost to cast Devouring Greed, you may sacrifice any number of Spirits. diff --git a/Mage.Sets/src/mage/cards/d/DevouringRage.java b/Mage.Sets/src/mage/cards/d/DevouringRage.java index fa915b554b8..7c77e504ca6 100644 --- a/Mage.Sets/src/mage/cards/d/DevouringRage.java +++ b/Mage.Sets/src/mage/cards/d/DevouringRage.java @@ -62,7 +62,7 @@ public class DevouringRage extends CardImpl { public DevouringRage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{4}{R}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // As an additional cost to cast Devouring Rage, you may sacrifice any number of Spirits. diff --git a/Mage.Sets/src/mage/cards/d/DevouringStrossus.java b/Mage.Sets/src/mage/cards/d/DevouringStrossus.java index cb4ed052f38..50f718f5fbd 100644 --- a/Mage.Sets/src/mage/cards/d/DevouringStrossus.java +++ b/Mage.Sets/src/mage/cards/d/DevouringStrossus.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -53,7 +54,7 @@ public class DevouringStrossus extends CardImpl { public DevouringStrossus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(9); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/d/DevouringSwarm.java b/Mage.Sets/src/mage/cards/d/DevouringSwarm.java index 003adef1caa..b563fd26335 100644 --- a/Mage.Sets/src/mage/cards/d/DevouringSwarm.java +++ b/Mage.Sets/src/mage/cards/d/DevouringSwarm.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -48,7 +49,7 @@ public class DevouringSwarm extends CardImpl { public DevouringSwarm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DevoutChaplain.java b/Mage.Sets/src/mage/cards/d/DevoutChaplain.java index 67ab966e727..ba4fe4531fc 100644 --- a/Mage.Sets/src/mage/cards/d/DevoutChaplain.java +++ b/Mage.Sets/src/mage/cards/d/DevoutChaplain.java @@ -62,8 +62,8 @@ public class DevoutChaplain extends CardImpl { public DevoutChaplain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.color.setWhite(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DevoutHarpist.java b/Mage.Sets/src/mage/cards/d/DevoutHarpist.java index 04d342c558b..7dc2394b8e6 100644 --- a/Mage.Sets/src/mage/cards/d/DevoutHarpist.java +++ b/Mage.Sets/src/mage/cards/d/DevoutHarpist.java @@ -59,7 +59,7 @@ public class DevoutHarpist extends CardImpl { } public DevoutHarpist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.color.setWhite(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DevoutLightcaster.java b/Mage.Sets/src/mage/cards/d/DevoutLightcaster.java index ad73b8889a0..e277211a0e8 100644 --- a/Mage.Sets/src/mage/cards/d/DevoutLightcaster.java +++ b/Mage.Sets/src/mage/cards/d/DevoutLightcaster.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.ColorPredicate; import mage.target.TargetPermanent; @@ -54,8 +55,8 @@ public class DevoutLightcaster extends CardImpl { public DevoutLightcaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DevoutMonk.java b/Mage.Sets/src/mage/cards/d/DevoutMonk.java index 0b637915422..e46635a353e 100644 --- a/Mage.Sets/src/mage/cards/d/DevoutMonk.java +++ b/Mage.Sets/src/mage/cards/d/DevoutMonk.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,9 +44,9 @@ public class DevoutMonk extends CardImpl { public DevoutMonk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DevoutWitness.java b/Mage.Sets/src/mage/cards/d/DevoutWitness.java index 00a183c8877..9705ee9383c 100644 --- a/Mage.Sets/src/mage/cards/d/DevoutWitness.java +++ b/Mage.Sets/src/mage/cards/d/DevoutWitness.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -51,8 +52,8 @@ public class DevoutWitness extends CardImpl { public DevoutWitness(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DewdropSpy.java b/Mage.Sets/src/mage/cards/d/DewdropSpy.java index 9c3b2275494..aa5acf70ee4 100644 --- a/Mage.Sets/src/mage/cards/d/DewdropSpy.java +++ b/Mage.Sets/src/mage/cards/d/DewdropSpy.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -47,8 +48,8 @@ public class DewdropSpy extends CardImpl { public DewdropSpy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DhundOperative.java b/Mage.Sets/src/mage/cards/d/DhundOperative.java index 50e059d78b9..35e5a6f302f 100644 --- a/Mage.Sets/src/mage/cards/d/DhundOperative.java +++ b/Mage.Sets/src/mage/cards/d/DhundOperative.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -52,8 +53,8 @@ public class DhundOperative extends CardImpl { public DhundOperative(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DiabolicMachine.java b/Mage.Sets/src/mage/cards/d/DiabolicMachine.java index 6ec3070d0c7..a6f316a7d32 100644 --- a/Mage.Sets/src/mage/cards/d/DiabolicMachine.java +++ b/Mage.Sets/src/mage/cards/d/DiabolicMachine.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class DiabolicMachine extends CardImpl { public DiabolicMachine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DiamondFaerie.java b/Mage.Sets/src/mage/cards/d/DiamondFaerie.java index e7e0f7c86a9..5d5b8aac2d2 100644 --- a/Mage.Sets/src/mage/cards/d/DiamondFaerie.java +++ b/Mage.Sets/src/mage/cards/d/DiamondFaerie.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class DiamondFaerie extends CardImpl { public DiamondFaerie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{W}{U}"); addSuperType(SuperType.SNOW); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DiaochanArtfulBeauty.java b/Mage.Sets/src/mage/cards/d/DiaochanArtfulBeauty.java index 2c91c6e56f3..78f1274f6a6 100644 --- a/Mage.Sets/src/mage/cards/d/DiaochanArtfulBeauty.java +++ b/Mage.Sets/src/mage/cards/d/DiaochanArtfulBeauty.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class DiaochanArtfulBeauty extends CardImpl { public DiaochanArtfulBeauty(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DiffusionSliver.java b/Mage.Sets/src/mage/cards/d/DiffusionSliver.java index 6e9837affe0..17e84aa750d 100644 --- a/Mage.Sets/src/mage/cards/d/DiffusionSliver.java +++ b/Mage.Sets/src/mage/cards/d/DiffusionSliver.java @@ -54,7 +54,7 @@ public class DiffusionSliver extends CardImpl { public DiffusionSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DiligentFarmhand.java b/Mage.Sets/src/mage/cards/d/DiligentFarmhand.java index 8cdc4e4d411..3544c95618f 100644 --- a/Mage.Sets/src/mage/cards/d/DiligentFarmhand.java +++ b/Mage.Sets/src/mage/cards/d/DiligentFarmhand.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.m.MuscleBurst; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -51,8 +52,8 @@ public class DiligentFarmhand extends CardImpl { public DiligentFarmhand(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DiluvianPrimordial.java b/Mage.Sets/src/mage/cards/d/DiluvianPrimordial.java index cb84ea95cd8..073afab4331 100644 --- a/Mage.Sets/src/mage/cards/d/DiluvianPrimordial.java +++ b/Mage.Sets/src/mage/cards/d/DiluvianPrimordial.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -63,7 +64,7 @@ public class DiluvianPrimordial extends CardImpl { public DiluvianPrimordial(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DimensionalBreach.java b/Mage.Sets/src/mage/cards/d/DimensionalBreach.java index 5bbc097c826..8e8788faf5b 100644 --- a/Mage.Sets/src/mage/cards/d/DimensionalBreach.java +++ b/Mage.Sets/src/mage/cards/d/DimensionalBreach.java @@ -1,166 +1,166 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.d; - -import java.util.UUID; -import mage.MageObject; -import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; -import mage.abilities.condition.Condition; -import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.filter.FilterCard; -import mage.filter.predicate.other.OwnerIdPredicate; -import mage.game.ExileZone; -import mage.game.Game; -import mage.players.Player; -import mage.target.common.TargetCardInExile; -import mage.util.CardUtil; - -/** - * - * @author jeffwadsworth - */ -public class DimensionalBreach extends CardImpl { - - public DimensionalBreach(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{W}{W}"); - - // Exile all permanents. For as long as any of those cards remain exiled, at the beginning of each player's upkeep, that player returns one of the exiled cards he or she owns to the battlefield. - this.getSpellAbility().addEffect(new DimensionalBreachExileEffect()); - this.addAbility(new ConditionalTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(Zone.ALL, new DimensionalBreachReturnFromExileEffect(), TargetController.ANY, false, true, null), new CardsStillInExileCondition(), null)); - - } - - public DimensionalBreach(final DimensionalBreach card) { - super(card); - } - - @Override - public DimensionalBreach copy() { - return new DimensionalBreach(this); - } -} - -class DimensionalBreachExileEffect extends OneShotEffect { - - public DimensionalBreachExileEffect() { - super(Outcome.Exile); - staticText = "Exile all permanents."; - } - - public DimensionalBreachExileEffect(final DimensionalBreachExileEffect effect) { - super(effect); - } - - @Override - public DimensionalBreachExileEffect copy() { - return new DimensionalBreachExileEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - MageObject sourceObject = source.getSourceObject(game); - Player controller = game.getPlayer(source.getControllerId()); - if (sourceObject != null - && controller != null) { - UUID exileId = CardUtil.getExileZoneId(game, source.getSourceId(), 0); - if (exileId != null) { - game.getBattlefield().getAllActivePermanents().forEach((permanent) -> { - permanent.moveToExile(exileId, sourceObject.getName(), source.getSourceId(), game); - }); - return true; - } - } - return false; - } -} - -class DimensionalBreachReturnFromExileEffect extends OneShotEffect { - - public DimensionalBreachReturnFromExileEffect() { - super(Outcome.PutCardInPlay); - staticText = "For as long as any of those cards remain exiled, at the beginning of each player's upkeep, that player returns one of the exiled cards he or she owns to the battlefield."; - } - - public DimensionalBreachReturnFromExileEffect(final DimensionalBreachReturnFromExileEffect effect) { - super(effect); - } - - @Override - public DimensionalBreachReturnFromExileEffect copy() { - return new DimensionalBreachReturnFromExileEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player player = game.getPlayer(targetPointer.getFirst(game, source)); - if (player != null) { - FilterCard filter = new FilterCard("card you own from the Dimensional Breach exile"); - filter.add(new OwnerIdPredicate(player.getId())); - - TargetCardInExile target = new TargetCardInExile(filter, CardUtil.getExileZoneId(game, source.getSourceId(), 0)); - target.setNotTarget(true); - - if (target.canChoose(source.getSourceId(), player.getId(), game)) { - if (player.chooseTarget(Outcome.PutCardInPlay, target, source, game)) { - Card card = game.getCard(target.getFirstTarget()); - if (card != null - && player.moveCards(card, Zone.BATTLEFIELD, source, game)) { - return true; - } - } - } - } - return false; - } -} - -class CardsStillInExileCondition implements Condition { - - @Override - public final boolean apply(Game game, Ability source) { - Player player = game.getPlayer(game.getActivePlayerId()); - if (player != null) { - FilterCard filter = new FilterCard(); - filter.add(new OwnerIdPredicate(player.getId())); - UUID exileId = CardUtil.getExileZoneId(game, source.getSourceId(), 0); - ExileZone exileZone = game.getExile().getExileZone(exileId); - return (exileZone != null - && !exileZone.getCards(filter, game).isEmpty()); - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.d; + +import java.util.UUID; +import mage.MageObject; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.condition.Condition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.predicate.other.OwnerIdPredicate; +import mage.game.ExileZone; +import mage.game.Game; +import mage.players.Player; +import mage.target.common.TargetCardInExile; +import mage.util.CardUtil; + +/** + * + * @author jeffwadsworth + */ +public class DimensionalBreach extends CardImpl { + + public DimensionalBreach(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{5}{W}{W}"); + + // Exile all permanents. For as long as any of those cards remain exiled, at the beginning of each player's upkeep, that player returns one of the exiled cards he or she owns to the battlefield. + this.getSpellAbility().addEffect(new DimensionalBreachExileEffect()); + this.addAbility(new ConditionalTriggeredAbility(new BeginningOfUpkeepTriggeredAbility(Zone.ALL, new DimensionalBreachReturnFromExileEffect(), TargetController.ANY, false, true, null), new CardsStillInExileCondition(), null)); + + } + + public DimensionalBreach(final DimensionalBreach card) { + super(card); + } + + @Override + public DimensionalBreach copy() { + return new DimensionalBreach(this); + } +} + +class DimensionalBreachExileEffect extends OneShotEffect { + + public DimensionalBreachExileEffect() { + super(Outcome.Exile); + staticText = "Exile all permanents."; + } + + public DimensionalBreachExileEffect(final DimensionalBreachExileEffect effect) { + super(effect); + } + + @Override + public DimensionalBreachExileEffect copy() { + return new DimensionalBreachExileEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + MageObject sourceObject = source.getSourceObject(game); + Player controller = game.getPlayer(source.getControllerId()); + if (sourceObject != null + && controller != null) { + UUID exileId = CardUtil.getExileZoneId(game, source.getSourceId(), 0); + if (exileId != null) { + game.getBattlefield().getAllActivePermanents().forEach((permanent) -> { + permanent.moveToExile(exileId, sourceObject.getName(), source.getSourceId(), game); + }); + return true; + } + } + return false; + } +} + +class DimensionalBreachReturnFromExileEffect extends OneShotEffect { + + public DimensionalBreachReturnFromExileEffect() { + super(Outcome.PutCardInPlay); + staticText = "For as long as any of those cards remain exiled, at the beginning of each player's upkeep, that player returns one of the exiled cards he or she owns to the battlefield."; + } + + public DimensionalBreachReturnFromExileEffect(final DimensionalBreachReturnFromExileEffect effect) { + super(effect); + } + + @Override + public DimensionalBreachReturnFromExileEffect copy() { + return new DimensionalBreachReturnFromExileEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(targetPointer.getFirst(game, source)); + if (player != null) { + FilterCard filter = new FilterCard("card you own from the Dimensional Breach exile"); + filter.add(new OwnerIdPredicate(player.getId())); + + TargetCardInExile target = new TargetCardInExile(filter, CardUtil.getExileZoneId(game, source.getSourceId(), 0)); + target.setNotTarget(true); + + if (target.canChoose(source.getSourceId(), player.getId(), game)) { + if (player.chooseTarget(Outcome.PutCardInPlay, target, source, game)) { + Card card = game.getCard(target.getFirstTarget()); + if (card != null + && player.moveCards(card, Zone.BATTLEFIELD, source, game)) { + return true; + } + } + } + } + return false; + } +} + +class CardsStillInExileCondition implements Condition { + + @Override + public final boolean apply(Game game, Ability source) { + Player player = game.getPlayer(game.getActivePlayerId()); + if (player != null) { + FilterCard filter = new FilterCard(); + filter.add(new OwnerIdPredicate(player.getId())); + UUID exileId = CardUtil.getExileZoneId(game, source.getSourceId(), 0); + ExileZone exileZone = game.getExile().getExileZone(exileId); + return (exileZone != null + && !exileZone.getCards(filter, game).isEmpty()); + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/d/DimensionalInfiltrator.java b/Mage.Sets/src/mage/cards/d/DimensionalInfiltrator.java index fb2fc88583a..561548c951d 100644 --- a/Mage.Sets/src/mage/cards/d/DimensionalInfiltrator.java +++ b/Mage.Sets/src/mage/cards/d/DimensionalInfiltrator.java @@ -42,6 +42,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class DimensionalInfiltrator extends CardImpl { public DimensionalInfiltrator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DimirCutpurse.java b/Mage.Sets/src/mage/cards/d/DimirCutpurse.java index 157b9c360c3..2753bf3023a 100644 --- a/Mage.Sets/src/mage/cards/d/DimirCutpurse.java +++ b/Mage.Sets/src/mage/cards/d/DimirCutpurse.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -48,7 +49,7 @@ public class DimirCutpurse extends CardImpl { public DimirCutpurse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DimirDoppelganger.java b/Mage.Sets/src/mage/cards/d/DimirDoppelganger.java index c5203e307f1..22d47106c28 100644 --- a/Mage.Sets/src/mage/cards/d/DimirDoppelganger.java +++ b/Mage.Sets/src/mage/cards/d/DimirDoppelganger.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CopyEffect; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class DimirDoppelganger extends CardImpl { public DimirDoppelganger(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{B}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DimirGuildmage.java b/Mage.Sets/src/mage/cards/d/DimirGuildmage.java index 796d597b722..7a6dfe05f47 100644 --- a/Mage.Sets/src/mage/cards/d/DimirGuildmage.java +++ b/Mage.Sets/src/mage/cards/d/DimirGuildmage.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -48,8 +49,8 @@ public class DimirGuildmage extends CardImpl { public DimirGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U/B}{U/B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DimirHouseGuard.java b/Mage.Sets/src/mage/cards/d/DimirHouseGuard.java index e7fc8c46d63..c83828eba68 100644 --- a/Mage.Sets/src/mage/cards/d/DimirHouseGuard.java +++ b/Mage.Sets/src/mage/cards/d/DimirHouseGuard.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TransmuteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -48,7 +49,7 @@ public class DimirHouseGuard extends CardImpl { public DimirHouseGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DimirInfiltrator.java b/Mage.Sets/src/mage/cards/d/DimirInfiltrator.java index c83b0ba8df4..175b8d1c94c 100644 --- a/Mage.Sets/src/mage/cards/d/DimirInfiltrator.java +++ b/Mage.Sets/src/mage/cards/d/DimirInfiltrator.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TransmuteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class DimirInfiltrator extends CardImpl { public DimirInfiltrator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DimirKeyrune.java b/Mage.Sets/src/mage/cards/d/DimirKeyrune.java index f73db4524db..8e4ab1f83ad 100644 --- a/Mage.Sets/src/mage/cards/d/DimirKeyrune.java +++ b/Mage.Sets/src/mage/cards/d/DimirKeyrune.java @@ -38,6 +38,7 @@ import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -75,7 +76,7 @@ public class DimirKeyrune extends CardImpl { cardType.add(CardType.CREATURE); color.setBlue(true); color.setBlack(true); - subtype.add("Horror"); + subtype.add(SubType.HORROR); power = new MageInt(2); toughness = new MageInt(2); this.addAbility(new CantBeBlockedSourceAbility()); diff --git a/Mage.Sets/src/mage/cards/d/DinrovaHorror.java b/Mage.Sets/src/mage/cards/d/DinrovaHorror.java index 60420670001..2da7da6ea4b 100644 --- a/Mage.Sets/src/mage/cards/d/DinrovaHorror.java +++ b/Mage.Sets/src/mage/cards/d/DinrovaHorror.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -50,7 +51,7 @@ public class DinrovaHorror extends CardImpl { public DinrovaHorror(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DiplomaticEscort.java b/Mage.Sets/src/mage/cards/d/DiplomaticEscort.java index d18418a78d7..459e7c6b1bc 100644 --- a/Mage.Sets/src/mage/cards/d/DiplomaticEscort.java +++ b/Mage.Sets/src/mage/cards/d/DiplomaticEscort.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CounterTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterStackObject; import mage.filter.common.FilterCreaturePermanent; @@ -58,8 +59,8 @@ public class DiplomaticEscort extends CardImpl { public DiplomaticEscort(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DiplomaticImmunity.java b/Mage.Sets/src/mage/cards/d/DiplomaticImmunity.java index d703328afee..3f0a8bc376c 100644 --- a/Mage.Sets/src/mage/cards/d/DiplomaticImmunity.java +++ b/Mage.Sets/src/mage/cards/d/DiplomaticImmunity.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class DiplomaticImmunity extends CardImpl { public DiplomaticImmunity(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DireFleetCaptain.java b/Mage.Sets/src/mage/cards/d/DireFleetCaptain.java index 1c0b87f4ff6..e264cc78fa1 100644 --- a/Mage.Sets/src/mage/cards/d/DireFleetCaptain.java +++ b/Mage.Sets/src/mage/cards/d/DireFleetCaptain.java @@ -57,8 +57,8 @@ public class DireFleetCaptain extends CardImpl { public DireFleetCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{R}"); - this.subtype.add("Orc"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DiregrafCaptain.java b/Mage.Sets/src/mage/cards/d/DiregrafCaptain.java index 3cb8a743a52..775e1238f3d 100644 --- a/Mage.Sets/src/mage/cards/d/DiregrafCaptain.java +++ b/Mage.Sets/src/mage/cards/d/DiregrafCaptain.java @@ -63,8 +63,8 @@ public class DiregrafCaptain extends CardImpl { public DiregrafCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DiregrafColossus.java b/Mage.Sets/src/mage/cards/d/DiregrafColossus.java index e131cb7005b..019bd4899ab 100644 --- a/Mage.Sets/src/mage/cards/d/DiregrafColossus.java +++ b/Mage.Sets/src/mage/cards/d/DiregrafColossus.java @@ -62,8 +62,8 @@ public class DiregrafColossus extends CardImpl { public DiregrafColossus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Giant"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.GIANT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DiregrafEscort.java b/Mage.Sets/src/mage/cards/d/DiregrafEscort.java index 716b582ad0a..0d904353188 100644 --- a/Mage.Sets/src/mage/cards/d/DiregrafEscort.java +++ b/Mage.Sets/src/mage/cards/d/DiregrafEscort.java @@ -57,8 +57,8 @@ public class DiregrafEscort extends CardImpl { public DiregrafEscort(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DiregrafGhoul.java b/Mage.Sets/src/mage/cards/d/DiregrafGhoul.java index 58eb0d033a3..a7d4bb9eb94 100644 --- a/Mage.Sets/src/mage/cards/d/DiregrafGhoul.java +++ b/Mage.Sets/src/mage/cards/d/DiregrafGhoul.java @@ -33,6 +33,7 @@ import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DiregrafGhoul extends CardImpl { public DiregrafGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.color.setBlack(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DirgurNemesis.java b/Mage.Sets/src/mage/cards/d/DirgurNemesis.java index aa37f4a9937..9cc94ab4fe7 100644 --- a/Mage.Sets/src/mage/cards/d/DirgurNemesis.java +++ b/Mage.Sets/src/mage/cards/d/DirgurNemesis.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class DirgurNemesis extends CardImpl { public DirgurNemesis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DirtcowlWurm.java b/Mage.Sets/src/mage/cards/d/DirtcowlWurm.java index e0ffc0cd881..b518f1a69ac 100644 --- a/Mage.Sets/src/mage/cards/d/DirtcowlWurm.java +++ b/Mage.Sets/src/mage/cards/d/DirtcowlWurm.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -49,7 +50,7 @@ public class DirtcowlWurm extends CardImpl { public DirtcowlWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DirtwaterWraith.java b/Mage.Sets/src/mage/cards/d/DirtwaterWraith.java index d614292cd12..d837d294fe8 100644 --- a/Mage.Sets/src/mage/cards/d/DirtwaterWraith.java +++ b/Mage.Sets/src/mage/cards/d/DirtwaterWraith.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class DirtwaterWraith extends CardImpl { public DirtwaterWraith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Wraith"); + this.subtype.add(SubType.WRAITH); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DirtyWererat.java b/Mage.Sets/src/mage/cards/d/DirtyWererat.java index 90435f8ff00..54c5df8b6ac 100644 --- a/Mage.Sets/src/mage/cards/d/DirtyWererat.java +++ b/Mage.Sets/src/mage/cards/d/DirtyWererat.java @@ -45,6 +45,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -56,9 +57,9 @@ public class DirtyWererat extends CardImpl { public DirtyWererat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rat"); - this.subtype.add("Minion"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.MINION); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DiscipleOfBolas.java b/Mage.Sets/src/mage/cards/d/DiscipleOfBolas.java index 1c9b797b93f..7395ebfabb1 100644 --- a/Mage.Sets/src/mage/cards/d/DiscipleOfBolas.java +++ b/Mage.Sets/src/mage/cards/d/DiscipleOfBolas.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.StaticFilters; import mage.game.Game; @@ -51,8 +52,8 @@ public class DiscipleOfBolas extends CardImpl { public DiscipleOfBolas(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DiscipleOfDeceit.java b/Mage.Sets/src/mage/cards/d/DiscipleOfDeceit.java index 3385a85c5fd..86498c199a7 100644 --- a/Mage.Sets/src/mage/cards/d/DiscipleOfDeceit.java +++ b/Mage.Sets/src/mage/cards/d/DiscipleOfDeceit.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.filter.FilterCard; @@ -58,8 +59,8 @@ public class DiscipleOfDeceit extends CardImpl { public DiscipleOfDeceit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DiscipleOfGrace.java b/Mage.Sets/src/mage/cards/d/DiscipleOfGrace.java index 81493f5e85d..b34a026f320 100644 --- a/Mage.Sets/src/mage/cards/d/DiscipleOfGrace.java +++ b/Mage.Sets/src/mage/cards/d/DiscipleOfGrace.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Backfir3 @@ -45,8 +46,8 @@ public class DiscipleOfGrace extends CardImpl { public DiscipleOfGrace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DiscipleOfGriselbrand.java b/Mage.Sets/src/mage/cards/d/DiscipleOfGriselbrand.java index 4b20bf0a6c3..399b6a265fa 100644 --- a/Mage.Sets/src/mage/cards/d/DiscipleOfGriselbrand.java +++ b/Mage.Sets/src/mage/cards/d/DiscipleOfGriselbrand.java @@ -38,6 +38,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -52,8 +53,8 @@ public class DiscipleOfGriselbrand extends CardImpl { public DiscipleOfGriselbrand(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DiscipleOfKangee.java b/Mage.Sets/src/mage/cards/d/DiscipleOfKangee.java index fd9c5842fd0..2b9013af4c9 100644 --- a/Mage.Sets/src/mage/cards/d/DiscipleOfKangee.java +++ b/Mage.Sets/src/mage/cards/d/DiscipleOfKangee.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -53,8 +54,8 @@ public class DiscipleOfKangee extends CardImpl { public DiscipleOfKangee(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DiscipleOfLaw.java b/Mage.Sets/src/mage/cards/d/DiscipleOfLaw.java index b91e10738a9..b7834c8ebb4 100644 --- a/Mage.Sets/src/mage/cards/d/DiscipleOfLaw.java +++ b/Mage.Sets/src/mage/cards/d/DiscipleOfLaw.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class DiscipleOfLaw extends CardImpl { public DiscipleOfLaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DiscipleOfMalice.java b/Mage.Sets/src/mage/cards/d/DiscipleOfMalice.java index 76901256f9b..3be5981f699 100644 --- a/Mage.Sets/src/mage/cards/d/DiscipleOfMalice.java +++ b/Mage.Sets/src/mage/cards/d/DiscipleOfMalice.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class DiscipleOfMalice extends CardImpl { public DiscipleOfMalice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DiscipleOfPhenax.java b/Mage.Sets/src/mage/cards/d/DiscipleOfPhenax.java index 19b3be9904e..0ba1d587359 100644 --- a/Mage.Sets/src/mage/cards/d/DiscipleOfPhenax.java +++ b/Mage.Sets/src/mage/cards/d/DiscipleOfPhenax.java @@ -36,6 +36,7 @@ import mage.abilities.dynamicvalue.common.DevotionCount; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class DiscipleOfPhenax extends CardImpl { public DiscipleOfPhenax(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DiscipleOfTeveshSzat.java b/Mage.Sets/src/mage/cards/d/DiscipleOfTeveshSzat.java index 0638385b923..4e68a256aa1 100644 --- a/Mage.Sets/src/mage/cards/d/DiscipleOfTeveshSzat.java +++ b/Mage.Sets/src/mage/cards/d/DiscipleOfTeveshSzat.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class DiscipleOfTeveshSzat extends CardImpl { public DiscipleOfTeveshSzat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DiscipleOfTheOldWays.java b/Mage.Sets/src/mage/cards/d/DiscipleOfTheOldWays.java index a86686e479a..ad61ced9b7b 100644 --- a/Mage.Sets/src/mage/cards/d/DiscipleOfTheOldWays.java +++ b/Mage.Sets/src/mage/cards/d/DiscipleOfTheOldWays.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class DiscipleOfTheOldWays extends CardImpl { public DiscipleOfTheOldWays(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DiscipleOfTheRing.java b/Mage.Sets/src/mage/cards/d/DiscipleOfTheRing.java index 1c0d744fd03..3b5dedc9dc8 100644 --- a/Mage.Sets/src/mage/cards/d/DiscipleOfTheRing.java +++ b/Mage.Sets/src/mage/cards/d/DiscipleOfTheRing.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterSpell; @@ -65,8 +66,8 @@ public class DiscipleOfTheRing extends CardImpl { public DiscipleOfTheRing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DiscipleOfTheVault.java b/Mage.Sets/src/mage/cards/d/DiscipleOfTheVault.java index 95c47148492..540e976ec7f 100644 --- a/Mage.Sets/src/mage/cards/d/DiscipleOfTheVault.java +++ b/Mage.Sets/src/mage/cards/d/DiscipleOfTheVault.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; import mage.target.common.TargetOpponent; @@ -48,8 +49,8 @@ public class DiscipleOfTheVault extends CardImpl { public DiscipleOfTheVault(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DiseaseCarriers.java b/Mage.Sets/src/mage/cards/d/DiseaseCarriers.java index 7aebceec986..f116183b7a2 100644 --- a/Mage.Sets/src/mage/cards/d/DiseaseCarriers.java +++ b/Mage.Sets/src/mage/cards/d/DiseaseCarriers.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -46,7 +47,7 @@ public class DiseaseCarriers extends CardImpl { public DiseaseCarriers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DisownedAncestor.java b/Mage.Sets/src/mage/cards/d/DisownedAncestor.java index 85191480ef8..9ca6c401a04 100644 --- a/Mage.Sets/src/mage/cards/d/DisownedAncestor.java +++ b/Mage.Sets/src/mage/cards/d/DisownedAncestor.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.OutlastAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class DisownedAncestor extends CardImpl { public DisownedAncestor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Spirit"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DispersalTechnician.java b/Mage.Sets/src/mage/cards/d/DispersalTechnician.java index e936755bf74..c7cba6a9e1d 100644 --- a/Mage.Sets/src/mage/cards/d/DispersalTechnician.java +++ b/Mage.Sets/src/mage/cards/d/DispersalTechnician.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactPermanent; import mage.target.TargetPermanent; @@ -47,8 +48,8 @@ public class DispersalTechnician extends CardImpl { public DispersalTechnician(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DisposalMummy.java b/Mage.Sets/src/mage/cards/d/DisposalMummy.java index bd05d1fbfad..d33f8ce436b 100644 --- a/Mage.Sets/src/mage/cards/d/DisposalMummy.java +++ b/Mage.Sets/src/mage/cards/d/DisposalMummy.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.target.Target; import mage.target.common.TargetCardInOpponentsGraveyard; @@ -48,8 +49,8 @@ public class DisposalMummy extends CardImpl { public DisposalMummy(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Zombie"); - this.subtype.add("Jackal"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.JACKAL); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DisruptionAura.java b/Mage.Sets/src/mage/cards/d/DisruptionAura.java index eb3baf7c307..dc2849853f2 100644 --- a/Mage.Sets/src/mage/cards/d/DisruptionAura.java +++ b/Mage.Sets/src/mage/cards/d/DisruptionAura.java @@ -55,7 +55,7 @@ public class DisruptionAura extends CardImpl { public DisruptionAura(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact TargetPermanent auraTarget = new TargetArtifactPermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DisruptivePitmage.java b/Mage.Sets/src/mage/cards/d/DisruptivePitmage.java index e5b8ffbc81e..482b5151383 100644 --- a/Mage.Sets/src/mage/cards/d/DisruptivePitmage.java +++ b/Mage.Sets/src/mage/cards/d/DisruptivePitmage.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetSpell; @@ -50,8 +51,8 @@ public class DisruptivePitmage extends CardImpl { public DisruptivePitmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DisruptiveStudent.java b/Mage.Sets/src/mage/cards/d/DisruptiveStudent.java index 5a2864ca811..c2e40f6a770 100644 --- a/Mage.Sets/src/mage/cards/d/DisruptiveStudent.java +++ b/Mage.Sets/src/mage/cards/d/DisruptiveStudent.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CounterUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetSpell; @@ -48,8 +49,8 @@ public class DisruptiveStudent extends CardImpl { public DisruptiveStudent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DistendedMindbender.java b/Mage.Sets/src/mage/cards/d/DistendedMindbender.java index 538386a4d6e..46480bd2a80 100644 --- a/Mage.Sets/src/mage/cards/d/DistendedMindbender.java +++ b/Mage.Sets/src/mage/cards/d/DistendedMindbender.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.Zone; @@ -59,8 +60,8 @@ public class DistendedMindbender extends CardImpl { public DistendedMindbender(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{8}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Insect"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.INSECT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DiveBomber.java b/Mage.Sets/src/mage/cards/d/DiveBomber.java index 60f364d6d77..8e13129aa14 100644 --- a/Mage.Sets/src/mage/cards/d/DiveBomber.java +++ b/Mage.Sets/src/mage/cards/d/DiveBomber.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterAttackingOrBlockingCreature; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class DiveBomber extends CardImpl { public DiveBomber(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DivebomberGriffin.java b/Mage.Sets/src/mage/cards/d/DivebomberGriffin.java index f7ff360ac6a..3c9e10acdb0 100644 --- a/Mage.Sets/src/mage/cards/d/DivebomberGriffin.java +++ b/Mage.Sets/src/mage/cards/d/DivebomberGriffin.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterAttackingOrBlockingCreature; import mage.target.common.TargetCreaturePermanent; @@ -50,7 +51,7 @@ public class DivebomberGriffin extends CardImpl { public DivebomberGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DivineFavor.java b/Mage.Sets/src/mage/cards/d/DivineFavor.java index d6f0e1c154c..b094283e04b 100644 --- a/Mage.Sets/src/mage/cards/d/DivineFavor.java +++ b/Mage.Sets/src/mage/cards/d/DivineFavor.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class DivineFavor extends CardImpl { public DivineFavor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/d/DivineTransformation.java b/Mage.Sets/src/mage/cards/d/DivineTransformation.java index 7b149824bd8..715eee2511e 100644 --- a/Mage.Sets/src/mage/cards/d/DivineTransformation.java +++ b/Mage.Sets/src/mage/cards/d/DivineTransformation.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class DivineTransformation extends CardImpl { public DivineTransformation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/d/DivinerSpirit.java b/Mage.Sets/src/mage/cards/d/DivinerSpirit.java index f963f3f371a..797d44d3385 100644 --- a/Mage.Sets/src/mage/cards/d/DivinerSpirit.java +++ b/Mage.Sets/src/mage/cards/d/DivinerSpirit.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -47,7 +48,7 @@ public class DivinerSpirit extends CardImpl { public DivinerSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DivinersWand.java b/Mage.Sets/src/mage/cards/d/DivinersWand.java index d3e41b8e90e..b5162263804 100644 --- a/Mage.Sets/src/mage/cards/d/DivinersWand.java +++ b/Mage.Sets/src/mage/cards/d/DivinersWand.java @@ -62,8 +62,8 @@ public class DivinersWand extends CardImpl { public DivinersWand(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ARTIFACT},"{3}"); - this.subtype.add("Wizard"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.WIZARD); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has "Whenever you draw a card, this creature gets +1/+1 and gains flying until end of turn" and "{4}: Draw a card." Ability gainedAbility = new DrawCardControllerTriggeredAbility(new BoostSourceEffect(1,1, Duration.EndOfTurn), false); diff --git a/Mage.Sets/src/mage/cards/d/DivingGriffin.java b/Mage.Sets/src/mage/cards/d/DivingGriffin.java index 6533cbfe25c..db8cbbe9b13 100644 --- a/Mage.Sets/src/mage/cards/d/DivingGriffin.java +++ b/Mage.Sets/src/mage/cards/d/DivingGriffin.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class DivingGriffin extends CardImpl { public DivingGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DiviningWitch.java b/Mage.Sets/src/mage/cards/d/DiviningWitch.java index 47295968c63..cd9f02de231 100644 --- a/Mage.Sets/src/mage/cards/d/DiviningWitch.java +++ b/Mage.Sets/src/mage/cards/d/DiviningWitch.java @@ -41,6 +41,7 @@ import mage.cards.repository.CardRepository; import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,8 +57,8 @@ public class DiviningWitch extends CardImpl { public DiviningWitch(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DivinityOfPride.java b/Mage.Sets/src/mage/cards/d/DivinityOfPride.java index 8e4af190847..2e687a2d8b0 100644 --- a/Mage.Sets/src/mage/cards/d/DivinityOfPride.java +++ b/Mage.Sets/src/mage/cards/d/DivinityOfPride.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -52,8 +53,8 @@ public class DivinityOfPride extends CardImpl { public DivinityOfPride(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W/B}{W/B}{W/B}{W/B}{W/B}"); - this.subtype.add("Spirit"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DjeruWithEyesOpen.java b/Mage.Sets/src/mage/cards/d/DjeruWithEyesOpen.java index 39869168c77..efacfd9440f 100644 --- a/Mage.Sets/src/mage/cards/d/DjeruWithEyesOpen.java +++ b/Mage.Sets/src/mage/cards/d/DjeruWithEyesOpen.java @@ -1,126 +1,127 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.d; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.Effect; -import mage.abilities.effects.PreventionEffectImpl; -import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; -import mage.abilities.keyword.VigilanceAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SuperType; -import mage.constants.Zone; -import mage.filter.FilterCard; -import mage.filter.predicate.mageobject.CardTypePredicate; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.permanent.Permanent; -import mage.target.common.TargetCardInLibrary; - -/** - * - * @author LevelX2 - */ -public class DjeruWithEyesOpen extends CardImpl { - - private static final FilterCard filter = new FilterCard("planeswalker card"); - - static { - filter.add(new CardTypePredicate(CardType.PLANESWALKER)); - } - - public DjeruWithEyesOpen(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{W}"); - - addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); - this.power = new MageInt(4); - this.toughness = new MageInt(3); - - // Vigilance - this.addAbility(VigilanceAbility.getInstance()); - - // When Djeru, With Eyes Open enters the battlefield, you may search your library for a planeswalker card, reveal it, put it into your hand, then shuffle your library. - Effect effect = new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 1, filter), true, true); - effect.setText("you may search your library for a planeswalker card, reveal it, put it into your hand, then shuffle your library"); - this.addAbility(new EntersBattlefieldTriggeredAbility(effect, true)); - - // If a source would deal damage to a planeswalker you control, prevent 1 of that damage. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DjeruWithEyesOpenPreventEffect())); - } - - public DjeruWithEyesOpen(final DjeruWithEyesOpen card) { - super(card); - } - - @Override - public DjeruWithEyesOpen copy() { - return new DjeruWithEyesOpen(this); - } -} - -class DjeruWithEyesOpenPreventEffect extends PreventionEffectImpl { - - public DjeruWithEyesOpenPreventEffect() { - super(Duration.WhileOnBattlefield, 1, false, false); - this.staticText = "If a source would deal damage to a planeswalker you control, prevent 1 of that damage"; - } - - public DjeruWithEyesOpenPreventEffect(DjeruWithEyesOpenPreventEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - return true; - } - - @Override - public boolean applies(GameEvent event, Ability source, Game game) { - if (event.getType() == GameEvent.EventType.DAMAGE_PLANESWALKER) { - Permanent permanent = game.getPermanent(event.getTargetId()); - if (permanent != null && permanent.getControllerId().equals(source.getControllerId())) { - return super.applies(event, source, game); - } - } - return false; - } - - @Override - public DjeruWithEyesOpenPreventEffect copy() { - return new DjeruWithEyesOpenPreventEffect(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.d; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.PreventionEffectImpl; +import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.SuperType; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; +import mage.target.common.TargetCardInLibrary; + +/** + * + * @author LevelX2 + */ +public class DjeruWithEyesOpen extends CardImpl { + + private static final FilterCard filter = new FilterCard("planeswalker card"); + + static { + filter.add(new CardTypePredicate(CardType.PLANESWALKER)); + } + + public DjeruWithEyesOpen(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{W}"); + + addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(4); + this.toughness = new MageInt(3); + + // Vigilance + this.addAbility(VigilanceAbility.getInstance()); + + // When Djeru, With Eyes Open enters the battlefield, you may search your library for a planeswalker card, reveal it, put it into your hand, then shuffle your library. + Effect effect = new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 1, filter), true, true); + effect.setText("you may search your library for a planeswalker card, reveal it, put it into your hand, then shuffle your library"); + this.addAbility(new EntersBattlefieldTriggeredAbility(effect, true)); + + // If a source would deal damage to a planeswalker you control, prevent 1 of that damage. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DjeruWithEyesOpenPreventEffect())); + } + + public DjeruWithEyesOpen(final DjeruWithEyesOpen card) { + super(card); + } + + @Override + public DjeruWithEyesOpen copy() { + return new DjeruWithEyesOpen(this); + } +} + +class DjeruWithEyesOpenPreventEffect extends PreventionEffectImpl { + + public DjeruWithEyesOpenPreventEffect() { + super(Duration.WhileOnBattlefield, 1, false, false); + this.staticText = "If a source would deal damage to a planeswalker you control, prevent 1 of that damage"; + } + + public DjeruWithEyesOpenPreventEffect(DjeruWithEyesOpenPreventEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + if (event.getType() == GameEvent.EventType.DAMAGE_PLANESWALKER) { + Permanent permanent = game.getPermanent(event.getTargetId()); + if (permanent != null && permanent.getControllerId().equals(source.getControllerId())) { + return super.applies(event, source, game); + } + } + return false; + } + + @Override + public DjeruWithEyesOpenPreventEffect copy() { + return new DjeruWithEyesOpenPreventEffect(this); + } +} diff --git a/Mage.Sets/src/mage/cards/d/DjinnIlluminatus.java b/Mage.Sets/src/mage/cards/d/DjinnIlluminatus.java index fa106b0ec7a..6f41203bbcf 100644 --- a/Mage.Sets/src/mage/cards/d/DjinnIlluminatus.java +++ b/Mage.Sets/src/mage/cards/d/DjinnIlluminatus.java @@ -52,7 +52,7 @@ public class DjinnIlluminatus extends CardImpl { public DjinnIlluminatus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U/R}{U/R}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DjinnOfInfiniteDeceits.java b/Mage.Sets/src/mage/cards/d/DjinnOfInfiniteDeceits.java index 08afeb7f438..d7017fbad40 100644 --- a/Mage.Sets/src/mage/cards/d/DjinnOfInfiniteDeceits.java +++ b/Mage.Sets/src/mage/cards/d/DjinnOfInfiniteDeceits.java @@ -58,7 +58,7 @@ public class DjinnOfInfiniteDeceits extends CardImpl { public DjinnOfInfiniteDeceits(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(2); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/d/DjinnOfTheLamp.java b/Mage.Sets/src/mage/cards/d/DjinnOfTheLamp.java index 6a83b4c25eb..6c436e21271 100644 --- a/Mage.Sets/src/mage/cards/d/DjinnOfTheLamp.java +++ b/Mage.Sets/src/mage/cards/d/DjinnOfTheLamp.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DjinnOfTheLamp extends CardImpl { public DjinnOfTheLamp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DjinnOfWishes.java b/Mage.Sets/src/mage/cards/d/DjinnOfWishes.java index bc52382c8bb..a6ca79ebae6 100644 --- a/Mage.Sets/src/mage/cards/d/DjinnOfWishes.java +++ b/Mage.Sets/src/mage/cards/d/DjinnOfWishes.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -56,7 +57,7 @@ public class DjinnOfWishes extends CardImpl { public DjinnOfWishes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.color.setBlue(true); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DocentOfPerfection.java b/Mage.Sets/src/mage/cards/d/DocentOfPerfection.java index bac5a5b2370..a0ec96d734d 100644 --- a/Mage.Sets/src/mage/cards/d/DocentOfPerfection.java +++ b/Mage.Sets/src/mage/cards/d/DocentOfPerfection.java @@ -70,8 +70,8 @@ public class DocentOfPerfection extends CardImpl { public DocentOfPerfection(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Insect"); - this.subtype.add("Horror"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.HORROR); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/Dodecapod.java b/Mage.Sets/src/mage/cards/d/Dodecapod.java index faa4adacfb8..f584342bc36 100644 --- a/Mage.Sets/src/mage/cards/d/Dodecapod.java +++ b/Mage.Sets/src/mage/cards/d/Dodecapod.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -49,7 +50,7 @@ public class Dodecapod extends CardImpl { public Dodecapod(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DoggedHunter.java b/Mage.Sets/src/mage/cards/d/DoggedHunter.java index 2485713a163..58f9b714700 100644 --- a/Mage.Sets/src/mage/cards/d/DoggedHunter.java +++ b/Mage.Sets/src/mage/cards/d/DoggedHunter.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.TokenPredicate; @@ -54,8 +55,8 @@ public class DoggedHunter extends CardImpl { public DoggedHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/Dogpile.java b/Mage.Sets/src/mage/cards/d/Dogpile.java index 18c8329fa05..bd7f3cc8d66 100644 --- a/Mage.Sets/src/mage/cards/d/Dogpile.java +++ b/Mage.Sets/src/mage/cards/d/Dogpile.java @@ -1,71 +1,71 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.d; - -import java.util.UUID; -import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.effects.common.DamageTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.TargetController; -import mage.filter.common.FilterAttackingCreature; -import mage.filter.predicate.permanent.ControllerPredicate; -import mage.target.common.TargetCreatureOrPlayer; - -/** - * - * @author LevelX2 - */ -public class Dogpile extends CardImpl { - - private static final FilterAttackingCreature filter = new FilterAttackingCreature("attacking creatures you control"); - - static { - filter.add(new ControllerPredicate(TargetController.YOU)); - } - - public Dogpile(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{R}"); - - // Dogpile deals damage to target creature or player equal to the number of attacking creatures you control. - this.getSpellAbility().addEffect(new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter)). - setText("{this} deals damage to target creature or player equal to the number of attacking creatures you control")); - this.getSpellAbility().addTarget(new TargetCreatureOrPlayer()); - - } - - public Dogpile(final Dogpile card) { - super(card); - } - - @Override - public Dogpile copy() { - return new Dogpile(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.d; + +import java.util.UUID; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.TargetController; +import mage.filter.common.FilterAttackingCreature; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.target.common.TargetCreatureOrPlayer; + +/** + * + * @author LevelX2 + */ +public class Dogpile extends CardImpl { + + private static final FilterAttackingCreature filter = new FilterAttackingCreature("attacking creatures you control"); + + static { + filter.add(new ControllerPredicate(TargetController.YOU)); + } + + public Dogpile(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{R}"); + + // Dogpile deals damage to target creature or player equal to the number of attacking creatures you control. + this.getSpellAbility().addEffect(new DamageTargetEffect(new PermanentsOnBattlefieldCount(filter)). + setText("{this} deals damage to target creature or player equal to the number of attacking creatures you control")); + this.getSpellAbility().addTarget(new TargetCreatureOrPlayer()); + + } + + public Dogpile(final Dogpile card) { + super(card); + } + + @Override + public Dogpile copy() { + return new Dogpile(this); + } +} diff --git a/Mage.Sets/src/mage/cards/d/DomesticatedHydra.java b/Mage.Sets/src/mage/cards/d/DomesticatedHydra.java index 20f3d4e1b66..60f50dc0c45 100644 --- a/Mage.Sets/src/mage/cards/d/DomesticatedHydra.java +++ b/Mage.Sets/src/mage/cards/d/DomesticatedHydra.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class DomesticatedHydra extends CardImpl { public DomesticatedHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/Domestication.java b/Mage.Sets/src/mage/cards/d/Domestication.java index ad5e473cf76..090645658c5 100644 --- a/Mage.Sets/src/mage/cards/d/Domestication.java +++ b/Mage.Sets/src/mage/cards/d/Domestication.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class Domestication extends CardImpl { public Domestication(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/d/DominatingLicid.java b/Mage.Sets/src/mage/cards/d/DominatingLicid.java index 09165e8ccce..c74effe477b 100644 --- a/Mage.Sets/src/mage/cards/d/DominatingLicid.java +++ b/Mage.Sets/src/mage/cards/d/DominatingLicid.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.ControlEnchantedEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class DominatingLicid extends CardImpl { public DominatingLicid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Licid"); + this.subtype.add(SubType.LICID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DominatorDrone.java b/Mage.Sets/src/mage/cards/d/DominatorDrone.java index 732ca25bf75..7c6e1928186 100644 --- a/Mage.Sets/src/mage/cards/d/DominatorDrone.java +++ b/Mage.Sets/src/mage/cards/d/DominatorDrone.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.IngestAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.ColorlessPredicate; import mage.filter.predicate.permanent.AnotherPredicate; @@ -59,8 +60,8 @@ public class DominatorDrone extends CardImpl { public DominatorDrone(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/Domineer.java b/Mage.Sets/src/mage/cards/d/Domineer.java index 1829064afd1..c69265e5423 100644 --- a/Mage.Sets/src/mage/cards/d/Domineer.java +++ b/Mage.Sets/src/mage/cards/d/Domineer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -57,7 +58,7 @@ public class Domineer extends CardImpl { public Domineer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact creature TargetPermanent auraTarget = new TargetCreaturePermanent(filter); diff --git a/Mage.Sets/src/mage/cards/d/DominusOfFealty.java b/Mage.Sets/src/mage/cards/d/DominusOfFealty.java index 3d4e85bf5b7..3572e5c2ea7 100644 --- a/Mage.Sets/src/mage/cards/d/DominusOfFealty.java +++ b/Mage.Sets/src/mage/cards/d/DominusOfFealty.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.target.TargetPermanent; @@ -51,8 +52,8 @@ public class DominusOfFealty extends CardImpl { public DominusOfFealty(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U/R}{U/R}{U/R}{U/R}{U/R}"); - this.subtype.add("Spirit"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DomriRade.java b/Mage.Sets/src/mage/cards/d/DomriRade.java index c954e3c3765..679fd8c5c77 100644 --- a/Mage.Sets/src/mage/cards/d/DomriRade.java +++ b/Mage.Sets/src/mage/cards/d/DomriRade.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class DomriRade extends CardImpl { public DomriRade(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{R}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Domri"); + this.subtype.add(SubType.DOMRI); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/d/DongZhouTheTyrant.java b/Mage.Sets/src/mage/cards/d/DongZhouTheTyrant.java index 69f9411f6be..4e4f9ff3b76 100644 --- a/Mage.Sets/src/mage/cards/d/DongZhouTheTyrant.java +++ b/Mage.Sets/src/mage/cards/d/DongZhouTheTyrant.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.TargetController; @@ -60,8 +61,8 @@ public class DongZhouTheTyrant extends CardImpl { public DongZhouTheTyrant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DoomedDissenter.java b/Mage.Sets/src/mage/cards/d/DoomedDissenter.java index f0c4c57eec6..d9c4b5d979c 100644 --- a/Mage.Sets/src/mage/cards/d/DoomedDissenter.java +++ b/Mage.Sets/src/mage/cards/d/DoomedDissenter.java @@ -1,64 +1,65 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.d; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.DiesTriggeredAbility; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.game.permanent.token.ZombieToken; - -/** - * - * @author Styxo - */ -public class DoomedDissenter extends CardImpl { - - public DoomedDissenter(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - - this.subtype.add("Human"); - this.power = new MageInt(1); - this.toughness = new MageInt(1); - - // When Doomed Dissenter dies, create a 2/2 black Zombie creature token. - this.addAbility(new DiesTriggeredAbility(new CreateTokenEffect(new ZombieToken()))); - } - - public DoomedDissenter(final DoomedDissenter card) { - super(card); - } - - @Override - public DoomedDissenter copy() { - return new DoomedDissenter(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.d; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.DiesTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.game.permanent.token.ZombieToken; + +/** + * + * @author Styxo + */ +public class DoomedDissenter extends CardImpl { + + public DoomedDissenter(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); + + this.subtype.add(SubType.HUMAN); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // When Doomed Dissenter dies, create a 2/2 black Zombie creature token. + this.addAbility(new DiesTriggeredAbility(new CreateTokenEffect(new ZombieToken()))); + } + + public DoomedDissenter(final DoomedDissenter card) { + super(card); + } + + @Override + public DoomedDissenter copy() { + return new DoomedDissenter(this); + } +} diff --git a/Mage.Sets/src/mage/cards/d/DoomedNecromancer.java b/Mage.Sets/src/mage/cards/d/DoomedNecromancer.java index 9917daa911d..55f0a60aac3 100644 --- a/Mage.Sets/src/mage/cards/d/DoomedNecromancer.java +++ b/Mage.Sets/src/mage/cards/d/DoomedNecromancer.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -51,9 +52,9 @@ public class DoomedNecromancer extends CardImpl { public DoomedNecromancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DoomedTraveler.java b/Mage.Sets/src/mage/cards/d/DoomedTraveler.java index 8410ee882c3..6a222203cb3 100644 --- a/Mage.Sets/src/mage/cards/d/DoomedTraveler.java +++ b/Mage.Sets/src/mage/cards/d/DoomedTraveler.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.SpiritWhiteToken; /** @@ -44,8 +45,8 @@ public class DoomedTraveler extends CardImpl { public DoomedTraveler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/Doomgape.java b/Mage.Sets/src/mage/cards/d/Doomgape.java index 6235d240937..2547128ab77 100644 --- a/Mage.Sets/src/mage/cards/d/Doomgape.java +++ b/Mage.Sets/src/mage/cards/d/Doomgape.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class Doomgape extends CardImpl { public Doomgape(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B/G}{B/G}{B/G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(10); this.toughness = new MageInt(10); diff --git a/Mage.Sets/src/mage/cards/d/DoomsdaySpecter.java b/Mage.Sets/src/mage/cards/d/DoomsdaySpecter.java index c917080fc07..6a2a2be932e 100644 --- a/Mage.Sets/src/mage/cards/d/DoomsdaySpecter.java +++ b/Mage.Sets/src/mage/cards/d/DoomsdaySpecter.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,7 +58,7 @@ public class DoomsdaySpecter extends CardImpl { public DoomsdaySpecter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{B}"); - this.subtype.add("Specter"); + this.subtype.add(SubType.SPECTER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DoomwakeGiant.java b/Mage.Sets/src/mage/cards/d/DoomwakeGiant.java index d5d6ee4f0be..f98f535e244 100644 --- a/Mage.Sets/src/mage/cards/d/DoomwakeGiant.java +++ b/Mage.Sets/src/mage/cards/d/DoomwakeGiant.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -53,7 +54,7 @@ public class DoomwakeGiant extends CardImpl { public DoomwakeGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{4}{B}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/Doorkeeper.java b/Mage.Sets/src/mage/cards/d/Doorkeeper.java index 9b7bbd00dcb..b1780b7a9c3 100644 --- a/Mage.Sets/src/mage/cards/d/Doorkeeper.java +++ b/Mage.Sets/src/mage/cards/d/Doorkeeper.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -58,7 +59,7 @@ public class Doorkeeper extends CardImpl { public Doorkeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Homunculus"); + this.subtype.add(SubType.HOMUNCULUS); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DoranTheSiegeTower.java b/Mage.Sets/src/mage/cards/d/DoranTheSiegeTower.java index 13de0d7d626..a6b272dce4a 100644 --- a/Mage.Sets/src/mage/cards/d/DoranTheSiegeTower.java +++ b/Mage.Sets/src/mage/cards/d/DoranTheSiegeTower.java @@ -56,8 +56,8 @@ public class DoranTheSiegeTower extends CardImpl { public DoranTheSiegeTower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Treefolk"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DormantGomazoa.java b/Mage.Sets/src/mage/cards/d/DormantGomazoa.java index e074d2bdcf4..067ebc283ab 100644 --- a/Mage.Sets/src/mage/cards/d/DormantGomazoa.java +++ b/Mage.Sets/src/mage/cards/d/DormantGomazoa.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class DormantGomazoa extends CardImpl { public DormantGomazoa(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Jellyfish"); + this.subtype.add(SubType.JELLYFISH); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DormantSliver.java b/Mage.Sets/src/mage/cards/d/DormantSliver.java index 2859fdf799c..79dfcb65e7d 100644 --- a/Mage.Sets/src/mage/cards/d/DormantSliver.java +++ b/Mage.Sets/src/mage/cards/d/DormantSliver.java @@ -56,7 +56,7 @@ public class DormantSliver extends CardImpl { public DormantSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{U}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DosanTheFallingLeaf.java b/Mage.Sets/src/mage/cards/d/DosanTheFallingLeaf.java index 41e559e4464..2f53e5baf03 100644 --- a/Mage.Sets/src/mage/cards/d/DosanTheFallingLeaf.java +++ b/Mage.Sets/src/mage/cards/d/DosanTheFallingLeaf.java @@ -47,8 +47,8 @@ public class DosanTheFallingLeaf extends CardImpl { public DosanTheFallingLeaf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DoubtlessOne.java b/Mage.Sets/src/mage/cards/d/DoubtlessOne.java index f5605ac2bfc..28767b7277c 100644 --- a/Mage.Sets/src/mage/cards/d/DoubtlessOne.java +++ b/Mage.Sets/src/mage/cards/d/DoubtlessOne.java @@ -56,8 +56,8 @@ public class DoubtlessOne extends CardImpl { public DoubtlessOne(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Cleric"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/d/DovinBaan.java b/Mage.Sets/src/mage/cards/d/DovinBaan.java index e9e4d66379d..2a2dbfb7149 100644 --- a/Mage.Sets/src/mage/cards/d/DovinBaan.java +++ b/Mage.Sets/src/mage/cards/d/DovinBaan.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SuperType; @@ -58,7 +59,7 @@ public class DovinBaan extends CardImpl { public DovinBaan(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dovin"); + this.subtype.add(SubType.DOVIN); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/d/DowsingShaman.java b/Mage.Sets/src/mage/cards/d/DowsingShaman.java index caa7a6c9191..3f35a3d2c4c 100644 --- a/Mage.Sets/src/mage/cards/d/DowsingShaman.java +++ b/Mage.Sets/src/mage/cards/d/DowsingShaman.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -56,8 +57,8 @@ public class DowsingShaman extends CardImpl { public DowsingShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/Draco.java b/Mage.Sets/src/mage/cards/d/Draco.java index d87fc4ee829..9132028b6fb 100644 --- a/Mage.Sets/src/mage/cards/d/Draco.java +++ b/Mage.Sets/src/mage/cards/d/Draco.java @@ -53,7 +53,7 @@ public class Draco extends CardImpl { public Draco(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{16}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(9); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/d/Dracoplasm.java b/Mage.Sets/src/mage/cards/d/Dracoplasm.java index 16d12a0d022..e378fc79986 100644 --- a/Mage.Sets/src/mage/cards/d/Dracoplasm.java +++ b/Mage.Sets/src/mage/cards/d/Dracoplasm.java @@ -59,7 +59,7 @@ public class Dracoplasm extends CardImpl { public Dracoplasm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{R}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/d/DragonBellMonk.java b/Mage.Sets/src/mage/cards/d/DragonBellMonk.java index 0bf52363e90..e2f15e05bc2 100644 --- a/Mage.Sets/src/mage/cards/d/DragonBellMonk.java +++ b/Mage.Sets/src/mage/cards/d/DragonBellMonk.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class DragonBellMonk extends CardImpl { public DragonBellMonk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DragonBreath.java b/Mage.Sets/src/mage/cards/d/DragonBreath.java index e935c6c517c..740b53850f7 100644 --- a/Mage.Sets/src/mage/cards/d/DragonBreath.java +++ b/Mage.Sets/src/mage/cards/d/DragonBreath.java @@ -64,7 +64,7 @@ public class DragonBreath extends CardImpl { public DragonBreath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DragonBroodmother.java b/Mage.Sets/src/mage/cards/d/DragonBroodmother.java index d4aded7b8f8..4b473f9c94c 100644 --- a/Mage.Sets/src/mage/cards/d/DragonBroodmother.java +++ b/Mage.Sets/src/mage/cards/d/DragonBroodmother.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.game.permanent.token.DragonBroodmotherDragonToken; @@ -46,7 +47,7 @@ public class DragonBroodmother extends CardImpl { public DragonBroodmother(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}{R}{G}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DragonEgg.java b/Mage.Sets/src/mage/cards/d/DragonEgg.java index 1f27bf499ed..cf74aefe4e1 100644 --- a/Mage.Sets/src/mage/cards/d/DragonEgg.java +++ b/Mage.Sets/src/mage/cards/d/DragonEgg.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.DragonEggDragonToken; /** @@ -45,7 +46,7 @@ public class DragonEgg extends CardImpl { public DragonEgg(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DragonEngine.java b/Mage.Sets/src/mage/cards/d/DragonEngine.java index 233dd71036f..da682db0288 100644 --- a/Mage.Sets/src/mage/cards/d/DragonEngine.java +++ b/Mage.Sets/src/mage/cards/d/DragonEngine.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class DragonEngine extends CardImpl { public DragonEngine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DragonFangs.java b/Mage.Sets/src/mage/cards/d/DragonFangs.java index 2eb7a4f5662..deb49462de2 100644 --- a/Mage.Sets/src/mage/cards/d/DragonFangs.java +++ b/Mage.Sets/src/mage/cards/d/DragonFangs.java @@ -62,7 +62,7 @@ public class DragonFangs extends CardImpl { public DragonFangs(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DragonGrip.java b/Mage.Sets/src/mage/cards/d/DragonGrip.java index 7ee1ecd4552..34f06ac7a6a 100644 --- a/Mage.Sets/src/mage/cards/d/DragonGrip.java +++ b/Mage.Sets/src/mage/cards/d/DragonGrip.java @@ -54,7 +54,7 @@ public class DragonGrip extends CardImpl { public DragonGrip(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Ferocious - If you control a creature with power 4 or greater, you may cast Dragon Grip as though it had flash. AsThoughEffect effect = new CastAsThoughItHadFlashSourceEffect(Duration.EndOfGame); diff --git a/Mage.Sets/src/mage/cards/d/DragonHatchling.java b/Mage.Sets/src/mage/cards/d/DragonHatchling.java index ef25542cf88..ada22f4f664 100644 --- a/Mage.Sets/src/mage/cards/d/DragonHatchling.java +++ b/Mage.Sets/src/mage/cards/d/DragonHatchling.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class DragonHatchling extends CardImpl { public DragonHatchling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DragonHunter.java b/Mage.Sets/src/mage/cards/d/DragonHunter.java index f0f3ce82aac..14ec0db0752 100644 --- a/Mage.Sets/src/mage/cards/d/DragonHunter.java +++ b/Mage.Sets/src/mage/cards/d/DragonHunter.java @@ -47,8 +47,8 @@ public class DragonHunter extends CardImpl { public DragonHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DragonMage.java b/Mage.Sets/src/mage/cards/d/DragonMage.java index df56bb3588b..f3be571b33d 100644 --- a/Mage.Sets/src/mage/cards/d/DragonMage.java +++ b/Mage.Sets/src/mage/cards/d/DragonMage.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,8 +48,8 @@ public class DragonMage extends CardImpl { public DragonMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Dragon"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.DRAGON); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DragonMantle.java b/Mage.Sets/src/mage/cards/d/DragonMantle.java index 26a7b5ec2af..ef1ee3427fa 100644 --- a/Mage.Sets/src/mage/cards/d/DragonMantle.java +++ b/Mage.Sets/src/mage/cards/d/DragonMantle.java @@ -52,7 +52,7 @@ public class DragonMantle extends CardImpl { public DragonMantle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/d/DragonScales.java b/Mage.Sets/src/mage/cards/d/DragonScales.java index a209beb757f..bb0b0a66b60 100644 --- a/Mage.Sets/src/mage/cards/d/DragonScales.java +++ b/Mage.Sets/src/mage/cards/d/DragonScales.java @@ -62,7 +62,7 @@ public class DragonScales extends CardImpl { public DragonScales(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DragonScarredBear.java b/Mage.Sets/src/mage/cards/d/DragonScarredBear.java index 5323b6518e0..d3fdb0f0663 100644 --- a/Mage.Sets/src/mage/cards/d/DragonScarredBear.java +++ b/Mage.Sets/src/mage/cards/d/DragonScarredBear.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class DragonScarredBear extends CardImpl { public DragonScarredBear(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Bear"); + this.subtype.add(SubType.BEAR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DragonShadow.java b/Mage.Sets/src/mage/cards/d/DragonShadow.java index 61cf10be215..77bb4e0fe6c 100644 --- a/Mage.Sets/src/mage/cards/d/DragonShadow.java +++ b/Mage.Sets/src/mage/cards/d/DragonShadow.java @@ -62,7 +62,7 @@ public class DragonShadow extends CardImpl { public DragonShadow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DragonStyleTwins.java b/Mage.Sets/src/mage/cards/d/DragonStyleTwins.java index a581bec601a..976eea92e7e 100644 --- a/Mage.Sets/src/mage/cards/d/DragonStyleTwins.java +++ b/Mage.Sets/src/mage/cards/d/DragonStyleTwins.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class DragonStyleTwins extends CardImpl { public DragonStyleTwins(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DragonThroneOfTarkir.java b/Mage.Sets/src/mage/cards/d/DragonThroneOfTarkir.java index a0dc0803c13..63dd1a0da57 100644 --- a/Mage.Sets/src/mage/cards/d/DragonThroneOfTarkir.java +++ b/Mage.Sets/src/mage/cards/d/DragonThroneOfTarkir.java @@ -56,7 +56,7 @@ public class DragonThroneOfTarkir extends CardImpl { public DragonThroneOfTarkir(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has defender and "{2}, {T}: Other creatures you control gain trample and get +X/+X until end of turn, where X is this creature's power." Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(DefenderAbility.getInstance(), AttachmentType.EQUIPMENT)); diff --git a/Mage.Sets/src/mage/cards/d/DragonTyrant.java b/Mage.Sets/src/mage/cards/d/DragonTyrant.java index a398e1c4952..4569603d451 100644 --- a/Mage.Sets/src/mage/cards/d/DragonTyrant.java +++ b/Mage.Sets/src/mage/cards/d/DragonTyrant.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class DragonTyrant extends CardImpl { public DragonTyrant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{8}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DragonWhelp.java b/Mage.Sets/src/mage/cards/d/DragonWhelp.java index 8951f353b5f..d3da553d1aa 100644 --- a/Mage.Sets/src/mage/cards/d/DragonWhelp.java +++ b/Mage.Sets/src/mage/cards/d/DragonWhelp.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class DragonWhelp extends CardImpl { public DragonWhelp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DragonWhisperer.java b/Mage.Sets/src/mage/cards/d/DragonWhisperer.java index 8683df206ea..1692643f3fd 100644 --- a/Mage.Sets/src/mage/cards/d/DragonWhisperer.java +++ b/Mage.Sets/src/mage/cards/d/DragonWhisperer.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.DragonToken; @@ -54,8 +55,8 @@ public class DragonWhisperer extends CardImpl { public DragonWhisperer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DragonWings.java b/Mage.Sets/src/mage/cards/d/DragonWings.java index 8e29f2cb782..22e1b24c2a6 100644 --- a/Mage.Sets/src/mage/cards/d/DragonWings.java +++ b/Mage.Sets/src/mage/cards/d/DragonWings.java @@ -63,7 +63,7 @@ public class DragonWings extends CardImpl { public DragonWings(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DragonlairSpider.java b/Mage.Sets/src/mage/cards/d/DragonlairSpider.java index 84e7280def3..1cb888dcb14 100644 --- a/Mage.Sets/src/mage/cards/d/DragonlairSpider.java +++ b/Mage.Sets/src/mage/cards/d/DragonlairSpider.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.InsectToken; /** @@ -45,7 +46,7 @@ public class DragonlairSpider extends CardImpl { public DragonlairSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}{G}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DragonloftIdol.java b/Mage.Sets/src/mage/cards/d/DragonloftIdol.java index cbffd812f6b..72293b35376 100644 --- a/Mage.Sets/src/mage/cards/d/DragonloftIdol.java +++ b/Mage.Sets/src/mage/cards/d/DragonloftIdol.java @@ -60,7 +60,7 @@ public class DragonloftIdol extends CardImpl { public DragonloftIdol(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Gargoyle"); + this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DragonlordAtarka.java b/Mage.Sets/src/mage/cards/d/DragonlordAtarka.java index 6746fcb0203..fd993baca23 100644 --- a/Mage.Sets/src/mage/cards/d/DragonlordAtarka.java +++ b/Mage.Sets/src/mage/cards/d/DragonlordAtarka.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.filter.common.FilterCreatureOrPlaneswalkerPermanent; @@ -58,8 +59,8 @@ public class DragonlordAtarka extends CardImpl { public DragonlordAtarka(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elder"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.ELDER); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/d/DragonlordDromoka.java b/Mage.Sets/src/mage/cards/d/DragonlordDromoka.java index 85fa339bab5..9ebd5ad7939 100644 --- a/Mage.Sets/src/mage/cards/d/DragonlordDromoka.java +++ b/Mage.Sets/src/mage/cards/d/DragonlordDromoka.java @@ -50,8 +50,8 @@ public class DragonlordDromoka extends CardImpl { public DragonlordDromoka(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elder"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.ELDER); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/d/DragonlordKolaghan.java b/Mage.Sets/src/mage/cards/d/DragonlordKolaghan.java index 4d42029de67..05ff26a5c1f 100644 --- a/Mage.Sets/src/mage/cards/d/DragonlordKolaghan.java +++ b/Mage.Sets/src/mage/cards/d/DragonlordKolaghan.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -59,8 +60,8 @@ public class DragonlordKolaghan extends CardImpl { public DragonlordKolaghan(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elder"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.ELDER); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DragonlordOjutai.java b/Mage.Sets/src/mage/cards/d/DragonlordOjutai.java index 3ff727afb4f..022f45f42a2 100644 --- a/Mage.Sets/src/mage/cards/d/DragonlordOjutai.java +++ b/Mage.Sets/src/mage/cards/d/DragonlordOjutai.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class DragonlordOjutai extends CardImpl { public DragonlordOjutai(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elder"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.ELDER); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DragonlordSilumgar.java b/Mage.Sets/src/mage/cards/d/DragonlordSilumgar.java index 51e5184c4c2..153660b4bef 100644 --- a/Mage.Sets/src/mage/cards/d/DragonlordSilumgar.java +++ b/Mage.Sets/src/mage/cards/d/DragonlordSilumgar.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SuperType; @@ -61,8 +62,8 @@ public class DragonlordSilumgar extends CardImpl { public DragonlordSilumgar(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elder"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.ELDER); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DragonlordsServant.java b/Mage.Sets/src/mage/cards/d/DragonlordsServant.java index 6cb7f13f203..2ce32aa1e84 100644 --- a/Mage.Sets/src/mage/cards/d/DragonlordsServant.java +++ b/Mage.Sets/src/mage/cards/d/DragonlordsServant.java @@ -53,8 +53,8 @@ public class DragonlordsServant extends CardImpl { public DragonlordsServant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DragonmasterOutcast.java b/Mage.Sets/src/mage/cards/d/DragonmasterOutcast.java index 15e12c1bb89..ed6c7cc3f61 100644 --- a/Mage.Sets/src/mage/cards/d/DragonmasterOutcast.java +++ b/Mage.Sets/src/mage/cards/d/DragonmasterOutcast.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.TargetController; import mage.filter.FilterPermanent; @@ -57,8 +58,8 @@ public class DragonmasterOutcast extends CardImpl { public DragonmasterOutcast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DragonsEyeSavants.java b/Mage.Sets/src/mage/cards/d/DragonsEyeSavants.java index bca366afcb7..5f8a5b2e345 100644 --- a/Mage.Sets/src/mage/cards/d/DragonsEyeSavants.java +++ b/Mage.Sets/src/mage/cards/d/DragonsEyeSavants.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.ColorPredicate; import mage.target.common.TargetCardInHand; @@ -57,8 +58,8 @@ public class DragonsEyeSavants extends CardImpl { public DragonsEyeSavants(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DragonsEyeSentry.java b/Mage.Sets/src/mage/cards/d/DragonsEyeSentry.java index 2f15fb94bc1..81f7e75f00e 100644 --- a/Mage.Sets/src/mage/cards/d/DragonsEyeSentry.java +++ b/Mage.Sets/src/mage/cards/d/DragonsEyeSentry.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class DragonsEyeSentry extends CardImpl { public DragonsEyeSentry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DragonsHerald.java b/Mage.Sets/src/mage/cards/d/DragonsHerald.java index 352378410de..c0c5b9cf385 100644 --- a/Mage.Sets/src/mage/cards/d/DragonsHerald.java +++ b/Mage.Sets/src/mage/cards/d/DragonsHerald.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.common.FilterControlledCreaturePermanent; @@ -67,8 +68,8 @@ public class DragonsHerald extends CardImpl { public DragonsHerald(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DragonscaleGeneral.java b/Mage.Sets/src/mage/cards/d/DragonscaleGeneral.java index a97c8ee8f32..1204c0b234a 100644 --- a/Mage.Sets/src/mage/cards/d/DragonscaleGeneral.java +++ b/Mage.Sets/src/mage/cards/d/DragonscaleGeneral.java @@ -35,6 +35,7 @@ import mage.abilities.effects.keyword.BolsterEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -55,8 +56,8 @@ public class DragonscaleGeneral extends CardImpl { public DragonscaleGeneral(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/Dragonshift.java b/Mage.Sets/src/mage/cards/d/Dragonshift.java index df4dc6b6f1a..9ec8d8c96c4 100644 --- a/Mage.Sets/src/mage/cards/d/Dragonshift.java +++ b/Mage.Sets/src/mage/cards/d/Dragonshift.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.OverloadAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; @@ -91,7 +92,7 @@ public class Dragonshift extends CardImpl { cardType.add(CardType.CREATURE); color.setBlue(true); color.setRed(true); - subtype.add("Dragon"); + subtype.add(SubType.DRAGON); power = new MageInt(4); toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/d/DragonsoulKnight.java b/Mage.Sets/src/mage/cards/d/DragonsoulKnight.java index 516abf1db8e..87c30ce81f2 100644 --- a/Mage.Sets/src/mage/cards/d/DragonsoulKnight.java +++ b/Mage.Sets/src/mage/cards/d/DragonsoulKnight.java @@ -53,8 +53,8 @@ public class DragonsoulKnight extends CardImpl { public DragonsoulKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DragonspeakerShaman.java b/Mage.Sets/src/mage/cards/d/DragonspeakerShaman.java index 9f0ab3a7817..d97b0a64448 100644 --- a/Mage.Sets/src/mage/cards/d/DragonspeakerShaman.java +++ b/Mage.Sets/src/mage/cards/d/DragonspeakerShaman.java @@ -53,9 +53,9 @@ public class DragonspeakerShaman extends CardImpl { public DragonspeakerShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Barbarian"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BARBARIAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/Dragonstalker.java b/Mage.Sets/src/mage/cards/d/Dragonstalker.java index e486b2d80d2..db993dd79f9 100644 --- a/Mage.Sets/src/mage/cards/d/Dragonstalker.java +++ b/Mage.Sets/src/mage/cards/d/Dragonstalker.java @@ -45,8 +45,8 @@ public class Dragonstalker extends CardImpl { public Dragonstalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DrainingWhelk.java b/Mage.Sets/src/mage/cards/d/DrainingWhelk.java index 31258222f2b..33600b0be6d 100644 --- a/Mage.Sets/src/mage/cards/d/DrainingWhelk.java +++ b/Mage.Sets/src/mage/cards/d/DrainingWhelk.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.game.Game; import mage.game.stack.Spell; @@ -51,7 +52,7 @@ public class DrainingWhelk extends CardImpl { public DrainingWhelk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DrainpipeVermin.java b/Mage.Sets/src/mage/cards/d/DrainpipeVermin.java index 630a25f3d3d..9883194f2b7 100644 --- a/Mage.Sets/src/mage/cards/d/DrainpipeVermin.java +++ b/Mage.Sets/src/mage/cards/d/DrainpipeVermin.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.target.TargetPlayer; @@ -48,7 +49,7 @@ public class DrainpipeVermin extends CardImpl { public DrainpipeVermin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DrakeFamiliar.java b/Mage.Sets/src/mage/cards/d/DrakeFamiliar.java index e59471db2fd..5ae94f8dee2 100644 --- a/Mage.Sets/src/mage/cards/d/DrakeFamiliar.java +++ b/Mage.Sets/src/mage/cards/d/DrakeFamiliar.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -54,7 +55,7 @@ public class DrakeFamiliar extends CardImpl { public DrakeFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DrakeHatchling.java b/Mage.Sets/src/mage/cards/d/DrakeHatchling.java index 3fe4047f080..5a17e48b56d 100644 --- a/Mage.Sets/src/mage/cards/d/DrakeHatchling.java +++ b/Mage.Sets/src/mage/cards/d/DrakeHatchling.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class DrakeHatchling extends CardImpl { public DrakeHatchling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DrakeUmbra.java b/Mage.Sets/src/mage/cards/d/DrakeUmbra.java index 85f4b748a7b..466fc553a7e 100644 --- a/Mage.Sets/src/mage/cards/d/DrakeUmbra.java +++ b/Mage.Sets/src/mage/cards/d/DrakeUmbra.java @@ -50,7 +50,7 @@ public class DrakeUmbra extends CardImpl { public DrakeUmbra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/d/DrakestownForgotten.java b/Mage.Sets/src/mage/cards/d/DrakestownForgotten.java index 7f146c1d574..a74dc5d4fdf 100644 --- a/Mage.Sets/src/mage/cards/d/DrakestownForgotten.java +++ b/Mage.Sets/src/mage/cards/d/DrakestownForgotten.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -54,7 +55,7 @@ public class DrakestownForgotten extends CardImpl { public DrakestownForgotten(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/d/DrakewingKrasis.java b/Mage.Sets/src/mage/cards/d/DrakewingKrasis.java index a83696d8d02..b1301cc0c39 100644 --- a/Mage.Sets/src/mage/cards/d/DrakewingKrasis.java +++ b/Mage.Sets/src/mage/cards/d/DrakewingKrasis.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class DrakewingKrasis extends CardImpl { public DrakewingKrasis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{U}"); - this.subtype.add("Lizard"); - this.subtype.add("Drake"); + this.subtype.add(SubType.LIZARD); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DralnuLichLord.java b/Mage.Sets/src/mage/cards/d/DralnuLichLord.java index be5dcea59ac..eed0ae78bfc 100644 --- a/Mage.Sets/src/mage/cards/d/DralnuLichLord.java +++ b/Mage.Sets/src/mage/cards/d/DralnuLichLord.java @@ -66,8 +66,8 @@ public class DralnuLichLord extends CardImpl { public DralnuLichLord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DralnusPet.java b/Mage.Sets/src/mage/cards/d/DralnusPet.java index f50bc567783..267078de937 100644 --- a/Mage.Sets/src/mage/cards/d/DralnusPet.java +++ b/Mage.Sets/src/mage/cards/d/DralnusPet.java @@ -48,6 +48,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.counters.CounterType; @@ -65,7 +66,7 @@ public class DralnusPet extends CardImpl { public DralnusPet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DranaKalastriaBloodchief.java b/Mage.Sets/src/mage/cards/d/DranaKalastriaBloodchief.java index 72be013a3ce..f002df3e401 100644 --- a/Mage.Sets/src/mage/cards/d/DranaKalastriaBloodchief.java +++ b/Mage.Sets/src/mage/cards/d/DranaKalastriaBloodchief.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class DranaKalastriaBloodchief extends CardImpl { public DranaKalastriaBloodchief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DranaLiberatorOfMalakir.java b/Mage.Sets/src/mage/cards/d/DranaLiberatorOfMalakir.java index f1983063628..494019be5ec 100644 --- a/Mage.Sets/src/mage/cards/d/DranaLiberatorOfMalakir.java +++ b/Mage.Sets/src/mage/cards/d/DranaLiberatorOfMalakir.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.counters.CounterType; @@ -57,8 +58,8 @@ public class DranaLiberatorOfMalakir extends CardImpl { public DranaLiberatorOfMalakir(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); - this.subtype.add("Ally"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DranasChosen.java b/Mage.Sets/src/mage/cards/d/DranasChosen.java index 890ce360bca..de0f85b541c 100644 --- a/Mage.Sets/src/mage/cards/d/DranasChosen.java +++ b/Mage.Sets/src/mage/cards/d/DranasChosen.java @@ -62,9 +62,9 @@ public class DranasChosen extends CardImpl { public DranasChosen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Shaman"); - this.subtype.add("Ally"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SHAMAN); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DranasEmissary.java b/Mage.Sets/src/mage/cards/d/DranasEmissary.java index d25ae4b9f3b..68dca9447fd 100644 --- a/Mage.Sets/src/mage/cards/d/DranasEmissary.java +++ b/Mage.Sets/src/mage/cards/d/DranasEmissary.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,9 +49,9 @@ public class DranasEmissary extends CardImpl { public DranasEmissary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Cleric"); - this.subtype.add("Ally"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/Dread.java b/Mage.Sets/src/mage/cards/d/Dread.java index 1870f62fd9d..d1bdce09529 100644 --- a/Mage.Sets/src/mage/cards/d/Dread.java +++ b/Mage.Sets/src/mage/cards/d/Dread.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -53,8 +54,8 @@ public class Dread extends CardImpl { public Dread(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); - this.subtype.add("Elemental"); - this.subtype.add("Incarnation"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.INCARNATION); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DreadCacodemon.java b/Mage.Sets/src/mage/cards/d/DreadCacodemon.java index 0d6032fccbc..1718fec5c94 100644 --- a/Mage.Sets/src/mage/cards/d/DreadCacodemon.java +++ b/Mage.Sets/src/mage/cards/d/DreadCacodemon.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.TapAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -62,7 +63,7 @@ public class DreadCacodemon extends CardImpl { public DreadCacodemon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{7}{B}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/d/DreadDefiler.java b/Mage.Sets/src/mage/cards/d/DreadDefiler.java index abfb2cf104b..232f791f903 100644 --- a/Mage.Sets/src/mage/cards/d/DreadDefiler.java +++ b/Mage.Sets/src/mage/cards/d/DreadDefiler.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -56,7 +57,7 @@ public class DreadDefiler extends CardImpl { public DreadDefiler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{B}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(6); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/d/DreadDrone.java b/Mage.Sets/src/mage/cards/d/DreadDrone.java index d588f537dc8..74d36f4e671 100644 --- a/Mage.Sets/src/mage/cards/d/DreadDrone.java +++ b/Mage.Sets/src/mage/cards/d/DreadDrone.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.EldraziSpawnToken; /** @@ -45,8 +46,8 @@ public class DreadDrone extends CardImpl { public DreadDrone (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DreadReaper.java b/Mage.Sets/src/mage/cards/d/DreadReaper.java index 7220704d6c9..fd0c7ae5ea8 100644 --- a/Mage.Sets/src/mage/cards/d/DreadReaper.java +++ b/Mage.Sets/src/mage/cards/d/DreadReaper.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class DreadReaper extends CardImpl { public DreadReaper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DreadSlag.java b/Mage.Sets/src/mage/cards/d/DreadSlag.java index 4f0122cc1ec..e004ae30379 100644 --- a/Mage.Sets/src/mage/cards/d/DreadSlag.java +++ b/Mage.Sets/src/mage/cards/d/DreadSlag.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class DreadSlag extends CardImpl { public DreadSlag(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{R}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(9); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/d/DreadSlaver.java b/Mage.Sets/src/mage/cards/d/DreadSlaver.java index db3b3dd8e46..ce4f156e907 100644 --- a/Mage.Sets/src/mage/cards/d/DreadSlaver.java +++ b/Mage.Sets/src/mage/cards/d/DreadSlaver.java @@ -50,8 +50,8 @@ public class DreadSlaver extends CardImpl { public DreadSlaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DreadSpecter.java b/Mage.Sets/src/mage/cards/d/DreadSpecter.java index 788ff32891f..4f8f3c8cbfc 100644 --- a/Mage.Sets/src/mage/cards/d/DreadSpecter.java +++ b/Mage.Sets/src/mage/cards/d/DreadSpecter.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -56,7 +57,7 @@ public class DreadSpecter extends CardImpl { public DreadSpecter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Specter"); + this.subtype.add(SubType.SPECTER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DreadStatuary.java b/Mage.Sets/src/mage/cards/d/DreadStatuary.java index cd6b31a7056..1f357efac2a 100644 --- a/Mage.Sets/src/mage/cards/d/DreadStatuary.java +++ b/Mage.Sets/src/mage/cards/d/DreadStatuary.java @@ -37,6 +37,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -70,7 +71,7 @@ class DreadStatuaryToken extends Token { super("", "4/2 Golem artifact creature"); cardType.add(CardType.CREATURE); cardType.add(CardType.ARTIFACT); - subtype.add("Golem"); + subtype.add(SubType.GOLEM); power = new MageInt(4); toughness = new MageInt(2); } diff --git a/Mage.Sets/src/mage/cards/d/DreadWanderer.java b/Mage.Sets/src/mage/cards/d/DreadWanderer.java index 61e4d098c53..5026d0ae602 100644 --- a/Mage.Sets/src/mage/cards/d/DreadWanderer.java +++ b/Mage.Sets/src/mage/cards/d/DreadWanderer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TimingRule; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class DreadWanderer extends CardImpl { public DreadWanderer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Jackal"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.JACKAL); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DreadWarlock.java b/Mage.Sets/src/mage/cards/d/DreadWarlock.java index 749e9be7f97..adc08998449 100644 --- a/Mage.Sets/src/mage/cards/d/DreadWarlock.java +++ b/Mage.Sets/src/mage/cards/d/DreadWarlock.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -54,8 +55,8 @@ public class DreadWarlock extends CardImpl { public DreadWarlock(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DreadbringerLampads.java b/Mage.Sets/src/mage/cards/d/DreadbringerLampads.java index 8c8fdde077e..82695e47dbe 100644 --- a/Mage.Sets/src/mage/cards/d/DreadbringerLampads.java +++ b/Mage.Sets/src/mage/cards/d/DreadbringerLampads.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class DreadbringerLampads extends CardImpl { public DreadbringerLampads(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{4}{B}"); - this.subtype.add("Nymph"); + this.subtype.add(SubType.NYMPH); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/Dreadwing.java b/Mage.Sets/src/mage/cards/d/Dreadwing.java index 40b03501687..2bd44ccba6c 100644 --- a/Mage.Sets/src/mage/cards/d/Dreadwing.java +++ b/Mage.Sets/src/mage/cards/d/Dreadwing.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class Dreadwing extends CardImpl { public Dreadwing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DreamLeash.java b/Mage.Sets/src/mage/cards/d/DreamLeash.java index 9f355dee640..db38df4aaba 100644 --- a/Mage.Sets/src/mage/cards/d/DreamLeash.java +++ b/Mage.Sets/src/mage/cards/d/DreamLeash.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -50,7 +51,7 @@ public class DreamLeash extends CardImpl { public DreamLeash(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant permanent // You can't choose an untapped permanent as Dream Leash's target as you cast Dream Leash. diff --git a/Mage.Sets/src/mage/cards/d/DreamPillager.java b/Mage.Sets/src/mage/cards/d/DreamPillager.java index 856b9d0a7f2..bea4ad92b61 100644 --- a/Mage.Sets/src/mage/cards/d/DreamPillager.java +++ b/Mage.Sets/src/mage/cards/d/DreamPillager.java @@ -57,7 +57,7 @@ public class DreamPillager extends CardImpl { public DreamPillager(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DreamProwler.java b/Mage.Sets/src/mage/cards/d/DreamProwler.java index 8386de1b347..d925f85b018 100644 --- a/Mage.Sets/src/mage/cards/d/DreamProwler.java +++ b/Mage.Sets/src/mage/cards/d/DreamProwler.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterAttackingCreature; @@ -49,7 +50,7 @@ public class DreamProwler extends CardImpl { public DreamProwler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DreamStalker.java b/Mage.Sets/src/mage/cards/d/DreamStalker.java index 16381c96368..c5b8a689d8a 100644 --- a/Mage.Sets/src/mage/cards/d/DreamStalker.java +++ b/Mage.Sets/src/mage/cards/d/DreamStalker.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; /** @@ -44,7 +45,7 @@ public class DreamStalker extends CardImpl { public DreamStalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DreamThief.java b/Mage.Sets/src/mage/cards/d/DreamThief.java index 4f0dd7e94eb..79338e861ce 100644 --- a/Mage.Sets/src/mage/cards/d/DreamThief.java +++ b/Mage.Sets/src/mage/cards/d/DreamThief.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.Game; import mage.game.stack.Spell; import mage.watchers.common.SpellsCastWatcher; @@ -52,8 +53,8 @@ public class DreamThief extends CardImpl { public DreamThief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DreamThrush.java b/Mage.Sets/src/mage/cards/d/DreamThrush.java index fa79453e0a2..df6fc18704e 100644 --- a/Mage.Sets/src/mage/cards/d/DreamThrush.java +++ b/Mage.Sets/src/mage/cards/d/DreamThrush.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.Target; @@ -50,7 +51,7 @@ public class DreamThrush extends CardImpl { public DreamThrush(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DreambornMuse.java b/Mage.Sets/src/mage/cards/d/DreambornMuse.java index 09d876c49a7..d5300baf30b 100644 --- a/Mage.Sets/src/mage/cards/d/DreambornMuse.java +++ b/Mage.Sets/src/mage/cards/d/DreambornMuse.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,7 +46,7 @@ public class DreambornMuse extends CardImpl { public DreambornMuse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DreamcallerSiren.java b/Mage.Sets/src/mage/cards/d/DreamcallerSiren.java index 8cc7e0adfa3..5677be80edd 100644 --- a/Mage.Sets/src/mage/cards/d/DreamcallerSiren.java +++ b/Mage.Sets/src/mage/cards/d/DreamcallerSiren.java @@ -65,8 +65,8 @@ public class DreamcallerSiren extends CardImpl { public DreamcallerSiren(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{U}"); - this.subtype.add("Siren"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.SIREN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/Dreamcatcher.java b/Mage.Sets/src/mage/cards/d/Dreamcatcher.java index 0d44a519d3e..300c1c8ad24 100644 --- a/Mage.Sets/src/mage/cards/d/Dreamcatcher.java +++ b/Mage.Sets/src/mage/cards/d/Dreamcatcher.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; /** @@ -46,7 +47,7 @@ public class Dreamcatcher extends CardImpl { public Dreamcatcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DreampodDruid.java b/Mage.Sets/src/mage/cards/d/DreampodDruid.java index 5dc74b143ab..7708550df10 100644 --- a/Mage.Sets/src/mage/cards/d/DreampodDruid.java +++ b/Mage.Sets/src/mage/cards/d/DreampodDruid.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.game.permanent.token.SaprolingToken; @@ -48,8 +49,8 @@ public class DreampodDruid extends CardImpl { public DreampodDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DreamscapeArtist.java b/Mage.Sets/src/mage/cards/d/DreamscapeArtist.java index c99334604f3..fd547265f28 100644 --- a/Mage.Sets/src/mage/cards/d/DreamscapeArtist.java +++ b/Mage.Sets/src/mage/cards/d/DreamscapeArtist.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -55,8 +56,8 @@ public class DreamscapeArtist extends CardImpl { public DreamscapeArtist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DreamspoilerWitches.java b/Mage.Sets/src/mage/cards/d/DreamspoilerWitches.java index 12c44dbb53b..893c8bd8175 100644 --- a/Mage.Sets/src/mage/cards/d/DreamspoilerWitches.java +++ b/Mage.Sets/src/mage/cards/d/DreamspoilerWitches.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class DreamspoilerWitches extends CardImpl { public DreamspoilerWitches(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/Dreamstealer.java b/Mage.Sets/src/mage/cards/d/Dreamstealer.java index 5261bd39c60..d48f9a3a77e 100644 --- a/Mage.Sets/src/mage/cards/d/Dreamstealer.java +++ b/Mage.Sets/src/mage/cards/d/Dreamstealer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -51,8 +52,8 @@ public class Dreamstealer extends CardImpl { public Dreamstealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/Dreamwinder.java b/Mage.Sets/src/mage/cards/d/Dreamwinder.java index e1ea9198300..35b1657ec95 100644 --- a/Mage.Sets/src/mage/cards/d/Dreamwinder.java +++ b/Mage.Sets/src/mage/cards/d/Dreamwinder.java @@ -58,7 +58,7 @@ public class Dreamwinder extends CardImpl { public Dreamwinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DregMangler.java b/Mage.Sets/src/mage/cards/d/DregMangler.java index 36fdd4ea2ba..2932b408185 100644 --- a/Mage.Sets/src/mage/cards/d/DregMangler.java +++ b/Mage.Sets/src/mage/cards/d/DregMangler.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ScavengeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class DregMangler extends CardImpl { public DregMangler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DregReaver.java b/Mage.Sets/src/mage/cards/d/DregReaver.java index fb0922ccc1b..4eb9e201ff4 100644 --- a/Mage.Sets/src/mage/cards/d/DregReaver.java +++ b/Mage.Sets/src/mage/cards/d/DregReaver.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class DregReaver extends CardImpl { public DregReaver (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DregscapeZombie.java b/Mage.Sets/src/mage/cards/d/DregscapeZombie.java index 643db785f12..02eef7646f9 100644 --- a/Mage.Sets/src/mage/cards/d/DregscapeZombie.java +++ b/Mage.Sets/src/mage/cards/d/DregscapeZombie.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class DregscapeZombie extends CardImpl { public DregscapeZombie (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/Drekavac.java b/Mage.Sets/src/mage/cards/d/Drekavac.java index 19e54acc572..7bf6ccc7f33 100644 --- a/Mage.Sets/src/mage/cards/d/Drekavac.java +++ b/Mage.Sets/src/mage/cards/d/Drekavac.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -55,7 +56,7 @@ public class Drekavac extends CardImpl { public Drekavac(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/Drelnoch.java b/Mage.Sets/src/mage/cards/d/Drelnoch.java index ce760601851..0195aaf6a36 100644 --- a/Mage.Sets/src/mage/cards/d/Drelnoch.java +++ b/Mage.Sets/src/mage/cards/d/Drelnoch.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class Drelnoch extends CardImpl { public Drelnoch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Yeti"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.YETI); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DriftOfPhantasms.java b/Mage.Sets/src/mage/cards/d/DriftOfPhantasms.java index 81ba7b93bac..3db4ec14c4d 100644 --- a/Mage.Sets/src/mage/cards/d/DriftOfPhantasms.java +++ b/Mage.Sets/src/mage/cards/d/DriftOfPhantasms.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TransmuteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class DriftOfPhantasms extends CardImpl { public DriftOfPhantasms(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DrifterIlDal.java b/Mage.Sets/src/mage/cards/d/DrifterIlDal.java index 9b222817f88..0596b72fd05 100644 --- a/Mage.Sets/src/mage/cards/d/DrifterIlDal.java +++ b/Mage.Sets/src/mage/cards/d/DrifterIlDal.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -46,8 +47,8 @@ public class DrifterIlDal extends CardImpl { public DrifterIlDal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DriftingDjinn.java b/Mage.Sets/src/mage/cards/d/DriftingDjinn.java index ee27dcd6e43..a0f045b5c32 100644 --- a/Mage.Sets/src/mage/cards/d/DriftingDjinn.java +++ b/Mage.Sets/src/mage/cards/d/DriftingDjinn.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,7 +49,7 @@ public class DriftingDjinn extends CardImpl { public DriftingDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DriftingShade.java b/Mage.Sets/src/mage/cards/d/DriftingShade.java index e293cc30eeb..b69b7c13fe7 100644 --- a/Mage.Sets/src/mage/cards/d/DriftingShade.java +++ b/Mage.Sets/src/mage/cards/d/DriftingShade.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class DriftingShade extends CardImpl { public DriftingShade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Shade"); + this.subtype.add(SubType.SHADE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DrillSkimmer.java b/Mage.Sets/src/mage/cards/d/DrillSkimmer.java index 812130150fb..125bad06f49 100644 --- a/Mage.Sets/src/mage/cards/d/DrillSkimmer.java +++ b/Mage.Sets/src/mage/cards/d/DrillSkimmer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -61,7 +62,7 @@ public class DrillSkimmer extends CardImpl { public DrillSkimmer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Thopter"); + this.subtype.add(SubType.THOPTER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DrippingDead.java b/Mage.Sets/src/mage/cards/d/DrippingDead.java index f4191f4d099..7719d638dc7 100644 --- a/Mage.Sets/src/mage/cards/d/DrippingDead.java +++ b/Mage.Sets/src/mage/cards/d/DrippingDead.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class DrippingDead extends CardImpl { public DrippingDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DrippingTongueZubera.java b/Mage.Sets/src/mage/cards/d/DrippingTongueZubera.java index 18400717f1c..30f51bea685 100644 --- a/Mage.Sets/src/mage/cards/d/DrippingTongueZubera.java +++ b/Mage.Sets/src/mage/cards/d/DrippingTongueZubera.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.SpiritToken; import mage.watchers.common.ZuberasDiedWatcher; @@ -47,8 +48,8 @@ public class DrippingTongueZubera extends CardImpl { public DrippingTongueZubera (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Zubera"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ZUBERA); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DrivenDespair.java b/Mage.Sets/src/mage/cards/d/DrivenDespair.java index 10039427632..7d15b56b480 100644 --- a/Mage.Sets/src/mage/cards/d/DrivenDespair.java +++ b/Mage.Sets/src/mage/cards/d/DrivenDespair.java @@ -1,81 +1,81 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.d; - -import java.util.UUID; -import mage.abilities.TriggeredAbility; -import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; -import mage.abilities.effects.common.discard.DiscardTargetEffect; -import mage.abilities.keyword.AftermathAbility; -import mage.abilities.keyword.MenaceAbility; -import mage.abilities.keyword.TrampleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.SplitCard; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SpellAbilityType; - -/** - * - * @author LevelX2 - */ -public class DrivenDespair extends SplitCard { - - public DrivenDespair(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, new CardType[]{CardType.SORCERY}, "{1}{G}", "{1}{B}", SpellAbilityType.SPLIT_AFTERMATH); - - // Until end of turn, creatures you control gain trample and "Whenever this creature deals combat damage to a player, draw a card." - getLeftHalfCard().getSpellAbility().addEffect(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn)); - TriggeredAbility ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), false); - getLeftHalfCard().getSpellAbility().addEffect(new GainAbilityControlledEffect(ability, Duration.EndOfTurn) - .setText("and \"Whenever this creature deals combat damage to a player, draw a card.\"")); - - // Despair {1}{B} - // Sorcery - // Aftermath - ((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility().setRuleAtTheTop(true)); - // Until end of turn, creatures you control gain menace and "Whenever this creature deals combat damage to a player, that player discards a card." - getRightHalfCard().getSpellAbility().addEffect(new GainAbilityControlledEffect(new MenaceAbility(), Duration.EndOfTurn)); - ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DiscardTargetEffect(1), false, true); - getRightHalfCard().getSpellAbility().addEffect(new GainAbilityControlledEffect(ability, Duration.EndOfTurn) - .setText("and \"Whenever this creature deals combat damage to a player, that player discards a card.\"")); - - } - - public DrivenDespair(final DrivenDespair card) { - super(card); - } - - @Override - public DrivenDespair copy() { - return new DrivenDespair(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.d; + +import java.util.UUID; +import mage.abilities.TriggeredAbility; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.effects.common.discard.DiscardTargetEffect; +import mage.abilities.keyword.AftermathAbility; +import mage.abilities.keyword.MenaceAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.SplitCard; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SpellAbilityType; + +/** + * + * @author LevelX2 + */ +public class DrivenDespair extends SplitCard { + + public DrivenDespair(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, new CardType[]{CardType.SORCERY}, "{1}{G}", "{1}{B}", SpellAbilityType.SPLIT_AFTERMATH); + + // Until end of turn, creatures you control gain trample and "Whenever this creature deals combat damage to a player, draw a card." + getLeftHalfCard().getSpellAbility().addEffect(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn)); + TriggeredAbility ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), false); + getLeftHalfCard().getSpellAbility().addEffect(new GainAbilityControlledEffect(ability, Duration.EndOfTurn) + .setText("and \"Whenever this creature deals combat damage to a player, draw a card.\"")); + + // Despair {1}{B} + // Sorcery + // Aftermath + ((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility().setRuleAtTheTop(true)); + // Until end of turn, creatures you control gain menace and "Whenever this creature deals combat damage to a player, that player discards a card." + getRightHalfCard().getSpellAbility().addEffect(new GainAbilityControlledEffect(new MenaceAbility(), Duration.EndOfTurn)); + ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DiscardTargetEffect(1), false, true); + getRightHalfCard().getSpellAbility().addEffect(new GainAbilityControlledEffect(ability, Duration.EndOfTurn) + .setText("and \"Whenever this creature deals combat damage to a player, that player discards a card.\"")); + + } + + public DrivenDespair(final DrivenDespair card) { + super(card); + } + + @Override + public DrivenDespair copy() { + return new DrivenDespair(this); + } +} diff --git a/Mage.Sets/src/mage/cards/d/DriverOfTheDead.java b/Mage.Sets/src/mage/cards/d/DriverOfTheDead.java index a9b9a95be06..702d6bc1ba7 100644 --- a/Mage.Sets/src/mage/cards/d/DriverOfTheDead.java +++ b/Mage.Sets/src/mage/cards/d/DriverOfTheDead.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; @@ -54,7 +55,7 @@ public class DriverOfTheDead extends CardImpl { public DriverOfTheDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DrogskolCaptain.java b/Mage.Sets/src/mage/cards/d/DrogskolCaptain.java index 7bcb85745c1..01cd26d62e7 100644 --- a/Mage.Sets/src/mage/cards/d/DrogskolCaptain.java +++ b/Mage.Sets/src/mage/cards/d/DrogskolCaptain.java @@ -56,8 +56,8 @@ public class DrogskolCaptain extends CardImpl { public DrogskolCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); - this.subtype.add("Spirit"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DrogskolCavalry.java b/Mage.Sets/src/mage/cards/d/DrogskolCavalry.java index 82d44406a5d..be89d81d083 100644 --- a/Mage.Sets/src/mage/cards/d/DrogskolCavalry.java +++ b/Mage.Sets/src/mage/cards/d/DrogskolCavalry.java @@ -60,8 +60,8 @@ public class DrogskolCavalry extends CardImpl { public DrogskolCavalry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); - this.subtype.add("Spirit"); - this.subtype.add("Knight"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DrogskolReaver.java b/Mage.Sets/src/mage/cards/d/DrogskolReaver.java index 8cd22c101a1..22f7f9c311b 100644 --- a/Mage.Sets/src/mage/cards/d/DrogskolReaver.java +++ b/Mage.Sets/src/mage/cards/d/DrogskolReaver.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -50,7 +51,7 @@ public class DrogskolReaver extends CardImpl { public DrogskolReaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DrogskolShieldmate.java b/Mage.Sets/src/mage/cards/d/DrogskolShieldmate.java index 0144f74a47f..fb1cd57cdd0 100644 --- a/Mage.Sets/src/mage/cards/d/DrogskolShieldmate.java +++ b/Mage.Sets/src/mage/cards/d/DrogskolShieldmate.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; @@ -46,8 +47,8 @@ public class DrogskolShieldmate extends CardImpl { public DrogskolShieldmate(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Spirit"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DroidCommando.java b/Mage.Sets/src/mage/cards/d/DroidCommando.java index 550a9e55c6d..22003d8761c 100644 --- a/Mage.Sets/src/mage/cards/d/DroidCommando.java +++ b/Mage.Sets/src/mage/cards/d/DroidCommando.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.RepairAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -47,7 +48,7 @@ public class DroidCommando extends CardImpl { public DroidCommando(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Droid"); + this.subtype.add(SubType.DROID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/Droideka.java b/Mage.Sets/src/mage/cards/d/Droideka.java index 498908c95f8..75a30b3630f 100644 --- a/Mage.Sets/src/mage/cards/d/Droideka.java +++ b/Mage.Sets/src/mage/cards/d/Droideka.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.RepairAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetStackObject; @@ -48,7 +49,7 @@ public class Droideka extends CardImpl { public Droideka(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{W}"); - this.subtype.add("Droid"); + this.subtype.add(SubType.DROID); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DromadPurebred.java b/Mage.Sets/src/mage/cards/d/DromadPurebred.java index 86c621775c6..c7776de8e5d 100644 --- a/Mage.Sets/src/mage/cards/d/DromadPurebred.java +++ b/Mage.Sets/src/mage/cards/d/DromadPurebred.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -44,8 +45,8 @@ public class DromadPurebred extends CardImpl { public DromadPurebred(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Camel"); - this.subtype.add("Beast"); + this.subtype.add(SubType.CAMEL); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DromarTheBanisher.java b/Mage.Sets/src/mage/cards/d/DromarTheBanisher.java index ebdc12da46b..5c232503729 100644 --- a/Mage.Sets/src/mage/cards/d/DromarTheBanisher.java +++ b/Mage.Sets/src/mage/cards/d/DromarTheBanisher.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.choices.ChoiceColor; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; @@ -56,7 +57,7 @@ public class DromarTheBanisher extends CardImpl { public DromarTheBanisher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DromarsAttendant.java b/Mage.Sets/src/mage/cards/d/DromarsAttendant.java index 46c726f09c4..175d7f1757e 100644 --- a/Mage.Sets/src/mage/cards/d/DromarsAttendant.java +++ b/Mage.Sets/src/mage/cards/d/DromarsAttendant.java @@ -37,6 +37,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class DromarsAttendant extends CardImpl { public DromarsAttendant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DromokaCaptain.java b/Mage.Sets/src/mage/cards/d/DromokaCaptain.java index a463d68be17..47b50ea8717 100644 --- a/Mage.Sets/src/mage/cards/d/DromokaCaptain.java +++ b/Mage.Sets/src/mage/cards/d/DromokaCaptain.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class DromokaCaptain extends CardImpl { public DromokaCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DromokaDunecaster.java b/Mage.Sets/src/mage/cards/d/DromokaDunecaster.java index dcd3bfd0a42..e4b961308bd 100644 --- a/Mage.Sets/src/mage/cards/d/DromokaDunecaster.java +++ b/Mage.Sets/src/mage/cards/d/DromokaDunecaster.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -57,8 +58,8 @@ public class DromokaDunecaster extends CardImpl { public DromokaDunecaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DromokaMonument.java b/Mage.Sets/src/mage/cards/d/DromokaMonument.java index 02a0e7e8598..36b05dd1e66 100644 --- a/Mage.Sets/src/mage/cards/d/DromokaMonument.java +++ b/Mage.Sets/src/mage/cards/d/DromokaMonument.java @@ -38,6 +38,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -76,7 +77,7 @@ public class DromokaMonument extends CardImpl { cardType.add(CardType.CREATURE); color.setGreen(true); color.setWhite(true); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); power = new MageInt(4); toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/d/DromokaTheEternal.java b/Mage.Sets/src/mage/cards/d/DromokaTheEternal.java index d984d9a9f30..767fd508e80 100644 --- a/Mage.Sets/src/mage/cards/d/DromokaTheEternal.java +++ b/Mage.Sets/src/mage/cards/d/DromokaTheEternal.java @@ -48,7 +48,7 @@ public class DromokaTheEternal extends CardImpl { public DromokaTheEternal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DromokaWarrior.java b/Mage.Sets/src/mage/cards/d/DromokaWarrior.java index 2635ee57d1b..85da714df05 100644 --- a/Mage.Sets/src/mage/cards/d/DromokaWarrior.java +++ b/Mage.Sets/src/mage/cards/d/DromokaWarrior.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class DromokaWarrior extends CardImpl { public DromokaWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); } diff --git a/Mage.Sets/src/mage/cards/d/DronepackKindred.java b/Mage.Sets/src/mage/cards/d/DronepackKindred.java index 5c49d6827e5..b21fcda7a66 100644 --- a/Mage.Sets/src/mage/cards/d/DronepackKindred.java +++ b/Mage.Sets/src/mage/cards/d/DronepackKindred.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class DronepackKindred extends CardImpl { public DronepackKindred(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Eldrazi"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(5); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/d/DroolingGroodion.java b/Mage.Sets/src/mage/cards/d/DroolingGroodion.java index 3589c8a5125..0e078184250 100644 --- a/Mage.Sets/src/mage/cards/d/DroolingGroodion.java +++ b/Mage.Sets/src/mage/cards/d/DroolingGroodion.java @@ -53,7 +53,7 @@ public class DroolingGroodion extends CardImpl { public DroolingGroodion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DroolingOgre.java b/Mage.Sets/src/mage/cards/d/DroolingOgre.java index fde03818ddc..e52984b77a3 100644 --- a/Mage.Sets/src/mage/cards/d/DroolingOgre.java +++ b/Mage.Sets/src/mage/cards/d/DroolingOgre.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class DroolingOgre extends CardImpl { public DroolingOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.OGRE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DrossCrocodile.java b/Mage.Sets/src/mage/cards/d/DrossCrocodile.java index e1e3987e493..478d208e350 100644 --- a/Mage.Sets/src/mage/cards/d/DrossCrocodile.java +++ b/Mage.Sets/src/mage/cards/d/DrossCrocodile.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class DrossCrocodile extends CardImpl { public DrossCrocodile(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Crocodile"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.CROCODILE); this.power = new MageInt(5); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DrossGolem.java b/Mage.Sets/src/mage/cards/d/DrossGolem.java index 476b41deb40..e5c070cfade 100644 --- a/Mage.Sets/src/mage/cards/d/DrossGolem.java +++ b/Mage.Sets/src/mage/cards/d/DrossGolem.java @@ -44,7 +44,7 @@ public class DrossGolem extends CardImpl { public DrossGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DrossHarvester.java b/Mage.Sets/src/mage/cards/d/DrossHarvester.java index 6385f8caa85..8fef6a7eaf8 100644 --- a/Mage.Sets/src/mage/cards/d/DrossHarvester.java +++ b/Mage.Sets/src/mage/cards/d/DrossHarvester.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,7 +49,7 @@ public class DrossHarvester extends CardImpl { public DrossHarvester(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DrossHopper.java b/Mage.Sets/src/mage/cards/d/DrossHopper.java index 5c441aad18e..43b31f7eb4d 100644 --- a/Mage.Sets/src/mage/cards/d/DrossHopper.java +++ b/Mage.Sets/src/mage/cards/d/DrossHopper.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -49,8 +50,8 @@ public class DrossHopper extends CardImpl { public DrossHopper (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Insect"); - this.subtype.add("Horror"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DrossProwler.java b/Mage.Sets/src/mage/cards/d/DrossProwler.java index 035c1a7b1ba..385b0582cc2 100644 --- a/Mage.Sets/src/mage/cards/d/DrossProwler.java +++ b/Mage.Sets/src/mage/cards/d/DrossProwler.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DrossProwler extends CardImpl { public DrossProwler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DrossRipper.java b/Mage.Sets/src/mage/cards/d/DrossRipper.java index 87e008e36ac..6aaa0eddd43 100644 --- a/Mage.Sets/src/mage/cards/d/DrossRipper.java +++ b/Mage.Sets/src/mage/cards/d/DrossRipper.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class DrossRipper extends CardImpl { public DrossRipper (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(3); this.toughness = new MageInt(3); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl("{2}{B}"))); diff --git a/Mage.Sets/src/mage/cards/d/DrossScorpion.java b/Mage.Sets/src/mage/cards/d/DrossScorpion.java index 15412fcbc73..dbcbfd7f591 100644 --- a/Mage.Sets/src/mage/cards/d/DrossScorpion.java +++ b/Mage.Sets/src/mage/cards/d/DrossScorpion.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.target.common.TargetArtifactPermanent; @@ -53,7 +54,7 @@ public class DrossScorpion extends CardImpl { public DrossScorpion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Scorpion"); + this.subtype.add(SubType.SCORPION); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DroveOfElves.java b/Mage.Sets/src/mage/cards/d/DroveOfElves.java index ea35fff39d7..c1613606ca8 100644 --- a/Mage.Sets/src/mage/cards/d/DroveOfElves.java +++ b/Mage.Sets/src/mage/cards/d/DroveOfElves.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -56,7 +57,7 @@ public class DroveOfElves extends CardImpl { public DroveOfElves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/d/DroverOfTheMighty.java b/Mage.Sets/src/mage/cards/d/DroverOfTheMighty.java index ca6476f76f4..a9b0bb1bb6e 100644 --- a/Mage.Sets/src/mage/cards/d/DroverOfTheMighty.java +++ b/Mage.Sets/src/mage/cards/d/DroverOfTheMighty.java @@ -55,8 +55,8 @@ public class DroverOfTheMighty extends CardImpl { public DroverOfTheMighty(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/Drowned.java b/Mage.Sets/src/mage/cards/d/Drowned.java index 26a52380249..2477e2c80a8 100644 --- a/Mage.Sets/src/mage/cards/d/Drowned.java +++ b/Mage.Sets/src/mage/cards/d/Drowned.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class Drowned extends CardImpl { public Drowned(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DrownedRusalka.java b/Mage.Sets/src/mage/cards/d/DrownedRusalka.java index 0a666a9747a..bd9e2b63036 100644 --- a/Mage.Sets/src/mage/cards/d/DrownedRusalka.java +++ b/Mage.Sets/src/mage/cards/d/DrownedRusalka.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.discard.DiscardControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.target.common.TargetControlledCreaturePermanent; @@ -50,7 +51,7 @@ public class DrownedRusalka extends CardImpl { public DrownedRusalka(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DrownerInitiate.java b/Mage.Sets/src/mage/cards/d/DrownerInitiate.java index f7f6c9faabb..8f3fbcc414c 100644 --- a/Mage.Sets/src/mage/cards/d/DrownerInitiate.java +++ b/Mage.Sets/src/mage/cards/d/DrownerInitiate.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; import mage.target.TargetPlayer; @@ -57,8 +58,8 @@ public class DrownerInitiate extends CardImpl { public DrownerInitiate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DrownerOfHope.java b/Mage.Sets/src/mage/cards/d/DrownerOfHope.java index 9ad05aebbbe..afe440aa601 100644 --- a/Mage.Sets/src/mage/cards/d/DrownerOfHope.java +++ b/Mage.Sets/src/mage/cards/d/DrownerOfHope.java @@ -65,7 +65,7 @@ public class DrownerOfHope extends CardImpl { public DrownerOfHope(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DrownerOfSecrets.java b/Mage.Sets/src/mage/cards/d/DrownerOfSecrets.java index e76d44bbb85..aa753174cd8 100644 --- a/Mage.Sets/src/mage/cards/d/DrownerOfSecrets.java +++ b/Mage.Sets/src/mage/cards/d/DrownerOfSecrets.java @@ -60,8 +60,8 @@ public class DrownerOfSecrets extends CardImpl { public DrownerOfSecrets(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DrownyardBehemoth.java b/Mage.Sets/src/mage/cards/d/DrownyardBehemoth.java index dcbf143ae9f..2e005a79cd8 100644 --- a/Mage.Sets/src/mage/cards/d/DrownyardBehemoth.java +++ b/Mage.Sets/src/mage/cards/d/DrownyardBehemoth.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -48,8 +49,8 @@ public class DrownyardBehemoth extends CardImpl { public DrownyardBehemoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{9}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Crab"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.CRAB); this.power = new MageInt(5); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/d/DrownyardExplorers.java b/Mage.Sets/src/mage/cards/d/DrownyardExplorers.java index f465a681c66..ef003c058ed 100644 --- a/Mage.Sets/src/mage/cards/d/DrownyardExplorers.java +++ b/Mage.Sets/src/mage/cards/d/DrownyardExplorers.java @@ -34,6 +34,7 @@ import mage.abilities.effects.keyword.InvestigateEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class DrownyardExplorers extends CardImpl { public DrownyardExplorers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DrudgeBeetle.java b/Mage.Sets/src/mage/cards/d/DrudgeBeetle.java index 481f3058d56..4e759226292 100644 --- a/Mage.Sets/src/mage/cards/d/DrudgeBeetle.java +++ b/Mage.Sets/src/mage/cards/d/DrudgeBeetle.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ScavengeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class DrudgeBeetle extends CardImpl { public DrudgeBeetle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DrudgeReavers.java b/Mage.Sets/src/mage/cards/d/DrudgeReavers.java index 0e91693e58e..8bcd4da2db8 100644 --- a/Mage.Sets/src/mage/cards/d/DrudgeReavers.java +++ b/Mage.Sets/src/mage/cards/d/DrudgeReavers.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class DrudgeReavers extends CardImpl { public DrudgeReavers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DrudgeSkeletons.java b/Mage.Sets/src/mage/cards/d/DrudgeSkeletons.java index 59e0e4992ff..6debe23e97d 100644 --- a/Mage.Sets/src/mage/cards/d/DrudgeSkeletons.java +++ b/Mage.Sets/src/mage/cards/d/DrudgeSkeletons.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class DrudgeSkeletons extends CardImpl { public DrudgeSkeletons(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DruidLyrist.java b/Mage.Sets/src/mage/cards/d/DruidLyrist.java index cf4e47b8f53..c93ee9ad7c1 100644 --- a/Mage.Sets/src/mage/cards/d/DruidLyrist.java +++ b/Mage.Sets/src/mage/cards/d/DruidLyrist.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetEnchantmentPermanent; @@ -49,8 +50,8 @@ public class DruidLyrist extends CardImpl { public DruidLyrist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DruidOfTheAnima.java b/Mage.Sets/src/mage/cards/d/DruidOfTheAnima.java index d4264ee9d7c..be2be779210 100644 --- a/Mage.Sets/src/mage/cards/d/DruidOfTheAnima.java +++ b/Mage.Sets/src/mage/cards/d/DruidOfTheAnima.java @@ -36,6 +36,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class DruidOfTheAnima extends CardImpl { public DruidOfTheAnima (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DruidOfTheCowl.java b/Mage.Sets/src/mage/cards/d/DruidOfTheCowl.java index 3d9b371f63e..7eef70911f5 100644 --- a/Mage.Sets/src/mage/cards/d/DruidOfTheCowl.java +++ b/Mage.Sets/src/mage/cards/d/DruidOfTheCowl.java @@ -33,6 +33,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class DruidOfTheCowl extends CardImpl { public DruidOfTheCowl(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DruidsCall.java b/Mage.Sets/src/mage/cards/d/DruidsCall.java index 0d234a8d658..fcba8d21a39 100644 --- a/Mage.Sets/src/mage/cards/d/DruidsCall.java +++ b/Mage.Sets/src/mage/cards/d/DruidsCall.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class DruidsCall extends CardImpl { public DruidsCall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/d/DruidsFamiliar.java b/Mage.Sets/src/mage/cards/d/DruidsFamiliar.java index 624a55ca53d..c918fbe78b5 100644 --- a/Mage.Sets/src/mage/cards/d/DruidsFamiliar.java +++ b/Mage.Sets/src/mage/cards/d/DruidsFamiliar.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class DruidsFamiliar extends CardImpl { public DruidsFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Bear"); + this.subtype.add(SubType.BEAR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/Drumhunter.java b/Mage.Sets/src/mage/cards/d/Drumhunter.java index cf9e1586abb..f9470246e5b 100644 --- a/Mage.Sets/src/mage/cards/d/Drumhunter.java +++ b/Mage.Sets/src/mage/cards/d/Drumhunter.java @@ -35,6 +35,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -51,9 +52,9 @@ public class Drumhunter extends CardImpl { public Drumhunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DrunauCorpseTrawler.java b/Mage.Sets/src/mage/cards/d/DrunauCorpseTrawler.java index 5f7a082c162..cfab7d6c7d5 100644 --- a/Mage.Sets/src/mage/cards/d/DrunauCorpseTrawler.java +++ b/Mage.Sets/src/mage/cards/d/DrunauCorpseTrawler.java @@ -54,7 +54,7 @@ public class DrunauCorpseTrawler extends CardImpl { public DrunauCorpseTrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DryadArbor.java b/Mage.Sets/src/mage/cards/d/DryadArbor.java index cf60c80f6be..0aa4a09866c 100644 --- a/Mage.Sets/src/mage/cards/d/DryadArbor.java +++ b/Mage.Sets/src/mage/cards/d/DryadArbor.java @@ -33,6 +33,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class DryadArbor extends CardImpl { public DryadArbor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND,CardType.CREATURE},""); - this.subtype.add("Forest"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.FOREST); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DryadMilitant.java b/Mage.Sets/src/mage/cards/d/DryadMilitant.java index ceb349f4ca0..967f76b5b88 100644 --- a/Mage.Sets/src/mage/cards/d/DryadMilitant.java +++ b/Mage.Sets/src/mage/cards/d/DryadMilitant.java @@ -36,6 +36,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class DryadMilitant extends CardImpl { public DryadMilitant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G/W}"); - this.subtype.add("Dryad"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.DRYAD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DryadSophisticate.java b/Mage.Sets/src/mage/cards/d/DryadSophisticate.java index 890a9521907..ca04e1ef5dc 100644 --- a/Mage.Sets/src/mage/cards/d/DryadSophisticate.java +++ b/Mage.Sets/src/mage/cards/d/DryadSophisticate.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.LandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterLandPermanent; /** @@ -43,7 +44,7 @@ public class DryadSophisticate extends CardImpl { public DryadSophisticate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DryadsFavor.java b/Mage.Sets/src/mage/cards/d/DryadsFavor.java index 69e42f4ef9a..4ae6579d01c 100644 --- a/Mage.Sets/src/mage/cards/d/DryadsFavor.java +++ b/Mage.Sets/src/mage/cards/d/DryadsFavor.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -52,7 +53,7 @@ public class DryadsFavor extends CardImpl { public DryadsFavor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DualCasting.java b/Mage.Sets/src/mage/cards/d/DualCasting.java index 8939986d85f..8b04fcc2248 100644 --- a/Mage.Sets/src/mage/cards/d/DualCasting.java +++ b/Mage.Sets/src/mage/cards/d/DualCasting.java @@ -64,7 +64,7 @@ public class DualCasting extends CardImpl { public DualCasting(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/d/DualcasterMage.java b/Mage.Sets/src/mage/cards/d/DualcasterMage.java index f6b691995b2..6b953bec669 100644 --- a/Mage.Sets/src/mage/cards/d/DualcasterMage.java +++ b/Mage.Sets/src/mage/cards/d/DualcasterMage.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.TargetSpell; @@ -47,8 +48,8 @@ public class DualcasterMage extends CardImpl { public DualcasterMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DuctCrawler.java b/Mage.Sets/src/mage/cards/d/DuctCrawler.java index aecd6e9917a..c9e61d664cc 100644 --- a/Mage.Sets/src/mage/cards/d/DuctCrawler.java +++ b/Mage.Sets/src/mage/cards/d/DuctCrawler.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByTargetSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class DuctCrawler extends CardImpl { public DuctCrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DuergarAssailant.java b/Mage.Sets/src/mage/cards/d/DuergarAssailant.java index c1ec8f48e9a..af3f74d0fd5 100644 --- a/Mage.Sets/src/mage/cards/d/DuergarAssailant.java +++ b/Mage.Sets/src/mage/cards/d/DuergarAssailant.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetAttackingOrBlockingCreature; @@ -48,8 +49,8 @@ public class DuergarAssailant extends CardImpl { public DuergarAssailant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R/W}"); - this.subtype.add("Dwarf"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DuergarCaveGuard.java b/Mage.Sets/src/mage/cards/d/DuergarCaveGuard.java index 525ba563663..81ac71e3d25 100644 --- a/Mage.Sets/src/mage/cards/d/DuergarCaveGuard.java +++ b/Mage.Sets/src/mage/cards/d/DuergarCaveGuard.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class DuergarCaveGuard extends CardImpl { public DuergarCaveGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Dwarf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DuergarHedgeMage.java b/Mage.Sets/src/mage/cards/d/DuergarHedgeMage.java index e3d78f2befa..41b8394cddd 100644 --- a/Mage.Sets/src/mage/cards/d/DuergarHedgeMage.java +++ b/Mage.Sets/src/mage/cards/d/DuergarHedgeMage.java @@ -62,8 +62,8 @@ public class DuergarHedgeMage extends CardImpl { public DuergarHedgeMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R/W}"); - this.subtype.add("Dwarf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DuergarMineCaptain.java b/Mage.Sets/src/mage/cards/d/DuergarMineCaptain.java index 7d51177ffd7..09b46d0ffd0 100644 --- a/Mage.Sets/src/mage/cards/d/DuergarMineCaptain.java +++ b/Mage.Sets/src/mage/cards/d/DuergarMineCaptain.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterAttackingCreature; @@ -50,8 +51,8 @@ public class DuergarMineCaptain extends CardImpl { public DuergarMineCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R/W}"); - this.subtype.add("Dwarf"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DukharaPeafowl.java b/Mage.Sets/src/mage/cards/d/DukharaPeafowl.java index 24e4d89e65e..b35ab80a85c 100644 --- a/Mage.Sets/src/mage/cards/d/DukharaPeafowl.java +++ b/Mage.Sets/src/mage/cards/d/DukharaPeafowl.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class DukharaPeafowl extends CardImpl { public DukharaPeafowl(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DukharaScavenger.java b/Mage.Sets/src/mage/cards/d/DukharaScavenger.java index 1c5ac9cbf42..220520abbcd 100644 --- a/Mage.Sets/src/mage/cards/d/DukharaScavenger.java +++ b/Mage.Sets/src/mage/cards/d/DukharaScavenger.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PutOnLibraryTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCardInYourGraveyard; @@ -47,7 +48,7 @@ public class DukharaScavenger extends CardImpl { public DukharaScavenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Crocodile"); + this.subtype.add(SubType.CROCODILE); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DulcetSirens.java b/Mage.Sets/src/mage/cards/d/DulcetSirens.java index f5a9d037a03..9adfa5670de 100644 --- a/Mage.Sets/src/mage/cards/d/DulcetSirens.java +++ b/Mage.Sets/src/mage/cards/d/DulcetSirens.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -54,7 +55,7 @@ public class DulcetSirens extends CardImpl { public DulcetSirens(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Siren"); + this.subtype.add(SubType.SIREN); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DuneBeetle.java b/Mage.Sets/src/mage/cards/d/DuneBeetle.java index dadf12d0dde..123755f2a7b 100644 --- a/Mage.Sets/src/mage/cards/d/DuneBeetle.java +++ b/Mage.Sets/src/mage/cards/d/DuneBeetle.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DuneBeetle extends CardImpl { public DuneBeetle(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(4); } diff --git a/Mage.Sets/src/mage/cards/d/DuneBroodNephilim.java b/Mage.Sets/src/mage/cards/d/DuneBroodNephilim.java index e36f10b9161..72c4b819f41 100644 --- a/Mage.Sets/src/mage/cards/d/DuneBroodNephilim.java +++ b/Mage.Sets/src/mage/cards/d/DuneBroodNephilim.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; import mage.game.permanent.token.DuneBroodNephilimToken; @@ -48,7 +49,7 @@ public class DuneBroodNephilim extends CardImpl { public DuneBroodNephilim(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{R}{G}{W}"); - this.subtype.add("Nephilim"); + this.subtype.add(SubType.NEPHILIM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DuneDiviner.java b/Mage.Sets/src/mage/cards/d/DuneDiviner.java index d2dcba80c6c..61f93fa4485 100644 --- a/Mage.Sets/src/mage/cards/d/DuneDiviner.java +++ b/Mage.Sets/src/mage/cards/d/DuneDiviner.java @@ -61,8 +61,8 @@ public class DuneDiviner extends CardImpl { public DuneDiviner(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Naga"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DuneriderOutlaw.java b/Mage.Sets/src/mage/cards/d/DuneriderOutlaw.java index 33dac27415c..214034ff274 100644 --- a/Mage.Sets/src/mage/cards/d/DuneriderOutlaw.java +++ b/Mage.Sets/src/mage/cards/d/DuneriderOutlaw.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.game.events.GameEvent; @@ -52,9 +53,9 @@ public class DuneriderOutlaw extends CardImpl { public DuneriderOutlaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); + this.subtype.add(SubType.ROGUE); this.color.setBlack(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DunesOfTheDead.java b/Mage.Sets/src/mage/cards/d/DunesOfTheDead.java index 600bc532379..02754eae35c 100644 --- a/Mage.Sets/src/mage/cards/d/DunesOfTheDead.java +++ b/Mage.Sets/src/mage/cards/d/DunesOfTheDead.java @@ -1,64 +1,65 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.d; - -import java.util.UUID; -import mage.abilities.common.PutIntoGraveFromBattlefieldSourceTriggeredAbility; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.mana.ColorlessManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.game.permanent.token.ZombieToken; - -/** - * - * @author ciaccona007 - */ -public class DunesOfTheDead extends CardImpl { - - public DunesOfTheDead(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - - this.subtype.add("Desert"); - - // {T}: Add {C} to your mana pool. - addAbility(new ColorlessManaAbility()); - // When Dunes of the Dead is put into a graveyard from the battlefield, create a 2/2 black Zombie creature token. - this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility(new CreateTokenEffect(new ZombieToken(), 1), false)); - } - - public DunesOfTheDead(final DunesOfTheDead card) { - super(card); - } - - @Override - public DunesOfTheDead copy() { - return new DunesOfTheDead(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.d; + +import java.util.UUID; +import mage.abilities.common.PutIntoGraveFromBattlefieldSourceTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.mana.ColorlessManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.game.permanent.token.ZombieToken; + +/** + * + * @author ciaccona007 + */ +public class DunesOfTheDead extends CardImpl { + + public DunesOfTheDead(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + this.subtype.add(SubType.DESERT); + + // {T}: Add {C} to your mana pool. + addAbility(new ColorlessManaAbility()); + // When Dunes of the Dead is put into a graveyard from the battlefield, create a 2/2 black Zombie creature token. + this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility(new CreateTokenEffect(new ZombieToken(), 1), false)); + } + + public DunesOfTheDead(final DunesOfTheDead card) { + super(card); + } + + @Override + public DunesOfTheDead copy() { + return new DunesOfTheDead(this); + } +} diff --git a/Mage.Sets/src/mage/cards/d/DungeonGeists.java b/Mage.Sets/src/mage/cards/d/DungeonGeists.java index 52952aaa5d7..78bad86148d 100644 --- a/Mage.Sets/src/mage/cards/d/DungeonGeists.java +++ b/Mage.Sets/src/mage/cards/d/DungeonGeists.java @@ -62,7 +62,7 @@ public class DungeonGeists extends CardImpl { public DungeonGeists(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DungeonShade.java b/Mage.Sets/src/mage/cards/d/DungeonShade.java index 8a2d558b2df..95c43ae2a05 100644 --- a/Mage.Sets/src/mage/cards/d/DungeonShade.java +++ b/Mage.Sets/src/mage/cards/d/DungeonShade.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class DungeonShade extends CardImpl { public DungeonShade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Shade"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SHADE); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DungroveElder.java b/Mage.Sets/src/mage/cards/d/DungroveElder.java index 530fde31f19..dfc5115bdcd 100644 --- a/Mage.Sets/src/mage/cards/d/DungroveElder.java +++ b/Mage.Sets/src/mage/cards/d/DungroveElder.java @@ -57,7 +57,7 @@ public class DungroveElder extends CardImpl { public DungroveElder (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/d/Duplicant.java b/Mage.Sets/src/mage/cards/d/Duplicant.java index 11ddbf3300f..33d6029d868 100644 --- a/Mage.Sets/src/mage/cards/d/Duplicant.java +++ b/Mage.Sets/src/mage/cards/d/Duplicant.java @@ -61,7 +61,7 @@ public class Duplicant extends CardImpl { public Duplicant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{6}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DurkwoodBaloth.java b/Mage.Sets/src/mage/cards/d/DurkwoodBaloth.java index 34ac09e0b97..20dc56fbf3b 100644 --- a/Mage.Sets/src/mage/cards/d/DurkwoodBaloth.java +++ b/Mage.Sets/src/mage/cards/d/DurkwoodBaloth.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class DurkwoodBaloth extends CardImpl { public DurkwoodBaloth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DurkwoodBoars.java b/Mage.Sets/src/mage/cards/d/DurkwoodBoars.java index 2f84e6dfc8e..9edb4c52777 100644 --- a/Mage.Sets/src/mage/cards/d/DurkwoodBoars.java +++ b/Mage.Sets/src/mage/cards/d/DurkwoodBoars.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class DurkwoodBoars extends CardImpl { public DurkwoodBoars(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Boar"); + this.subtype.add(SubType.BOAR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DuskFeaster.java b/Mage.Sets/src/mage/cards/d/DuskFeaster.java index 0537cb6b13b..dbff71b19df 100644 --- a/Mage.Sets/src/mage/cards/d/DuskFeaster.java +++ b/Mage.Sets/src/mage/cards/d/DuskFeaster.java @@ -51,7 +51,7 @@ public class DuskFeaster extends CardImpl { public DuskFeaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/d/DuskImp.java b/Mage.Sets/src/mage/cards/d/DuskImp.java index 3033d248c7f..6a7f00ced5c 100644 --- a/Mage.Sets/src/mage/cards/d/DuskImp.java +++ b/Mage.Sets/src/mage/cards/d/DuskImp.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DuskImp extends CardImpl { public DuskImp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DuskLegionDreadnought.java b/Mage.Sets/src/mage/cards/d/DuskLegionDreadnought.java index 8af6045cd3f..cbf4f9dd0f2 100644 --- a/Mage.Sets/src/mage/cards/d/DuskLegionDreadnought.java +++ b/Mage.Sets/src/mage/cards/d/DuskLegionDreadnought.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class DuskLegionDreadnought extends CardImpl { public DuskLegionDreadnought(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{5}"); - this.subtype.add("Vehicle"); + this.subtype.add(SubType.VEHICLE); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DuskUrchins.java b/Mage.Sets/src/mage/cards/d/DuskUrchins.java index 82a68bda5ee..de8ac3e7464 100644 --- a/Mage.Sets/src/mage/cards/d/DuskUrchins.java +++ b/Mage.Sets/src/mage/cards/d/DuskUrchins.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -47,7 +48,7 @@ public class DuskUrchins extends CardImpl { public DuskUrchins(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Ouphe"); + this.subtype.add(SubType.OUPHE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DuskborneSkymarcher.java b/Mage.Sets/src/mage/cards/d/DuskborneSkymarcher.java index 43b9623fc89..32423191b86 100644 --- a/Mage.Sets/src/mage/cards/d/DuskborneSkymarcher.java +++ b/Mage.Sets/src/mage/cards/d/DuskborneSkymarcher.java @@ -60,8 +60,8 @@ public class DuskborneSkymarcher extends CardImpl { public DuskborneSkymarcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}"); - this.subtype.add("Vampire"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DuskdaleWurm.java b/Mage.Sets/src/mage/cards/d/DuskdaleWurm.java index 1c4c832071e..1417fa3ffb0 100644 --- a/Mage.Sets/src/mage/cards/d/DuskdaleWurm.java +++ b/Mage.Sets/src/mage/cards/d/DuskdaleWurm.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class DuskdaleWurm extends CardImpl { public DuskdaleWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/d/DuskhunterBat.java b/Mage.Sets/src/mage/cards/d/DuskhunterBat.java index a182dc60413..902751c77eb 100644 --- a/Mage.Sets/src/mage/cards/d/DuskhunterBat.java +++ b/Mage.Sets/src/mage/cards/d/DuskhunterBat.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class DuskhunterBat extends CardImpl { public DuskhunterBat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Bat"); + this.subtype.add(SubType.BAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DuskmantleGuildmage.java b/Mage.Sets/src/mage/cards/d/DuskmantleGuildmage.java index 4b12cdf56d7..9255097c78f 100644 --- a/Mage.Sets/src/mage/cards/d/DuskmantleGuildmage.java +++ b/Mage.Sets/src/mage/cards/d/DuskmantleGuildmage.java @@ -41,6 +41,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -58,8 +59,8 @@ public class DuskmantleGuildmage extends CardImpl { public DuskmantleGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DuskmantleProwler.java b/Mage.Sets/src/mage/cards/d/DuskmantleProwler.java index 0e228db1c96..799ba20626d 100644 --- a/Mage.Sets/src/mage/cards/d/DuskmantleProwler.java +++ b/Mage.Sets/src/mage/cards/d/DuskmantleProwler.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class DuskmantleProwler extends CardImpl { public DuskmantleProwler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DuskmantleSeer.java b/Mage.Sets/src/mage/cards/d/DuskmantleSeer.java index c27da7b49e2..2f1783b3258 100644 --- a/Mage.Sets/src/mage/cards/d/DuskmantleSeer.java +++ b/Mage.Sets/src/mage/cards/d/DuskmantleSeer.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class DuskmantleSeer extends CardImpl { public DuskmantleSeer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DuskriderFalcon.java b/Mage.Sets/src/mage/cards/d/DuskriderFalcon.java index 373edac0740..d4dfa6a5f9a 100644 --- a/Mage.Sets/src/mage/cards/d/DuskriderFalcon.java +++ b/Mage.Sets/src/mage/cards/d/DuskriderFalcon.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class DuskriderFalcon extends CardImpl { public DuskriderFalcon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DuskriderPeregrine.java b/Mage.Sets/src/mage/cards/d/DuskriderPeregrine.java index c6a44ee2fc1..9333c4440b8 100644 --- a/Mage.Sets/src/mage/cards/d/DuskriderPeregrine.java +++ b/Mage.Sets/src/mage/cards/d/DuskriderPeregrine.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class DuskriderPeregrine extends CardImpl { public DuskriderPeregrine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/Duskwalker.java b/Mage.Sets/src/mage/cards/d/Duskwalker.java index 360c478e758..c1697793a34 100644 --- a/Mage.Sets/src/mage/cards/d/Duskwalker.java +++ b/Mage.Sets/src/mage/cards/d/Duskwalker.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.counters.CounterType; @@ -50,8 +51,8 @@ public class Duskwalker extends CardImpl { public Duskwalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Human"); - this.subtype.add("Minion"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MINION); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DuskwatchRecruiter.java b/Mage.Sets/src/mage/cards/d/DuskwatchRecruiter.java index 17a97fcb60f..6af0aff2c22 100644 --- a/Mage.Sets/src/mage/cards/d/DuskwatchRecruiter.java +++ b/Mage.Sets/src/mage/cards/d/DuskwatchRecruiter.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.k.KrallenhordeHowler; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -55,9 +56,9 @@ public class DuskwatchRecruiter extends CardImpl { public DuskwatchRecruiter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.WEREWOLF); this.transformable = true; this.secondSideCardClazz = KrallenhordeHowler.class; diff --git a/Mage.Sets/src/mage/cards/d/Duskworker.java b/Mage.Sets/src/mage/cards/d/Duskworker.java index 622b2d9197a..dd3aadbc550 100644 --- a/Mage.Sets/src/mage/cards/d/Duskworker.java +++ b/Mage.Sets/src/mage/cards/d/Duskworker.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class Duskworker extends CardImpl { public Duskworker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(new BecomesBlockedTriggeredAbility(new RegenerateSourceEffect(), false)); diff --git a/Mage.Sets/src/mage/cards/d/DustCorona.java b/Mage.Sets/src/mage/cards/d/DustCorona.java index b5e7c1c25d4..e9c8a1029f3 100644 --- a/Mage.Sets/src/mage/cards/d/DustCorona.java +++ b/Mage.Sets/src/mage/cards/d/DustCorona.java @@ -57,7 +57,7 @@ public class DustCorona extends CardImpl { public DustCorona(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DustElemental.java b/Mage.Sets/src/mage/cards/d/DustElemental.java index 4aebab3b09d..cffa27f1e19 100644 --- a/Mage.Sets/src/mage/cards/d/DustElemental.java +++ b/Mage.Sets/src/mage/cards/d/DustElemental.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; /** @@ -49,7 +50,7 @@ public class DustElemental extends CardImpl { public DustElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/d/DustStalker.java b/Mage.Sets/src/mage/cards/d/DustStalker.java index 91ccbe7400c..8b39d2574ee 100644 --- a/Mage.Sets/src/mage/cards/d/DustStalker.java +++ b/Mage.Sets/src/mage/cards/d/DustStalker.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.TargetController; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class DustStalker extends CardImpl { public DustStalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{R}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DutifulAttendant.java b/Mage.Sets/src/mage/cards/d/DutifulAttendant.java index a268fa2e1d4..98407cddd0c 100644 --- a/Mage.Sets/src/mage/cards/d/DutifulAttendant.java +++ b/Mage.Sets/src/mage/cards/d/DutifulAttendant.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.AnotherCardPredicate; import mage.target.common.TargetCardInYourGraveyard; @@ -53,8 +54,8 @@ public class DutifulAttendant extends CardImpl { public DutifulAttendant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DutifulServants.java b/Mage.Sets/src/mage/cards/d/DutifulServants.java index 13d31f0a62c..e54701a132c 100644 --- a/Mage.Sets/src/mage/cards/d/DutifulServants.java +++ b/Mage.Sets/src/mage/cards/d/DutifulServants.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DutifulServants extends CardImpl { public DutifulServants(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(5); } diff --git a/Mage.Sets/src/mage/cards/d/DutifulThrull.java b/Mage.Sets/src/mage/cards/d/DutifulThrull.java index 1be124481d1..2b9ed36c55a 100644 --- a/Mage.Sets/src/mage/cards/d/DutifulThrull.java +++ b/Mage.Sets/src/mage/cards/d/DutifulThrull.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class DutifulThrull extends CardImpl { public DutifulThrull(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Thrull"); + this.subtype.add(SubType.THRULL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DutyBoundDead.java b/Mage.Sets/src/mage/cards/d/DutyBoundDead.java index 0e5bb341fc3..98caf11e3e1 100644 --- a/Mage.Sets/src/mage/cards/d/DutyBoundDead.java +++ b/Mage.Sets/src/mage/cards/d/DutyBoundDead.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ExaltedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class DutyBoundDead extends CardImpl { public DutyBoundDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenArmorer.java b/Mage.Sets/src/mage/cards/d/DwarvenArmorer.java index 2fe3a19de7c..1b0eafc30a5 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenArmorer.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenArmorer.java @@ -41,6 +41,7 @@ import mage.cards.CardSetInfo; import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.Counter; @@ -62,7 +63,7 @@ public class DwarvenArmorer extends CardImpl { public DwarvenArmorer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Dwarf"); + this.subtype.add(SubType.DWARF); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenBerserker.java b/Mage.Sets/src/mage/cards/d/DwarvenBerserker.java index e7192589f31..3fee75b7d2e 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenBerserker.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenBerserker.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -48,8 +49,8 @@ public class DwarvenBerserker extends CardImpl { public DwarvenBerserker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Dwarf"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenBlastminer.java b/Mage.Sets/src/mage/cards/d/DwarvenBlastminer.java index 989ba43d52f..cd0f09aeec5 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenBlastminer.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenBlastminer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetNonBasicLandPermanent; @@ -48,7 +49,7 @@ import mage.target.common.TargetNonBasicLandPermanent; public class DwarvenBlastminer extends CardImpl { public DwarvenBlastminer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Dwarf"); + this.subtype.add(SubType.DWARF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenBloodboiler.java b/Mage.Sets/src/mage/cards/d/DwarvenBloodboiler.java index 4a8d802c399..3bd75fe5a5f 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenBloodboiler.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenBloodboiler.java @@ -61,7 +61,7 @@ public class DwarvenBloodboiler extends CardImpl { public DwarvenBloodboiler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{R}{R}"); - this.subtype.add("Dwarf"); + this.subtype.add(SubType.DWARF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenDemolitionTeam.java b/Mage.Sets/src/mage/cards/d/DwarvenDemolitionTeam.java index 8a889f09486..7b66489e50f 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenDemolitionTeam.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenDemolitionTeam.java @@ -56,7 +56,7 @@ public class DwarvenDemolitionTeam extends CardImpl { public DwarvenDemolitionTeam(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Dwarf"); + this.subtype.add(SubType.DWARF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenDriller.java b/Mage.Sets/src/mage/cards/d/DwarvenDriller.java index abe53b80cad..ddcf64e452e 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenDriller.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenDriller.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -52,7 +53,7 @@ public class DwarvenDriller extends CardImpl { public DwarvenDriller(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Dwarf"); + this.subtype.add(SubType.DWARF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenGrunt.java b/Mage.Sets/src/mage/cards/d/DwarvenGrunt.java index 699e601414d..667b3c335f3 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenGrunt.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenGrunt.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.MountainwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class DwarvenGrunt extends CardImpl { public DwarvenGrunt(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Dwarf"); + this.subtype.add(SubType.DWARF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenLieutenant.java b/Mage.Sets/src/mage/cards/d/DwarvenLieutenant.java index 1c40badc1a0..dd7c4434b59 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenLieutenant.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenLieutenant.java @@ -57,8 +57,8 @@ public class DwarvenLieutenant extends CardImpl { public DwarvenLieutenant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{R}"); - this.subtype.add("Dwarf"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenMiner.java b/Mage.Sets/src/mage/cards/d/DwarvenMiner.java index ff98af1ae64..d3a8d956dee 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenMiner.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenMiner.java @@ -15,6 +15,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetNonBasicLandPermanent; @@ -26,7 +27,7 @@ public class DwarvenMiner extends CardImpl { public DwarvenMiner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Dwarf"); + this.subtype.add(SubType.DWARF); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenNomad.java b/Mage.Sets/src/mage/cards/d/DwarvenNomad.java index e01a2a512f0..9289bed9dba 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenNomad.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenNomad.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -56,8 +57,8 @@ public class DwarvenNomad extends CardImpl { public DwarvenNomad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Dwarf"); - this.subtype.add("Nomad"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.NOMAD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenPatrol.java b/Mage.Sets/src/mage/cards/d/DwarvenPatrol.java index 18b098f8737..41403091afd 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenPatrol.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenPatrol.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -57,7 +58,7 @@ public class DwarvenPatrol extends CardImpl { public DwarvenPatrol(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Dwarf"); + this.subtype.add(SubType.DWARF); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenPony.java b/Mage.Sets/src/mage/cards/d/DwarvenPony.java index 127cc860048..7156212e088 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenPony.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenPony.java @@ -59,7 +59,7 @@ public class DwarvenPony extends CardImpl { public DwarvenPony(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Horse"); + this.subtype.add(SubType.HORSE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenRecruiter.java b/Mage.Sets/src/mage/cards/d/DwarvenRecruiter.java index 607626dc80a..ed919c5b2a1 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenRecruiter.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenRecruiter.java @@ -52,7 +52,7 @@ public class DwarvenRecruiter extends CardImpl { public DwarvenRecruiter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Dwarf"); + this.subtype.add(SubType.DWARF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenSoldier.java b/Mage.Sets/src/mage/cards/d/DwarvenSoldier.java index 2d0d292b86b..837ceaa9ba3 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenSoldier.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenSoldier.java @@ -46,8 +46,8 @@ public class DwarvenSoldier extends CardImpl { public DwarvenSoldier(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Dwarf"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenStrikeForce.java b/Mage.Sets/src/mage/cards/d/DwarvenStrikeForce.java index d5f53c0001f..96aa9838fc9 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenStrikeForce.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenStrikeForce.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class DwarvenStrikeForce extends CardImpl { public DwarvenStrikeForce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Dwarf"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenThaumaturgist.java b/Mage.Sets/src/mage/cards/d/DwarvenThaumaturgist.java index 4dc68e668a7..0b94e72f973 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenThaumaturgist.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenThaumaturgist.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.SwitchPowerToughnessTargetEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class DwarvenThaumaturgist extends CardImpl { public DwarvenThaumaturgist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Dwarf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenTrader.java b/Mage.Sets/src/mage/cards/d/DwarvenTrader.java index 53259a4f513..96144c73a68 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenTrader.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenTrader.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class DwarvenTrader extends CardImpl { public DwarvenTrader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Dwarf"); + this.subtype.add(SubType.DWARF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenVigilantes.java b/Mage.Sets/src/mage/cards/d/DwarvenVigilantes.java index ad2d61fe829..31c0cc5edd0 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenVigilantes.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenVigilantes.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.AssignNoCombatDamageSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class DwarvenVigilantes extends CardImpl { public DwarvenVigilantes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Dwarf"); + this.subtype.add(SubType.DWARF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenWarriors.java b/Mage.Sets/src/mage/cards/d/DwarvenWarriors.java index effb92845e2..723a0262222 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenWarriors.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenWarriors.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -56,8 +57,8 @@ public class DwarvenWarriors extends CardImpl { public DwarvenWarriors(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Dwarf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DwarvenWeaponsmith.java b/Mage.Sets/src/mage/cards/d/DwarvenWeaponsmith.java index ed660a88374..fead54d3f09 100644 --- a/Mage.Sets/src/mage/cards/d/DwarvenWeaponsmith.java +++ b/Mage.Sets/src/mage/cards/d/DwarvenWeaponsmith.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; import mage.constants.Zone; import mage.counters.CounterType; @@ -53,8 +54,8 @@ public class DwarvenWeaponsmith extends CardImpl { public DwarvenWeaponsmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Dwarf"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/d/DwynenGiltLeafDaen.java b/Mage.Sets/src/mage/cards/d/DwynenGiltLeafDaen.java index 299c6adae04..119757e6775 100644 --- a/Mage.Sets/src/mage/cards/d/DwynenGiltLeafDaen.java +++ b/Mage.Sets/src/mage/cards/d/DwynenGiltLeafDaen.java @@ -56,8 +56,8 @@ public class DwynenGiltLeafDaen extends CardImpl { public DwynenGiltLeafDaen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/d/DwynensElite.java b/Mage.Sets/src/mage/cards/d/DwynensElite.java index 8af06b2a0c0..d1456fc8e26 100644 --- a/Mage.Sets/src/mage/cards/d/DwynensElite.java +++ b/Mage.Sets/src/mage/cards/d/DwynensElite.java @@ -59,8 +59,8 @@ public class DwynensElite extends CardImpl { public DwynensElite(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/d/DyingWail.java b/Mage.Sets/src/mage/cards/d/DyingWail.java index c94c0868344..cf509a1c8c7 100644 --- a/Mage.Sets/src/mage/cards/d/DyingWail.java +++ b/Mage.Sets/src/mage/cards/d/DyingWail.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.target.TargetPermanent; import mage.target.TargetPlayer; @@ -49,7 +50,7 @@ public class DyingWail extends CardImpl { public DyingWail(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/d/DyingWish.java b/Mage.Sets/src/mage/cards/d/DyingWish.java index 998386217ca..31a4c2b10e7 100644 --- a/Mage.Sets/src/mage/cards/d/DyingWish.java +++ b/Mage.Sets/src/mage/cards/d/DyingWish.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class DyingWish extends CardImpl { public DyingWish(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature you control TargetPermanent auraTarget = new TargetControlledCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/e/EagerCadet.java b/Mage.Sets/src/mage/cards/e/EagerCadet.java index 67c4bf9f079..370a71f080e 100644 --- a/Mage.Sets/src/mage/cards/e/EagerCadet.java +++ b/Mage.Sets/src/mage/cards/e/EagerCadet.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class EagerCadet extends CardImpl { public EagerCadet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EagerConstruct.java b/Mage.Sets/src/mage/cards/e/EagerConstruct.java index 1638582ddfa..b10ad5dc37a 100644 --- a/Mage.Sets/src/mage/cards/e/EagerConstruct.java +++ b/Mage.Sets/src/mage/cards/e/EagerConstruct.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -47,7 +48,7 @@ public class EagerConstruct extends CardImpl { public EagerConstruct(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EagleOfTheWatch.java b/Mage.Sets/src/mage/cards/e/EagleOfTheWatch.java index 4fa5dda8966..d75d9a96920 100644 --- a/Mage.Sets/src/mage/cards/e/EagleOfTheWatch.java +++ b/Mage.Sets/src/mage/cards/e/EagleOfTheWatch.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class EagleOfTheWatch extends CardImpl { public EagleOfTheWatch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EarsplittingRats.java b/Mage.Sets/src/mage/cards/e/EarsplittingRats.java index a8777af3bcb..00ea44b2b42 100644 --- a/Mage.Sets/src/mage/cards/e/EarsplittingRats.java +++ b/Mage.Sets/src/mage/cards/e/EarsplittingRats.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardEachPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class EarsplittingRats extends CardImpl { public EarsplittingRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EarthElemental.java b/Mage.Sets/src/mage/cards/e/EarthElemental.java index af2c9e614db..55a2e15da3d 100644 --- a/Mage.Sets/src/mage/cards/e/EarthElemental.java +++ b/Mage.Sets/src/mage/cards/e/EarthElemental.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class EarthElemental extends CardImpl { public EarthElemental (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/EarthServant.java b/Mage.Sets/src/mage/cards/e/EarthServant.java index 3bfd6f041bf..3b8056c558c 100644 --- a/Mage.Sets/src/mage/cards/e/EarthServant.java +++ b/Mage.Sets/src/mage/cards/e/EarthServant.java @@ -55,7 +55,7 @@ public class EarthServant extends CardImpl { public EarthServant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/Earthbind.java b/Mage.Sets/src/mage/cards/e/Earthbind.java index 036131aae79..72d1b4b4e9a 100644 --- a/Mage.Sets/src/mage/cards/e/Earthbind.java +++ b/Mage.Sets/src/mage/cards/e/Earthbind.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -54,7 +55,7 @@ public class Earthbind extends CardImpl { public Earthbind(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/e/Earthblighter.java b/Mage.Sets/src/mage/cards/e/Earthblighter.java index a89fafac21a..dad73f40a48 100644 --- a/Mage.Sets/src/mage/cards/e/Earthblighter.java +++ b/Mage.Sets/src/mage/cards/e/Earthblighter.java @@ -58,8 +58,8 @@ public class Earthblighter extends CardImpl { public Earthblighter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/Earthshaker.java b/Mage.Sets/src/mage/cards/e/Earthshaker.java index 45c976efe1f..62402900f83 100644 --- a/Mage.Sets/src/mage/cards/e/Earthshaker.java +++ b/Mage.Sets/src/mage/cards/e/Earthshaker.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -54,7 +55,7 @@ public class Earthshaker extends CardImpl { public Earthshaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/EarthshakerKhenra.java b/Mage.Sets/src/mage/cards/e/EarthshakerKhenra.java index 5faf9b16213..950d4fa555c 100644 --- a/Mage.Sets/src/mage/cards/e/EarthshakerKhenra.java +++ b/Mage.Sets/src/mage/cards/e/EarthshakerKhenra.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Outcome; @@ -62,8 +63,8 @@ public class EarthshakerKhenra extends CardImpl { public EarthshakerKhenra(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Jackal"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.JACKAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EarwigSquad.java b/Mage.Sets/src/mage/cards/e/EarwigSquad.java index 9eee178d314..be21434ef18 100644 --- a/Mage.Sets/src/mage/cards/e/EarwigSquad.java +++ b/Mage.Sets/src/mage/cards/e/EarwigSquad.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -56,8 +57,8 @@ public class EarwigSquad extends CardImpl { public EarwigSquad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EasternPaladin.java b/Mage.Sets/src/mage/cards/e/EasternPaladin.java index 39a772415ad..210fb6df860 100644 --- a/Mage.Sets/src/mage/cards/e/EasternPaladin.java +++ b/Mage.Sets/src/mage/cards/e/EasternPaladin.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -59,8 +60,8 @@ public class EasternPaladin extends CardImpl { public EasternPaladin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EaterOfDays.java b/Mage.Sets/src/mage/cards/e/EaterOfDays.java index 209e959ae6d..9860c763331 100644 --- a/Mage.Sets/src/mage/cards/e/EaterOfDays.java +++ b/Mage.Sets/src/mage/cards/e/EaterOfDays.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class EaterOfDays extends CardImpl { public EaterOfDays(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Leviathan"); + this.subtype.add(SubType.LEVIATHAN); this.power = new MageInt(9); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/e/EaterOfHope.java b/Mage.Sets/src/mage/cards/e/EaterOfHope.java index 38fd517e5ea..783b7a49cf5 100644 --- a/Mage.Sets/src/mage/cards/e/EaterOfHope.java +++ b/Mage.Sets/src/mage/cards/e/EaterOfHope.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; @@ -60,7 +61,7 @@ public class EaterOfHope extends CardImpl { public EaterOfHope(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EaterOfTheDead.java b/Mage.Sets/src/mage/cards/e/EaterOfTheDead.java index 16be4c40756..770ac389c28 100644 --- a/Mage.Sets/src/mage/cards/e/EaterOfTheDead.java +++ b/Mage.Sets/src/mage/cards/e/EaterOfTheDead.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -52,7 +53,7 @@ public class EaterOfTheDead extends CardImpl { public EaterOfTheDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EbonDragon.java b/Mage.Sets/src/mage/cards/e/EbonDragon.java index fe0a05c4b55..a6b870cc3d0 100644 --- a/Mage.Sets/src/mage/cards/e/EbonDragon.java +++ b/Mage.Sets/src/mage/cards/e/EbonDragon.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetOpponent; /** @@ -47,7 +48,7 @@ public class EbonDragon extends CardImpl { public EbonDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EbonDrake.java b/Mage.Sets/src/mage/cards/e/EbonDrake.java index 8005852b4a3..34e6ce1dffc 100644 --- a/Mage.Sets/src/mage/cards/e/EbonDrake.java +++ b/Mage.Sets/src/mage/cards/e/EbonDrake.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class EbonDrake extends CardImpl { public EbonDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EbonPraetor.java b/Mage.Sets/src/mage/cards/e/EbonPraetor.java index ee6ee95cb75..84561d9c986 100644 --- a/Mage.Sets/src/mage/cards/e/EbonPraetor.java +++ b/Mage.Sets/src/mage/cards/e/EbonPraetor.java @@ -57,8 +57,8 @@ public class EbonPraetor extends CardImpl { public EbonPraetor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Avatar"); - this.subtype.add("Praetor"); + this.subtype.add(SubType.AVATAR); + this.subtype.add(SubType.PRAETOR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/EbonbladeReaper.java b/Mage.Sets/src/mage/cards/e/EbonbladeReaper.java index 73e52f21dbd..5b7458ec08c 100644 --- a/Mage.Sets/src/mage/cards/e/EbonbladeReaper.java +++ b/Mage.Sets/src/mage/cards/e/EbonbladeReaper.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -48,8 +49,8 @@ public class EbonbladeReaper extends CardImpl { public EbonbladeReaper(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EbonyRhino.java b/Mage.Sets/src/mage/cards/e/EbonyRhino.java index b2167d573b7..a3df761f0c8 100644 --- a/Mage.Sets/src/mage/cards/e/EbonyRhino.java +++ b/Mage.Sets/src/mage/cards/e/EbonyRhino.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class EbonyRhino extends CardImpl { public EbonyRhino(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Rhino"); + this.subtype.add(SubType.RHINO); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/EbonyTreefolk.java b/Mage.Sets/src/mage/cards/e/EbonyTreefolk.java index af3d39ba0c0..775ae5160af 100644 --- a/Mage.Sets/src/mage/cards/e/EbonyTreefolk.java +++ b/Mage.Sets/src/mage/cards/e/EbonyTreefolk.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class EbonyTreefolk extends CardImpl { public EbonyTreefolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EchoBaseCommando.java b/Mage.Sets/src/mage/cards/e/EchoBaseCommando.java index eacb50b6381..75374acbee5 100644 --- a/Mage.Sets/src/mage/cards/e/EchoBaseCommando.java +++ b/Mage.Sets/src/mage/cards/e/EchoBaseCommando.java @@ -60,8 +60,8 @@ public class EchoBaseCommando extends CardImpl { public EchoBaseCommando(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EchoCirclet.java b/Mage.Sets/src/mage/cards/e/EchoCirclet.java index 472d377934c..dd92b8924bf 100644 --- a/Mage.Sets/src/mage/cards/e/EchoCirclet.java +++ b/Mage.Sets/src/mage/cards/e/EchoCirclet.java @@ -47,7 +47,7 @@ public class EchoCirclet extends CardImpl { public EchoCirclet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature can block an additional creature each combat. (static abilit of equipment, no ability that will be gained to equiped creature!) this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new EchoCircletEffect())); diff --git a/Mage.Sets/src/mage/cards/e/EchoMage.java b/Mage.Sets/src/mage/cards/e/EchoMage.java index 1d0aa6d801b..db6efdd9987 100644 --- a/Mage.Sets/src/mage/cards/e/EchoMage.java +++ b/Mage.Sets/src/mage/cards/e/EchoMage.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -57,8 +58,8 @@ public class EchoMage extends LevelerCard { public EchoMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.color.setBlue(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EchoTracer.java b/Mage.Sets/src/mage/cards/e/EchoTracer.java index ae79af8cfb6..e030ec34fdf 100644 --- a/Mage.Sets/src/mage/cards/e/EchoTracer.java +++ b/Mage.Sets/src/mage/cards/e/EchoTracer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -47,8 +48,8 @@ public class EchoTracer extends CardImpl { public EchoTracer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EddytrailHawk.java b/Mage.Sets/src/mage/cards/e/EddytrailHawk.java index 633b6a47fe7..712f93c980f 100644 --- a/Mage.Sets/src/mage/cards/e/EddytrailHawk.java +++ b/Mage.Sets/src/mage/cards/e/EddytrailHawk.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterAttackingCreature; import mage.filter.predicate.permanent.AnotherPredicate; @@ -59,7 +60,7 @@ public class EddytrailHawk extends CardImpl { public EddytrailHawk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EdgarMarkov.java b/Mage.Sets/src/mage/cards/e/EdgarMarkov.java index 0ea91ce0958..40a6da44f23 100644 --- a/Mage.Sets/src/mage/cards/e/EdgarMarkov.java +++ b/Mage.Sets/src/mage/cards/e/EdgarMarkov.java @@ -69,8 +69,8 @@ public class EdgarMarkov extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{W}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); - this.subtype.add("Knight"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EdgeOfTheDivinity.java b/Mage.Sets/src/mage/cards/e/EdgeOfTheDivinity.java index 3d86fecc3eb..92c22a33b9a 100644 --- a/Mage.Sets/src/mage/cards/e/EdgeOfTheDivinity.java +++ b/Mage.Sets/src/mage/cards/e/EdgeOfTheDivinity.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -52,7 +53,7 @@ public class EdgeOfTheDivinity extends CardImpl { public EdgeOfTheDivinity(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W/B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/e/Edgewalker.java b/Mage.Sets/src/mage/cards/e/Edgewalker.java index 1c1b3e106e1..671b5c2517b 100644 --- a/Mage.Sets/src/mage/cards/e/Edgewalker.java +++ b/Mage.Sets/src/mage/cards/e/Edgewalker.java @@ -53,8 +53,8 @@ public class Edgewalker extends CardImpl { public Edgewalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EdificeOfAuthority.java b/Mage.Sets/src/mage/cards/e/EdificeOfAuthority.java index 4d95815c71c..f253371f7ec 100644 --- a/Mage.Sets/src/mage/cards/e/EdificeOfAuthority.java +++ b/Mage.Sets/src/mage/cards/e/EdificeOfAuthority.java @@ -1,188 +1,188 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.e; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.condition.Condition; -import mage.abilities.condition.common.SourceHasCounterCondition; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.RestrictionEffect; -import mage.abilities.effects.common.combat.CantAttackTargetEffect; -import mage.abilities.effects.common.counter.AddCountersSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.PhaseStep; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.game.turn.Step; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author jeffwadsworth - */ -public class EdificeOfAuthority extends CardImpl { - - private static final String rule = "{1}, {T}: Until your next turn, target creature can't attack or block and its activated abilities can't be activated. Activate this ability only if there are three or more brick counter on {this}."; - - public EdificeOfAuthority(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); - - // {1}, {T}: Target creature can't attack this turn. Put a brick counter on Edifice of Authority. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantAttackTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{1}")); - ability.addCost(new TapSourceCost()); - ability.addEffect(new AddCountersSourceEffect(CounterType.BRICK.createInstance())); - ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability); - - // {1}, {T}: Until your next turn, target creature can't attack or block and its activated abilities can't be activated. Activate this ability only if there are three or more brick counter on Edifice of Authority. - Condition condition = new SourceHasCounterCondition(CounterType.BRICK, 3, Integer.MAX_VALUE); - Ability ability2 = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new EdificeOfAuthorityEffect(), new ManaCostsImpl("{1}"), condition, rule); - ability2.addCost(new TapSourceCost()); - ability2.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability2); - - } - - public EdificeOfAuthority(final EdificeOfAuthority card) { - super(card); - } - - @Override - public EdificeOfAuthority copy() { - return new EdificeOfAuthority(this); - } -} - -class EdificeOfAuthorityEffect extends OneShotEffect { - - public EdificeOfAuthorityEffect() { - super(Outcome.LoseAbility); - } - - public EdificeOfAuthorityEffect(String ruleText) { - super(Outcome.LoseAbility); - staticText = ruleText; - } - - public EdificeOfAuthorityEffect(final EdificeOfAuthorityEffect effect) { - super(effect); - } - - @Override - public EdificeOfAuthorityEffect copy() { - return new EdificeOfAuthorityEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - EdificeOfAuthorityRestrictionEffect effect = new EdificeOfAuthorityRestrictionEffect(); - game.addEffect(effect, source); - return true; - } -} - -class EdificeOfAuthorityRestrictionEffect extends RestrictionEffect { - - public EdificeOfAuthorityRestrictionEffect() { - super(Duration.Custom); - staticText = ""; - } - - public EdificeOfAuthorityRestrictionEffect(final EdificeOfAuthorityRestrictionEffect effect) { - super(effect); - } - - @Override - public void init(Ability source, Game game) { - super.init(source, game); - for (UUID targetId : this.getTargetPointer().getTargets(game, source)) { - Permanent permanent = game.getPermanent(targetId); - if (permanent != null) { - permanent.addInfo("Can't attack or block and its activated abilities can't be activated." + getId(), "", game); - } - } - } - - @Override - public boolean isInactive(Ability source, Game game) { - if (game.getPhase().getStep().getType() == PhaseStep.UNTAP - && game.getStep().getStepPart() == Step.StepPart.PRE) { - if (game.getActivePlayerId().equals(source.getControllerId()) - || game.getPlayer(source.getControllerId()).hasReachedNextTurnAfterLeaving()) { - for (UUID targetId : this.getTargetPointer().getTargets(game, source)) { - Permanent permanent = game.getPermanent(targetId); - if (permanent != null) { - permanent.addInfo("Can't attack or block and its activated abilities can't be activated." + getId(), "", game); - } - } - return true; - } - } - return false; - } - - @Override - public boolean applies(Permanent permanent, Ability source, Game game) { - if (this.targetPointer.getTargets(game, source).contains(permanent.getId())) { - return true; - } - return false; - } - - @Override - public boolean canAttack(Game game) { - return false; - } - - @Override - public boolean canBlock(Permanent attacker, Permanent blocker, Ability source, Game game) { - return false; - } - - @Override - public boolean canUseActivatedAbilities(Permanent permanent, Ability source, Game game) { - return false; - } - - @Override - public EdificeOfAuthorityRestrictionEffect copy() { - return new EdificeOfAuthorityRestrictionEffect(this); - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.e; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.SourceHasCounterCondition; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.RestrictionEffect; +import mage.abilities.effects.common.combat.CantAttackTargetEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.PhaseStep; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.game.turn.Step; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author jeffwadsworth + */ +public class EdificeOfAuthority extends CardImpl { + + private static final String rule = "{1}, {T}: Until your next turn, target creature can't attack or block and its activated abilities can't be activated. Activate this ability only if there are three or more brick counter on {this}."; + + public EdificeOfAuthority(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); + + // {1}, {T}: Target creature can't attack this turn. Put a brick counter on Edifice of Authority. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantAttackTargetEffect(Duration.EndOfTurn), new ManaCostsImpl("{1}")); + ability.addCost(new TapSourceCost()); + ability.addEffect(new AddCountersSourceEffect(CounterType.BRICK.createInstance())); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + + // {1}, {T}: Until your next turn, target creature can't attack or block and its activated abilities can't be activated. Activate this ability only if there are three or more brick counter on Edifice of Authority. + Condition condition = new SourceHasCounterCondition(CounterType.BRICK, 3, Integer.MAX_VALUE); + Ability ability2 = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new EdificeOfAuthorityEffect(), new ManaCostsImpl("{1}"), condition, rule); + ability2.addCost(new TapSourceCost()); + ability2.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability2); + + } + + public EdificeOfAuthority(final EdificeOfAuthority card) { + super(card); + } + + @Override + public EdificeOfAuthority copy() { + return new EdificeOfAuthority(this); + } +} + +class EdificeOfAuthorityEffect extends OneShotEffect { + + public EdificeOfAuthorityEffect() { + super(Outcome.LoseAbility); + } + + public EdificeOfAuthorityEffect(String ruleText) { + super(Outcome.LoseAbility); + staticText = ruleText; + } + + public EdificeOfAuthorityEffect(final EdificeOfAuthorityEffect effect) { + super(effect); + } + + @Override + public EdificeOfAuthorityEffect copy() { + return new EdificeOfAuthorityEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + EdificeOfAuthorityRestrictionEffect effect = new EdificeOfAuthorityRestrictionEffect(); + game.addEffect(effect, source); + return true; + } +} + +class EdificeOfAuthorityRestrictionEffect extends RestrictionEffect { + + public EdificeOfAuthorityRestrictionEffect() { + super(Duration.Custom); + staticText = ""; + } + + public EdificeOfAuthorityRestrictionEffect(final EdificeOfAuthorityRestrictionEffect effect) { + super(effect); + } + + @Override + public void init(Ability source, Game game) { + super.init(source, game); + for (UUID targetId : this.getTargetPointer().getTargets(game, source)) { + Permanent permanent = game.getPermanent(targetId); + if (permanent != null) { + permanent.addInfo("Can't attack or block and its activated abilities can't be activated." + getId(), "", game); + } + } + } + + @Override + public boolean isInactive(Ability source, Game game) { + if (game.getPhase().getStep().getType() == PhaseStep.UNTAP + && game.getStep().getStepPart() == Step.StepPart.PRE) { + if (game.getActivePlayerId().equals(source.getControllerId()) + || game.getPlayer(source.getControllerId()).hasReachedNextTurnAfterLeaving()) { + for (UUID targetId : this.getTargetPointer().getTargets(game, source)) { + Permanent permanent = game.getPermanent(targetId); + if (permanent != null) { + permanent.addInfo("Can't attack or block and its activated abilities can't be activated." + getId(), "", game); + } + } + return true; + } + } + return false; + } + + @Override + public boolean applies(Permanent permanent, Ability source, Game game) { + if (this.targetPointer.getTargets(game, source).contains(permanent.getId())) { + return true; + } + return false; + } + + @Override + public boolean canAttack(Game game) { + return false; + } + + @Override + public boolean canBlock(Permanent attacker, Permanent blocker, Ability source, Game game) { + return false; + } + + @Override + public boolean canUseActivatedAbilities(Permanent permanent, Ability source, Game game) { + return false; + } + + @Override + public EdificeOfAuthorityRestrictionEffect copy() { + return new EdificeOfAuthorityRestrictionEffect(this); + } + +} diff --git a/Mage.Sets/src/mage/cards/e/EdricSpymasterOfTrest.java b/Mage.Sets/src/mage/cards/e/EdricSpymasterOfTrest.java index 7d2aa53ff6d..405e28621b8 100644 --- a/Mage.Sets/src/mage/cards/e/EdricSpymasterOfTrest.java +++ b/Mage.Sets/src/mage/cards/e/EdricSpymasterOfTrest.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DrawCardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.game.Game; @@ -51,8 +52,8 @@ public class EdricSpymasterOfTrest extends CardImpl { public EdricSpymasterOfTrest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EelUmbra.java b/Mage.Sets/src/mage/cards/e/EelUmbra.java index 597918926ca..ade11aa4a5a 100644 --- a/Mage.Sets/src/mage/cards/e/EelUmbra.java +++ b/Mage.Sets/src/mage/cards/e/EelUmbra.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TotemArmorAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class EelUmbra extends CardImpl { public EelUmbra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/e/EfreetWeaponmaster.java b/Mage.Sets/src/mage/cards/e/EfreetWeaponmaster.java index e228476fe57..8d005f6436f 100644 --- a/Mage.Sets/src/mage/cards/e/EfreetWeaponmaster.java +++ b/Mage.Sets/src/mage/cards/e/EfreetWeaponmaster.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -55,8 +56,8 @@ public class EfreetWeaponmaster extends CardImpl { public EfreetWeaponmaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{R}{W}"); - this.subtype.add("Efreet"); - this.subtype.add("Monk"); + this.subtype.add(SubType.EFREET); + this.subtype.add(SubType.MONK); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EgoErasure.java b/Mage.Sets/src/mage/cards/e/EgoErasure.java index aea1f9b2338..6dbb685411c 100644 --- a/Mage.Sets/src/mage/cards/e/EgoErasure.java +++ b/Mage.Sets/src/mage/cards/e/EgoErasure.java @@ -50,7 +50,7 @@ public class EgoErasure extends CardImpl { public EgoErasure(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{2}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); // Changeling this.addAbility(ChangelingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/e/EidolonOfBlossoms.java b/Mage.Sets/src/mage/cards/e/EidolonOfBlossoms.java index 02909b58557..36492575ca1 100644 --- a/Mage.Sets/src/mage/cards/e/EidolonOfBlossoms.java +++ b/Mage.Sets/src/mage/cards/e/EidolonOfBlossoms.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class EidolonOfBlossoms extends CardImpl { public EidolonOfBlossoms(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EidolonOfCountlessBattles.java b/Mage.Sets/src/mage/cards/e/EidolonOfCountlessBattles.java index dd821cf1c7b..199509d1d4b 100644 --- a/Mage.Sets/src/mage/cards/e/EidolonOfCountlessBattles.java +++ b/Mage.Sets/src/mage/cards/e/EidolonOfCountlessBattles.java @@ -62,7 +62,7 @@ public class EidolonOfCountlessBattles extends CardImpl { public EidolonOfCountlessBattles(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/e/EidolonOfRhetoric.java b/Mage.Sets/src/mage/cards/e/EidolonOfRhetoric.java index 1feb781aeca..07f562d7cf9 100644 --- a/Mage.Sets/src/mage/cards/e/EidolonOfRhetoric.java +++ b/Mage.Sets/src/mage/cards/e/EidolonOfRhetoric.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.CantCastMoreThanOneSpellEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -45,7 +46,7 @@ public class EidolonOfRhetoric extends CardImpl { public EidolonOfRhetoric(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EidolonOfTheGreatRevel.java b/Mage.Sets/src/mage/cards/e/EidolonOfTheGreatRevel.java index ebaa4404a82..24ec3252178 100644 --- a/Mage.Sets/src/mage/cards/e/EidolonOfTheGreatRevel.java +++ b/Mage.Sets/src/mage/cards/e/EidolonOfTheGreatRevel.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -50,7 +51,7 @@ public class EidolonOfTheGreatRevel extends CardImpl { public EidolonOfTheGreatRevel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{R}{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EiganjoFreeRiders.java b/Mage.Sets/src/mage/cards/e/EiganjoFreeRiders.java index 99d5ca49012..071e97d0ef0 100644 --- a/Mage.Sets/src/mage/cards/e/EiganjoFreeRiders.java +++ b/Mage.Sets/src/mage/cards/e/EiganjoFreeRiders.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -53,8 +54,8 @@ public class EiganjoFreeRiders extends CardImpl { public EiganjoFreeRiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EightAndAHalfTails.java b/Mage.Sets/src/mage/cards/e/EightAndAHalfTails.java index 02ebb4a271b..123f2281ba8 100644 --- a/Mage.Sets/src/mage/cards/e/EightAndAHalfTails.java +++ b/Mage.Sets/src/mage/cards/e/EightAndAHalfTails.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class EightAndAHalfTails extends CardImpl { public EightAndAHalfTails(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Fox"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.FOX); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EkunduGriffin.java b/Mage.Sets/src/mage/cards/e/EkunduGriffin.java index 56e7e1e36cc..5b509952619 100644 --- a/Mage.Sets/src/mage/cards/e/EkunduGriffin.java +++ b/Mage.Sets/src/mage/cards/e/EkunduGriffin.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class EkunduGriffin extends CardImpl { public EkunduGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/ElHajjaj.java b/Mage.Sets/src/mage/cards/e/ElHajjaj.java index 6e7a394179a..0647272486c 100644 --- a/Mage.Sets/src/mage/cards/e/ElHajjaj.java +++ b/Mage.Sets/src/mage/cards/e/ElHajjaj.java @@ -33,6 +33,7 @@ import mage.abilities.common.DealsDamageGainLifeSourceTriggeredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class ElHajjaj extends CardImpl { public ElHajjaj(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EladamriLordOfLeaves.java b/Mage.Sets/src/mage/cards/e/EladamriLordOfLeaves.java index bb60c43761c..41c57529dda 100644 --- a/Mage.Sets/src/mage/cards/e/EladamriLordOfLeaves.java +++ b/Mage.Sets/src/mage/cards/e/EladamriLordOfLeaves.java @@ -57,8 +57,8 @@ public class EladamriLordOfLeaves extends CardImpl { public EladamriLordOfLeaves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/ElandUmbra.java b/Mage.Sets/src/mage/cards/e/ElandUmbra.java index 8c81282b812..774d16304b0 100644 --- a/Mage.Sets/src/mage/cards/e/ElandUmbra.java +++ b/Mage.Sets/src/mage/cards/e/ElandUmbra.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TotemArmorAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class ElandUmbra extends CardImpl { public ElandUmbra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/e/ElbrusTheBindingBlade.java b/Mage.Sets/src/mage/cards/e/ElbrusTheBindingBlade.java index 1d74d1d59dc..199f4a22ef0 100644 --- a/Mage.Sets/src/mage/cards/e/ElbrusTheBindingBlade.java +++ b/Mage.Sets/src/mage/cards/e/ElbrusTheBindingBlade.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.w.WithengarUnbound; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class ElbrusTheBindingBlade extends CardImpl { public ElbrusTheBindingBlade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{7}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.transformable = true; this.secondSideCardClazz = WithengarUnbound.class; diff --git a/Mage.Sets/src/mage/cards/e/ElderCathar.java b/Mage.Sets/src/mage/cards/e/ElderCathar.java index 0fdc9523eaf..078cfc0844c 100644 --- a/Mage.Sets/src/mage/cards/e/ElderCathar.java +++ b/Mage.Sets/src/mage/cards/e/ElderCathar.java @@ -50,8 +50,8 @@ public class ElderCathar extends CardImpl { public ElderCathar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/ElderDeepFiend.java b/Mage.Sets/src/mage/cards/e/ElderDeepFiend.java index 0bdd0b562a2..243dc3f42b7 100644 --- a/Mage.Sets/src/mage/cards/e/ElderDeepFiend.java +++ b/Mage.Sets/src/mage/cards/e/ElderDeepFiend.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.target.TargetPermanent; @@ -49,8 +50,8 @@ public class ElderDeepFiend extends CardImpl { public ElderDeepFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{8}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Octopus"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.OCTOPUS); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/e/ElderDruid.java b/Mage.Sets/src/mage/cards/e/ElderDruid.java index 8704e3c8c61..37f56f64f9a 100644 --- a/Mage.Sets/src/mage/cards/e/ElderDruid.java +++ b/Mage.Sets/src/mage/cards/e/ElderDruid.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.MayTapOrUntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -60,9 +61,9 @@ public class ElderDruid extends CardImpl { public ElderDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Cleric"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/ElderMastery.java b/Mage.Sets/src/mage/cards/e/ElderMastery.java index 5b5e8bb664f..abba31ab509 100644 --- a/Mage.Sets/src/mage/cards/e/ElderMastery.java +++ b/Mage.Sets/src/mage/cards/e/ElderMastery.java @@ -51,7 +51,7 @@ public class ElderMastery extends CardImpl { public ElderMastery(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}{B}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/e/ElderOfLaurels.java b/Mage.Sets/src/mage/cards/e/ElderOfLaurels.java index 76f3442c903..bdbcb3d5984 100644 --- a/Mage.Sets/src/mage/cards/e/ElderOfLaurels.java +++ b/Mage.Sets/src/mage/cards/e/ElderOfLaurels.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -49,8 +50,8 @@ public class ElderOfLaurels extends CardImpl { public ElderOfLaurels(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/ElderPineOfJukai.java b/Mage.Sets/src/mage/cards/e/ElderPineOfJukai.java index 5f70029e012..2333e8c52b6 100644 --- a/Mage.Sets/src/mage/cards/e/ElderPineOfJukai.java +++ b/Mage.Sets/src/mage/cards/e/ElderPineOfJukai.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.filter.common.FilterLandCard; @@ -47,7 +48,7 @@ public class ElderPineOfJukai extends CardImpl { public ElderPineOfJukai(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElderscaleWurm.java b/Mage.Sets/src/mage/cards/e/ElderscaleWurm.java index 1a42e22354e..54c2fe1b3ba 100644 --- a/Mage.Sets/src/mage/cards/e/ElderscaleWurm.java +++ b/Mage.Sets/src/mage/cards/e/ElderscaleWurm.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class ElderscaleWurm extends CardImpl { public ElderscaleWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/e/ElderwoodScion.java b/Mage.Sets/src/mage/cards/e/ElderwoodScion.java index c008357b67e..c85d61823b7 100644 --- a/Mage.Sets/src/mage/cards/e/ElderwoodScion.java +++ b/Mage.Sets/src/mage/cards/e/ElderwoodScion.java @@ -52,7 +52,7 @@ public class ElderwoodScion extends CardImpl { public ElderwoodScion(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EldraziAggressor.java b/Mage.Sets/src/mage/cards/e/EldraziAggressor.java index 7c4edd78a9f..b275490b99a 100644 --- a/Mage.Sets/src/mage/cards/e/EldraziAggressor.java +++ b/Mage.Sets/src/mage/cards/e/EldraziAggressor.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.ColorlessPredicate; @@ -60,8 +61,8 @@ public class EldraziAggressor extends CardImpl { public EldraziAggressor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EldraziConscription.java b/Mage.Sets/src/mage/cards/e/EldraziConscription.java index 8d325c85cf2..32099fe392a 100644 --- a/Mage.Sets/src/mage/cards/e/EldraziConscription.java +++ b/Mage.Sets/src/mage/cards/e/EldraziConscription.java @@ -52,8 +52,8 @@ public class EldraziConscription extends CardImpl { public EldraziConscription (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ENCHANTMENT},"{8}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Aura"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/e/EldraziDevastator.java b/Mage.Sets/src/mage/cards/e/EldraziDevastator.java index a1f6ed53ffa..6d17b3678ec 100644 --- a/Mage.Sets/src/mage/cards/e/EldraziDevastator.java +++ b/Mage.Sets/src/mage/cards/e/EldraziDevastator.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class EldraziDevastator extends CardImpl { public EldraziDevastator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{8}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(8); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/e/EldraziDisplacer.java b/Mage.Sets/src/mage/cards/e/EldraziDisplacer.java index 4bc25802a48..37ac9854bc9 100644 --- a/Mage.Sets/src/mage/cards/e/EldraziDisplacer.java +++ b/Mage.Sets/src/mage/cards/e/EldraziDisplacer.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -58,7 +59,7 @@ public class EldraziDisplacer extends CardImpl { public EldraziDisplacer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EldraziMimic.java b/Mage.Sets/src/mage/cards/e/EldraziMimic.java index a3089e1c043..4c4fef9ac94 100644 --- a/Mage.Sets/src/mage/cards/e/EldraziMimic.java +++ b/Mage.Sets/src/mage/cards/e/EldraziMimic.java @@ -60,7 +60,7 @@ public class EldraziMimic extends CardImpl { public EldraziMimic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EldraziObligator.java b/Mage.Sets/src/mage/cards/e/EldraziObligator.java index 973efb0c107..79660d4410d 100644 --- a/Mage.Sets/src/mage/cards/e/EldraziObligator.java +++ b/Mage.Sets/src/mage/cards/e/EldraziObligator.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.target.Target; @@ -55,7 +56,7 @@ public class EldraziObligator extends CardImpl { public EldraziObligator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EldraziSkyspawner.java b/Mage.Sets/src/mage/cards/e/EldraziSkyspawner.java index cd63ed45807..8901e49bd32 100644 --- a/Mage.Sets/src/mage/cards/e/EldraziSkyspawner.java +++ b/Mage.Sets/src/mage/cards/e/EldraziSkyspawner.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.EldraziScionToken; /** @@ -47,8 +48,8 @@ public class EldraziSkyspawner extends CardImpl { public EldraziSkyspawner(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElectricEel.java b/Mage.Sets/src/mage/cards/e/ElectricEel.java index 0e87a4e875c..63cb2329fe6 100644 --- a/Mage.Sets/src/mage/cards/e/ElectricEel.java +++ b/Mage.Sets/src/mage/cards/e/ElectricEel.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class ElectricEel extends CardImpl { public ElectricEel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Fish"); + this.subtype.add(SubType.FISH); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElectrostaticPummeler.java b/Mage.Sets/src/mage/cards/e/ElectrostaticPummeler.java index a116933a1fd..5fd1511c4e5 100644 --- a/Mage.Sets/src/mage/cards/e/ElectrostaticPummeler.java +++ b/Mage.Sets/src/mage/cards/e/ElectrostaticPummeler.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class ElectrostaticPummeler extends CardImpl { public ElectrostaticPummeler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElegantEdgecrafters.java b/Mage.Sets/src/mage/cards/e/ElegantEdgecrafters.java index c1cb4dfa776..f2114e51443 100644 --- a/Mage.Sets/src/mage/cards/e/ElegantEdgecrafters.java +++ b/Mage.Sets/src/mage/cards/e/ElegantEdgecrafters.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FabricateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; @@ -54,8 +55,8 @@ public class ElegantEdgecrafters extends CardImpl { public ElegantEdgecrafters(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/ElementalMastery.java b/Mage.Sets/src/mage/cards/e/ElementalMastery.java index 96139252b14..8d860f04e00 100644 --- a/Mage.Sets/src/mage/cards/e/ElementalMastery.java +++ b/Mage.Sets/src/mage/cards/e/ElementalMastery.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -57,7 +58,7 @@ public class ElementalMastery extends CardImpl { public ElementalMastery(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/e/ElementalUprising.java b/Mage.Sets/src/mage/cards/e/ElementalUprising.java index 926f8ac93e6..3b930cbf8e2 100644 --- a/Mage.Sets/src/mage/cards/e/ElementalUprising.java +++ b/Mage.Sets/src/mage/cards/e/ElementalUprising.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterControlledLandPermanent; import mage.game.permanent.token.Token; @@ -74,7 +75,7 @@ class ElementalUprisingToken extends Token { super("", "4/4 Elemental creature with haste"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/ElephantGuide.java b/Mage.Sets/src/mage/cards/e/ElephantGuide.java index 13c09d0df0c..60400763248 100644 --- a/Mage.Sets/src/mage/cards/e/ElephantGuide.java +++ b/Mage.Sets/src/mage/cards/e/ElephantGuide.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class ElephantGuide extends CardImpl { public ElephantGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/e/EleshNornGrandCenobite.java b/Mage.Sets/src/mage/cards/e/EleshNornGrandCenobite.java index 17ad84ef340..1858329b4cf 100644 --- a/Mage.Sets/src/mage/cards/e/EleshNornGrandCenobite.java +++ b/Mage.Sets/src/mage/cards/e/EleshNornGrandCenobite.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class EleshNornGrandCenobite extends CardImpl { public EleshNornGrandCenobite (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Praetor"); + this.subtype.add(SubType.PRAETOR); this.power = new MageInt(4); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/e/ElfReplica.java b/Mage.Sets/src/mage/cards/e/ElfReplica.java index 2f2bca30ac8..71252ac3081 100644 --- a/Mage.Sets/src/mage/cards/e/ElfReplica.java +++ b/Mage.Sets/src/mage/cards/e/ElfReplica.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetEnchantmentPermanent; @@ -48,7 +49,7 @@ public class ElfReplica extends CardImpl { public ElfReplica(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(2); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{1}{G}")); diff --git a/Mage.Sets/src/mage/cards/e/ElgaudInquisitor.java b/Mage.Sets/src/mage/cards/e/ElgaudInquisitor.java index 2e43a63c8ed..f8f352d755b 100644 --- a/Mage.Sets/src/mage/cards/e/ElgaudInquisitor.java +++ b/Mage.Sets/src/mage/cards/e/ElgaudInquisitor.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.SpiritWhiteToken; /** @@ -45,8 +46,8 @@ public class ElgaudInquisitor extends CardImpl { public ElgaudInquisitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/ElgaudShieldmate.java b/Mage.Sets/src/mage/cards/e/ElgaudShieldmate.java index b7ab4757a16..630919f1e3b 100644 --- a/Mage.Sets/src/mage/cards/e/ElgaudShieldmate.java +++ b/Mage.Sets/src/mage/cards/e/ElgaudShieldmate.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class ElgaudShieldmate extends CardImpl { public ElgaudShieldmate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EliteArcanist.java b/Mage.Sets/src/mage/cards/e/EliteArcanist.java index c3f3d5816e6..adced54e581 100644 --- a/Mage.Sets/src/mage/cards/e/EliteArcanist.java +++ b/Mage.Sets/src/mage/cards/e/EliteArcanist.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -57,8 +58,8 @@ public class EliteArcanist extends CardImpl { public EliteArcanist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EliteArchers.java b/Mage.Sets/src/mage/cards/e/EliteArchers.java index c7fc0754b14..a8955441dfb 100644 --- a/Mage.Sets/src/mage/cards/e/EliteArchers.java +++ b/Mage.Sets/src/mage/cards/e/EliteArchers.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetAttackingOrBlockingCreature; @@ -47,9 +48,9 @@ public class EliteArchers extends CardImpl { public EliteArchers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EliteCatWarrior.java b/Mage.Sets/src/mage/cards/e/EliteCatWarrior.java index c373c2051de..bdc4762e875 100644 --- a/Mage.Sets/src/mage/cards/e/EliteCatWarrior.java +++ b/Mage.Sets/src/mage/cards/e/EliteCatWarrior.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class EliteCatWarrior extends CardImpl { public EliteCatWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Cat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EliteInquisitor.java b/Mage.Sets/src/mage/cards/e/EliteInquisitor.java index 272005e60c4..f631c169ecc 100644 --- a/Mage.Sets/src/mage/cards/e/EliteInquisitor.java +++ b/Mage.Sets/src/mage/cards/e/EliteInquisitor.java @@ -57,8 +57,8 @@ public class EliteInquisitor extends CardImpl { public EliteInquisitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EliteJavelineer.java b/Mage.Sets/src/mage/cards/e/EliteJavelineer.java index c7efab364ee..1df30861c27 100644 --- a/Mage.Sets/src/mage/cards/e/EliteJavelineer.java +++ b/Mage.Sets/src/mage/cards/e/EliteJavelineer.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterAttackingCreature; import mage.target.common.TargetCreaturePermanent; @@ -46,8 +47,8 @@ public class EliteJavelineer extends CardImpl { public EliteJavelineer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EliteScaleguard.java b/Mage.Sets/src/mage/cards/e/EliteScaleguard.java index 4f267b0967a..5204bd3b31c 100644 --- a/Mage.Sets/src/mage/cards/e/EliteScaleguard.java +++ b/Mage.Sets/src/mage/cards/e/EliteScaleguard.java @@ -38,6 +38,7 @@ import mage.abilities.effects.keyword.BolsterEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterCreaturePermanent; @@ -60,8 +61,8 @@ public class EliteScaleguard extends CardImpl { public EliteScaleguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EliteSkirmisher.java b/Mage.Sets/src/mage/cards/e/EliteSkirmisher.java index 82f7322b738..94ed1b806ac 100644 --- a/Mage.Sets/src/mage/cards/e/EliteSkirmisher.java +++ b/Mage.Sets/src/mage/cards/e/EliteSkirmisher.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -45,8 +46,8 @@ public class EliteSkirmisher extends CardImpl { public EliteSkirmisher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EliteVanguard.java b/Mage.Sets/src/mage/cards/e/EliteVanguard.java index 3f61592eccd..4511f51fc44 100644 --- a/Mage.Sets/src/mage/cards/e/EliteVanguard.java +++ b/Mage.Sets/src/mage/cards/e/EliteVanguard.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class EliteVanguard extends CardImpl { public EliteVanguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); } diff --git a/Mage.Sets/src/mage/cards/e/ElspethKnightErrant.java b/Mage.Sets/src/mage/cards/e/ElspethKnightErrant.java index 3eb17f567d3..fd12ee7237f 100644 --- a/Mage.Sets/src/mage/cards/e/ElspethKnightErrant.java +++ b/Mage.Sets/src/mage/cards/e/ElspethKnightErrant.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.game.command.emblems.ElspethKnightErrantEmblem; @@ -56,7 +57,7 @@ public class ElspethKnightErrant extends CardImpl { public ElspethKnightErrant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elspeth"); + this.subtype.add(SubType.ELSPETH); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/e/ElspethSunsChampion.java b/Mage.Sets/src/mage/cards/e/ElspethSunsChampion.java index 1d0d3111c91..608b31517c2 100644 --- a/Mage.Sets/src/mage/cards/e/ElspethSunsChampion.java +++ b/Mage.Sets/src/mage/cards/e/ElspethSunsChampion.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.GetEmblemEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; @@ -58,7 +59,7 @@ public class ElspethSunsChampion extends CardImpl { public ElspethSunsChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{W}{W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elspeth"); + this.subtype.add(SubType.ELSPETH); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/e/ElspethTirel.java b/Mage.Sets/src/mage/cards/e/ElspethTirel.java index 8d7e539af11..a0f6e7cdc0d 100644 --- a/Mage.Sets/src/mage/cards/e/ElspethTirel.java +++ b/Mage.Sets/src/mage/cards/e/ElspethTirel.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.StaticFilters; @@ -54,7 +55,7 @@ public class ElspethTirel extends CardImpl { public ElspethTirel(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{W}{W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elspeth"); + this.subtype.add(SubType.ELSPETH); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/e/ElusiveKrasis.java b/Mage.Sets/src/mage/cards/e/ElusiveKrasis.java index 3640401efa2..1d96765888a 100644 --- a/Mage.Sets/src/mage/cards/e/ElusiveKrasis.java +++ b/Mage.Sets/src/mage/cards/e/ElusiveKrasis.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.EvolveAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ElusiveKrasis extends CardImpl { public ElusiveKrasis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{U}"); - this.subtype.add("Fish"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.FISH); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/ElusiveSpellfist.java b/Mage.Sets/src/mage/cards/e/ElusiveSpellfist.java index 37e811382c4..73af9b9fc1d 100644 --- a/Mage.Sets/src/mage/cards/e/ElusiveSpellfist.java +++ b/Mage.Sets/src/mage/cards/e/ElusiveSpellfist.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -56,8 +57,8 @@ public class ElusiveSpellfist extends CardImpl { public ElusiveSpellfist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/ElusiveTormentor.java b/Mage.Sets/src/mage/cards/e/ElusiveTormentor.java index bb8c78061db..95969b03cd6 100644 --- a/Mage.Sets/src/mage/cards/e/ElusiveTormentor.java +++ b/Mage.Sets/src/mage/cards/e/ElusiveTormentor.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.i.InsidiousMist; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,8 +50,8 @@ public class ElusiveTormentor extends CardImpl { public ElusiveTormentor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/ElvenRiders.java b/Mage.Sets/src/mage/cards/e/ElvenRiders.java index 53b7979a9bd..ffeccbd7839 100644 --- a/Mage.Sets/src/mage/cards/e/ElvenRiders.java +++ b/Mage.Sets/src/mage/cards/e/ElvenRiders.java @@ -56,7 +56,7 @@ public class ElvenRiders extends CardImpl { public ElvenRiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/ElvenWarhounds.java b/Mage.Sets/src/mage/cards/e/ElvenWarhounds.java index 681c20b6870..c23ade48974 100644 --- a/Mage.Sets/src/mage/cards/e/ElvenWarhounds.java +++ b/Mage.Sets/src/mage/cards/e/ElvenWarhounds.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PutOnLibraryTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class ElvenWarhounds extends CardImpl { public ElvenWarhounds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/ElvesOfDeepShadow.java b/Mage.Sets/src/mage/cards/e/ElvesOfDeepShadow.java index 8fb501f3c01..3fa2a25bf00 100644 --- a/Mage.Sets/src/mage/cards/e/ElvesOfDeepShadow.java +++ b/Mage.Sets/src/mage/cards/e/ElvesOfDeepShadow.java @@ -37,6 +37,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class ElvesOfDeepShadow extends CardImpl { public ElvesOfDeepShadow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishAberration.java b/Mage.Sets/src/mage/cards/e/ElvishAberration.java index c6fdc40ce98..7b14382e543 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishAberration.java +++ b/Mage.Sets/src/mage/cards/e/ElvishAberration.java @@ -37,6 +37,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class ElvishAberration extends CardImpl { public ElvishAberration(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/ElvishArchdruid.java b/Mage.Sets/src/mage/cards/e/ElvishArchdruid.java index 636a09c899c..91ce20491fa 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishArchdruid.java +++ b/Mage.Sets/src/mage/cards/e/ElvishArchdruid.java @@ -61,8 +61,8 @@ public class ElvishArchdruid extends CardImpl { public ElvishArchdruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/ElvishArchers.java b/Mage.Sets/src/mage/cards/e/ElvishArchers.java index f8c446ec42d..115fd8c391a 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishArchers.java +++ b/Mage.Sets/src/mage/cards/e/ElvishArchers.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class ElvishArchers extends CardImpl { public ElvishArchers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishBard.java b/Mage.Sets/src/mage/cards/e/ElvishBard.java index a50fa4c52b6..762669bacb1 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishBard.java +++ b/Mage.Sets/src/mage/cards/e/ElvishBard.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.MustBeBlockedByAllSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -44,8 +45,8 @@ public class ElvishBard extends CardImpl { public ElvishBard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/ElvishBerserker.java b/Mage.Sets/src/mage/cards/e/ElvishBerserker.java index 6e62ec3d4f4..93333d59417 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishBerserker.java +++ b/Mage.Sets/src/mage/cards/e/ElvishBerserker.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,8 +47,8 @@ public class ElvishBerserker extends CardImpl { public ElvishBerserker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishBranchbender.java b/Mage.Sets/src/mage/cards/e/ElvishBranchbender.java index f1523b27433..1d590a0c0a8 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishBranchbender.java +++ b/Mage.Sets/src/mage/cards/e/ElvishBranchbender.java @@ -59,8 +59,8 @@ public class ElvishBranchbender extends CardImpl { public ElvishBranchbender(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); @@ -117,7 +117,7 @@ class ElvishBranchbenderToken extends Token { ElvishBranchbenderToken(int xValue) { super("Treefolk", "X/X Treefolk creature in addition to its other types, where X is the number of Elves you control"); cardType.add(CardType.CREATURE); - subtype.add("Treefolk"); + subtype.add(SubType.TREEFOLK); power = new MageInt(xValue); toughness = new MageInt(xValue); } diff --git a/Mage.Sets/src/mage/cards/e/ElvishChampion.java b/Mage.Sets/src/mage/cards/e/ElvishChampion.java index ca9c862962a..20829492d69 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishChampion.java +++ b/Mage.Sets/src/mage/cards/e/ElvishChampion.java @@ -55,7 +55,7 @@ public class ElvishChampion extends CardImpl { public ElvishChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/ElvishEulogist.java b/Mage.Sets/src/mage/cards/e/ElvishEulogist.java index 7a552d6c322..513b2e33ab7 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishEulogist.java +++ b/Mage.Sets/src/mage/cards/e/ElvishEulogist.java @@ -55,8 +55,8 @@ public class ElvishEulogist extends CardImpl { public ElvishEulogist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishFarmer.java b/Mage.Sets/src/mage/cards/e/ElvishFarmer.java index a3956d71d4a..a37aa65c7c7 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishFarmer.java +++ b/Mage.Sets/src/mage/cards/e/ElvishFarmer.java @@ -62,7 +62,7 @@ public class ElvishFarmer extends CardImpl { public ElvishFarmer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/ElvishGuidance.java b/Mage.Sets/src/mage/cards/e/ElvishGuidance.java index f2bdc614888..bf70650d401 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishGuidance.java +++ b/Mage.Sets/src/mage/cards/e/ElvishGuidance.java @@ -56,7 +56,7 @@ public class ElvishGuidance extends CardImpl { public ElvishGuidance(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/e/ElvishHandservant.java b/Mage.Sets/src/mage/cards/e/ElvishHandservant.java index 8c0d0e0714e..4d9b1d0bb14 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishHandservant.java +++ b/Mage.Sets/src/mage/cards/e/ElvishHandservant.java @@ -53,8 +53,8 @@ public class ElvishHandservant extends CardImpl { public ElvishHandservant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishHarbinger.java b/Mage.Sets/src/mage/cards/e/ElvishHarbinger.java index 567c39e8668..0db22581607 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishHarbinger.java +++ b/Mage.Sets/src/mage/cards/e/ElvishHarbinger.java @@ -53,8 +53,8 @@ public class ElvishHarbinger extends CardImpl { } public ElvishHarbinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/ElvishHerder.java b/Mage.Sets/src/mage/cards/e/ElvishHerder.java index d1fb05a22e1..cf5cd31f8fe 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishHerder.java +++ b/Mage.Sets/src/mage/cards/e/ElvishHerder.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class ElvishHerder extends CardImpl { public ElvishHerder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishHexhunter.java b/Mage.Sets/src/mage/cards/e/ElvishHexhunter.java index 2c5d3fb67c4..c635cbe92bd 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishHexhunter.java +++ b/Mage.Sets/src/mage/cards/e/ElvishHexhunter.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetEnchantmentPermanent; @@ -49,8 +50,8 @@ public class ElvishHexhunter extends CardImpl { public ElvishHexhunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G/W}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishHunter.java b/Mage.Sets/src/mage/cards/e/ElvishHunter.java index 1aa71466f22..5e0db0786fd 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishHunter.java +++ b/Mage.Sets/src/mage/cards/e/ElvishHunter.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEf import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class ElvishHunter extends CardImpl { public ElvishHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishLookout.java b/Mage.Sets/src/mage/cards/e/ElvishLookout.java index cacc2773006..91e69b84b28 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishLookout.java +++ b/Mage.Sets/src/mage/cards/e/ElvishLookout.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ElvishLookout extends CardImpl { public ElvishLookout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishLyrist.java b/Mage.Sets/src/mage/cards/e/ElvishLyrist.java index de899cf58bc..f7b3e94ebfc 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishLyrist.java +++ b/Mage.Sets/src/mage/cards/e/ElvishLyrist.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetEnchantmentPermanent; @@ -49,7 +50,7 @@ public class ElvishLyrist extends CardImpl { public ElvishLyrist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishMystic.java b/Mage.Sets/src/mage/cards/e/ElvishMystic.java index 80af0000642..362fe046ad4 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishMystic.java +++ b/Mage.Sets/src/mage/cards/e/ElvishMystic.java @@ -33,6 +33,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class ElvishMystic extends CardImpl { public ElvishMystic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishPathcutter.java b/Mage.Sets/src/mage/cards/e/ElvishPathcutter.java index 53bcd1d71ad..b30e38984eb 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishPathcutter.java +++ b/Mage.Sets/src/mage/cards/e/ElvishPathcutter.java @@ -58,8 +58,8 @@ public class ElvishPathcutter extends CardImpl { public ElvishPathcutter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/ElvishPioneer.java b/Mage.Sets/src/mage/cards/e/ElvishPioneer.java index 4f5309387da..8062bdbacfa 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishPioneer.java +++ b/Mage.Sets/src/mage/cards/e/ElvishPioneer.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.PutLandFromHandOntoBattlefieldEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterLandCard; /** @@ -44,8 +45,8 @@ public class ElvishPioneer extends CardImpl { public ElvishPioneer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishPiper.java b/Mage.Sets/src/mage/cards/e/ElvishPiper.java index ec9c43522c5..77b8a475ba7 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishPiper.java +++ b/Mage.Sets/src/mage/cards/e/ElvishPiper.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.PutPermanentOnBattlefieldEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -48,8 +49,8 @@ public class ElvishPiper extends CardImpl { public ElvishPiper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishPromenade.java b/Mage.Sets/src/mage/cards/e/ElvishPromenade.java index 2a74fec55a9..71784f46abe 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishPromenade.java +++ b/Mage.Sets/src/mage/cards/e/ElvishPromenade.java @@ -52,7 +52,7 @@ public class ElvishPromenade extends CardImpl { public ElvishPromenade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.SORCERY},"{3}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.getSpellAbility().addEffect(new CreateTokenEffect(new ElfToken(), new PermanentsOnBattlefieldCount(filter))); } diff --git a/Mage.Sets/src/mage/cards/e/ElvishRanger.java b/Mage.Sets/src/mage/cards/e/ElvishRanger.java index ee0f8ebd3b2..28270f06a50 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishRanger.java +++ b/Mage.Sets/src/mage/cards/e/ElvishRanger.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class ElvishRanger extends CardImpl { public ElvishRanger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishScout.java b/Mage.Sets/src/mage/cards/e/ElvishScout.java index f8246760953..3ea08780a63 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishScout.java +++ b/Mage.Sets/src/mage/cards/e/ElvishScout.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -60,8 +61,8 @@ public class ElvishScout extends CardImpl { public ElvishScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishScrapper.java b/Mage.Sets/src/mage/cards/e/ElvishScrapper.java index e67825173e0..cbc4960fdcb 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishScrapper.java +++ b/Mage.Sets/src/mage/cards/e/ElvishScrapper.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetArtifactPermanent; @@ -49,7 +50,7 @@ public class ElvishScrapper extends CardImpl { public ElvishScrapper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishSkysweeper.java b/Mage.Sets/src/mage/cards/e/ElvishSkysweeper.java index 896290642a8..5b53518cf11 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishSkysweeper.java +++ b/Mage.Sets/src/mage/cards/e/ElvishSkysweeper.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -58,8 +59,8 @@ public class ElvishSkysweeper extends CardImpl { public ElvishSkysweeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishSoultiller.java b/Mage.Sets/src/mage/cards/e/ElvishSoultiller.java index 45a1d07897c..8b20c146bac 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishSoultiller.java +++ b/Mage.Sets/src/mage/cards/e/ElvishSoultiller.java @@ -55,8 +55,8 @@ public class ElvishSoultiller extends CardImpl { public ElvishSoultiller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/ElvishSpiritGuide.java b/Mage.Sets/src/mage/cards/e/ElvishSpiritGuide.java index 2ebf9893193..87d60dfd933 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishSpiritGuide.java +++ b/Mage.Sets/src/mage/cards/e/ElvishSpiritGuide.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.players.Player; @@ -50,8 +51,8 @@ public class ElvishSpiritGuide extends CardImpl { public ElvishSpiritGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/ElvishVanguard.java b/Mage.Sets/src/mage/cards/e/ElvishVanguard.java index 1bcde16b5a6..62787a4e71e 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishVanguard.java +++ b/Mage.Sets/src/mage/cards/e/ElvishVanguard.java @@ -55,8 +55,8 @@ public class ElvishVanguard extends CardImpl { public ElvishVanguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishVisionary.java b/Mage.Sets/src/mage/cards/e/ElvishVisionary.java index 75b287879fc..38558c65f92 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishVisionary.java +++ b/Mage.Sets/src/mage/cards/e/ElvishVisionary.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class ElvishVisionary extends CardImpl { public ElvishVisionary (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ElvishWarrior.java b/Mage.Sets/src/mage/cards/e/ElvishWarrior.java index a5af034ae0d..fb564189e1d 100644 --- a/Mage.Sets/src/mage/cards/e/ElvishWarrior.java +++ b/Mage.Sets/src/mage/cards/e/ElvishWarrior.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class ElvishWarrior extends CardImpl { public ElvishWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EmancipationAngel.java b/Mage.Sets/src/mage/cards/e/EmancipationAngel.java index c73a3738c5e..0ea6e2d2995 100644 --- a/Mage.Sets/src/mage/cards/e/EmancipationAngel.java +++ b/Mage.Sets/src/mage/cards/e/EmancipationAngel.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; /** @@ -45,7 +46,7 @@ public class EmancipationAngel extends CardImpl { public EmancipationAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EmbalmedBrawler.java b/Mage.Sets/src/mage/cards/e/EmbalmedBrawler.java index b4c0e2a79f9..82ecfbd55f6 100644 --- a/Mage.Sets/src/mage/cards/e/EmbalmedBrawler.java +++ b/Mage.Sets/src/mage/cards/e/EmbalmedBrawler.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.AmplifyAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -47,7 +48,7 @@ public class EmbalmedBrawler extends CardImpl { public EmbalmedBrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EmberBeast.java b/Mage.Sets/src/mage/cards/e/EmberBeast.java index 2c715082c8e..7ce64e6462e 100644 --- a/Mage.Sets/src/mage/cards/e/EmberBeast.java +++ b/Mage.Sets/src/mage/cards/e/EmberBeast.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.CantBlockAloneAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class EmberBeast extends CardImpl { public EmberBeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EmberEyeWolf.java b/Mage.Sets/src/mage/cards/e/EmberEyeWolf.java index e2d78156ad6..532cb929095 100644 --- a/Mage.Sets/src/mage/cards/e/EmberEyeWolf.java +++ b/Mage.Sets/src/mage/cards/e/EmberEyeWolf.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class EmberEyeWolf extends CardImpl { public EmberEyeWolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EmberFistZubera.java b/Mage.Sets/src/mage/cards/e/EmberFistZubera.java index 46fe2ae8e57..7a2b729f387 100644 --- a/Mage.Sets/src/mage/cards/e/EmberFistZubera.java +++ b/Mage.Sets/src/mage/cards/e/EmberFistZubera.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; import mage.watchers.common.ZuberasDiedWatcher; @@ -48,8 +49,8 @@ public class EmberFistZubera extends CardImpl { public EmberFistZubera (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Zubera"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ZUBERA); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EmberHauler.java b/Mage.Sets/src/mage/cards/e/EmberHauler.java index b5b4dc1a5f6..4410a1638ec 100644 --- a/Mage.Sets/src/mage/cards/e/EmberHauler.java +++ b/Mage.Sets/src/mage/cards/e/EmberHauler.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -49,7 +50,7 @@ public class EmberHauler extends CardImpl { public EmberHauler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EmberSwallower.java b/Mage.Sets/src/mage/cards/e/EmberSwallower.java index d745e468e75..1c618a54b63 100644 --- a/Mage.Sets/src/mage/cards/e/EmberSwallower.java +++ b/Mage.Sets/src/mage/cards/e/EmberSwallower.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MonstrosityAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledLandPermanent; /** @@ -45,7 +46,7 @@ public class EmberSwallower extends CardImpl { public EmberSwallower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/EmberWeaver.java b/Mage.Sets/src/mage/cards/e/EmberWeaver.java index b3c7145001a..53a87e89803 100644 --- a/Mage.Sets/src/mage/cards/e/EmberWeaver.java +++ b/Mage.Sets/src/mage/cards/e/EmberWeaver.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -57,7 +58,7 @@ public class EmberWeaver extends CardImpl { public EmberWeaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EmberhornMinotaur.java b/Mage.Sets/src/mage/cards/e/EmberhornMinotaur.java index 2a16f49984f..855609590cb 100644 --- a/Mage.Sets/src/mage/cards/e/EmberhornMinotaur.java +++ b/Mage.Sets/src/mage/cards/e/EmberhornMinotaur.java @@ -1,75 +1,76 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.e; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.BecomesExertSourceTriggeredAbility; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; -import mage.abilities.keyword.ExertAbility; -import mage.abilities.keyword.MenaceAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; - -/** - * - * @author Styxo - */ -public class EmberhornMinotaur extends CardImpl { - - public EmberhornMinotaur(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); - this.power = new MageInt(4); - this.toughness = new MageInt(3); - - // You may exert Emberhorn Minotaur as it attacks. When you do, it gets +1/+1 and gains menace until end of turn. - Effect effect = new BoostSourceEffect(1, 1, Duration.EndOfTurn); - effect.setText("it gets +1/+1"); - BecomesExertSourceTriggeredAbility ability = new BecomesExertSourceTriggeredAbility(effect); - effect = new GainAbilitySourceEffect(new MenaceAbility(), Duration.EndOfTurn); - effect.setText("and gains menace until end of turn"); - ability.addEffect(effect); - this.addAbility(new ExertAbility(ability)); - } - - public EmberhornMinotaur(final EmberhornMinotaur card) { - super(card); - } - - @Override - public EmberhornMinotaur copy() { - return new EmberhornMinotaur(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.e; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.BecomesExertSourceTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.keyword.ExertAbility; +import mage.abilities.keyword.MenaceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; + +/** + * + * @author Styxo + */ +public class EmberhornMinotaur extends CardImpl { + + public EmberhornMinotaur(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); + + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(4); + this.toughness = new MageInt(3); + + // You may exert Emberhorn Minotaur as it attacks. When you do, it gets +1/+1 and gains menace until end of turn. + Effect effect = new BoostSourceEffect(1, 1, Duration.EndOfTurn); + effect.setText("it gets +1/+1"); + BecomesExertSourceTriggeredAbility ability = new BecomesExertSourceTriggeredAbility(effect); + effect = new GainAbilitySourceEffect(new MenaceAbility(), Duration.EndOfTurn); + effect.setText("and gains menace until end of turn"); + ability.addEffect(effect); + this.addAbility(new ExertAbility(ability)); + } + + public EmberhornMinotaur(final EmberhornMinotaur card) { + super(card); + } + + @Override + public EmberhornMinotaur copy() { + return new EmberhornMinotaur(this); + } +} diff --git a/Mage.Sets/src/mage/cards/e/EmbermageGoblin.java b/Mage.Sets/src/mage/cards/e/EmbermageGoblin.java index 9033b71b938..9e722e03ab6 100644 --- a/Mage.Sets/src/mage/cards/e/EmbermageGoblin.java +++ b/Mage.Sets/src/mage/cards/e/EmbermageGoblin.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.NamePredicate; @@ -59,8 +60,8 @@ public class EmbermageGoblin extends CardImpl { public EmbermageGoblin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EmbermawHellion.java b/Mage.Sets/src/mage/cards/e/EmbermawHellion.java index beba51603f8..641091b6fc6 100644 --- a/Mage.Sets/src/mage/cards/e/EmbermawHellion.java +++ b/Mage.Sets/src/mage/cards/e/EmbermawHellion.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class EmbermawHellion extends CardImpl { public EmbermawHellion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Hellion"); + this.subtype.add(SubType.HELLION); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/Embersmith.java b/Mage.Sets/src/mage/cards/e/Embersmith.java index 1ef00d8913e..5a6ec044cab 100644 --- a/Mage.Sets/src/mage/cards/e/Embersmith.java +++ b/Mage.Sets/src/mage/cards/e/Embersmith.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterArtifactSpell; import mage.game.Game; @@ -50,8 +51,8 @@ import mage.target.common.TargetCreatureOrPlayer; public class Embersmith extends CardImpl { public Embersmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EmberstrikeDuo.java b/Mage.Sets/src/mage/cards/e/EmberstrikeDuo.java index 1fd3d269b08..d0159d079d7 100644 --- a/Mage.Sets/src/mage/cards/e/EmberstrikeDuo.java +++ b/Mage.Sets/src/mage/cards/e/EmberstrikeDuo.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,9 +58,9 @@ public class EmberstrikeDuo extends CardImpl { public EmberstrikeDuo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B/R}"); - this.subtype.add("Elemental"); - this.subtype.add("Warrior"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EmberwildeAugur.java b/Mage.Sets/src/mage/cards/e/EmberwildeAugur.java index d8bb666f773..c41a1586105 100644 --- a/Mage.Sets/src/mage/cards/e/EmberwildeAugur.java +++ b/Mage.Sets/src/mage/cards/e/EmberwildeAugur.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -49,8 +50,8 @@ public class EmberwildeAugur extends CardImpl { public EmberwildeAugur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EmblemOfTheWarmind.java b/Mage.Sets/src/mage/cards/e/EmblemOfTheWarmind.java index a4ac56b7b8f..4764b2e89c9 100644 --- a/Mage.Sets/src/mage/cards/e/EmblemOfTheWarmind.java +++ b/Mage.Sets/src/mage/cards/e/EmblemOfTheWarmind.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class EmblemOfTheWarmind extends CardImpl { public EmblemOfTheWarmind(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature you control TargetPermanent auraTarget = new TargetControlledCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/e/EmbodimentOfFury.java b/Mage.Sets/src/mage/cards/e/EmbodimentOfFury.java index 37ad396db97..b058f3521cb 100644 --- a/Mage.Sets/src/mage/cards/e/EmbodimentOfFury.java +++ b/Mage.Sets/src/mage/cards/e/EmbodimentOfFury.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -62,7 +63,7 @@ public class EmbodimentOfFury extends CardImpl { public EmbodimentOfFury(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(3); @@ -95,7 +96,7 @@ class EmbodimentOfFuryToken extends Token { super("", "3/3 Elemental creature with haste"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); this.addAbility(HasteAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/e/EmbodimentOfInsight.java b/Mage.Sets/src/mage/cards/e/EmbodimentOfInsight.java index 245b29e16dd..28cba155330 100644 --- a/Mage.Sets/src/mage/cards/e/EmbodimentOfInsight.java +++ b/Mage.Sets/src/mage/cards/e/EmbodimentOfInsight.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -62,7 +63,7 @@ public class EmbodimentOfInsight extends CardImpl { public EmbodimentOfInsight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); @@ -95,7 +96,7 @@ class EmbodimentOfInsightToken extends Token { super("", "3/3 Elemental creature with haste"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); this.addAbility(HasteAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/e/EmbodimentOfSpring.java b/Mage.Sets/src/mage/cards/e/EmbodimentOfSpring.java index 5186e4b1f2b..6c34b5fde2b 100644 --- a/Mage.Sets/src/mage/cards/e/EmbodimentOfSpring.java +++ b/Mage.Sets/src/mage/cards/e/EmbodimentOfSpring.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -50,7 +51,7 @@ public class EmbodimentOfSpring extends CardImpl { public EmbodimentOfSpring(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EmbraalBruiser.java b/Mage.Sets/src/mage/cards/e/EmbraalBruiser.java index 701fb7872b4..9904469165c 100644 --- a/Mage.Sets/src/mage/cards/e/EmbraalBruiser.java +++ b/Mage.Sets/src/mage/cards/e/EmbraalBruiser.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -49,8 +50,8 @@ public class EmbraalBruiser extends CardImpl { public EmbraalBruiser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EmbraalGearSmasher.java b/Mage.Sets/src/mage/cards/e/EmbraalGearSmasher.java index 69eec96752c..1c5eed278b8 100644 --- a/Mage.Sets/src/mage/cards/e/EmbraalGearSmasher.java +++ b/Mage.Sets/src/mage/cards/e/EmbraalGearSmasher.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamagePlayersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; @@ -51,8 +52,8 @@ public class EmbraalGearSmasher extends CardImpl { public EmbraalGearSmasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EmeraldDragonfly.java b/Mage.Sets/src/mage/cards/e/EmeraldDragonfly.java index 8697d2f0823..8491082c891 100644 --- a/Mage.Sets/src/mage/cards/e/EmeraldDragonfly.java +++ b/Mage.Sets/src/mage/cards/e/EmeraldDragonfly.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class EmeraldDragonfly extends CardImpl { public EmeraldDragonfly(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EmeraldOryx.java b/Mage.Sets/src/mage/cards/e/EmeraldOryx.java index a29a4c4a423..bbfdf8eca6b 100644 --- a/Mage.Sets/src/mage/cards/e/EmeraldOryx.java +++ b/Mage.Sets/src/mage/cards/e/EmeraldOryx.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class EmeraldOryx extends CardImpl { public EmeraldOryx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Antelope"); + this.subtype.add(SubType.ANTELOPE); this.power = new MageInt(2); this.toughness = new MageInt(3); this.addAbility(new ForestwalkAbility()); diff --git a/Mage.Sets/src/mage/cards/e/EmeriaAngel.java b/Mage.Sets/src/mage/cards/e/EmeriaAngel.java index a16b172932f..d456e73d8f7 100644 --- a/Mage.Sets/src/mage/cards/e/EmeriaAngel.java +++ b/Mage.Sets/src/mage/cards/e/EmeriaAngel.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.BirdToken; /** @@ -46,7 +47,7 @@ public class EmeriaAngel extends CardImpl { public EmeriaAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EmeriaShepherd.java b/Mage.Sets/src/mage/cards/e/EmeriaShepherd.java index c4d7d2c6e27..b29bc60199c 100644 --- a/Mage.Sets/src/mage/cards/e/EmeriaShepherd.java +++ b/Mage.Sets/src/mage/cards/e/EmeriaShepherd.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterPermanentCard; @@ -61,7 +62,7 @@ public class EmeriaShepherd extends CardImpl { public EmeriaShepherd(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EmissaryOfDespair.java b/Mage.Sets/src/mage/cards/e/EmissaryOfDespair.java index f8507db94f1..fd3cfffdc7b 100644 --- a/Mage.Sets/src/mage/cards/e/EmissaryOfDespair.java +++ b/Mage.Sets/src/mage/cards/e/EmissaryOfDespair.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactPermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; import mage.game.Game; @@ -50,7 +51,7 @@ public class EmissaryOfDespair extends CardImpl { public EmissaryOfDespair(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EmissaryOfHope.java b/Mage.Sets/src/mage/cards/e/EmissaryOfHope.java index 5e4319e2fd0..4c191383e48 100644 --- a/Mage.Sets/src/mage/cards/e/EmissaryOfHope.java +++ b/Mage.Sets/src/mage/cards/e/EmissaryOfHope.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.FilterPermanent; @@ -52,7 +53,7 @@ public class EmissaryOfHope extends CardImpl { public EmissaryOfHope(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EmissaryOfTheSleepless.java b/Mage.Sets/src/mage/cards/e/EmissaryOfTheSleepless.java index 9a59d2b726c..bfce46bf46a 100644 --- a/Mage.Sets/src/mage/cards/e/EmissaryOfTheSleepless.java +++ b/Mage.Sets/src/mage/cards/e/EmissaryOfTheSleepless.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.SpiritWhiteToken; /** @@ -48,7 +49,7 @@ public class EmissaryOfTheSleepless extends CardImpl { public EmissaryOfTheSleepless(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EmmaraTandris.java b/Mage.Sets/src/mage/cards/e/EmmaraTandris.java index 73e20a51b01..a56231eccfe 100644 --- a/Mage.Sets/src/mage/cards/e/EmmaraTandris.java +++ b/Mage.Sets/src/mage/cards/e/EmmaraTandris.java @@ -55,8 +55,8 @@ public class EmmaraTandris extends CardImpl { public EmmaraTandris(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(5); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/e/EmperorCrocodile.java b/Mage.Sets/src/mage/cards/e/EmperorCrocodile.java index ea8ccec5f0c..755d7173c5d 100644 --- a/Mage.Sets/src/mage/cards/e/EmperorCrocodile.java +++ b/Mage.Sets/src/mage/cards/e/EmperorCrocodile.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -47,7 +48,7 @@ public class EmperorCrocodile extends CardImpl { public EmperorCrocodile(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Crocodile"); + this.subtype.add(SubType.CROCODILE); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/EmperorsVanguard.java b/Mage.Sets/src/mage/cards/e/EmperorsVanguard.java index 9f1f2831a98..1c606707cde 100644 --- a/Mage.Sets/src/mage/cards/e/EmperorsVanguard.java +++ b/Mage.Sets/src/mage/cards/e/EmperorsVanguard.java @@ -34,6 +34,7 @@ import mage.abilities.effects.keyword.ExploreSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class EmperorsVanguard extends CardImpl { public EmperorsVanguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EmpressGalina.java b/Mage.Sets/src/mage/cards/e/EmpressGalina.java index ce903629821..bc8521d990b 100644 --- a/Mage.Sets/src/mage/cards/e/EmpressGalina.java +++ b/Mage.Sets/src/mage/cards/e/EmpressGalina.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class EmpressGalina extends CardImpl { public EmpressGalina(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EmptyShrineKannushi.java b/Mage.Sets/src/mage/cards/e/EmptyShrineKannushi.java index 5c76c4c55ba..9183cd58a6b 100644 --- a/Mage.Sets/src/mage/cards/e/EmptyShrineKannushi.java +++ b/Mage.Sets/src/mage/cards/e/EmptyShrineKannushi.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.Filter; import mage.filter.FilterCard; import mage.filter.FilterObject; @@ -55,8 +56,8 @@ public class EmptyShrineKannushi extends CardImpl { public EmptyShrineKannushi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EmpyrealVoyager.java b/Mage.Sets/src/mage/cards/e/EmpyrealVoyager.java index 57b32d97e41..7105fb439e6 100644 --- a/Mage.Sets/src/mage/cards/e/EmpyrealVoyager.java +++ b/Mage.Sets/src/mage/cards/e/EmpyrealVoyager.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -50,8 +51,8 @@ public class EmpyrealVoyager extends CardImpl { public EmpyrealVoyager(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Scout"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EmpyrialArchangel.java b/Mage.Sets/src/mage/cards/e/EmpyrialArchangel.java index 7af10b01afa..133675ffb77 100644 --- a/Mage.Sets/src/mage/cards/e/EmpyrialArchangel.java +++ b/Mage.Sets/src/mage/cards/e/EmpyrialArchangel.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class EmpyrialArchangel extends CardImpl { public EmpyrialArchangel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{W}{W}{U}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(5); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/e/EmpyrialArmor.java b/Mage.Sets/src/mage/cards/e/EmpyrialArmor.java index 779d73330f7..6aad6551e1d 100644 --- a/Mage.Sets/src/mage/cards/e/EmpyrialArmor.java +++ b/Mage.Sets/src/mage/cards/e/EmpyrialArmor.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class EmpyrialArmor extends CardImpl { public EmpyrialArmor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/e/EmpyrialPlate.java b/Mage.Sets/src/mage/cards/e/EmpyrialPlate.java index ac2490ea330..123a1c01edf 100644 --- a/Mage.Sets/src/mage/cards/e/EmpyrialPlate.java +++ b/Mage.Sets/src/mage/cards/e/EmpyrialPlate.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class EmpyrialPlate extends CardImpl { public EmpyrialPlate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+1 for each card in your hand. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new CardsInControllerHandCount(), new CardsInControllerHandCount()))); diff --git a/Mage.Sets/src/mage/cards/e/EmrakulTheAeonsTorn.java b/Mage.Sets/src/mage/cards/e/EmrakulTheAeonsTorn.java index cef0a02eb97..1b44456472f 100644 --- a/Mage.Sets/src/mage/cards/e/EmrakulTheAeonsTorn.java +++ b/Mage.Sets/src/mage/cards/e/EmrakulTheAeonsTorn.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -59,7 +60,7 @@ public class EmrakulTheAeonsTorn extends CardImpl { public EmrakulTheAeonsTorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{15}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(15); this.toughness = new MageInt(15); diff --git a/Mage.Sets/src/mage/cards/e/EmrakulThePromisedEnd.java b/Mage.Sets/src/mage/cards/e/EmrakulThePromisedEnd.java index 26eb00305e0..73095ab5fac 100644 --- a/Mage.Sets/src/mage/cards/e/EmrakulThePromisedEnd.java +++ b/Mage.Sets/src/mage/cards/e/EmrakulThePromisedEnd.java @@ -67,7 +67,7 @@ public class EmrakulThePromisedEnd extends CardImpl { public EmrakulThePromisedEnd(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{13}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(13); this.toughness = new MageInt(13); diff --git a/Mage.Sets/src/mage/cards/e/EmrakulsEvangel.java b/Mage.Sets/src/mage/cards/e/EmrakulsEvangel.java index 188532f9362..9dce4aeb8f1 100644 --- a/Mage.Sets/src/mage/cards/e/EmrakulsEvangel.java +++ b/Mage.Sets/src/mage/cards/e/EmrakulsEvangel.java @@ -60,8 +60,8 @@ public class EmrakulsEvangel extends CardImpl { public EmrakulsEvangel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EmrakulsHatcher.java b/Mage.Sets/src/mage/cards/e/EmrakulsHatcher.java index 2ee39bcb570..11577b77311 100644 --- a/Mage.Sets/src/mage/cards/e/EmrakulsHatcher.java +++ b/Mage.Sets/src/mage/cards/e/EmrakulsHatcher.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.EldraziSpawnToken; /** @@ -45,8 +46,8 @@ public class EmrakulsHatcher extends CardImpl { public EmrakulsHatcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EnatuGolem.java b/Mage.Sets/src/mage/cards/e/EnatuGolem.java index 6761da3a577..a287f475acb 100644 --- a/Mage.Sets/src/mage/cards/e/EnatuGolem.java +++ b/Mage.Sets/src/mage/cards/e/EnatuGolem.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class EnatuGolem extends CardImpl { public EnatuGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/EncaseInIce.java b/Mage.Sets/src/mage/cards/e/EncaseInIce.java index 1cad5e1a46f..23da8ddba09 100644 --- a/Mage.Sets/src/mage/cards/e/EncaseInIce.java +++ b/Mage.Sets/src/mage/cards/e/EncaseInIce.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -63,7 +64,7 @@ public class EncaseInIce extends CardImpl { public EncaseInIce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/e/EnclaveCryptologist.java b/Mage.Sets/src/mage/cards/e/EnclaveCryptologist.java index 61aa5a81dfb..45261b032a4 100644 --- a/Mage.Sets/src/mage/cards/e/EnclaveCryptologist.java +++ b/Mage.Sets/src/mage/cards/e/EnclaveCryptologist.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -53,8 +54,8 @@ public class EnclaveCryptologist extends LevelerCard { public EnclaveCryptologist (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.color.setBlue(true); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EnclaveElite.java b/Mage.Sets/src/mage/cards/e/EnclaveElite.java index ba7737f281d..7af0f092519 100644 --- a/Mage.Sets/src/mage/cards/e/EnclaveElite.java +++ b/Mage.Sets/src/mage/cards/e/EnclaveElite.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MultikickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -47,8 +48,8 @@ public class EnclaveElite extends CardImpl { public EnclaveElite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/Encrust.java b/Mage.Sets/src/mage/cards/e/Encrust.java index 0f722bfb97e..29fa6048ea5 100644 --- a/Mage.Sets/src/mage/cards/e/Encrust.java +++ b/Mage.Sets/src/mage/cards/e/Encrust.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -61,7 +62,7 @@ public class Encrust extends CardImpl { public Encrust(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact or creature diff --git a/Mage.Sets/src/mage/cards/e/EndangeredArmodon.java b/Mage.Sets/src/mage/cards/e/EndangeredArmodon.java index 0153f935787..9dcbbe84897 100644 --- a/Mage.Sets/src/mage/cards/e/EndangeredArmodon.java +++ b/Mage.Sets/src/mage/cards/e/EndangeredArmodon.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ToughnessPredicate; @@ -53,7 +54,7 @@ public class EndangeredArmodon extends CardImpl { public EndangeredArmodon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/Endbringer.java b/Mage.Sets/src/mage/cards/e/Endbringer.java index c4290c2f7b8..f80ab8c1c03 100644 --- a/Mage.Sets/src/mage/cards/e/Endbringer.java +++ b/Mage.Sets/src/mage/cards/e/Endbringer.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.continuous.UntapSourceDuringEachOtherPlayer import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -54,7 +55,7 @@ public class Endbringer extends CardImpl { public Endbringer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{C}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/EndlessCockroaches.java b/Mage.Sets/src/mage/cards/e/EndlessCockroaches.java index 6a77591b3df..c24c4b93a93 100644 --- a/Mage.Sets/src/mage/cards/e/EndlessCockroaches.java +++ b/Mage.Sets/src/mage/cards/e/EndlessCockroaches.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class EndlessCockroaches extends CardImpl { public EndlessCockroaches(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EndlessOne.java b/Mage.Sets/src/mage/cards/e/EndlessOne.java index 08f642c8ecd..40086f05e1f 100644 --- a/Mage.Sets/src/mage/cards/e/EndlessOne.java +++ b/Mage.Sets/src/mage/cards/e/EndlessOne.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.EntersBattlefieldWithXCountersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -44,7 +45,7 @@ public class EndlessOne extends CardImpl { public EndlessOne(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{X}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/e/EndlessSands.java b/Mage.Sets/src/mage/cards/e/EndlessSands.java index aa9a6444346..676f58b73d0 100644 --- a/Mage.Sets/src/mage/cards/e/EndlessSands.java +++ b/Mage.Sets/src/mage/cards/e/EndlessSands.java @@ -12,6 +12,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -20,7 +21,7 @@ public class EndlessSands extends CardImpl { public EndlessSands(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Desert"); + this.subtype.add(SubType.DESERT); // {T}: Add {C} to your mana pool. this.addAbility(new ColorlessManaAbility()); diff --git a/Mage.Sets/src/mage/cards/e/EndlessScream.java b/Mage.Sets/src/mage/cards/e/EndlessScream.java index 0ed3b15c10f..ffcd26a6ad1 100644 --- a/Mage.Sets/src/mage/cards/e/EndlessScream.java +++ b/Mage.Sets/src/mage/cards/e/EndlessScream.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class EndlessScream extends CardImpl { public EndlessScream(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{X}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/e/EndlessWurm.java b/Mage.Sets/src/mage/cards/e/EndlessWurm.java index a0d082532ce..6787f69e256 100644 --- a/Mage.Sets/src/mage/cards/e/EndlessWurm.java +++ b/Mage.Sets/src/mage/cards/e/EndlessWurm.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterControlledEnchantmentPermanent; import mage.filter.common.FilterControlledPermanent; @@ -52,7 +53,7 @@ public class EndlessWurm extends CardImpl { public EndlessWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(9); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/e/EndrekSahrMasterBreeder.java b/Mage.Sets/src/mage/cards/e/EndrekSahrMasterBreeder.java index 179df27379d..8ee17fad26b 100644 --- a/Mage.Sets/src/mage/cards/e/EndrekSahrMasterBreeder.java +++ b/Mage.Sets/src/mage/cards/e/EndrekSahrMasterBreeder.java @@ -53,8 +53,8 @@ public class EndrekSahrMasterBreeder extends CardImpl { public EndrekSahrMasterBreeder(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EnduringScalelord.java b/Mage.Sets/src/mage/cards/e/EnduringScalelord.java index 5657a55a735..a591f0b15dc 100644 --- a/Mage.Sets/src/mage/cards/e/EnduringScalelord.java +++ b/Mage.Sets/src/mage/cards/e/EnduringScalelord.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -49,7 +50,7 @@ public class EnduringScalelord extends CardImpl { public EnduringScalelord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{W}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EnemyOfTheGuildpact.java b/Mage.Sets/src/mage/cards/e/EnemyOfTheGuildpact.java index b75a31424a2..55d5e41da82 100644 --- a/Mage.Sets/src/mage/cards/e/EnemyOfTheGuildpact.java +++ b/Mage.Sets/src/mage/cards/e/EnemyOfTheGuildpact.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterObject; import mage.filter.predicate.mageobject.MulticoloredPredicate; @@ -50,7 +51,7 @@ public class EnemyOfTheGuildpact extends CardImpl { public EnemyOfTheGuildpact(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/Energizer.java b/Mage.Sets/src/mage/cards/e/Energizer.java index 6f9d759607c..7da6d9ff8c9 100644 --- a/Mage.Sets/src/mage/cards/e/Energizer.java +++ b/Mage.Sets/src/mage/cards/e/Energizer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -48,7 +49,7 @@ public class Energizer extends CardImpl { public Energizer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Juggernaut"); + this.subtype.add(SubType.JUGGERNAUT); this.power = new MageInt(2); this.toughness = new MageInt(2); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)), new GenericManaCost(2)); diff --git a/Mage.Sets/src/mage/cards/e/Enfeeblement.java b/Mage.Sets/src/mage/cards/e/Enfeeblement.java index 2a5a56ee10e..8c58beebbb2 100644 --- a/Mage.Sets/src/mage/cards/e/Enfeeblement.java +++ b/Mage.Sets/src/mage/cards/e/Enfeeblement.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class Enfeeblement extends CardImpl { public Enfeeblement(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/e/EngulfingSlagwurm.java b/Mage.Sets/src/mage/cards/e/EngulfingSlagwurm.java index 2b030ae2ab6..a725aafbc2d 100644 --- a/Mage.Sets/src/mage/cards/e/EngulfingSlagwurm.java +++ b/Mage.Sets/src/mage/cards/e/EngulfingSlagwurm.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -49,7 +50,7 @@ public class EngulfingSlagwurm extends CardImpl { public EngulfingSlagwurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/e/EnigmaDrake.java b/Mage.Sets/src/mage/cards/e/EnigmaDrake.java index c7e403ef48e..f436a325a74 100644 --- a/Mage.Sets/src/mage/cards/e/EnigmaDrake.java +++ b/Mage.Sets/src/mage/cards/e/EnigmaDrake.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterInstantOrSorceryCard; @@ -48,7 +49,7 @@ public class EnigmaDrake extends CardImpl { public EnigmaDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{R}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EnigmaEidolon.java b/Mage.Sets/src/mage/cards/e/EnigmaEidolon.java index 5d0b14f2e1b..4a452e0f11b 100644 --- a/Mage.Sets/src/mage/cards/e/EnigmaEidolon.java +++ b/Mage.Sets/src/mage/cards/e/EnigmaEidolon.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.MulticoloredPredicate; @@ -58,7 +59,7 @@ public class EnigmaEidolon extends CardImpl { public EnigmaEidolon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EnigmaSphinx.java b/Mage.Sets/src/mage/cards/e/EnigmaSphinx.java index 01e15692616..ddfda7377a5 100644 --- a/Mage.Sets/src/mage/cards/e/EnigmaSphinx.java +++ b/Mage.Sets/src/mage/cards/e/EnigmaSphinx.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -57,7 +58,7 @@ public class EnigmaSphinx extends CardImpl { public EnigmaSphinx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{W}{U}{B}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EnlightenedAscetic.java b/Mage.Sets/src/mage/cards/e/EnlightenedAscetic.java index 482932feecc..19046682ce2 100644 --- a/Mage.Sets/src/mage/cards/e/EnlightenedAscetic.java +++ b/Mage.Sets/src/mage/cards/e/EnlightenedAscetic.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetEnchantmentPermanent; /** @@ -45,8 +46,8 @@ public class EnlightenedAscetic extends CardImpl { public EnlightenedAscetic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Monk"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.MONK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EnlightenedManiac.java b/Mage.Sets/src/mage/cards/e/EnlightenedManiac.java index 6b3db45e71d..6a48f2964bf 100644 --- a/Mage.Sets/src/mage/cards/e/EnlightenedManiac.java +++ b/Mage.Sets/src/mage/cards/e/EnlightenedManiac.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.EldraziHorrorToken; /** @@ -44,7 +45,7 @@ public class EnlightenedManiac extends CardImpl { public EnlightenedManiac(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EnlistedWurm.java b/Mage.Sets/src/mage/cards/e/EnlistedWurm.java index 107552e08f7..af0cc55c5d6 100644 --- a/Mage.Sets/src/mage/cards/e/EnlistedWurm.java +++ b/Mage.Sets/src/mage/cards/e/EnlistedWurm.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.CascadeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class EnlistedWurm extends CardImpl { public EnlistedWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{W}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/EnlistmentOfficer.java b/Mage.Sets/src/mage/cards/e/EnlistmentOfficer.java index d9ba7158c5a..4c4c60b4336 100644 --- a/Mage.Sets/src/mage/cards/e/EnlistmentOfficer.java +++ b/Mage.Sets/src/mage/cards/e/EnlistmentOfficer.java @@ -54,8 +54,8 @@ public class EnlistmentOfficer extends CardImpl { public EnlistmentOfficer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EnormousBaloth.java b/Mage.Sets/src/mage/cards/e/EnormousBaloth.java index 0ff6392ab02..162c0ea1529 100644 --- a/Mage.Sets/src/mage/cards/e/EnormousBaloth.java +++ b/Mage.Sets/src/mage/cards/e/EnormousBaloth.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class EnormousBaloth extends CardImpl { public EnormousBaloth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/e/EnragedGiant.java b/Mage.Sets/src/mage/cards/e/EnragedGiant.java index 578a5260229..b18eee81104 100644 --- a/Mage.Sets/src/mage/cards/e/EnragedGiant.java +++ b/Mage.Sets/src/mage/cards/e/EnragedGiant.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class EnragedGiant extends CardImpl { public EnragedGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EnragedRevolutionary.java b/Mage.Sets/src/mage/cards/e/EnragedRevolutionary.java index 09509bca2bf..ed9b41c4f82 100644 --- a/Mage.Sets/src/mage/cards/e/EnragedRevolutionary.java +++ b/Mage.Sets/src/mage/cards/e/EnragedRevolutionary.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DethroneAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class EnragedRevolutionary extends CardImpl { public EnragedRevolutionary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EnragingLicid.java b/Mage.Sets/src/mage/cards/e/EnragingLicid.java index 34122ded590..145460a3ff4 100644 --- a/Mage.Sets/src/mage/cards/e/EnragingLicid.java +++ b/Mage.Sets/src/mage/cards/e/EnragingLicid.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class EnragingLicid extends CardImpl { public EnragingLicid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Licid"); + this.subtype.add(SubType.LICID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/Enslave.java b/Mage.Sets/src/mage/cards/e/Enslave.java index f16a66a34db..fc002a1b389 100644 --- a/Mage.Sets/src/mage/cards/e/Enslave.java +++ b/Mage.Sets/src/mage/cards/e/Enslave.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class Enslave extends CardImpl { public Enslave(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/e/EnslavedDwarf.java b/Mage.Sets/src/mage/cards/e/EnslavedDwarf.java index 8a7ade4c883..4b5ea5257cf 100644 --- a/Mage.Sets/src/mage/cards/e/EnslavedDwarf.java +++ b/Mage.Sets/src/mage/cards/e/EnslavedDwarf.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -61,7 +62,7 @@ public class EnslavedDwarf extends CardImpl { public EnslavedDwarf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Dwarf"); + this.subtype.add(SubType.DWARF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EnslavedScout.java b/Mage.Sets/src/mage/cards/e/EnslavedScout.java index b82bcf07cb4..36d4f8bdbf6 100644 --- a/Mage.Sets/src/mage/cards/e/EnslavedScout.java +++ b/Mage.Sets/src/mage/cards/e/EnslavedScout.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MountainwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class EnslavedScout extends CardImpl { public EnslavedScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Scout"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EnsoulArtifact.java b/Mage.Sets/src/mage/cards/e/EnsoulArtifact.java index fecaabd681a..c123e757521 100644 --- a/Mage.Sets/src/mage/cards/e/EnsoulArtifact.java +++ b/Mage.Sets/src/mage/cards/e/EnsoulArtifact.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class EnsoulArtifact extends CardImpl { public EnsoulArtifact(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact diff --git a/Mage.Sets/src/mage/cards/e/EnsouledScimitar.java b/Mage.Sets/src/mage/cards/e/EnsouledScimitar.java index 53c4bd68176..c7f62de1163 100644 --- a/Mage.Sets/src/mage/cards/e/EnsouledScimitar.java +++ b/Mage.Sets/src/mage/cards/e/EnsouledScimitar.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class EnsouledScimitar extends CardImpl { public EnsouledScimitar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // {3}: Ensouled Scimitar becomes a 1/5 Spirit artifact creature with flying until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new EnsouledScimitarToken(), "", Duration.EndOfTurn), new ManaCostsImpl("{3}"))); @@ -78,7 +79,7 @@ class EnsouledScimitarToken extends Token { super("Pincher", "1/5 Spirit artifact creature with flying"); setOriginalExpansionSetCode("5ND"); cardType.add(CardType.CREATURE); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(1); toughness = new MageInt(5); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/e/Entangler.java b/Mage.Sets/src/mage/cards/e/Entangler.java index f57c09e1f45..3ec1b2578bd 100644 --- a/Mage.Sets/src/mage/cards/e/Entangler.java +++ b/Mage.Sets/src/mage/cards/e/Entangler.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class Entangler extends CardImpl { public Entangler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/e/EntanglingVines.java b/Mage.Sets/src/mage/cards/e/EntanglingVines.java index b3fbe2a7b5f..3d92bf40cad 100644 --- a/Mage.Sets/src/mage/cards/e/EntanglingVines.java +++ b/Mage.Sets/src/mage/cards/e/EntanglingVines.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -56,7 +57,7 @@ public class EntanglingVines extends CardImpl { public EntanglingVines(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant tapped creature diff --git a/Mage.Sets/src/mage/cards/e/EnthrallingVictor.java b/Mage.Sets/src/mage/cards/e/EnthrallingVictor.java index 184aa508d93..c3225600ecc 100644 --- a/Mage.Sets/src/mage/cards/e/EnthrallingVictor.java +++ b/Mage.Sets/src/mage/cards/e/EnthrallingVictor.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.TargetController; @@ -63,8 +64,8 @@ public class EnthrallingVictor extends CardImpl { public EnthrallingVictor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EntomberExarch.java b/Mage.Sets/src/mage/cards/e/EntomberExarch.java index b7f5b2af5d5..13d6ff963cd 100644 --- a/Mage.Sets/src/mage/cards/e/EntomberExarch.java +++ b/Mage.Sets/src/mage/cards/e/EntomberExarch.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -58,7 +59,7 @@ public class EntomberExarch extends CardImpl { public EntomberExarch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EntourageOfTrest.java b/Mage.Sets/src/mage/cards/e/EntourageOfTrest.java index daa2b4872c7..1f9c5b415ff 100644 --- a/Mage.Sets/src/mage/cards/e/EntourageOfTrest.java +++ b/Mage.Sets/src/mage/cards/e/EntourageOfTrest.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.combat.CanBlockAdditionalCreatureEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,8 +50,8 @@ public class EntourageOfTrest extends CardImpl { public EntourageOfTrest(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EntropicEidolon.java b/Mage.Sets/src/mage/cards/e/EntropicEidolon.java index 4a62d593506..519fb197f8c 100644 --- a/Mage.Sets/src/mage/cards/e/EntropicEidolon.java +++ b/Mage.Sets/src/mage/cards/e/EntropicEidolon.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.MulticoloredPredicate; @@ -60,7 +61,7 @@ public class EntropicEidolon extends CardImpl { public EntropicEidolon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EntropicSpecter.java b/Mage.Sets/src/mage/cards/e/EntropicSpecter.java index 8213ca08264..836cc8fd16d 100644 --- a/Mage.Sets/src/mage/cards/e/EntropicSpecter.java +++ b/Mage.Sets/src/mage/cards/e/EntropicSpecter.java @@ -53,8 +53,8 @@ public class EntropicSpecter extends CardImpl { public EntropicSpecter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Specter"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPECTER); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/e/EpharaGodOfThePolis.java b/Mage.Sets/src/mage/cards/e/EpharaGodOfThePolis.java index 3e78b3cc52d..bb0ee395283 100644 --- a/Mage.Sets/src/mage/cards/e/EpharaGodOfThePolis.java +++ b/Mage.Sets/src/mage/cards/e/EpharaGodOfThePolis.java @@ -55,7 +55,7 @@ public class EpharaGodOfThePolis extends CardImpl { public EpharaGodOfThePolis(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{2}{W}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/EpharasEnlightenment.java b/Mage.Sets/src/mage/cards/e/EpharasEnlightenment.java index 419eee9a19a..0cda2ae9dad 100644 --- a/Mage.Sets/src/mage/cards/e/EpharasEnlightenment.java +++ b/Mage.Sets/src/mage/cards/e/EpharasEnlightenment.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -57,7 +58,7 @@ public class EpharasEnlightenment extends CardImpl { public EpharasEnlightenment(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/e/EpharasRadiance.java b/Mage.Sets/src/mage/cards/e/EpharasRadiance.java index ee5648dcbeb..75426d6228c 100644 --- a/Mage.Sets/src/mage/cards/e/EpharasRadiance.java +++ b/Mage.Sets/src/mage/cards/e/EpharasRadiance.java @@ -51,7 +51,7 @@ public class EpharasRadiance extends CardImpl { public EpharasRadiance(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/e/EpharasWarden.java b/Mage.Sets/src/mage/cards/e/EpharasWarden.java index c19e7ed53e0..ed4295f979d 100644 --- a/Mage.Sets/src/mage/cards/e/EpharasWarden.java +++ b/Mage.Sets/src/mage/cards/e/EpharasWarden.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -56,8 +57,8 @@ public class EpharasWarden extends CardImpl { public EpharasWarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/Ephemeron.java b/Mage.Sets/src/mage/cards/e/Ephemeron.java index aee6b630d43..f7b75b46636 100644 --- a/Mage.Sets/src/mage/cards/e/Ephemeron.java +++ b/Mage.Sets/src/mage/cards/e/Ephemeron.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCardInHand; @@ -47,7 +48,7 @@ public class Ephemeron extends CardImpl { public Ephemeron(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EpicProportions.java b/Mage.Sets/src/mage/cards/e/EpicProportions.java index f0414a816e1..215b29413ce 100644 --- a/Mage.Sets/src/mage/cards/e/EpicProportions.java +++ b/Mage.Sets/src/mage/cards/e/EpicProportions.java @@ -50,7 +50,7 @@ public class EpicProportions extends CardImpl { public EpicProportions(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{G}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); this.addAbility(FlashAbility.getInstance()); TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/e/EpiphanyStorm.java b/Mage.Sets/src/mage/cards/e/EpiphanyStorm.java index f5a360a32c2..91778170849 100644 --- a/Mage.Sets/src/mage/cards/e/EpiphanyStorm.java +++ b/Mage.Sets/src/mage/cards/e/EpiphanyStorm.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -55,7 +56,7 @@ public class EpiphanyStorm extends CardImpl { public EpiphanyStorm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/e/EpitaphGolem.java b/Mage.Sets/src/mage/cards/e/EpitaphGolem.java index c670e6d4eea..5d9780d93ba 100644 --- a/Mage.Sets/src/mage/cards/e/EpitaphGolem.java +++ b/Mage.Sets/src/mage/cards/e/EpitaphGolem.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -50,7 +51,7 @@ public class EpitaphGolem extends CardImpl { public EpitaphGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/Epochrasite.java b/Mage.Sets/src/mage/cards/e/Epochrasite.java index 39eb39f8ea2..9707d0c231e 100644 --- a/Mage.Sets/src/mage/cards/e/Epochrasite.java +++ b/Mage.Sets/src/mage/cards/e/Epochrasite.java @@ -43,6 +43,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -58,7 +59,7 @@ public class Epochrasite extends CardImpl { public Epochrasite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EquestrianSkill.java b/Mage.Sets/src/mage/cards/e/EquestrianSkill.java index 168c870093c..481952b1609 100644 --- a/Mage.Sets/src/mage/cards/e/EquestrianSkill.java +++ b/Mage.Sets/src/mage/cards/e/EquestrianSkill.java @@ -51,7 +51,7 @@ public class EquestrianSkill extends CardImpl { public EquestrianSkill(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/e/ErayoSoratamiAscendant.java b/Mage.Sets/src/mage/cards/e/ErayoSoratamiAscendant.java index 178b613ca5f..85c7867794a 100644 --- a/Mage.Sets/src/mage/cards/e/ErayoSoratamiAscendant.java +++ b/Mage.Sets/src/mage/cards/e/ErayoSoratamiAscendant.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.game.Game; @@ -55,8 +56,8 @@ public class ErayoSoratamiAscendant extends CardImpl { public ErayoSoratamiAscendant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Moonfolk"); - this.subtype.add("Monk"); + this.subtype.add(SubType.MOONFOLK); + this.subtype.add(SubType.MONK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ErdwalIlluminator.java b/Mage.Sets/src/mage/cards/e/ErdwalIlluminator.java index 0f7112442b9..545e5450915 100644 --- a/Mage.Sets/src/mage/cards/e/ErdwalIlluminator.java +++ b/Mage.Sets/src/mage/cards/e/ErdwalIlluminator.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.WatcherScope; import mage.constants.Zone; import mage.game.Game; @@ -52,7 +53,7 @@ public class ErdwalIlluminator extends CardImpl { public ErdwalIlluminator(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/ErdwalRipper.java b/Mage.Sets/src/mage/cards/e/ErdwalRipper.java index 608bda67383..2b533990da5 100644 --- a/Mage.Sets/src/mage/cards/e/ErdwalRipper.java +++ b/Mage.Sets/src/mage/cards/e/ErdwalRipper.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,7 +46,7 @@ public class ErdwalRipper extends CardImpl { public ErdwalRipper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ErebosGodOfTheDead.java b/Mage.Sets/src/mage/cards/e/ErebosGodOfTheDead.java index b99c3352508..f250f2df169 100644 --- a/Mage.Sets/src/mage/cards/e/ErebosGodOfTheDead.java +++ b/Mage.Sets/src/mage/cards/e/ErebosGodOfTheDead.java @@ -55,7 +55,7 @@ public class ErebosGodOfTheDead extends CardImpl { public ErebosGodOfTheDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{3}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(5); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/e/ErebossEmissary.java b/Mage.Sets/src/mage/cards/e/ErebossEmissary.java index f24adeae2fc..9c0fd1625dc 100644 --- a/Mage.Sets/src/mage/cards/e/ErebossEmissary.java +++ b/Mage.Sets/src/mage/cards/e/ErebossEmissary.java @@ -54,7 +54,7 @@ public class ErebossEmissary extends CardImpl { public ErebossEmissary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{3}{B}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/ErebossTitan.java b/Mage.Sets/src/mage/cards/e/ErebossTitan.java index 8e7cb8867bc..ba7de369b48 100644 --- a/Mage.Sets/src/mage/cards/e/ErebossTitan.java +++ b/Mage.Sets/src/mage/cards/e/ErebossTitan.java @@ -42,6 +42,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.TargetController; @@ -67,7 +68,7 @@ public class ErebossTitan extends CardImpl { public ErebossTitan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}{B}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/ErgRaiders.java b/Mage.Sets/src/mage/cards/e/ErgRaiders.java index 0566d72b8b9..1ac5bdd1242 100644 --- a/Mage.Sets/src/mage/cards/e/ErgRaiders.java +++ b/Mage.Sets/src/mage/cards/e/ErgRaiders.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.DamageControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.game.Game; import mage.game.permanent.Permanent; @@ -53,8 +54,8 @@ public class ErgRaiders extends CardImpl { public ErgRaiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/ErhnamDjinn.java b/Mage.Sets/src/mage/cards/e/ErhnamDjinn.java index 038676d78b8..7a9d554974a 100644 --- a/Mage.Sets/src/mage/cards/e/ErhnamDjinn.java +++ b/Mage.Sets/src/mage/cards/e/ErhnamDjinn.java @@ -57,7 +57,7 @@ public class ErhnamDjinn extends CardImpl { public ErhnamDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/EronTheRelentless.java b/Mage.Sets/src/mage/cards/e/EronTheRelentless.java index 8dacffedefd..eaf8e92149a 100644 --- a/Mage.Sets/src/mage/cards/e/EronTheRelentless.java +++ b/Mage.Sets/src/mage/cards/e/EronTheRelentless.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class EronTheRelentless extends CardImpl { public EronTheRelentless(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(5); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/ErrantDoomsayers.java b/Mage.Sets/src/mage/cards/e/ErrantDoomsayers.java index 91911819a53..23fa87e7935 100644 --- a/Mage.Sets/src/mage/cards/e/ErrantDoomsayers.java +++ b/Mage.Sets/src/mage/cards/e/ErrantDoomsayers.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -56,8 +57,8 @@ public class ErrantDoomsayers extends CardImpl { public ErrantDoomsayers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ErrantEphemeron.java b/Mage.Sets/src/mage/cards/e/ErrantEphemeron.java index d2da1a2dec4..93d258d6515 100644 --- a/Mage.Sets/src/mage/cards/e/ErrantEphemeron.java +++ b/Mage.Sets/src/mage/cards/e/ErrantEphemeron.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class ErrantEphemeron extends CardImpl { public ErrantEphemeron(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/Errantry.java b/Mage.Sets/src/mage/cards/e/Errantry.java index cfbdf440980..aa86b5ff8eb 100644 --- a/Mage.Sets/src/mage/cards/e/Errantry.java +++ b/Mage.Sets/src/mage/cards/e/Errantry.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class Errantry extends CardImpl { public Errantry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/e/ErsatzGnomes.java b/Mage.Sets/src/mage/cards/e/ErsatzGnomes.java index 59bedb0ea96..bd15d44bf42 100644 --- a/Mage.Sets/src/mage/cards/e/ErsatzGnomes.java +++ b/Mage.Sets/src/mage/cards/e/ErsatzGnomes.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BecomesColorTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class ErsatzGnomes extends CardImpl { public ErsatzGnomes(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); - this.subtype.add("Gnome"); + this.subtype.add(SubType.GNOME); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ErtaiTheCorrupted.java b/Mage.Sets/src/mage/cards/e/ErtaiTheCorrupted.java index fede6fbad0b..879d0833120 100644 --- a/Mage.Sets/src/mage/cards/e/ErtaiTheCorrupted.java +++ b/Mage.Sets/src/mage/cards/e/ErtaiTheCorrupted.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CounterTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -61,8 +62,8 @@ public class ErtaiTheCorrupted extends CardImpl { public ErtaiTheCorrupted(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/ErtaiWizardAdept.java b/Mage.Sets/src/mage/cards/e/ErtaiWizardAdept.java index 69b0d4273be..0a02c0c538f 100644 --- a/Mage.Sets/src/mage/cards/e/ErtaiWizardAdept.java +++ b/Mage.Sets/src/mage/cards/e/ErtaiWizardAdept.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CounterTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.target.TargetSpell; @@ -50,8 +51,8 @@ public class ErtaiWizardAdept extends CardImpl { public ErtaiWizardAdept(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EruptingDreadwolf.java b/Mage.Sets/src/mage/cards/e/EruptingDreadwolf.java index 2e6bd05ce78..89360085f2d 100644 --- a/Mage.Sets/src/mage/cards/e/EruptingDreadwolf.java +++ b/Mage.Sets/src/mage/cards/e/EruptingDreadwolf.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; /** @@ -46,8 +47,8 @@ public class EruptingDreadwolf extends CardImpl { public EruptingDreadwolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Eldrazi"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EscapeArtist.java b/Mage.Sets/src/mage/cards/e/EscapeArtist.java index 6709bed0e90..cd2abe99e2b 100644 --- a/Mage.Sets/src/mage/cards/e/EscapeArtist.java +++ b/Mage.Sets/src/mage/cards/e/EscapeArtist.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCardInHand; @@ -49,8 +50,8 @@ public class EscapeArtist extends CardImpl { public EscapeArtist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EscapedNull.java b/Mage.Sets/src/mage/cards/e/EscapedNull.java index 101b1309cb8..2d4aa41af31 100644 --- a/Mage.Sets/src/mage/cards/e/EscapedNull.java +++ b/Mage.Sets/src/mage/cards/e/EscapedNull.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class EscapedNull extends CardImpl { public EscapedNull(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EsperBattlemage.java b/Mage.Sets/src/mage/cards/e/EsperBattlemage.java index 6314f092094..d566492cc84 100644 --- a/Mage.Sets/src/mage/cards/e/EsperBattlemage.java +++ b/Mage.Sets/src/mage/cards/e/EsperBattlemage.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class EsperBattlemage extends CardImpl { public EsperBattlemage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EsperCormorants.java b/Mage.Sets/src/mage/cards/e/EsperCormorants.java index d006bbb2f0a..e300552e4c3 100644 --- a/Mage.Sets/src/mage/cards/e/EsperCormorants.java +++ b/Mage.Sets/src/mage/cards/e/EsperCormorants.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class EsperCormorants extends CardImpl { public EsperCormorants(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}{W}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EsperSojourners.java b/Mage.Sets/src/mage/cards/e/EsperSojourners.java index 131aef14b5d..1ea1b0aff34 100644 --- a/Mage.Sets/src/mage/cards/e/EsperSojourners.java +++ b/Mage.Sets/src/mage/cards/e/EsperSojourners.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPermanent; /** @@ -48,8 +49,8 @@ public class EsperSojourners extends CardImpl { public EsperSojourners(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{W}{U}{B}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); diff --git a/Mage.Sets/src/mage/cards/e/EsperStormblade.java b/Mage.Sets/src/mage/cards/e/EsperStormblade.java index f9f1218b1ba..02161210100 100644 --- a/Mage.Sets/src/mage/cards/e/EsperStormblade.java +++ b/Mage.Sets/src/mage/cards/e/EsperStormblade.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -60,8 +61,8 @@ public class EsperStormblade extends CardImpl { public EsperStormblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{W/B}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); diff --git a/Mage.Sets/src/mage/cards/e/Esperzoa.java b/Mage.Sets/src/mage/cards/e/Esperzoa.java index 7fb421a5381..202f46f7c4d 100644 --- a/Mage.Sets/src/mage/cards/e/Esperzoa.java +++ b/Mage.Sets/src/mage/cards/e/Esperzoa.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterControlledArtifactPermanent; @@ -48,7 +49,7 @@ public class Esperzoa extends CardImpl { public Esperzoa (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}{U}"); - this.subtype.add("Jellyfish"); + this.subtype.add(SubType.JELLYFISH); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EssenceDepleter.java b/Mage.Sets/src/mage/cards/e/EssenceDepleter.java index 94465ff0536..4ae9f468efe 100644 --- a/Mage.Sets/src/mage/cards/e/EssenceDepleter.java +++ b/Mage.Sets/src/mage/cards/e/EssenceDepleter.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetOpponent; @@ -50,8 +51,8 @@ public class EssenceDepleter extends CardImpl { public EssenceDepleter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EssenceOfTheWild.java b/Mage.Sets/src/mage/cards/e/EssenceOfTheWild.java index 14eb71058c1..d3deaf97963 100644 --- a/Mage.Sets/src/mage/cards/e/EssenceOfTheWild.java +++ b/Mage.Sets/src/mage/cards/e/EssenceOfTheWild.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CopyEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class EssenceOfTheWild extends CardImpl { public EssenceOfTheWild(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}{G}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/e/EssenceSliver.java b/Mage.Sets/src/mage/cards/e/EssenceSliver.java index 7087f115a63..08c98c3eb89 100644 --- a/Mage.Sets/src/mage/cards/e/EssenceSliver.java +++ b/Mage.Sets/src/mage/cards/e/EssenceSliver.java @@ -54,7 +54,7 @@ public class EssenceSliver extends CardImpl { public EssenceSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EssenceWarden.java b/Mage.Sets/src/mage/cards/e/EssenceWarden.java index d27d66fddd3..7b3474fc4bc 100644 --- a/Mage.Sets/src/mage/cards/e/EssenceWarden.java +++ b/Mage.Sets/src/mage/cards/e/EssenceWarden.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -51,8 +52,8 @@ public class EssenceWarden extends CardImpl { public EssenceWarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EtchedChampion.java b/Mage.Sets/src/mage/cards/e/EtchedChampion.java index a075785337b..a21f74ad7be 100644 --- a/Mage.Sets/src/mage/cards/e/EtchedChampion.java +++ b/Mage.Sets/src/mage/cards/e/EtchedChampion.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterCard; @@ -65,7 +66,7 @@ public class EtchedChampion extends CardImpl { public EtchedChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EtchedMonstrosity.java b/Mage.Sets/src/mage/cards/e/EtchedMonstrosity.java index b7aea530942..da5cfef0227 100644 --- a/Mage.Sets/src/mage/cards/e/EtchedMonstrosity.java +++ b/Mage.Sets/src/mage/cards/e/EtchedMonstrosity.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.TargetPlayer; @@ -52,7 +53,7 @@ public class EtchedMonstrosity extends CardImpl { public EtchedMonstrosity (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(10); this.toughness = new MageInt(10); this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.M1M1.createInstance(5)), "{this} gets five -1/-1 counters")); diff --git a/Mage.Sets/src/mage/cards/e/EtchedOracle.java b/Mage.Sets/src/mage/cards/e/EtchedOracle.java index fc3021d5fa1..b72c87b13b0 100644 --- a/Mage.Sets/src/mage/cards/e/EtchedOracle.java +++ b/Mage.Sets/src/mage/cards/e/EtchedOracle.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.SunburstAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.TargetPlayer; @@ -50,7 +51,7 @@ public class EtchedOracle extends CardImpl { public EtchedOracle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/e/EternalDragon.java b/Mage.Sets/src/mage/cards/e/EternalDragon.java index eb16d0ffc7b..525fba0dfec 100644 --- a/Mage.Sets/src/mage/cards/e/EternalDragon.java +++ b/Mage.Sets/src/mage/cards/e/EternalDragon.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.PlainscyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class EternalDragon extends CardImpl { public EternalDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); - this.subtype.add("Dragon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DRAGON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/EternalOfHarshTruths.java b/Mage.Sets/src/mage/cards/e/EternalOfHarshTruths.java index e22fc74a9bb..dad55a9d3c0 100644 --- a/Mage.Sets/src/mage/cards/e/EternalOfHarshTruths.java +++ b/Mage.Sets/src/mage/cards/e/EternalOfHarshTruths.java @@ -1,68 +1,69 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.e; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.AttacksAndIsNotBlockedTriggeredAbility; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.keyword.AfflictAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author emerald000 - */ -public class EternalOfHarshTruths extends CardImpl { - - public EternalOfHarshTruths(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - - this.subtype.add("Zombie"); - this.subtype.add("Cleric"); - this.power = new MageInt(1); - this.toughness = new MageInt(3); - - // Afflict 2 - this.addAbility(new AfflictAbility(2)); - - // Whenever Eternal of Harsh Truths attacks and isn't blocked, draw a card. - this.addAbility(new AttacksAndIsNotBlockedTriggeredAbility(new DrawCardSourceControllerEffect(1))); - } - - public EternalOfHarshTruths(final EternalOfHarshTruths card) { - super(card); - } - - @Override - public EternalOfHarshTruths copy() { - return new EternalOfHarshTruths(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.e; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.AttacksAndIsNotBlockedTriggeredAbility; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.keyword.AfflictAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author emerald000 + */ +public class EternalOfHarshTruths extends CardImpl { + + public EternalOfHarshTruths(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); + + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.CLERIC); + this.power = new MageInt(1); + this.toughness = new MageInt(3); + + // Afflict 2 + this.addAbility(new AfflictAbility(2)); + + // Whenever Eternal of Harsh Truths attacks and isn't blocked, draw a card. + this.addAbility(new AttacksAndIsNotBlockedTriggeredAbility(new DrawCardSourceControllerEffect(1))); + } + + public EternalOfHarshTruths(final EternalOfHarshTruths card) { + super(card); + } + + @Override + public EternalOfHarshTruths copy() { + return new EternalOfHarshTruths(this); + } +} diff --git a/Mage.Sets/src/mage/cards/e/EternalScourge.java b/Mage.Sets/src/mage/cards/e/EternalScourge.java index 59dd46eda02..2bfc5855474 100644 --- a/Mage.Sets/src/mage/cards/e/EternalScourge.java +++ b/Mage.Sets/src/mage/cards/e/EternalScourge.java @@ -50,8 +50,8 @@ public class EternalScourge extends CardImpl { public EternalScourge(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EternalThirst.java b/Mage.Sets/src/mage/cards/e/EternalThirst.java index 4804781490f..a4c95f58e51 100644 --- a/Mage.Sets/src/mage/cards/e/EternalThirst.java +++ b/Mage.Sets/src/mage/cards/e/EternalThirst.java @@ -59,7 +59,7 @@ public class EternalThirst extends CardImpl { public EternalThirst(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/e/EternalWarrior.java b/Mage.Sets/src/mage/cards/e/EternalWarrior.java index 5cdae666d70..4d09e9f7dc8 100644 --- a/Mage.Sets/src/mage/cards/e/EternalWarrior.java +++ b/Mage.Sets/src/mage/cards/e/EternalWarrior.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class EternalWarrior extends CardImpl { public EternalWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/e/EternalWitness.java b/Mage.Sets/src/mage/cards/e/EternalWitness.java index ec4f0658e25..84dfb1a9f54 100644 --- a/Mage.Sets/src/mage/cards/e/EternalWitness.java +++ b/Mage.Sets/src/mage/cards/e/EternalWitness.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCardInYourGraveyard; /** @@ -45,8 +46,8 @@ public class EternalWitness extends CardImpl { public EternalWitness(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EternitySnare.java b/Mage.Sets/src/mage/cards/e/EternitySnare.java index ada607a00c4..a008d5d97a0 100644 --- a/Mage.Sets/src/mage/cards/e/EternitySnare.java +++ b/Mage.Sets/src/mage/cards/e/EternitySnare.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class EternitySnare extends CardImpl { public EternitySnare(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{5}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/e/EthercasteKnight.java b/Mage.Sets/src/mage/cards/e/EthercasteKnight.java index 856658f6780..0caf2c4f05f 100644 --- a/Mage.Sets/src/mage/cards/e/EthercasteKnight.java +++ b/Mage.Sets/src/mage/cards/e/EthercasteKnight.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ExaltedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class EthercasteKnight extends CardImpl { public EthercasteKnight (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{W}{U}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EtherealArmor.java b/Mage.Sets/src/mage/cards/e/EtherealArmor.java index 946233ca4d9..67328cead29 100644 --- a/Mage.Sets/src/mage/cards/e/EtherealArmor.java +++ b/Mage.Sets/src/mage/cards/e/EtherealArmor.java @@ -59,7 +59,7 @@ public class EtherealArmor extends CardImpl { public EtherealArmor (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/e/EtherealChampion.java b/Mage.Sets/src/mage/cards/e/EtherealChampion.java index 592865f1a5a..8977b176e02 100644 --- a/Mage.Sets/src/mage/cards/e/EtherealChampion.java +++ b/Mage.Sets/src/mage/cards/e/EtherealChampion.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventDamageToSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class EtherealChampion extends CardImpl { public EtherealChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}{W}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EtherealUsher.java b/Mage.Sets/src/mage/cards/e/EtherealUsher.java index 4b3272675f0..90d9ce91672 100644 --- a/Mage.Sets/src/mage/cards/e/EtherealUsher.java +++ b/Mage.Sets/src/mage/cards/e/EtherealUsher.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TransmuteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class EtherealUsher extends CardImpl { public EtherealUsher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EtherealWhiskergill.java b/Mage.Sets/src/mage/cards/e/EtherealWhiskergill.java index a59d32098d1..20dbd5bbe43 100644 --- a/Mage.Sets/src/mage/cards/e/EtherealWhiskergill.java +++ b/Mage.Sets/src/mage/cards/e/EtherealWhiskergill.java @@ -47,7 +47,7 @@ public class EtherealWhiskergill extends CardImpl { public EtherealWhiskergill(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EtheriumAbomination.java b/Mage.Sets/src/mage/cards/e/EtheriumAbomination.java index 44d3ef564ba..ebff0f28540 100644 --- a/Mage.Sets/src/mage/cards/e/EtheriumAbomination.java +++ b/Mage.Sets/src/mage/cards/e/EtheriumAbomination.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class EtheriumAbomination extends CardImpl { public EtheriumAbomination (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{U}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EtheriumHornSorcerer.java b/Mage.Sets/src/mage/cards/e/EtheriumHornSorcerer.java index 87eb08c3823..e9c2ccaf05f 100644 --- a/Mage.Sets/src/mage/cards/e/EtheriumHornSorcerer.java +++ b/Mage.Sets/src/mage/cards/e/EtheriumHornSorcerer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.CascadeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class EtheriumHornSorcerer extends CardImpl { public EtheriumHornSorcerer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{U}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EtheriumSculptor.java b/Mage.Sets/src/mage/cards/e/EtheriumSculptor.java index fb595886049..4f028723ffb 100644 --- a/Mage.Sets/src/mage/cards/e/EtheriumSculptor.java +++ b/Mage.Sets/src/mage/cards/e/EtheriumSculptor.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -50,8 +51,8 @@ public class EtheriumSculptor extends CardImpl { public EtheriumSculptor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EtherswornAdjudicator.java b/Mage.Sets/src/mage/cards/e/EtherswornAdjudicator.java index c49323e75ba..efa55606d58 100644 --- a/Mage.Sets/src/mage/cards/e/EtherswornAdjudicator.java +++ b/Mage.Sets/src/mage/cards/e/EtherswornAdjudicator.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -62,8 +63,8 @@ public class EtherswornAdjudicator extends CardImpl { public EtherswornAdjudicator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Knight"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/EtherswornCanonist.java b/Mage.Sets/src/mage/cards/e/EtherswornCanonist.java index ae2a0b0ee07..988ea9719f6 100644 --- a/Mage.Sets/src/mage/cards/e/EtherswornCanonist.java +++ b/Mage.Sets/src/mage/cards/e/EtherswornCanonist.java @@ -52,8 +52,8 @@ public class EtherswornCanonist extends CardImpl { public EtherswornCanonist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EtherswornShieldmage.java b/Mage.Sets/src/mage/cards/e/EtherswornShieldmage.java index 4e7a0fab876..644a8dd6057 100644 --- a/Mage.Sets/src/mage/cards/e/EtherswornShieldmage.java +++ b/Mage.Sets/src/mage/cards/e/EtherswornShieldmage.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -53,8 +54,8 @@ public class EtherswornShieldmage extends CardImpl { public EtherswornShieldmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{W}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); diff --git a/Mage.Sets/src/mage/cards/e/EvanescentIntellect.java b/Mage.Sets/src/mage/cards/e/EvanescentIntellect.java index 4d7ff6554e0..0c3440db5e5 100644 --- a/Mage.Sets/src/mage/cards/e/EvanescentIntellect.java +++ b/Mage.Sets/src/mage/cards/e/EvanescentIntellect.java @@ -52,7 +52,7 @@ public class EvanescentIntellect extends CardImpl { public EvanescentIntellect(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/e/EvangelOfHeliod.java b/Mage.Sets/src/mage/cards/e/EvangelOfHeliod.java index 792863e31d2..84dc8c21e84 100644 --- a/Mage.Sets/src/mage/cards/e/EvangelOfHeliod.java +++ b/Mage.Sets/src/mage/cards/e/EvangelOfHeliod.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.game.permanent.token.SoldierToken; @@ -46,8 +47,8 @@ public class EvangelOfHeliod extends CardImpl { public EvangelOfHeliod(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EverbarkShaman.java b/Mage.Sets/src/mage/cards/e/EverbarkShaman.java index 535ede2c986..8195477bdc2 100644 --- a/Mage.Sets/src/mage/cards/e/EverbarkShaman.java +++ b/Mage.Sets/src/mage/cards/e/EverbarkShaman.java @@ -61,8 +61,8 @@ public class EverbarkShaman extends CardImpl { public EverbarkShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/EverflameEidolon.java b/Mage.Sets/src/mage/cards/e/EverflameEidolon.java index ff3783bb656..cebffdaf4cf 100644 --- a/Mage.Sets/src/mage/cards/e/EverflameEidolon.java +++ b/Mage.Sets/src/mage/cards/e/EverflameEidolon.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.BestowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class EverflameEidolon extends CardImpl { public EverflameEidolon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{1}{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EvergloveCourier.java b/Mage.Sets/src/mage/cards/e/EvergloveCourier.java index 9c1af1b4ad5..7afe657fe83 100644 --- a/Mage.Sets/src/mage/cards/e/EvergloveCourier.java +++ b/Mage.Sets/src/mage/cards/e/EvergloveCourier.java @@ -63,7 +63,7 @@ public class EvergloveCourier extends CardImpl { public EvergloveCourier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EvernightShade.java b/Mage.Sets/src/mage/cards/e/EvernightShade.java index d6c93b7bad1..918b24fb10f 100644 --- a/Mage.Sets/src/mage/cards/e/EvernightShade.java +++ b/Mage.Sets/src/mage/cards/e/EvernightShade.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.UndyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class EvernightShade extends CardImpl { public EvernightShade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Shade"); + this.subtype.add(SubType.SHADE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/Evershrike.java b/Mage.Sets/src/mage/cards/e/Evershrike.java index 592d285127a..6a17ed06235 100644 --- a/Mage.Sets/src/mage/cards/e/Evershrike.java +++ b/Mage.Sets/src/mage/cards/e/Evershrike.java @@ -58,8 +58,8 @@ public class Evershrike extends CardImpl { public Evershrike(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W/B}{W/B}"); - this.subtype.add("Elemental"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EvilEyeOfOrmsByGore.java b/Mage.Sets/src/mage/cards/e/EvilEyeOfOrmsByGore.java index f5066be1a23..fe7773fee30 100644 --- a/Mage.Sets/src/mage/cards/e/EvilEyeOfOrmsByGore.java +++ b/Mage.Sets/src/mage/cards/e/EvilEyeOfOrmsByGore.java @@ -58,7 +58,7 @@ public class EvilEyeOfOrmsByGore extends CardImpl { public EvilEyeOfOrmsByGore(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Eye"); + this.subtype.add(SubType.EYE); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/e/EvilEyeOfUrborg.java b/Mage.Sets/src/mage/cards/e/EvilEyeOfUrborg.java index 8660c0703a7..01c15db6628 100644 --- a/Mage.Sets/src/mage/cards/e/EvilEyeOfUrborg.java +++ b/Mage.Sets/src/mage/cards/e/EvilEyeOfUrborg.java @@ -56,7 +56,7 @@ public class EvilEyeOfUrborg extends CardImpl { public EvilEyeOfUrborg(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Eye"); + this.subtype.add(SubType.EYE); this.power = new MageInt(6); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EvilPresence.java b/Mage.Sets/src/mage/cards/e/EvilPresence.java index c7070007373..91574130db2 100644 --- a/Mage.Sets/src/mage/cards/e/EvilPresence.java +++ b/Mage.Sets/src/mage/cards/e/EvilPresence.java @@ -50,7 +50,7 @@ public class EvilPresence extends CardImpl { public EvilPresence(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/e/EvilTwin.java b/Mage.Sets/src/mage/cards/e/EvilTwin.java index 3800c835658..ed81374d0ea 100644 --- a/Mage.Sets/src/mage/cards/e/EvilTwin.java +++ b/Mage.Sets/src/mage/cards/e/EvilTwin.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; @@ -59,7 +60,7 @@ public class EvilTwin extends CardImpl { public EvilTwin(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{B}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/e/Eviscerator.java b/Mage.Sets/src/mage/cards/e/Eviscerator.java index 12cd8d9ffa7..1066d53b2cb 100644 --- a/Mage.Sets/src/mage/cards/e/Eviscerator.java +++ b/Mage.Sets/src/mage/cards/e/Eviscerator.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class Eviscerator extends CardImpl { public Eviscerator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/EwokFiredancers.java b/Mage.Sets/src/mage/cards/e/EwokFiredancers.java index 715540af3ef..7cd5f291a42 100644 --- a/Mage.Sets/src/mage/cards/e/EwokFiredancers.java +++ b/Mage.Sets/src/mage/cards/e/EwokFiredancers.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class EwokFiredancers extends CardImpl { public EwokFiredancers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Ewok"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.EWOK); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/ExaltedAngel.java b/Mage.Sets/src/mage/cards/e/ExaltedAngel.java index dba3fb7a9ab..738920ab3c6 100644 --- a/Mage.Sets/src/mage/cards/e/ExaltedAngel.java +++ b/Mage.Sets/src/mage/cards/e/ExaltedAngel.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class ExaltedAngel extends CardImpl { public ExaltedAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/ExaltedDragon.java b/Mage.Sets/src/mage/cards/e/ExaltedDragon.java index d0029ddaad9..55ee01bf792 100644 --- a/Mage.Sets/src/mage/cards/e/ExaltedDragon.java +++ b/Mage.Sets/src/mage/cards/e/ExaltedDragon.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class ExaltedDragon extends CardImpl { public ExaltedDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/ExavaRakdosBloodWitch.java b/Mage.Sets/src/mage/cards/e/ExavaRakdosBloodWitch.java index 0eb0abfae11..507a67b25c5 100644 --- a/Mage.Sets/src/mage/cards/e/ExavaRakdosBloodWitch.java +++ b/Mage.Sets/src/mage/cards/e/ExavaRakdosBloodWitch.java @@ -62,8 +62,8 @@ public class ExavaRakdosBloodWitch extends CardImpl { public ExavaRakdosBloodWitch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/Excruciator.java b/Mage.Sets/src/mage/cards/e/Excruciator.java index 3c691afa1b0..dbfa7593d83 100644 --- a/Mage.Sets/src/mage/cards/e/Excruciator.java +++ b/Mage.Sets/src/mage/cards/e/Excruciator.java @@ -1,97 +1,98 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.e; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.GameEvent; - -/** - * - * @author LevelX2 - */ -public class Excruciator extends CardImpl { - - public Excruciator(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{R}{R}"); - - this.subtype.add("Avatar"); - this.power = new MageInt(7); - this.toughness = new MageInt(7); - - // Damage that would be dealt by Excruciator can't be prevented. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ExcruciatorEffect())); - } - - public Excruciator(final Excruciator card) { - super(card); - } - - @Override - public Excruciator copy() { - return new Excruciator(this); - } -} - -class ExcruciatorEffect extends ContinuousRuleModifyingEffectImpl { - - public ExcruciatorEffect() { - super(Duration.WhileOnBattlefield, Outcome.Benefit); - staticText = "Damage that would be dealt by {this} can't be prevented"; - } - - public ExcruciatorEffect(final ExcruciatorEffect effect) { - super(effect); - } - - @Override - public ExcruciatorEffect copy() { - return new ExcruciatorEffect(this); - } - - @Override - public boolean checksEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.PREVENT_DAMAGE; - } - - @Override - public boolean applies(GameEvent event, Ability source, Game game) { - return event.getSourceId().equals(source.getSourceId()); - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.e; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; + +/** + * + * @author LevelX2 + */ +public class Excruciator extends CardImpl { + + public Excruciator(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{R}{R}"); + + this.subtype.add(SubType.AVATAR); + this.power = new MageInt(7); + this.toughness = new MageInt(7); + + // Damage that would be dealt by Excruciator can't be prevented. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ExcruciatorEffect())); + } + + public Excruciator(final Excruciator card) { + super(card); + } + + @Override + public Excruciator copy() { + return new Excruciator(this); + } +} + +class ExcruciatorEffect extends ContinuousRuleModifyingEffectImpl { + + public ExcruciatorEffect() { + super(Duration.WhileOnBattlefield, Outcome.Benefit); + staticText = "Damage that would be dealt by {this} can't be prevented"; + } + + public ExcruciatorEffect(final ExcruciatorEffect effect) { + super(effect); + } + + @Override + public ExcruciatorEffect copy() { + return new ExcruciatorEffect(this); + } + + @Override + public boolean checksEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.PREVENT_DAMAGE; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + return event.getSourceId().equals(source.getSourceId()); + } + +} diff --git a/Mage.Sets/src/mage/cards/e/ExecutionersHood.java b/Mage.Sets/src/mage/cards/e/ExecutionersHood.java index 4f6d8a3a17d..45f262f3e96 100644 --- a/Mage.Sets/src/mage/cards/e/ExecutionersHood.java +++ b/Mage.Sets/src/mage/cards/e/ExecutionersHood.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class ExecutionersHood extends CardImpl { public ExecutionersHood(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has intimidate. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(IntimidateAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/e/ExemplarOfStrength.java b/Mage.Sets/src/mage/cards/e/ExemplarOfStrength.java index 2b151896775..6e6fb45d7e9 100644 --- a/Mage.Sets/src/mage/cards/e/ExemplarOfStrength.java +++ b/Mage.Sets/src/mage/cards/e/ExemplarOfStrength.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetControlledCreaturePermanent; @@ -51,8 +52,8 @@ public class ExemplarOfStrength extends CardImpl { public ExemplarOfStrength(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/e/ExhumerThrull.java b/Mage.Sets/src/mage/cards/e/ExhumerThrull.java index 0a36a6d0085..11b85615f57 100644 --- a/Mage.Sets/src/mage/cards/e/ExhumerThrull.java +++ b/Mage.Sets/src/mage/cards/e/ExhumerThrull.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HauntAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInYourGraveyard; @@ -46,7 +47,7 @@ public class ExhumerThrull extends CardImpl { public ExhumerThrull(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Thrull"); + this.subtype.add(SubType.THRULL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/ExiledBoggart.java b/Mage.Sets/src/mage/cards/e/ExiledBoggart.java index 1f8d6705615..515339213ee 100644 --- a/Mage.Sets/src/mage/cards/e/ExiledBoggart.java +++ b/Mage.Sets/src/mage/cards/e/ExiledBoggart.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.discard.DiscardControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ExiledBoggart extends CardImpl { public ExiledBoggart(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/Exogorth.java b/Mage.Sets/src/mage/cards/e/Exogorth.java index 60dbfe3ded2..c670f6b3d72 100644 --- a/Mage.Sets/src/mage/cards/e/Exogorth.java +++ b/Mage.Sets/src/mage/cards/e/Exogorth.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class Exogorth extends CardImpl { public Exogorth(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}{G}"); - this.subtype.add("Slug"); + this.subtype.add(SubType.SLUG); this.power = new MageInt(8); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/e/Exorcist.java b/Mage.Sets/src/mage/cards/e/Exorcist.java index 0d4e38424e9..7dfd8f7ac86 100644 --- a/Mage.Sets/src/mage/cards/e/Exorcist.java +++ b/Mage.Sets/src/mage/cards/e/Exorcist.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -56,8 +57,8 @@ public class Exorcist extends CardImpl { public Exorcist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ExoskeletalArmor.java b/Mage.Sets/src/mage/cards/e/ExoskeletalArmor.java index 2b1032f5adb..36097317339 100644 --- a/Mage.Sets/src/mage/cards/e/ExoskeletalArmor.java +++ b/Mage.Sets/src/mage/cards/e/ExoskeletalArmor.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class ExoskeletalArmor extends CardImpl { public ExoskeletalArmor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/e/ExoticCurse.java b/Mage.Sets/src/mage/cards/e/ExoticCurse.java index 542e03dc67d..f1adf3fee9b 100644 --- a/Mage.Sets/src/mage/cards/e/ExoticCurse.java +++ b/Mage.Sets/src/mage/cards/e/ExoticCurse.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class ExoticCurse extends CardImpl { public ExoticCurse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetPermanent(); diff --git a/Mage.Sets/src/mage/cards/e/ExpeditionEnvoy.java b/Mage.Sets/src/mage/cards/e/ExpeditionEnvoy.java index 3528bb86df8..3746c045871 100644 --- a/Mage.Sets/src/mage/cards/e/ExpeditionEnvoy.java +++ b/Mage.Sets/src/mage/cards/e/ExpeditionEnvoy.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,9 +42,9 @@ public class ExpeditionEnvoy extends CardImpl { public ExpeditionEnvoy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(1); } diff --git a/Mage.Sets/src/mage/cards/e/ExpeditionRaptor.java b/Mage.Sets/src/mage/cards/e/ExpeditionRaptor.java index 57815ca96da..9451c447f3d 100644 --- a/Mage.Sets/src/mage/cards/e/ExpeditionRaptor.java +++ b/Mage.Sets/src/mage/cards/e/ExpeditionRaptor.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.SupportAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class ExpeditionRaptor extends CardImpl { public ExpeditionRaptor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/ExpendableTroops.java b/Mage.Sets/src/mage/cards/e/ExpendableTroops.java index 97fa03ac50e..4718edc8112 100644 --- a/Mage.Sets/src/mage/cards/e/ExpendableTroops.java +++ b/Mage.Sets/src/mage/cards/e/ExpendableTroops.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterAttackingOrBlockingCreature; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class ExpendableTroops extends CardImpl { public ExpendableTroops(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ExperimentKraj.java b/Mage.Sets/src/mage/cards/e/ExperimentKraj.java index 4deb4aaafbe..5d447f575a2 100644 --- a/Mage.Sets/src/mage/cards/e/ExperimentKraj.java +++ b/Mage.Sets/src/mage/cards/e/ExperimentKraj.java @@ -56,8 +56,8 @@ public class ExperimentKraj extends CardImpl { public ExperimentKraj(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Ooze"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.OOZE); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/e/ExperimentOne.java b/Mage.Sets/src/mage/cards/e/ExperimentOne.java index d08385fdf13..26add92b7cc 100644 --- a/Mage.Sets/src/mage/cards/e/ExperimentOne.java +++ b/Mage.Sets/src/mage/cards/e/ExperimentOne.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EvolveAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -48,8 +49,8 @@ public class ExperimentOne extends CardImpl { public ExperimentOne(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Ooze"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.OOZE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ExperimentalAviator.java b/Mage.Sets/src/mage/cards/e/ExperimentalAviator.java index 8efd48544bf..ddf617af910 100644 --- a/Mage.Sets/src/mage/cards/e/ExperimentalAviator.java +++ b/Mage.Sets/src/mage/cards/e/ExperimentalAviator.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.ThopterColorlessToken; /** @@ -45,8 +46,8 @@ public class ExperimentalAviator extends CardImpl { public ExperimentalAviator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/ExplorersScope.java b/Mage.Sets/src/mage/cards/e/ExplorersScope.java index 420aad6e06f..f9603ea2f92 100644 --- a/Mage.Sets/src/mage/cards/e/ExplorersScope.java +++ b/Mage.Sets/src/mage/cards/e/ExplorersScope.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.EquipAbility; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -49,7 +50,7 @@ public class ExplorersScope extends CardImpl { public ExplorersScope(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Whenever equipped creature attacks, look at the top card of your library. If it's a land card, you may put it onto the battlefield tapped. this.addAbility(new AttacksAttachedTriggeredAbility(new ExplorersScopeEffect())); diff --git a/Mage.Sets/src/mage/cards/e/ExquisiteArchangel.java b/Mage.Sets/src/mage/cards/e/ExquisiteArchangel.java index 52739f48d77..b2953410aea 100644 --- a/Mage.Sets/src/mage/cards/e/ExquisiteArchangel.java +++ b/Mage.Sets/src/mage/cards/e/ExquisiteArchangel.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class ExquisiteArchangel extends CardImpl { public ExquisiteArchangel(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/ExtraArms.java b/Mage.Sets/src/mage/cards/e/ExtraArms.java index 86c03053ee6..9755af4b275 100644 --- a/Mage.Sets/src/mage/cards/e/ExtraArms.java +++ b/Mage.Sets/src/mage/cards/e/ExtraArms.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.target.TargetPermanent; import mage.target.common.TargetCreatureOrPlayer; @@ -51,7 +52,7 @@ public class ExtraArms extends CardImpl { public ExtraArms(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/e/ExtractorDemon.java b/Mage.Sets/src/mage/cards/e/ExtractorDemon.java index c86208519dc..1c4edb67e81 100644 --- a/Mage.Sets/src/mage/cards/e/ExtractorDemon.java +++ b/Mage.Sets/src/mage/cards/e/ExtractorDemon.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; import mage.target.TargetPlayer; @@ -57,7 +58,7 @@ public class ExtractorDemon extends CardImpl { public ExtractorDemon(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/ExtricatorOfFlesh.java b/Mage.Sets/src/mage/cards/e/ExtricatorOfFlesh.java index e1dd326fdc9..27e60f747fe 100644 --- a/Mage.Sets/src/mage/cards/e/ExtricatorOfFlesh.java +++ b/Mage.Sets/src/mage/cards/e/ExtricatorOfFlesh.java @@ -64,8 +64,8 @@ public class ExtricatorOfFlesh extends CardImpl { public ExtricatorOfFlesh(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Eldrazi"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/e/ExtricatorOfSin.java b/Mage.Sets/src/mage/cards/e/ExtricatorOfSin.java index ee80a4ba15c..9ddecc3606a 100644 --- a/Mage.Sets/src/mage/cards/e/ExtricatorOfSin.java +++ b/Mage.Sets/src/mage/cards/e/ExtricatorOfSin.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -62,8 +63,8 @@ public class ExtricatorOfSin extends CardImpl { public ExtricatorOfSin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/Extruder.java b/Mage.Sets/src/mage/cards/e/Extruder.java index 82a3da222ec..015543286b7 100644 --- a/Mage.Sets/src/mage/cards/e/Extruder.java +++ b/Mage.Sets/src/mage/cards/e/Extruder.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledPermanent; @@ -58,7 +59,7 @@ public class Extruder extends CardImpl { public Extruder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Juggernaut"); + this.subtype.add(SubType.JUGGERNAUT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/ExuberantFirestoker.java b/Mage.Sets/src/mage/cards/e/ExuberantFirestoker.java index c5d24007bb0..66c3cd89b8a 100644 --- a/Mage.Sets/src/mage/cards/e/ExuberantFirestoker.java +++ b/Mage.Sets/src/mage/cards/e/ExuberantFirestoker.java @@ -35,6 +35,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -51,9 +52,9 @@ public class ExuberantFirestoker extends CardImpl { public ExuberantFirestoker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/ExultantCultist.java b/Mage.Sets/src/mage/cards/e/ExultantCultist.java index 674b96b02c2..3b1868390c3 100644 --- a/Mage.Sets/src/mage/cards/e/ExultantCultist.java +++ b/Mage.Sets/src/mage/cards/e/ExultantCultist.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ExultantCultist extends CardImpl { public ExultantCultist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EyeblightAssassin.java b/Mage.Sets/src/mage/cards/e/EyeblightAssassin.java index 63f78f0f4f4..e490059723b 100644 --- a/Mage.Sets/src/mage/cards/e/EyeblightAssassin.java +++ b/Mage.Sets/src/mage/cards/e/EyeblightAssassin.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -55,8 +56,8 @@ public class EyeblightAssassin extends CardImpl { public EyeblightAssassin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Elf"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EyeblightsEnding.java b/Mage.Sets/src/mage/cards/e/EyeblightsEnding.java index 71069d70509..4505dbf682e 100644 --- a/Mage.Sets/src/mage/cards/e/EyeblightsEnding.java +++ b/Mage.Sets/src/mage/cards/e/EyeblightsEnding.java @@ -52,7 +52,7 @@ public class EyeblightsEnding extends CardImpl { public EyeblightsEnding(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{2}{B}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); diff --git a/Mage.Sets/src/mage/cards/e/EyelessWatcher.java b/Mage.Sets/src/mage/cards/e/EyelessWatcher.java index d7f1ea1d626..0b74c437fa1 100644 --- a/Mage.Sets/src/mage/cards/e/EyelessWatcher.java +++ b/Mage.Sets/src/mage/cards/e/EyelessWatcher.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.EldraziScionToken; /** @@ -46,8 +47,8 @@ public class EyelessWatcher extends CardImpl { public EyelessWatcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/e/EyesOfTheWisent.java b/Mage.Sets/src/mage/cards/e/EyesOfTheWisent.java index 81b54757273..0e1944d7d4a 100644 --- a/Mage.Sets/src/mage/cards/e/EyesOfTheWisent.java +++ b/Mage.Sets/src/mage/cards/e/EyesOfTheWisent.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; import mage.game.permanent.token.EyesOfTheWisentElementalToken; @@ -54,7 +55,7 @@ public class EyesOfTheWisent extends CardImpl { public EyesOfTheWisent(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{1}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); // Whenever an opponent casts a blue spell during your turn, you may create a 4/4 green Elemental creature token. this.addAbility(new ConditionalTriggeredAbility( diff --git a/Mage.Sets/src/mage/cards/e/EzuriClawOfProgress.java b/Mage.Sets/src/mage/cards/e/EzuriClawOfProgress.java index d7dcaded576..6fca7d514fe 100644 --- a/Mage.Sets/src/mage/cards/e/EzuriClawOfProgress.java +++ b/Mage.Sets/src/mage/cards/e/EzuriClawOfProgress.java @@ -65,8 +65,8 @@ public class EzuriClawOfProgress extends CardImpl { public EzuriClawOfProgress(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/e/EzuriRenegadeLeader.java b/Mage.Sets/src/mage/cards/e/EzuriRenegadeLeader.java index 35312b62c0d..49fb80befe1 100644 --- a/Mage.Sets/src/mage/cards/e/EzuriRenegadeLeader.java +++ b/Mage.Sets/src/mage/cards/e/EzuriRenegadeLeader.java @@ -65,8 +65,8 @@ public class EzuriRenegadeLeader extends CardImpl { public EzuriRenegadeLeader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EzurisArchers.java b/Mage.Sets/src/mage/cards/e/EzurisArchers.java index 8c7daa9573c..c33045efee6 100644 --- a/Mage.Sets/src/mage/cards/e/EzurisArchers.java +++ b/Mage.Sets/src/mage/cards/e/EzurisArchers.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -51,8 +52,8 @@ public class EzurisArchers extends CardImpl { public EzurisArchers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/e/EzurisBrigade.java b/Mage.Sets/src/mage/cards/e/EzurisBrigade.java index 33da33d01f6..cfc79c392c6 100644 --- a/Mage.Sets/src/mage/cards/e/EzurisBrigade.java +++ b/Mage.Sets/src/mage/cards/e/EzurisBrigade.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -53,8 +54,8 @@ public class EzurisBrigade extends CardImpl { public EzurisBrigade (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FaadiyahSeer.java b/Mage.Sets/src/mage/cards/f/FaadiyahSeer.java index 6cbe2cda0e2..43a9c3d9c04 100644 --- a/Mage.Sets/src/mage/cards/f/FaadiyahSeer.java +++ b/Mage.Sets/src/mage/cards/f/FaadiyahSeer.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -53,8 +54,8 @@ public class FaadiyahSeer extends CardImpl { public FaadiyahSeer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FabledHero.java b/Mage.Sets/src/mage/cards/f/FabledHero.java index 811f78c9d1e..ed5aec5e962 100644 --- a/Mage.Sets/src/mage/cards/f/FabledHero.java +++ b/Mage.Sets/src/mage/cards/f/FabledHero.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,8 +46,8 @@ public class FabledHero extends CardImpl { public FabledHero(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FaceOfFear.java b/Mage.Sets/src/mage/cards/f/FaceOfFear.java index abda3cf9477..58ff9ebf3f9 100644 --- a/Mage.Sets/src/mage/cards/f/FaceOfFear.java +++ b/Mage.Sets/src/mage/cards/f/FaceOfFear.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class FaceOfFear extends CardImpl { public FaceOfFear(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FacelessButcher.java b/Mage.Sets/src/mage/cards/f/FacelessButcher.java index ce77fdb1428..3d281639657 100644 --- a/Mage.Sets/src/mage/cards/f/FacelessButcher.java +++ b/Mage.Sets/src/mage/cards/f/FacelessButcher.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnFromExileForSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -61,8 +62,8 @@ public class FacelessButcher extends CardImpl { public FacelessButcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Nightmare"); - this.subtype.add("Horror"); + this.subtype.add(SubType.NIGHTMARE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FacelessDevourer.java b/Mage.Sets/src/mage/cards/f/FacelessDevourer.java index a6d28d271b9..9eeb0c09888 100644 --- a/Mage.Sets/src/mage/cards/f/FacelessDevourer.java +++ b/Mage.Sets/src/mage/cards/f/FacelessDevourer.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -61,8 +62,8 @@ public class FacelessDevourer extends CardImpl { public FacelessDevourer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Nightmare"); - this.subtype.add("Horror"); + this.subtype.add(SubType.NIGHTMARE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/Facevaulter.java b/Mage.Sets/src/mage/cards/f/Facevaulter.java index 50926451caa..b25094a13a5 100644 --- a/Mage.Sets/src/mage/cards/f/Facevaulter.java +++ b/Mage.Sets/src/mage/cards/f/Facevaulter.java @@ -55,8 +55,8 @@ public class Facevaulter extends CardImpl { public Facevaulter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FaerieArtisans.java b/Mage.Sets/src/mage/cards/f/FaerieArtisans.java index 8caf385e5fb..539328bc618 100644 --- a/Mage.Sets/src/mage/cards/f/FaerieArtisans.java +++ b/Mage.Sets/src/mage/cards/f/FaerieArtisans.java @@ -65,8 +65,8 @@ public class FaerieArtisans extends CardImpl { public FaerieArtisans(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FaerieConclave.java b/Mage.Sets/src/mage/cards/f/FaerieConclave.java index e6039060cb5..342ec5067f0 100644 --- a/Mage.Sets/src/mage/cards/f/FaerieConclave.java +++ b/Mage.Sets/src/mage/cards/f/FaerieConclave.java @@ -38,6 +38,7 @@ import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -69,7 +70,7 @@ class FaerieConclaveToken extends Token { FaerieConclaveToken() { super("Faerie", "2/1 blue Faerie creature with flying"); cardType.add(CardType.CREATURE); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); color.setBlue(true); power = new MageInt(2); toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FaerieHarbinger.java b/Mage.Sets/src/mage/cards/f/FaerieHarbinger.java index 512770fd233..ad304c536bb 100644 --- a/Mage.Sets/src/mage/cards/f/FaerieHarbinger.java +++ b/Mage.Sets/src/mage/cards/f/FaerieHarbinger.java @@ -54,8 +54,8 @@ public class FaerieHarbinger extends CardImpl { public FaerieHarbinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FaerieImpostor.java b/Mage.Sets/src/mage/cards/f/FaerieImpostor.java index 8a13e52649f..1e7dd44a752 100644 --- a/Mage.Sets/src/mage/cards/f/FaerieImpostor.java +++ b/Mage.Sets/src/mage/cards/f/FaerieImpostor.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -54,8 +55,8 @@ public class FaerieImpostor extends CardImpl { public FaerieImpostor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FaerieInvaders.java b/Mage.Sets/src/mage/cards/f/FaerieInvaders.java index f13be2cf7f0..fc161f5526d 100644 --- a/Mage.Sets/src/mage/cards/f/FaerieInvaders.java +++ b/Mage.Sets/src/mage/cards/f/FaerieInvaders.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class FaerieInvaders extends CardImpl { public FaerieInvaders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FaerieMacabre.java b/Mage.Sets/src/mage/cards/f/FaerieMacabre.java index 64d2ee8052e..25bc8c77f79 100644 --- a/Mage.Sets/src/mage/cards/f/FaerieMacabre.java +++ b/Mage.Sets/src/mage/cards/f/FaerieMacabre.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.target.common.TargetCardInGraveyard; @@ -49,8 +50,8 @@ public class FaerieMacabre extends CardImpl { public FaerieMacabre(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{B}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FaerieMechanist.java b/Mage.Sets/src/mage/cards/f/FaerieMechanist.java index d112a508b88..49b7ac1f37b 100644 --- a/Mage.Sets/src/mage/cards/f/FaerieMechanist.java +++ b/Mage.Sets/src/mage/cards/f/FaerieMechanist.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -54,8 +55,8 @@ public class FaerieMechanist extends CardImpl { public FaerieMechanist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(2); // Flying diff --git a/Mage.Sets/src/mage/cards/f/FaerieMiscreant.java b/Mage.Sets/src/mage/cards/f/FaerieMiscreant.java index 9a33c534595..8532d41b628 100644 --- a/Mage.Sets/src/mage/cards/f/FaerieMiscreant.java +++ b/Mage.Sets/src/mage/cards/f/FaerieMiscreant.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.NamePredicate; @@ -61,8 +62,8 @@ public class FaerieMiscreant extends CardImpl { public FaerieMiscreant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FaerieNoble.java b/Mage.Sets/src/mage/cards/f/FaerieNoble.java index 4e142a8662d..9f6689b16eb 100644 --- a/Mage.Sets/src/mage/cards/f/FaerieNoble.java +++ b/Mage.Sets/src/mage/cards/f/FaerieNoble.java @@ -59,7 +59,7 @@ public class FaerieNoble extends CardImpl { public FaerieNoble(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FaerieSquadron.java b/Mage.Sets/src/mage/cards/f/FaerieSquadron.java index 4a4310fc09f..fb8cfdba0c5 100644 --- a/Mage.Sets/src/mage/cards/f/FaerieSquadron.java +++ b/Mage.Sets/src/mage/cards/f/FaerieSquadron.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.counters.CounterType; @@ -52,7 +53,7 @@ public class FaerieSquadron extends CardImpl { public FaerieSquadron(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FaerieSwarm.java b/Mage.Sets/src/mage/cards/f/FaerieSwarm.java index cab81754bb9..35701a8c1e0 100644 --- a/Mage.Sets/src/mage/cards/f/FaerieSwarm.java +++ b/Mage.Sets/src/mage/cards/f/FaerieSwarm.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -56,7 +57,7 @@ public class FaerieSwarm extends CardImpl { public FaerieSwarm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/f/FaerieTauntings.java b/Mage.Sets/src/mage/cards/f/FaerieTauntings.java index 96d8db2c69a..95318c523c4 100644 --- a/Mage.Sets/src/mage/cards/f/FaerieTauntings.java +++ b/Mage.Sets/src/mage/cards/f/FaerieTauntings.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.LoseLifeOpponentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class FaerieTauntings extends CardImpl { public FaerieTauntings(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); // Whenever you cast a spell during an opponent's turn, you may have each opponent lose 1 life this.addAbility(new ConditionalTriggeredAbility(new SpellCastControllerTriggeredAbility(new LoseLifeOpponentsEffect(1), true), OnOpponentsTurnCondition.instance, diff --git a/Mage.Sets/src/mage/cards/f/FaerieTrickery.java b/Mage.Sets/src/mage/cards/f/FaerieTrickery.java index 3b65f7075cf..3ef7b7e8b86 100644 --- a/Mage.Sets/src/mage/cards/f/FaerieTrickery.java +++ b/Mage.Sets/src/mage/cards/f/FaerieTrickery.java @@ -53,7 +53,7 @@ public class FaerieTrickery extends CardImpl { public FaerieTrickery(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{1}{U}{U}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); // Counter target non-Faerie spell. If that spell is countered this way, exile it instead of putting it into its owner's graveyard. diff --git a/Mage.Sets/src/mage/cards/f/FairgroundsTrumpeter.java b/Mage.Sets/src/mage/cards/f/FairgroundsTrumpeter.java index 2a2063fa2c9..371aa107a7c 100644 --- a/Mage.Sets/src/mage/cards/f/FairgroundsTrumpeter.java +++ b/Mage.Sets/src/mage/cards/f/FairgroundsTrumpeter.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.WatcherScope; import mage.counters.CounterType; @@ -54,7 +55,7 @@ public class FairgroundsTrumpeter extends CardImpl { public FairgroundsTrumpeter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FairgroundsWarden.java b/Mage.Sets/src/mage/cards/f/FairgroundsWarden.java index 1d8cc995296..cda48678f7a 100644 --- a/Mage.Sets/src/mage/cards/f/FairgroundsWarden.java +++ b/Mage.Sets/src/mage/cards/f/FairgroundsWarden.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -61,8 +62,8 @@ public class FairgroundsWarden extends CardImpl { public FairgroundsWarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Dwarf"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FaithHealer.java b/Mage.Sets/src/mage/cards/f/FaithHealer.java index 4e9f8318083..0d0ae59ee1c 100644 --- a/Mage.Sets/src/mage/cards/f/FaithHealer.java +++ b/Mage.Sets/src/mage/cards/f/FaithHealer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledEnchantmentPermanent; import mage.target.common.TargetControlledPermanent; @@ -48,8 +49,8 @@ public class FaithHealer extends CardImpl { public FaithHealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FaithOfTheDevoted.java b/Mage.Sets/src/mage/cards/f/FaithOfTheDevoted.java index dd4b8816c85..8b727ded217 100644 --- a/Mage.Sets/src/mage/cards/f/FaithOfTheDevoted.java +++ b/Mage.Sets/src/mage/cards/f/FaithOfTheDevoted.java @@ -1,70 +1,70 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.f; - -import java.util.UUID; -import mage.abilities.common.CycleOrDiscardControllerTriggeredAbility; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DoIfCostPaid; -import mage.abilities.effects.common.GainLifeEffect; -import mage.abilities.effects.common.LoseLifeOpponentsEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class FaithOfTheDevoted extends CardImpl { - - public FaithOfTheDevoted(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}"); - - // Whenever you cycle or discard a card, you may pay {1}. If you do, each opponent loses 2 life and you gain 2 life. - Effect subEffect = new GainLifeEffect(2); - subEffect.setText("and you gain 2 life"); - - DoIfCostPaid effect = new DoIfCostPaid( - new LoseLifeOpponentsEffect(2), - new GenericManaCost(1)); - effect.addEffect(subEffect); - - this.addAbility(new CycleOrDiscardControllerTriggeredAbility(effect)); - } - - public FaithOfTheDevoted(final FaithOfTheDevoted card) { - super(card); - } - - @Override - public FaithOfTheDevoted copy() { - return new FaithOfTheDevoted(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.f; + +import java.util.UUID; +import mage.abilities.common.CycleOrDiscardControllerTriggeredAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.LoseLifeOpponentsEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +/** + * + * @author Styxo + */ +public class FaithOfTheDevoted extends CardImpl { + + public FaithOfTheDevoted(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}"); + + // Whenever you cycle or discard a card, you may pay {1}. If you do, each opponent loses 2 life and you gain 2 life. + Effect subEffect = new GainLifeEffect(2); + subEffect.setText("and you gain 2 life"); + + DoIfCostPaid effect = new DoIfCostPaid( + new LoseLifeOpponentsEffect(2), + new GenericManaCost(1)); + effect.addEffect(subEffect); + + this.addAbility(new CycleOrDiscardControllerTriggeredAbility(effect)); + } + + public FaithOfTheDevoted(final FaithOfTheDevoted card) { + super(card); + } + + @Override + public FaithOfTheDevoted copy() { + return new FaithOfTheDevoted(this); + } +} diff --git a/Mage.Sets/src/mage/cards/f/FaithUnbroken.java b/Mage.Sets/src/mage/cards/f/FaithUnbroken.java index 6f44164b5f8..71bc4c4d667 100644 --- a/Mage.Sets/src/mage/cards/f/FaithUnbroken.java +++ b/Mage.Sets/src/mage/cards/f/FaithUnbroken.java @@ -64,7 +64,7 @@ public class FaithUnbroken extends CardImpl { public FaithUnbroken(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature you control TargetPermanent auraTarget = new TargetControlledCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FaithbearerPaladin.java b/Mage.Sets/src/mage/cards/f/FaithbearerPaladin.java index 2d3d8579a1f..684a8f1bf81 100644 --- a/Mage.Sets/src/mage/cards/f/FaithbearerPaladin.java +++ b/Mage.Sets/src/mage/cards/f/FaithbearerPaladin.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class FaithbearerPaladin extends CardImpl { public FaithbearerPaladin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FaithfulSquire.java b/Mage.Sets/src/mage/cards/f/FaithfulSquire.java index 76571a4b86e..5b932817ee8 100644 --- a/Mage.Sets/src/mage/cards/f/FaithfulSquire.java +++ b/Mage.Sets/src/mage/cards/f/FaithfulSquire.java @@ -45,6 +45,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -61,8 +62,8 @@ public class FaithfulSquire extends CardImpl { public FaithfulSquire(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); @@ -97,7 +98,7 @@ class KaisoMemoryOfLoyalty extends Token { addSuperType(SuperType.LEGENDARY); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(3); toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FaithsFetters.java b/Mage.Sets/src/mage/cards/f/FaithsFetters.java index 6e37a69055f..cab93486324 100644 --- a/Mage.Sets/src/mage/cards/f/FaithsFetters.java +++ b/Mage.Sets/src/mage/cards/f/FaithsFetters.java @@ -53,7 +53,7 @@ public class FaithsFetters extends CardImpl { public FaithsFetters(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant permanent TargetPermanent auraTarget = new TargetPermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FalkenrathAristocrat.java b/Mage.Sets/src/mage/cards/f/FalkenrathAristocrat.java index 0226d0fbeb7..f70466f4941 100644 --- a/Mage.Sets/src/mage/cards/f/FalkenrathAristocrat.java +++ b/Mage.Sets/src/mage/cards/f/FalkenrathAristocrat.java @@ -54,7 +54,7 @@ public class FalkenrathAristocrat extends CardImpl { public FalkenrathAristocrat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{R}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FalkenrathExterminator.java b/Mage.Sets/src/mage/cards/f/FalkenrathExterminator.java index d0a2e6a058d..567e1a75c9f 100644 --- a/Mage.Sets/src/mage/cards/f/FalkenrathExterminator.java +++ b/Mage.Sets/src/mage/cards/f/FalkenrathExterminator.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -51,8 +52,8 @@ public class FalkenrathExterminator extends CardImpl { public FalkenrathExterminator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Vampire"); - this.subtype.add("Archer"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FalkenrathGorger.java b/Mage.Sets/src/mage/cards/f/FalkenrathGorger.java index cd3d3c33079..a2ad8c4ad0a 100644 --- a/Mage.Sets/src/mage/cards/f/FalkenrathGorger.java +++ b/Mage.Sets/src/mage/cards/f/FalkenrathGorger.java @@ -53,8 +53,8 @@ public class FalkenrathGorger extends CardImpl { public FalkenrathGorger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Vampire"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(1); /** diff --git a/Mage.Sets/src/mage/cards/f/FalkenrathMarauders.java b/Mage.Sets/src/mage/cards/f/FalkenrathMarauders.java index 2aa34862e88..9433765e71d 100644 --- a/Mage.Sets/src/mage/cards/f/FalkenrathMarauders.java +++ b/Mage.Sets/src/mage/cards/f/FalkenrathMarauders.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -46,8 +47,8 @@ public class FalkenrathMarauders extends CardImpl { public FalkenrathMarauders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Vampire"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FalkenrathNoble.java b/Mage.Sets/src/mage/cards/f/FalkenrathNoble.java index 7cd9b755b0f..a831ecd9673 100644 --- a/Mage.Sets/src/mage/cards/f/FalkenrathNoble.java +++ b/Mage.Sets/src/mage/cards/f/FalkenrathNoble.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -52,7 +53,7 @@ public class FalkenrathNoble extends CardImpl { public FalkenrathNoble(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FalkenrathReaver.java b/Mage.Sets/src/mage/cards/f/FalkenrathReaver.java index a9821d247ed..1c6fa224452 100644 --- a/Mage.Sets/src/mage/cards/f/FalkenrathReaver.java +++ b/Mage.Sets/src/mage/cards/f/FalkenrathReaver.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class FalkenrathReaver extends CardImpl { public FalkenrathReaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(2); this.toughness = new MageInt(2); } diff --git a/Mage.Sets/src/mage/cards/f/FalkenrathTorturer.java b/Mage.Sets/src/mage/cards/f/FalkenrathTorturer.java index 00e21d0bee5..7b647e76ebc 100644 --- a/Mage.Sets/src/mage/cards/f/FalkenrathTorturer.java +++ b/Mage.Sets/src/mage/cards/f/FalkenrathTorturer.java @@ -53,7 +53,7 @@ public class FalkenrathTorturer extends CardImpl { public FalkenrathTorturer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FallenAngel.java b/Mage.Sets/src/mage/cards/f/FallenAngel.java index cdeb3a2fd99..531b82f8757 100644 --- a/Mage.Sets/src/mage/cards/f/FallenAngel.java +++ b/Mage.Sets/src/mage/cards/f/FallenAngel.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -48,7 +49,7 @@ public class FallenAngel extends CardImpl { public FallenAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FallenAskari.java b/Mage.Sets/src/mage/cards/f/FallenAskari.java index 31b6c7c39d7..61a0cc73734 100644 --- a/Mage.Sets/src/mage/cards/f/FallenAskari.java +++ b/Mage.Sets/src/mage/cards/f/FallenAskari.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlankingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class FallenAskari extends CardImpl { public FallenAskari(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FallenCleric.java b/Mage.Sets/src/mage/cards/f/FallenCleric.java index 7347592ccba..fcbda888f74 100644 --- a/Mage.Sets/src/mage/cards/f/FallenCleric.java +++ b/Mage.Sets/src/mage/cards/f/FallenCleric.java @@ -53,8 +53,8 @@ public class FallenCleric extends CardImpl { public FallenCleric(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FallenFerromancer.java b/Mage.Sets/src/mage/cards/f/FallenFerromancer.java index 33ad077da07..ba77d083823 100644 --- a/Mage.Sets/src/mage/cards/f/FallenFerromancer.java +++ b/Mage.Sets/src/mage/cards/f/FallenFerromancer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class FallenFerromancer extends CardImpl { public FallenFerromancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FallenIdeal.java b/Mage.Sets/src/mage/cards/f/FallenIdeal.java index 38f30311760..72c832a08ba 100644 --- a/Mage.Sets/src/mage/cards/f/FallenIdeal.java +++ b/Mage.Sets/src/mage/cards/f/FallenIdeal.java @@ -56,7 +56,7 @@ public class FallenIdeal extends CardImpl { public FallenIdeal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FallowWurm.java b/Mage.Sets/src/mage/cards/f/FallowWurm.java index ab41258f767..3366c06d22e 100644 --- a/Mage.Sets/src/mage/cards/f/FallowWurm.java +++ b/Mage.Sets/src/mage/cards/f/FallowWurm.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterLandCard; /** @@ -45,7 +46,7 @@ public class FallowWurm extends CardImpl { public FallowWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/Fallowsage.java b/Mage.Sets/src/mage/cards/f/Fallowsage.java index f93af51ac15..29941e5807e 100644 --- a/Mage.Sets/src/mage/cards/f/Fallowsage.java +++ b/Mage.Sets/src/mage/cards/f/Fallowsage.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class Fallowsage extends CardImpl { public Fallowsage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FalseDemise.java b/Mage.Sets/src/mage/cards/f/FalseDemise.java index be315893f24..cef5feae846 100644 --- a/Mage.Sets/src/mage/cards/f/FalseDemise.java +++ b/Mage.Sets/src/mage/cards/f/FalseDemise.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class FalseDemise extends CardImpl { public FalseDemise(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FalseProphet.java b/Mage.Sets/src/mage/cards/f/FalseProphet.java index 5a2de6bea87..a58d41eb94d 100644 --- a/Mage.Sets/src/mage/cards/f/FalseProphet.java +++ b/Mage.Sets/src/mage/cards/f/FalseProphet.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ExileAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; /** @@ -45,8 +46,8 @@ public class FalseProphet extends CardImpl { public FalseProphet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FamishedGhoul.java b/Mage.Sets/src/mage/cards/f/FamishedGhoul.java index 1287e1ae839..746b68c137f 100644 --- a/Mage.Sets/src/mage/cards/f/FamishedGhoul.java +++ b/Mage.Sets/src/mage/cards/f/FamishedGhoul.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.target.common.TargetCardInASingleGraveyard; @@ -49,7 +50,7 @@ public class FamishedGhoul extends CardImpl { public FamishedGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FanBearer.java b/Mage.Sets/src/mage/cards/f/FanBearer.java index e7f0b2d17f2..27ff675c8a5 100644 --- a/Mage.Sets/src/mage/cards/f/FanBearer.java +++ b/Mage.Sets/src/mage/cards/f/FanBearer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class FanBearer extends CardImpl { public FanBearer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FanaticOfMogis.java b/Mage.Sets/src/mage/cards/f/FanaticOfMogis.java index 2e12ffb7beb..5abbdee8fb9 100644 --- a/Mage.Sets/src/mage/cards/f/FanaticOfMogis.java +++ b/Mage.Sets/src/mage/cards/f/FanaticOfMogis.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamagePlayersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Outcome; import mage.constants.TargetController; @@ -48,8 +49,8 @@ public class FanaticOfMogis extends CardImpl { public FanaticOfMogis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FanaticOfXenagos.java b/Mage.Sets/src/mage/cards/f/FanaticOfXenagos.java index 7883b85642e..7d8170a8cc3 100644 --- a/Mage.Sets/src/mage/cards/f/FanaticOfXenagos.java +++ b/Mage.Sets/src/mage/cards/f/FanaticOfXenagos.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TributeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -51,8 +52,8 @@ public class FanaticOfXenagos extends CardImpl { public FanaticOfXenagos(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FangOfThePack.java b/Mage.Sets/src/mage/cards/f/FangOfThePack.java index 84534f780c5..761816efd92 100644 --- a/Mage.Sets/src/mage/cards/f/FangOfThePack.java +++ b/Mage.Sets/src/mage/cards/f/FangOfThePack.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MeleeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; @@ -57,7 +58,7 @@ public class FangOfThePack extends CardImpl { public FangOfThePack(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FangSkulkin.java b/Mage.Sets/src/mage/cards/f/FangSkulkin.java index 210fb4848d6..cc3c912accd 100644 --- a/Mage.Sets/src/mage/cards/f/FangSkulkin.java +++ b/Mage.Sets/src/mage/cards/f/FangSkulkin.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -57,7 +58,7 @@ public class FangSkulkin extends CardImpl { public FangSkulkin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(2); this.toughness = new MageInt(1); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(WitherAbility.getInstance(), Duration.EndOfTurn), new GenericManaCost(2)); diff --git a/Mage.Sets/src/mage/cards/f/FangrenFirstborn.java b/Mage.Sets/src/mage/cards/f/FangrenFirstborn.java index ae12d4c0eda..b223ab2722f 100644 --- a/Mage.Sets/src/mage/cards/f/FangrenFirstborn.java +++ b/Mage.Sets/src/mage/cards/f/FangrenFirstborn.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterAttackingCreature; @@ -45,7 +46,7 @@ public class FangrenFirstborn extends CardImpl { public FangrenFirstborn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FangrenHunter.java b/Mage.Sets/src/mage/cards/f/FangrenHunter.java index 221eaed535e..e9933626942 100644 --- a/Mage.Sets/src/mage/cards/f/FangrenHunter.java +++ b/Mage.Sets/src/mage/cards/f/FangrenHunter.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class FangrenHunter extends CardImpl { public FangrenHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FangrenMarauder.java b/Mage.Sets/src/mage/cards/f/FangrenMarauder.java index c7ab546a6e6..cde625c951a 100644 --- a/Mage.Sets/src/mage/cards/f/FangrenMarauder.java +++ b/Mage.Sets/src/mage/cards/f/FangrenMarauder.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; @@ -45,7 +46,7 @@ public class FangrenMarauder extends CardImpl { public FangrenMarauder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/f/FangrenPathcutter.java b/Mage.Sets/src/mage/cards/f/FangrenPathcutter.java index ec03e642f6c..305aa2d7baf 100644 --- a/Mage.Sets/src/mage/cards/f/FangrenPathcutter.java +++ b/Mage.Sets/src/mage/cards/f/FangrenPathcutter.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterAttackingCreature; @@ -46,7 +47,7 @@ public class FangrenPathcutter extends CardImpl { public FangrenPathcutter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/f/FarbogBoneflinger.java b/Mage.Sets/src/mage/cards/f/FarbogBoneflinger.java index 22076bccfb5..35dbf756313 100644 --- a/Mage.Sets/src/mage/cards/f/FarbogBoneflinger.java +++ b/Mage.Sets/src/mage/cards/f/FarbogBoneflinger.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -46,7 +47,7 @@ public class FarbogBoneflinger extends CardImpl { public FarbogBoneflinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FarbogExplorer.java b/Mage.Sets/src/mage/cards/f/FarbogExplorer.java index f6a1baefadf..f33fc217785 100644 --- a/Mage.Sets/src/mage/cards/f/FarbogExplorer.java +++ b/Mage.Sets/src/mage/cards/f/FarbogExplorer.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class FarbogExplorer extends CardImpl { public FarbogExplorer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FarbogRevenant.java b/Mage.Sets/src/mage/cards/f/FarbogRevenant.java index f33ad1ca332..3bdfb80d93c 100644 --- a/Mage.Sets/src/mage/cards/f/FarbogRevenant.java +++ b/Mage.Sets/src/mage/cards/f/FarbogRevenant.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.SkulkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class FarbogRevenant extends CardImpl { public FarbogRevenant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FarhavenElf.java b/Mage.Sets/src/mage/cards/f/FarhavenElf.java index f3d2322d3ac..ca27b784fa2 100644 --- a/Mage.Sets/src/mage/cards/f/FarhavenElf.java +++ b/Mage.Sets/src/mage/cards/f/FarhavenElf.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -46,8 +47,8 @@ public class FarhavenElf extends CardImpl { public FarhavenElf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FarmMarket.java b/Mage.Sets/src/mage/cards/f/FarmMarket.java index f907b6a3326..19b1fc65a2d 100644 --- a/Mage.Sets/src/mage/cards/f/FarmMarket.java +++ b/Mage.Sets/src/mage/cards/f/FarmMarket.java @@ -1,71 +1,71 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.f; - -import java.util.UUID; -import mage.abilities.effects.common.DestroyTargetEffect; -import mage.abilities.effects.common.DrawDiscardControllerEffect; -import mage.abilities.keyword.AftermathAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.SplitCard; -import mage.constants.CardType; -import mage.constants.SpellAbilityType; -import mage.target.common.TargetAttackingOrBlockingCreature; - -/** - * - * @author LevelX2 - */ -public class FarmMarket extends SplitCard { - - public FarmMarket(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, new CardType[]{CardType.SORCERY}, "{2}{W}", "{2}{U}", SpellAbilityType.SPLIT_AFTERMATH); - - // Destroy target attacking or blocking creature. - getLeftHalfCard().getSpellAbility().addEffect(new DestroyTargetEffect()); - getLeftHalfCard().getSpellAbility().addTarget(new TargetAttackingOrBlockingCreature()); - - // Market {2}{U} - // Sorcery - // Aftermath - ((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility().setRuleAtTheTop(true)); - // Draw two cards, then discard two cards - getRightHalfCard().getSpellAbility().addEffect(new DrawDiscardControllerEffect(2, 2)); - - } - - public FarmMarket(final FarmMarket card) { - super(card); - } - - @Override - public FarmMarket copy() { - return new FarmMarket(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.f; + +import java.util.UUID; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.effects.common.DrawDiscardControllerEffect; +import mage.abilities.keyword.AftermathAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.SplitCard; +import mage.constants.CardType; +import mage.constants.SpellAbilityType; +import mage.target.common.TargetAttackingOrBlockingCreature; + +/** + * + * @author LevelX2 + */ +public class FarmMarket extends SplitCard { + + public FarmMarket(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, new CardType[]{CardType.SORCERY}, "{2}{W}", "{2}{U}", SpellAbilityType.SPLIT_AFTERMATH); + + // Destroy target attacking or blocking creature. + getLeftHalfCard().getSpellAbility().addEffect(new DestroyTargetEffect()); + getLeftHalfCard().getSpellAbility().addTarget(new TargetAttackingOrBlockingCreature()); + + // Market {2}{U} + // Sorcery + // Aftermath + ((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility().setRuleAtTheTop(true)); + // Draw two cards, then discard two cards + getRightHalfCard().getSpellAbility().addEffect(new DrawDiscardControllerEffect(2, 2)); + + } + + public FarmMarket(final FarmMarket card) { + super(card); + } + + @Override + public FarmMarket copy() { + return new FarmMarket(this); + } +} diff --git a/Mage.Sets/src/mage/cards/f/Farmstead.java b/Mage.Sets/src/mage/cards/f/Farmstead.java index 0aa733ddf74..b1ddf161262 100644 --- a/Mage.Sets/src/mage/cards/f/Farmstead.java +++ b/Mage.Sets/src/mage/cards/f/Farmstead.java @@ -52,7 +52,7 @@ public class Farmstead extends CardImpl { public Farmstead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}{W}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FarrelitePriest.java b/Mage.Sets/src/mage/cards/f/FarrelitePriest.java index 1c66774555e..07c9200b3cf 100644 --- a/Mage.Sets/src/mage/cards/f/FarrelitePriest.java +++ b/Mage.Sets/src/mage/cards/f/FarrelitePriest.java @@ -41,6 +41,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -53,8 +54,8 @@ public class FarrelitePriest extends CardImpl { public FarrelitePriest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FarrelsMantle.java b/Mage.Sets/src/mage/cards/f/FarrelsMantle.java index 2060fc3593a..380f184ab96 100644 --- a/Mage.Sets/src/mage/cards/f/FarrelsMantle.java +++ b/Mage.Sets/src/mage/cards/f/FarrelsMantle.java @@ -58,7 +58,7 @@ public class FarrelsMantle extends CardImpl { public FarrelsMantle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FarrelsZealot.java b/Mage.Sets/src/mage/cards/f/FarrelsZealot.java index c9ff54606b9..6ed4e9f1f9d 100644 --- a/Mage.Sets/src/mage/cards/f/FarrelsZealot.java +++ b/Mage.Sets/src/mage/cards/f/FarrelsZealot.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.AssignNoCombatDamageSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class FarrelsZealot extends CardImpl { public FarrelsZealot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FatalAttraction.java b/Mage.Sets/src/mage/cards/f/FatalAttraction.java index 765c2f81cf5..f4ed25b7037 100644 --- a/Mage.Sets/src/mage/cards/f/FatalAttraction.java +++ b/Mage.Sets/src/mage/cards/f/FatalAttraction.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -51,7 +52,7 @@ public class FatalAttraction extends CardImpl { public FatalAttraction(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FatalMutation.java b/Mage.Sets/src/mage/cards/f/FatalMutation.java index b49813e1bdd..e1eb3a21012 100644 --- a/Mage.Sets/src/mage/cards/f/FatalMutation.java +++ b/Mage.Sets/src/mage/cards/f/FatalMutation.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -53,7 +54,7 @@ public class FatalMutation extends CardImpl { public FatalMutation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FateForetold.java b/Mage.Sets/src/mage/cards/f/FateForetold.java index fc39dc975bf..23343f0715c 100644 --- a/Mage.Sets/src/mage/cards/f/FateForetold.java +++ b/Mage.Sets/src/mage/cards/f/FateForetold.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class FateForetold extends CardImpl { public FateForetold(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/f/FateUnraveler.java b/Mage.Sets/src/mage/cards/f/FateUnraveler.java index 80f0d2c0f5d..8c4df6e5b22 100644 --- a/Mage.Sets/src/mage/cards/f/FateUnraveler.java +++ b/Mage.Sets/src/mage/cards/f/FateUnraveler.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class FateUnraveler extends CardImpl { public FateUnraveler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{3}{B}"); - this.subtype.add("Hag"); + this.subtype.add(SubType.HAG); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/Fatespinner.java b/Mage.Sets/src/mage/cards/f/Fatespinner.java index e14082372bb..7eed6c6fb62 100644 --- a/Mage.Sets/src/mage/cards/f/Fatespinner.java +++ b/Mage.Sets/src/mage/cards/f/Fatespinner.java @@ -54,8 +54,8 @@ public class Fatespinner extends CardImpl { public Fatespinner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/Fatestitcher.java b/Mage.Sets/src/mage/cards/f/Fatestitcher.java index d287dc73462..97e2363447b 100644 --- a/Mage.Sets/src/mage/cards/f/Fatestitcher.java +++ b/Mage.Sets/src/mage/cards/f/Fatestitcher.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -56,8 +57,8 @@ public class Fatestitcher extends CardImpl { public Fatestitcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FathomFeeder.java b/Mage.Sets/src/mage/cards/f/FathomFeeder.java index 9feb4b51c00..ee461bf0b2f 100644 --- a/Mage.Sets/src/mage/cards/f/FathomFeeder.java +++ b/Mage.Sets/src/mage/cards/f/FathomFeeder.java @@ -42,6 +42,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -55,8 +56,8 @@ public class FathomFeeder extends CardImpl { public FathomFeeder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FathomFleetCaptain.java b/Mage.Sets/src/mage/cards/f/FathomFleetCaptain.java index 5ca4677a1a2..72f6e09eaed 100644 --- a/Mage.Sets/src/mage/cards/f/FathomFleetCaptain.java +++ b/Mage.Sets/src/mage/cards/f/FathomFleetCaptain.java @@ -64,8 +64,8 @@ public class FathomFleetCaptain extends CardImpl { public FathomFleetCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FathomMage.java b/Mage.Sets/src/mage/cards/f/FathomMage.java index e898a535230..dd60e4a70d1 100644 --- a/Mage.Sets/src/mage/cards/f/FathomMage.java +++ b/Mage.Sets/src/mage/cards/f/FathomMage.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EvolveAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -50,8 +51,8 @@ public class FathomMage extends CardImpl { public FathomMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FathomSeer.java b/Mage.Sets/src/mage/cards/f/FathomSeer.java index 6bc18130f50..02d7b8a18ff 100644 --- a/Mage.Sets/src/mage/cards/f/FathomSeer.java +++ b/Mage.Sets/src/mage/cards/f/FathomSeer.java @@ -54,7 +54,7 @@ public class FathomSeer extends CardImpl { } public FathomSeer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FaultRiders.java b/Mage.Sets/src/mage/cards/f/FaultRiders.java index 982df06cfff..97f98ba0056 100644 --- a/Mage.Sets/src/mage/cards/f/FaultRiders.java +++ b/Mage.Sets/src/mage/cards/f/FaultRiders.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -52,8 +53,8 @@ public class FaultRiders extends CardImpl { public FaultRiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/Faultgrinder.java b/Mage.Sets/src/mage/cards/f/Faultgrinder.java index 700340cf269..0e4a4f9c0aa 100644 --- a/Mage.Sets/src/mage/cards/f/Faultgrinder.java +++ b/Mage.Sets/src/mage/cards/f/Faultgrinder.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.Target; import mage.target.common.TargetLandPermanent; @@ -48,7 +49,7 @@ public class Faultgrinder extends CardImpl { public Faultgrinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FaunaShaman.java b/Mage.Sets/src/mage/cards/f/FaunaShaman.java index 9021cf38a5b..ff75aecdba7 100644 --- a/Mage.Sets/src/mage/cards/f/FaunaShaman.java +++ b/Mage.Sets/src/mage/cards/f/FaunaShaman.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -53,8 +54,8 @@ public class FaunaShaman extends CardImpl { public FaunaShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FavorOfTheMighty.java b/Mage.Sets/src/mage/cards/f/FavorOfTheMighty.java index 8b094dca7db..aea2316e0fc 100644 --- a/Mage.Sets/src/mage/cards/f/FavorOfTheMighty.java +++ b/Mage.Sets/src/mage/cards/f/FavorOfTheMighty.java @@ -54,7 +54,7 @@ public class FavorOfTheMighty extends CardImpl { public FavorOfTheMighty(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{1}{W}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); // Each creature with the highest converted mana cost has protection from all colors. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new FavorOfTheMightyEffect())); diff --git a/Mage.Sets/src/mage/cards/f/FavorOfTheOverbeing.java b/Mage.Sets/src/mage/cards/f/FavorOfTheOverbeing.java index d0dcffe7480..0d040c84d65 100644 --- a/Mage.Sets/src/mage/cards/f/FavorOfTheOverbeing.java +++ b/Mage.Sets/src/mage/cards/f/FavorOfTheOverbeing.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -56,7 +57,7 @@ public class FavorOfTheOverbeing extends CardImpl { public FavorOfTheOverbeing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G/U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/f/FavorOfTheWoods.java b/Mage.Sets/src/mage/cards/f/FavorOfTheWoods.java index 62625d29c62..8a8a43e5fe4 100644 --- a/Mage.Sets/src/mage/cards/f/FavorOfTheWoods.java +++ b/Mage.Sets/src/mage/cards/f/FavorOfTheWoods.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class FavorOfTheWoods extends CardImpl { public FavorOfTheWoods(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/f/FavoredHoplite.java b/Mage.Sets/src/mage/cards/f/FavoredHoplite.java index 97f772fc196..28a44886112 100644 --- a/Mage.Sets/src/mage/cards/f/FavoredHoplite.java +++ b/Mage.Sets/src/mage/cards/f/FavoredHoplite.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.counters.CounterType; @@ -47,8 +48,8 @@ public class FavoredHoplite extends CardImpl { public FavoredHoplite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/Fear.java b/Mage.Sets/src/mage/cards/f/Fear.java index f6dabf54970..b407165e94d 100644 --- a/Mage.Sets/src/mage/cards/f/Fear.java +++ b/Mage.Sets/src/mage/cards/f/Fear.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class Fear extends CardImpl { public Fear(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/f/FearsomeTemper.java b/Mage.Sets/src/mage/cards/f/FearsomeTemper.java index 8f75025ee5d..31e1a7b4c5f 100644 --- a/Mage.Sets/src/mage/cards/f/FearsomeTemper.java +++ b/Mage.Sets/src/mage/cards/f/FearsomeTemper.java @@ -52,7 +52,7 @@ public class FearsomeTemper extends CardImpl { public FearsomeTemper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/f/FeastOfTheUnicorn.java b/Mage.Sets/src/mage/cards/f/FeastOfTheUnicorn.java index 908b771dcfd..7423851dbd0 100644 --- a/Mage.Sets/src/mage/cards/f/FeastOfTheUnicorn.java +++ b/Mage.Sets/src/mage/cards/f/FeastOfTheUnicorn.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class FeastOfTheUnicorn extends CardImpl { public FeastOfTheUnicorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/f/Feebleness.java b/Mage.Sets/src/mage/cards/f/Feebleness.java index 66f2fb0fafd..320497fdd72 100644 --- a/Mage.Sets/src/mage/cards/f/Feebleness.java +++ b/Mage.Sets/src/mage/cards/f/Feebleness.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class Feebleness extends CardImpl { public Feebleness(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/f/Feedback.java b/Mage.Sets/src/mage/cards/f/Feedback.java index 27f7892f25d..a6140d0a011 100644 --- a/Mage.Sets/src/mage/cards/f/Feedback.java +++ b/Mage.Sets/src/mage/cards/f/Feedback.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class Feedback extends CardImpl { public Feedback(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant enchantment TargetPermanent auraTarget = new TargetEnchantmentPermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FeldonOfTheThirdPath.java b/Mage.Sets/src/mage/cards/f/FeldonOfTheThirdPath.java index 40adbbd86ff..b26b85adc0e 100644 --- a/Mage.Sets/src/mage/cards/f/FeldonOfTheThirdPath.java +++ b/Mage.Sets/src/mage/cards/f/FeldonOfTheThirdPath.java @@ -42,6 +42,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class FeldonOfTheThirdPath extends CardImpl { public FeldonOfTheThirdPath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FelhideBrawler.java b/Mage.Sets/src/mage/cards/f/FelhideBrawler.java index f1c720e790a..bd4544d2d9a 100644 --- a/Mage.Sets/src/mage/cards/f/FelhideBrawler.java +++ b/Mage.Sets/src/mage/cards/f/FelhideBrawler.java @@ -55,7 +55,7 @@ public class FelhideBrawler extends CardImpl { public FelhideBrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Minotaur"); + this.subtype.add(SubType.MINOTAUR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FelhideMinotaur.java b/Mage.Sets/src/mage/cards/f/FelhideMinotaur.java index 6b67c5177b3..0749dfffa73 100644 --- a/Mage.Sets/src/mage/cards/f/FelhideMinotaur.java +++ b/Mage.Sets/src/mage/cards/f/FelhideMinotaur.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class FelhideMinotaur extends CardImpl { public FelhideMinotaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Minotaur"); + this.subtype.add(SubType.MINOTAUR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FelhidePetrifier.java b/Mage.Sets/src/mage/cards/f/FelhidePetrifier.java index 6230d8f525a..40e024a558d 100644 --- a/Mage.Sets/src/mage/cards/f/FelhidePetrifier.java +++ b/Mage.Sets/src/mage/cards/f/FelhidePetrifier.java @@ -48,8 +48,8 @@ public class FelhidePetrifier extends CardImpl { public FelhidePetrifier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FelhideSpiritbinder.java b/Mage.Sets/src/mage/cards/f/FelhideSpiritbinder.java index ef29cb8cf36..3ffef384f9e 100644 --- a/Mage.Sets/src/mage/cards/f/FelhideSpiritbinder.java +++ b/Mage.Sets/src/mage/cards/f/FelhideSpiritbinder.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.InspiredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -63,8 +64,8 @@ public class FelhideSpiritbinder extends CardImpl { public FelhideSpiritbinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FelidarCub.java b/Mage.Sets/src/mage/cards/f/FelidarCub.java index 978842c67cd..35116859815 100644 --- a/Mage.Sets/src/mage/cards/f/FelidarCub.java +++ b/Mage.Sets/src/mage/cards/f/FelidarCub.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetEnchantmentPermanent; @@ -47,8 +48,8 @@ public class FelidarCub extends CardImpl { public FelidarCub(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Beast"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FelidarGuardian.java b/Mage.Sets/src/mage/cards/f/FelidarGuardian.java index 2cb2214b319..ed856997561 100644 --- a/Mage.Sets/src/mage/cards/f/FelidarGuardian.java +++ b/Mage.Sets/src/mage/cards/f/FelidarGuardian.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToBattlefieldUnderOwnerControlTargetE import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.permanent.AnotherPredicate; import mage.target.common.TargetControlledPermanent; @@ -56,8 +57,8 @@ public class FelidarGuardian extends CardImpl { public FelidarGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Beast"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FelidarSovereign.java b/Mage.Sets/src/mage/cards/f/FelidarSovereign.java index 24f5d1f7c7c..cc4a50695d6 100644 --- a/Mage.Sets/src/mage/cards/f/FelidarSovereign.java +++ b/Mage.Sets/src/mage/cards/f/FelidarSovereign.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.game.Game; @@ -51,8 +52,8 @@ public class FelidarSovereign extends CardImpl { public FelidarSovereign(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Beast"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/f/FelidarUmbra.java b/Mage.Sets/src/mage/cards/f/FelidarUmbra.java index d152f4d74aa..45aeffa4e25 100644 --- a/Mage.Sets/src/mage/cards/f/FelidarUmbra.java +++ b/Mage.Sets/src/mage/cards/f/FelidarUmbra.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -55,7 +56,7 @@ public class FelidarUmbra extends CardImpl { public FelidarUmbra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/f/FellShepherd.java b/Mage.Sets/src/mage/cards/f/FellShepherd.java index 8f0081a4f94..2f843e96be8 100644 --- a/Mage.Sets/src/mage/cards/f/FellShepherd.java +++ b/Mage.Sets/src/mage/cards/f/FellShepherd.java @@ -60,7 +60,7 @@ public class FellShepherd extends CardImpl { public FellShepherd(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{B}{B}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(8); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/f/FemerefArchers.java b/Mage.Sets/src/mage/cards/f/FemerefArchers.java index 5a1e4f375ee..3ec86db136c 100644 --- a/Mage.Sets/src/mage/cards/f/FemerefArchers.java +++ b/Mage.Sets/src/mage/cards/f/FemerefArchers.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterAttackingCreature; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -56,8 +57,8 @@ public class FemerefArchers extends CardImpl { public FemerefArchers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FemerefEnchantress.java b/Mage.Sets/src/mage/cards/f/FemerefEnchantress.java index 7960891b5fd..824966e7d78 100644 --- a/Mage.Sets/src/mage/cards/f/FemerefEnchantress.java +++ b/Mage.Sets/src/mage/cards/f/FemerefEnchantress.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -46,8 +47,8 @@ public class FemerefEnchantress extends CardImpl { public FemerefEnchantress(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FemerefHealer.java b/Mage.Sets/src/mage/cards/f/FemerefHealer.java index 5347c92f030..4eaf6ec8810 100644 --- a/Mage.Sets/src/mage/cards/f/FemerefHealer.java +++ b/Mage.Sets/src/mage/cards/f/FemerefHealer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class FemerefHealer extends CardImpl { public FemerefHealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FemerefKnight.java b/Mage.Sets/src/mage/cards/f/FemerefKnight.java index a221c1c1d42..25219c46a04 100644 --- a/Mage.Sets/src/mage/cards/f/FemerefKnight.java +++ b/Mage.Sets/src/mage/cards/f/FemerefKnight.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class FemerefKnight extends CardImpl { public FemerefKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FemerefScouts.java b/Mage.Sets/src/mage/cards/f/FemerefScouts.java index 8bb11d89ecb..d572bded88c 100644 --- a/Mage.Sets/src/mage/cards/f/FemerefScouts.java +++ b/Mage.Sets/src/mage/cards/f/FemerefScouts.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class FemerefScouts extends CardImpl { public FemerefScouts(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FenHauler.java b/Mage.Sets/src/mage/cards/f/FenHauler.java index 302982662c4..33e12b19cfb 100644 --- a/Mage.Sets/src/mage/cards/f/FenHauler.java +++ b/Mage.Sets/src/mage/cards/f/FenHauler.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ImproviseAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -54,7 +55,7 @@ public class FenHauler extends CardImpl { public FenHauler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/f/FenStalker.java b/Mage.Sets/src/mage/cards/f/FenStalker.java index 9279bf4aca7..5a431d60877 100644 --- a/Mage.Sets/src/mage/cards/f/FenStalker.java +++ b/Mage.Sets/src/mage/cards/f/FenStalker.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -58,7 +59,7 @@ public class FenStalker extends CardImpl { public FenStalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Nightstalker"); + this.subtype.add(SubType.NIGHTSTALKER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FencerClique.java b/Mage.Sets/src/mage/cards/f/FencerClique.java index 0bad67a90da..56a3c62392c 100644 --- a/Mage.Sets/src/mage/cards/f/FencerClique.java +++ b/Mage.Sets/src/mage/cards/f/FencerClique.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class FencerClique extends CardImpl { public FencerClique(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FencersMagemark.java b/Mage.Sets/src/mage/cards/f/FencersMagemark.java index fa3f44e1f51..e01a80d2e67 100644 --- a/Mage.Sets/src/mage/cards/f/FencersMagemark.java +++ b/Mage.Sets/src/mage/cards/f/FencersMagemark.java @@ -59,7 +59,7 @@ public class FencersMagemark extends CardImpl { public FencersMagemark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FencingAce.java b/Mage.Sets/src/mage/cards/f/FencingAce.java index d64f5a3514a..ec57bb4b30f 100644 --- a/Mage.Sets/src/mage/cards/f/FencingAce.java +++ b/Mage.Sets/src/mage/cards/f/FencingAce.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class FencingAce extends CardImpl { public FencingAce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FendeepSummoner.java b/Mage.Sets/src/mage/cards/f/FendeepSummoner.java index 6b0085390f6..558b01bb47e 100644 --- a/Mage.Sets/src/mage/cards/f/FendeepSummoner.java +++ b/Mage.Sets/src/mage/cards/f/FendeepSummoner.java @@ -57,8 +57,8 @@ public class FendeepSummoner extends CardImpl { public FendeepSummoner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Treefolk"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(5); @@ -84,8 +84,8 @@ class FendeepSummonerToken extends Token { public FendeepSummonerToken() { super("", "3/5 Treefolk Warrior"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Treefolk"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(5); } diff --git a/Mage.Sets/src/mage/cards/f/FeralAnimist.java b/Mage.Sets/src/mage/cards/f/FeralAnimist.java index eac9ee5689d..ca007ff7ada 100644 --- a/Mage.Sets/src/mage/cards/f/FeralAnimist.java +++ b/Mage.Sets/src/mage/cards/f/FeralAnimist.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class FeralAnimist extends CardImpl { public FeralAnimist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FeralDeceiver.java b/Mage.Sets/src/mage/cards/f/FeralDeceiver.java index 00a45cced83..c590aced713 100644 --- a/Mage.Sets/src/mage/cards/f/FeralDeceiver.java +++ b/Mage.Sets/src/mage/cards/f/FeralDeceiver.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class FeralDeceiver extends CardImpl { public FeralDeceiver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FeralHydra.java b/Mage.Sets/src/mage/cards/f/FeralHydra.java index acd1babf5d9..89460a10e79 100644 --- a/Mage.Sets/src/mage/cards/f/FeralHydra.java +++ b/Mage.Sets/src/mage/cards/f/FeralHydra.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -50,8 +51,8 @@ public class FeralHydra extends CardImpl { public FeralHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{X}{G}"); - this.subtype.add("Hydra"); - this.subtype.add("Beast"); + this.subtype.add(SubType.HYDRA); + this.subtype.add(SubType.BEAST); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/f/FeralInvocation.java b/Mage.Sets/src/mage/cards/f/FeralInvocation.java index 90f5ddef6d0..c652426d3b3 100644 --- a/Mage.Sets/src/mage/cards/f/FeralInvocation.java +++ b/Mage.Sets/src/mage/cards/f/FeralInvocation.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class FeralInvocation extends CardImpl { public FeralInvocation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash diff --git a/Mage.Sets/src/mage/cards/f/FeralKrushok.java b/Mage.Sets/src/mage/cards/f/FeralKrushok.java index 778618b1057..5daa6226d95 100644 --- a/Mage.Sets/src/mage/cards/f/FeralKrushok.java +++ b/Mage.Sets/src/mage/cards/f/FeralKrushok.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class FeralKrushok extends CardImpl { public FeralKrushok(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(4); } diff --git a/Mage.Sets/src/mage/cards/f/FeralProwler.java b/Mage.Sets/src/mage/cards/f/FeralProwler.java index 57dc91f01a7..203ff20a45d 100644 --- a/Mage.Sets/src/mage/cards/f/FeralProwler.java +++ b/Mage.Sets/src/mage/cards/f/FeralProwler.java @@ -7,12 +7,13 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; public class FeralProwler extends CardImpl { public FeralProwler(UUID ownerId, CardSetInfo cardSetInfo) { super(ownerId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - subtype.add("Cat"); + subtype.add(SubType.CAT); power = new MageInt(1); toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FeralRidgewolf.java b/Mage.Sets/src/mage/cards/f/FeralRidgewolf.java index 6923adb95eb..1e6137ac5a0 100644 --- a/Mage.Sets/src/mage/cards/f/FeralRidgewolf.java +++ b/Mage.Sets/src/mage/cards/f/FeralRidgewolf.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class FeralRidgewolf extends CardImpl { public FeralRidgewolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FeralShadow.java b/Mage.Sets/src/mage/cards/f/FeralShadow.java index 8fa556bc021..2a3662fe7b3 100644 --- a/Mage.Sets/src/mage/cards/f/FeralShadow.java +++ b/Mage.Sets/src/mage/cards/f/FeralShadow.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class FeralShadow extends CardImpl { public FeralShadow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Nightstalker"); + this.subtype.add(SubType.NIGHTSTALKER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FeralThallid.java b/Mage.Sets/src/mage/cards/f/FeralThallid.java index a9febd9bd64..7da65633e9e 100644 --- a/Mage.Sets/src/mage/cards/f/FeralThallid.java +++ b/Mage.Sets/src/mage/cards/f/FeralThallid.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -49,7 +50,7 @@ public class FeralThallid extends CardImpl { public FeralThallid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(6); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FeralThrowback.java b/Mage.Sets/src/mage/cards/f/FeralThrowback.java index 510b0f5df57..5623cdd5744 100644 --- a/Mage.Sets/src/mage/cards/f/FeralThrowback.java +++ b/Mage.Sets/src/mage/cards/f/FeralThrowback.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class FeralThrowback extends CardImpl { public FeralThrowback(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/Ferropede.java b/Mage.Sets/src/mage/cards/f/Ferropede.java index d51fdc01be4..8a494890c53 100644 --- a/Mage.Sets/src/mage/cards/f/Ferropede.java +++ b/Mage.Sets/src/mage/cards/f/Ferropede.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPermanent; /** @@ -46,7 +47,7 @@ public class Ferropede extends CardImpl { public Ferropede(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/Ferrovore.java b/Mage.Sets/src/mage/cards/f/Ferrovore.java index 6eed52a2f14..d55161bc9c5 100644 --- a/Mage.Sets/src/mage/cards/f/Ferrovore.java +++ b/Mage.Sets/src/mage/cards/f/Ferrovore.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -57,7 +58,7 @@ public class Ferrovore extends CardImpl { public Ferrovore (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FertileGround.java b/Mage.Sets/src/mage/cards/f/FertileGround.java index 6dc49e8bc25..057d16697a3 100644 --- a/Mage.Sets/src/mage/cards/f/FertileGround.java +++ b/Mage.Sets/src/mage/cards/f/FertileGround.java @@ -36,6 +36,7 @@ import mage.abilities.mana.TriggeredManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -54,7 +55,7 @@ public class FertileGround extends CardImpl { public FertileGround(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/f/Fertilid.java b/Mage.Sets/src/mage/cards/f/Fertilid.java index b7eb0bb7d10..9f47bf79eb0 100644 --- a/Mage.Sets/src/mage/cards/f/Fertilid.java +++ b/Mage.Sets/src/mage/cards/f/Fertilid.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayTargetPlayerEf import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.StaticFilters; @@ -54,7 +55,7 @@ public class Fertilid extends CardImpl { public Fertilid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/f/FerventCathar.java b/Mage.Sets/src/mage/cards/f/FerventCathar.java index da6c015e544..81452f07ef3 100644 --- a/Mage.Sets/src/mage/cards/f/FerventCathar.java +++ b/Mage.Sets/src/mage/cards/f/FerventCathar.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -46,8 +47,8 @@ public class FerventCathar extends CardImpl { public FerventCathar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FerventPaincaster.java b/Mage.Sets/src/mage/cards/f/FerventPaincaster.java index e58aee4265e..5c71b314bac 100644 --- a/Mage.Sets/src/mage/cards/f/FerventPaincaster.java +++ b/Mage.Sets/src/mage/cards/f/FerventPaincaster.java @@ -1,80 +1,81 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.f; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.ExertSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.common.DamageTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.target.TargetPlayer; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author jeffwadsworth - */ -public class FerventPaincaster extends CardImpl { - - public FerventPaincaster(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - - this.subtype.add("Human"); - this.subtype.add("Wizard"); - - this.power = new MageInt(3); - this.toughness = new MageInt(1); - - // {T}: Fervent Paincaster deals 1 damage to target player. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost()); - ability.addTarget(new TargetPlayer()); - this.addAbility(ability); - - // {T}, Exert Fervent Paincaster: It deals 1 damage to target creature. - Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost()); - ability2.addCost(new ExertSourceCost()); - ability2.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability2); - - } - - public FerventPaincaster(final FerventPaincaster card) { - super(card); - } - - @Override - public FerventPaincaster copy() { - return new FerventPaincaster(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.f; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.ExertSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.target.TargetPlayer; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author jeffwadsworth + */ +public class FerventPaincaster extends CardImpl { + + public FerventPaincaster(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + + this.power = new MageInt(3); + this.toughness = new MageInt(1); + + // {T}: Fervent Paincaster deals 1 damage to target player. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost()); + ability.addTarget(new TargetPlayer()); + this.addAbility(ability); + + // {T}, Exert Fervent Paincaster: It deals 1 damage to target creature. + Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost()); + ability2.addCost(new ExertSourceCost()); + ability2.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability2); + + } + + public FerventPaincaster(final FerventPaincaster card) { + super(card); + } + + @Override + public FerventPaincaster copy() { + return new FerventPaincaster(this); + } +} diff --git a/Mage.Sets/src/mage/cards/f/Festercreep.java b/Mage.Sets/src/mage/cards/f/Festercreep.java index 5542a2a203f..a932e1dbe2d 100644 --- a/Mage.Sets/src/mage/cards/f/Festercreep.java +++ b/Mage.Sets/src/mage/cards/f/Festercreep.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -52,7 +53,7 @@ public class Festercreep extends CardImpl { public Festercreep(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/f/FesterhideBoar.java b/Mage.Sets/src/mage/cards/f/FesterhideBoar.java index 653ffffeb80..8924e1c9658 100644 --- a/Mage.Sets/src/mage/cards/f/FesterhideBoar.java +++ b/Mage.Sets/src/mage/cards/f/FesterhideBoar.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -47,7 +48,7 @@ public class FesterhideBoar extends CardImpl { public FesterhideBoar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Boar"); + this.subtype.add(SubType.BOAR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FesteringGoblin.java b/Mage.Sets/src/mage/cards/f/FesteringGoblin.java index 5efedce0b6e..23c43316571 100644 --- a/Mage.Sets/src/mage/cards/f/FesteringGoblin.java +++ b/Mage.Sets/src/mage/cards/f/FesteringGoblin.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -46,8 +47,8 @@ public class FesteringGoblin extends CardImpl { public FesteringGoblin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FesteringMummy.java b/Mage.Sets/src/mage/cards/f/FesteringMummy.java index 4e929b8dd4c..d0c85650c8f 100644 --- a/Mage.Sets/src/mage/cards/f/FesteringMummy.java +++ b/Mage.Sets/src/mage/cards/f/FesteringMummy.java @@ -1,68 +1,69 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.f; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.DiesTriggeredAbility; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.counters.CounterType; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class FesteringMummy extends CardImpl { - - public FesteringMummy(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}"); - - this.subtype.add("Zombie"); - this.power = new MageInt(1); - this.toughness = new MageInt(1); - - // When Festering Mummy dies, you may put a -1/-1 counter on target creature. - Ability ability = new DiesTriggeredAbility(new AddCountersTargetEffect(CounterType.M1M1.createInstance()), true); - ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability); - } - - public FesteringMummy(final FesteringMummy card) { - super(card); - } - - @Override - public FesteringMummy copy() { - return new FesteringMummy(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.f; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DiesTriggeredAbility; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.counters.CounterType; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class FesteringMummy extends CardImpl { + + public FesteringMummy(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}"); + + this.subtype.add(SubType.ZOMBIE); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // When Festering Mummy dies, you may put a -1/-1 counter on target creature. + Ability ability = new DiesTriggeredAbility(new AddCountersTargetEffect(CounterType.M1M1.createInstance()), true); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public FesteringMummy(final FesteringMummy card) { + super(card); + } + + @Override + public FesteringMummy copy() { + return new FesteringMummy(this); + } +} diff --git a/Mage.Sets/src/mage/cards/f/FesteringNewt.java b/Mage.Sets/src/mage/cards/f/FesteringNewt.java index 1efc5054934..5f9cfe7f20f 100644 --- a/Mage.Sets/src/mage/cards/f/FesteringNewt.java +++ b/Mage.Sets/src/mage/cards/f/FesteringNewt.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -60,7 +61,7 @@ public class FesteringNewt extends CardImpl { } public FesteringNewt(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Salamander"); + this.subtype.add(SubType.SALAMANDER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FesteringWound.java b/Mage.Sets/src/mage/cards/f/FesteringWound.java index 0317ee92559..3fb996d83d0 100644 --- a/Mage.Sets/src/mage/cards/f/FesteringWound.java +++ b/Mage.Sets/src/mage/cards/f/FesteringWound.java @@ -63,7 +63,7 @@ public class FesteringWound extends CardImpl { public FesteringWound(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FetidHorror.java b/Mage.Sets/src/mage/cards/f/FetidHorror.java index 053a66bba09..e18603b1437 100644 --- a/Mage.Sets/src/mage/cards/f/FetidHorror.java +++ b/Mage.Sets/src/mage/cards/f/FetidHorror.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class FetidHorror extends CardImpl { public FetidHorror(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Shade"); - this.subtype.add("Horror"); + this.subtype.add(SubType.SHADE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FetidImp.java b/Mage.Sets/src/mage/cards/f/FetidImp.java index be9ce03d5d8..6ac4244217a 100644 --- a/Mage.Sets/src/mage/cards/f/FetidImp.java +++ b/Mage.Sets/src/mage/cards/f/FetidImp.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class FetidImp extends CardImpl { public FetidImp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FetidPools.java b/Mage.Sets/src/mage/cards/f/FetidPools.java index 6e8a7a2a552..c749682b742 100644 --- a/Mage.Sets/src/mage/cards/f/FetidPools.java +++ b/Mage.Sets/src/mage/cards/f/FetidPools.java @@ -36,6 +36,7 @@ import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class FetidPools extends CardImpl { public FetidPools(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Island"); - this.subtype.add("Swamp"); + this.subtype.add(SubType.ISLAND); + this.subtype.add(SubType.SWAMP); // ({T}: Add {U} or {B} to your mana pool.) this.addAbility(new BlueManaAbility()); diff --git a/Mage.Sets/src/mage/cards/f/Fettergeist.java b/Mage.Sets/src/mage/cards/f/Fettergeist.java index f6163a48574..fed59ba32aa 100644 --- a/Mage.Sets/src/mage/cards/f/Fettergeist.java +++ b/Mage.Sets/src/mage/cards/f/Fettergeist.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; @@ -54,7 +55,7 @@ public class Fettergeist extends CardImpl { public Fettergeist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FeudkillersVerdict.java b/Mage.Sets/src/mage/cards/f/FeudkillersVerdict.java index 4794d982d14..c2ba1a17ed3 100644 --- a/Mage.Sets/src/mage/cards/f/FeudkillersVerdict.java +++ b/Mage.Sets/src/mage/cards/f/FeudkillersVerdict.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.token.GiantWarriorToken; @@ -47,7 +48,7 @@ public class FeudkillersVerdict extends CardImpl { public FeudkillersVerdict(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.SORCERY}, "{4}{W}{W}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); // You gain 10 life. Then if you have more life than an opponent, create a 5/5 white Giant Warrior creature token. this.getSpellAbility().addEffect(new FeudkillersVerdictEffect()); diff --git a/Mage.Sets/src/mage/cards/f/FibrousEntangler.java b/Mage.Sets/src/mage/cards/f/FibrousEntangler.java index efd7bd7d4ad..b50e6207f3f 100644 --- a/Mage.Sets/src/mage/cards/f/FibrousEntangler.java +++ b/Mage.Sets/src/mage/cards/f/FibrousEntangler.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class FibrousEntangler extends CardImpl { public FibrousEntangler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Eldrazi"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/f/FiddleheadKami.java b/Mage.Sets/src/mage/cards/f/FiddleheadKami.java index ff773db3d5b..36734c2fe7f 100644 --- a/Mage.Sets/src/mage/cards/f/FiddleheadKami.java +++ b/Mage.Sets/src/mage/cards/f/FiddleheadKami.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; /** @@ -44,7 +45,7 @@ public class FiddleheadKami extends CardImpl { public FiddleheadKami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FieldCreeper.java b/Mage.Sets/src/mage/cards/f/FieldCreeper.java index ac4f4922bc0..51239460911 100644 --- a/Mage.Sets/src/mage/cards/f/FieldCreeper.java +++ b/Mage.Sets/src/mage/cards/f/FieldCreeper.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class FieldCreeper extends CardImpl { public FieldCreeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(2); this.toughness = new MageInt(1); } diff --git a/Mage.Sets/src/mage/cards/f/FieldMarshal.java b/Mage.Sets/src/mage/cards/f/FieldMarshal.java index 6fd974e43fd..f4857d7aeb8 100644 --- a/Mage.Sets/src/mage/cards/f/FieldMarshal.java +++ b/Mage.Sets/src/mage/cards/f/FieldMarshal.java @@ -55,8 +55,8 @@ public class FieldMarshal extends CardImpl { public FieldMarshal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FieldOfReality.java b/Mage.Sets/src/mage/cards/f/FieldOfReality.java index 2dfe0a879fa..0b4d2994b21 100644 --- a/Mage.Sets/src/mage/cards/f/FieldOfReality.java +++ b/Mage.Sets/src/mage/cards/f/FieldOfReality.java @@ -49,7 +49,7 @@ public class FieldOfReality extends CardImpl { public FieldOfReality(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FieldSurgeon.java b/Mage.Sets/src/mage/cards/f/FieldSurgeon.java index 9ae2f533287..64db3fb9afc 100644 --- a/Mage.Sets/src/mage/cards/f/FieldSurgeon.java +++ b/Mage.Sets/src/mage/cards/f/FieldSurgeon.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -58,8 +59,8 @@ public class FieldSurgeon extends CardImpl { public FieldSurgeon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FiendBinder.java b/Mage.Sets/src/mage/cards/f/FiendBinder.java index 8a8f74b0425..5b36ad3abc3 100644 --- a/Mage.Sets/src/mage/cards/f/FiendBinder.java +++ b/Mage.Sets/src/mage/cards/f/FiendBinder.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; import mage.game.Game; @@ -50,8 +51,8 @@ public class FiendBinder extends CardImpl { public FiendBinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FiendHunter.java b/Mage.Sets/src/mage/cards/f/FiendHunter.java index e9c0edc7cf4..3a453862119 100644 --- a/Mage.Sets/src/mage/cards/f/FiendHunter.java +++ b/Mage.Sets/src/mage/cards/f/FiendHunter.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnFromExileForSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -55,8 +56,8 @@ public class FiendHunter extends CardImpl { public FiendHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FiendOfTheShadows.java b/Mage.Sets/src/mage/cards/f/FiendOfTheShadows.java index 6a5b2cf1cc4..8e8bc070708 100644 --- a/Mage.Sets/src/mage/cards/f/FiendOfTheShadows.java +++ b/Mage.Sets/src/mage/cards/f/FiendOfTheShadows.java @@ -64,8 +64,8 @@ public class FiendOfTheShadows extends CardImpl { public FiendOfTheShadows(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FiendslayerPaladin.java b/Mage.Sets/src/mage/cards/f/FiendslayerPaladin.java index 567bf435177..7196825b5c1 100644 --- a/Mage.Sets/src/mage/cards/f/FiendslayerPaladin.java +++ b/Mage.Sets/src/mage/cards/f/FiendslayerPaladin.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class FiendslayerPaladin extends CardImpl { public FiendslayerPaladin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FierceEmpath.java b/Mage.Sets/src/mage/cards/f/FierceEmpath.java index e44e6cfac84..f427161d054 100644 --- a/Mage.Sets/src/mage/cards/f/FierceEmpath.java +++ b/Mage.Sets/src/mage/cards/f/FierceEmpath.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; @@ -51,7 +52,7 @@ public class FierceEmpath extends CardImpl { } public FierceEmpath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FieryHellhound.java b/Mage.Sets/src/mage/cards/f/FieryHellhound.java index 3d6c0b6887e..998762bab8e 100644 --- a/Mage.Sets/src/mage/cards/f/FieryHellhound.java +++ b/Mage.Sets/src/mage/cards/f/FieryHellhound.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class FieryHellhound extends CardImpl { public FieryHellhound(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Hound"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.HOUND); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FieryMantle.java b/Mage.Sets/src/mage/cards/f/FieryMantle.java index 9cc59df4da3..b7f8b842cbe 100644 --- a/Mage.Sets/src/mage/cards/f/FieryMantle.java +++ b/Mage.Sets/src/mage/cards/f/FieryMantle.java @@ -50,7 +50,7 @@ public class FieryMantle extends CardImpl { public FieryMantle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FightingDrake.java b/Mage.Sets/src/mage/cards/f/FightingDrake.java index 66ef3ab751d..0e52c5bde75 100644 --- a/Mage.Sets/src/mage/cards/f/FightingDrake.java +++ b/Mage.Sets/src/mage/cards/f/FightingDrake.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class FightingDrake extends CardImpl { public FightingDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FigureOfDestiny.java b/Mage.Sets/src/mage/cards/f/FigureOfDestiny.java index 8d2d2cea5dd..22456975e09 100644 --- a/Mage.Sets/src/mage/cards/f/FigureOfDestiny.java +++ b/Mage.Sets/src/mage/cards/f/FigureOfDestiny.java @@ -62,7 +62,7 @@ public class FigureOfDestiny extends CardImpl { public FigureOfDestiny(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R/W}"); - this.subtype.add("Kithkin"); + this.subtype.add(SubType.KITHKIN); this.power = new MageInt(1); this.toughness = new MageInt(1); @@ -106,8 +106,8 @@ public class FigureOfDestiny extends CardImpl { public FigureOfDestinyToken1() { super("Figure of Destiny", "Kithkin Spirit with base power and toughness 2/2"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Kithkin"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SPIRIT); this.color.setRed(true); this.color.setWhite(true); @@ -121,9 +121,9 @@ public class FigureOfDestiny extends CardImpl { public FigureOfDestinyToken2() { super("Figure of Destiny", "Kithkin Spirit Warrior with base power and toughness 4/4"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Kithkin"); - this.subtype.add("Spirit"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.WARRIOR); this.color.setRed(true); this.color.setWhite(true); @@ -137,10 +137,10 @@ public class FigureOfDestiny extends CardImpl { public FigureOfDestinyToken3() { super("Figure of Destiny", "Kithkin Spirit Warrior Avatar with base power and toughness 8/8, flying, and first strike"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Kithkin"); - this.subtype.add("Spirit"); - this.subtype.add("Warrior"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.AVATAR); this.color.setRed(true); this.color.setWhite(true); diff --git a/Mage.Sets/src/mage/cards/f/FiligreeAngel.java b/Mage.Sets/src/mage/cards/f/FiligreeAngel.java index 6d1274b5796..efa187682e5 100644 --- a/Mage.Sets/src/mage/cards/f/FiligreeAngel.java +++ b/Mage.Sets/src/mage/cards/f/FiligreeAngel.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; @@ -52,7 +53,7 @@ public class FiligreeAngel extends CardImpl { public FiligreeAngel (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}{W}{W}{U}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FiligreeCrawler.java b/Mage.Sets/src/mage/cards/f/FiligreeCrawler.java index 774ff7bff73..a906daff61a 100644 --- a/Mage.Sets/src/mage/cards/f/FiligreeCrawler.java +++ b/Mage.Sets/src/mage/cards/f/FiligreeCrawler.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.ThopterColorlessToken; /** @@ -45,7 +46,7 @@ public class FiligreeCrawler extends CardImpl { public FiligreeCrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FiligreeFamiliar.java b/Mage.Sets/src/mage/cards/f/FiligreeFamiliar.java index 9f346ab8aa7..8d61d4605d2 100644 --- a/Mage.Sets/src/mage/cards/f/FiligreeFamiliar.java +++ b/Mage.Sets/src/mage/cards/f/FiligreeFamiliar.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class FiligreeFamiliar extends CardImpl { public FiligreeFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Fox"); + this.subtype.add(SubType.FOX); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FiligreeSages.java b/Mage.Sets/src/mage/cards/f/FiligreeSages.java index 34f9a245b11..18917cfca79 100644 --- a/Mage.Sets/src/mage/cards/f/FiligreeSages.java +++ b/Mage.Sets/src/mage/cards/f/FiligreeSages.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -55,8 +56,8 @@ public class FiligreeSages extends CardImpl { public FiligreeSages (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/Filth.java b/Mage.Sets/src/mage/cards/f/Filth.java index f25dc113c8f..64de93f30ea 100644 --- a/Mage.Sets/src/mage/cards/f/Filth.java +++ b/Mage.Sets/src/mage/cards/f/Filth.java @@ -63,7 +63,7 @@ public class Filth extends CardImpl { public Filth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Incarnation"); + this.subtype.add(SubType.INCARNATION); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FilthyCur.java b/Mage.Sets/src/mage/cards/f/FilthyCur.java index 6b4be753d04..62b74dae0b9 100644 --- a/Mage.Sets/src/mage/cards/f/FilthyCur.java +++ b/Mage.Sets/src/mage/cards/f/FilthyCur.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -48,7 +49,7 @@ public class FilthyCur extends CardImpl { public FilthyCur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FinalIteration.java b/Mage.Sets/src/mage/cards/f/FinalIteration.java index 9b2131df1e4..9684e541164 100644 --- a/Mage.Sets/src/mage/cards/f/FinalIteration.java +++ b/Mage.Sets/src/mage/cards/f/FinalIteration.java @@ -67,8 +67,8 @@ public class FinalIteration extends CardImpl { public FinalIteration(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Eldrazi"); - this.subtype.add("Insect"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.INSECT); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/f/FinalStingFaerie.java b/Mage.Sets/src/mage/cards/f/FinalStingFaerie.java index c9e63f14745..5bb42d3f1ff 100644 --- a/Mage.Sets/src/mage/cards/f/FinalStingFaerie.java +++ b/Mage.Sets/src/mage/cards/f/FinalStingFaerie.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.WasDealtDamageThisTurnPredicate; import mage.target.common.TargetCreaturePermanent; @@ -54,8 +55,8 @@ public class FinalStingFaerie extends CardImpl { public FinalStingFaerie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Faerie"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FireAnts.java b/Mage.Sets/src/mage/cards/f/FireAnts.java index 7a89f681fb7..0e221b3b3a3 100644 --- a/Mage.Sets/src/mage/cards/f/FireAnts.java +++ b/Mage.Sets/src/mage/cards/f/FireAnts.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -57,7 +58,7 @@ public class FireAnts extends CardImpl { public FireAnts(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FireBellyChangeling.java b/Mage.Sets/src/mage/cards/f/FireBellyChangeling.java index 08844565a83..e6b69ff21b3 100644 --- a/Mage.Sets/src/mage/cards/f/FireBellyChangeling.java +++ b/Mage.Sets/src/mage/cards/f/FireBellyChangeling.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ChangelingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class FireBellyChangeling extends CardImpl { public FireBellyChangeling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FireBowman.java b/Mage.Sets/src/mage/cards/f/FireBowman.java index 4d0984b8891..c7de392c332 100644 --- a/Mage.Sets/src/mage/cards/f/FireBowman.java +++ b/Mage.Sets/src/mage/cards/f/FireBowman.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,9 +49,9 @@ public class FireBowman extends CardImpl { public FireBowman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FireDragon.java b/Mage.Sets/src/mage/cards/f/FireDragon.java index 1f6fa2c5148..db7b55927c3 100644 --- a/Mage.Sets/src/mage/cards/f/FireDragon.java +++ b/Mage.Sets/src/mage/cards/f/FireDragon.java @@ -57,7 +57,7 @@ public class FireDragon extends CardImpl { public FireDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{R}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/f/FireDrake.java b/Mage.Sets/src/mage/cards/f/FireDrake.java index 83bad1e7308..0c34a7056f0 100644 --- a/Mage.Sets/src/mage/cards/f/FireDrake.java +++ b/Mage.Sets/src/mage/cards/f/FireDrake.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class FireDrake extends CardImpl { public FireDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FireElemental.java b/Mage.Sets/src/mage/cards/f/FireElemental.java index ab8a04d6656..bd8b9f3fdb5 100644 --- a/Mage.Sets/src/mage/cards/f/FireElemental.java +++ b/Mage.Sets/src/mage/cards/f/FireElemental.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class FireElemental extends CardImpl { public FireElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FireFieldOgre.java b/Mage.Sets/src/mage/cards/f/FireFieldOgre.java index 5fe33e86250..02adaf24319 100644 --- a/Mage.Sets/src/mage/cards/f/FireFieldOgre.java +++ b/Mage.Sets/src/mage/cards/f/FireFieldOgre.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class FireFieldOgre extends CardImpl { public FireFieldOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{B}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FireImp.java b/Mage.Sets/src/mage/cards/f/FireImp.java index ad5d25d926a..80386fa3bed 100644 --- a/Mage.Sets/src/mage/cards/f/FireImp.java +++ b/Mage.Sets/src/mage/cards/f/FireImp.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -46,7 +47,7 @@ public class FireImp extends CardImpl { public FireImp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FireJuggler.java b/Mage.Sets/src/mage/cards/f/FireJuggler.java index 5e57056ff0d..bc2aef4a550 100644 --- a/Mage.Sets/src/mage/cards/f/FireJuggler.java +++ b/Mage.Sets/src/mage/cards/f/FireJuggler.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DoIfClashWonEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.permanent.BlockingAttackerIdPredicate; @@ -46,8 +47,8 @@ public class FireJuggler extends CardImpl { public FireJuggler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FireServant.java b/Mage.Sets/src/mage/cards/f/FireServant.java index 8b52c1977e8..e0eadfc9574 100644 --- a/Mage.Sets/src/mage/cards/f/FireServant.java +++ b/Mage.Sets/src/mage/cards/f/FireServant.java @@ -36,6 +36,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class FireServant extends CardImpl { public FireServant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FireSnake.java b/Mage.Sets/src/mage/cards/f/FireSnake.java index 3a4fad38d85..74252b27a75 100644 --- a/Mage.Sets/src/mage/cards/f/FireSnake.java +++ b/Mage.Sets/src/mage/cards/f/FireSnake.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetLandPermanent; /** @@ -45,7 +46,7 @@ public class FireSnake extends CardImpl { public FireSnake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FireSprites.java b/Mage.Sets/src/mage/cards/f/FireSprites.java index d6dad894708..d197bb64d49 100644 --- a/Mage.Sets/src/mage/cards/f/FireSprites.java +++ b/Mage.Sets/src/mage/cards/f/FireSprites.java @@ -38,6 +38,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class FireSprites extends CardImpl { public FireSprites(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FireWhip.java b/Mage.Sets/src/mage/cards/f/FireWhip.java index 2dbb9e9a962..8196680e082 100644 --- a/Mage.Sets/src/mage/cards/f/FireWhip.java +++ b/Mage.Sets/src/mage/cards/f/FireWhip.java @@ -52,7 +52,7 @@ public class FireWhip extends CardImpl { public FireWhip(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature you control diff --git a/Mage.Sets/src/mage/cards/f/FirebrandArcher.java b/Mage.Sets/src/mage/cards/f/FirebrandArcher.java index 8f3a96f9559..f14a34e372b 100644 --- a/Mage.Sets/src/mage/cards/f/FirebrandArcher.java +++ b/Mage.Sets/src/mage/cards/f/FirebrandArcher.java @@ -1,74 +1,75 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.f; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SpellCastControllerTriggeredAbility; -import mage.abilities.effects.common.DamagePlayersEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.TargetController; -import mage.filter.FilterSpell; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.CardTypePredicate; - -/** - * - * @author ciaccona007 - */ -public class FirebrandArcher extends CardImpl { - - private static final FilterSpell filter = new FilterSpell("a noncreature spell"); - - static { - filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE))); - } - - public FirebrandArcher(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - - this.subtype.add("Human"); - this.subtype.add("Archer"); - this.power = new MageInt(2); - this.toughness = new MageInt(1); - - // Whenever you cast a noncreature spell, Firebrand Archer deals 1 damage to each opponent. - addAbility(new SpellCastControllerTriggeredAbility(new DamagePlayersEffect(1, TargetController.OPPONENT), filter, false)); - } - - public FirebrandArcher(final FirebrandArcher card) { - super(card); - } - - @Override - public FirebrandArcher copy() { - return new FirebrandArcher(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.f; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SpellCastControllerTriggeredAbility; +import mage.abilities.effects.common.DamagePlayersEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.TargetController; +import mage.filter.FilterSpell; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; + +/** + * + * @author ciaccona007 + */ +public class FirebrandArcher extends CardImpl { + + private static final FilterSpell filter = new FilterSpell("a noncreature spell"); + + static { + filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE))); + } + + public FirebrandArcher(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARCHER); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // Whenever you cast a noncreature spell, Firebrand Archer deals 1 damage to each opponent. + addAbility(new SpellCastControllerTriggeredAbility(new DamagePlayersEffect(1, TargetController.OPPONENT), filter, false)); + } + + public FirebrandArcher(final FirebrandArcher card) { + super(card); + } + + @Override + public FirebrandArcher copy() { + return new FirebrandArcher(this); + } +} diff --git a/Mage.Sets/src/mage/cards/f/FirebrandRanger.java b/Mage.Sets/src/mage/cards/f/FirebrandRanger.java index 178362e7c97..4ea4f8bcf6c 100644 --- a/Mage.Sets/src/mage/cards/f/FirebrandRanger.java +++ b/Mage.Sets/src/mage/cards/f/FirebrandRanger.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class FirebrandRanger extends CardImpl { public FirebrandRanger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/Firebreathing.java b/Mage.Sets/src/mage/cards/f/Firebreathing.java index 76deea4df30..ea823a4d156 100644 --- a/Mage.Sets/src/mage/cards/f/Firebreathing.java +++ b/Mage.Sets/src/mage/cards/f/Firebreathing.java @@ -48,7 +48,7 @@ public class Firebreathing extends CardImpl { public Firebreathing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FirecatBlitz.java b/Mage.Sets/src/mage/cards/f/FirecatBlitz.java index 3fd8608e477..2fd3e0f0b91 100644 --- a/Mage.Sets/src/mage/cards/f/FirecatBlitz.java +++ b/Mage.Sets/src/mage/cards/f/FirecatBlitz.java @@ -1,127 +1,127 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.f; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; -import mage.abilities.costs.Cost; -import mage.abilities.costs.common.SacrificeTargetCost; -import mage.abilities.costs.common.SacrificeXTargetCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.effects.common.ExileTargetEffect; -import mage.abilities.keyword.FlashbackAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.*; -import mage.filter.common.FilterControlledLandPermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.game.permanent.token.ElementalCatToken; -import mage.players.Player; -import mage.target.targetpointer.FixedTarget; - -/** - * - * @author Styxo - */ -public class FirecatBlitz extends CardImpl { - - private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("Mountains"); - - static { - filter.add(new SubtypePredicate(SubType.MOUNTAIN)); - } - - public FirecatBlitz(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{X}{R}{R}"); - - // Put X 1/1 red Elemental Cat creature tokens with haste onto the battlefield. Exile them at the beginning of the next end step. - this.getSpellAbility().addEffect(new FirecatBlitzEffect()); - - // Flashback-{R}{R}, Sacrifice X Mountains. - Ability ability = new FlashbackAbility(new SacrificeXTargetCost(filter), TimingRule.SORCERY); - ability.addManaCost(new ManaCostsImpl("{R}{R}")); - this.addAbility(ability); - } - - public FirecatBlitz(final FirecatBlitz card) { - super(card); - } - - @Override - public FirecatBlitz copy() { - return new FirecatBlitz(this); - } -} - -class FirecatBlitzEffect extends OneShotEffect { - - public FirecatBlitzEffect() { - super(Outcome.PutCreatureInPlay); - this.staticText = "Create X 1/1 red Elemental Cat creature tokens with haste. Exile them at the beginning of the next end step"; - } - - public FirecatBlitzEffect(final FirecatBlitzEffect effect) { - super(effect); - } - - @Override - public FirecatBlitzEffect copy() { - return new FirecatBlitzEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - int xValue = source.getManaCostsToPay().getX(); - for (Cost cost : source.getCosts()) { - if (cost instanceof SacrificeTargetCost) { - xValue = ((SacrificeTargetCost) cost).getPermanents().size(); - } - } - CreateTokenEffect effect = new CreateTokenEffect(new ElementalCatToken(), xValue); - effect.apply(game, source); - for (UUID tokenId : effect.getLastAddedTokenIds()) { - Permanent tokenPermanent = game.getPermanent(tokenId); - if (tokenPermanent != null) { - ExileTargetEffect exileEffect = new ExileTargetEffect(null, "", Zone.BATTLEFIELD); - exileEffect.setTargetPointer(new FixedTarget(tokenPermanent, game)); - game.addDelayedTriggeredAbility(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(exileEffect), source); - } - } - return true; - } - - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.f; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; +import mage.abilities.costs.Cost; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.costs.common.SacrificeXTargetCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.ExileTargetEffect; +import mage.abilities.keyword.FlashbackAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.filter.common.FilterControlledLandPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.game.permanent.token.ElementalCatToken; +import mage.players.Player; +import mage.target.targetpointer.FixedTarget; + +/** + * + * @author Styxo + */ +public class FirecatBlitz extends CardImpl { + + private static final FilterControlledLandPermanent filter = new FilterControlledLandPermanent("Mountains"); + + static { + filter.add(new SubtypePredicate(SubType.MOUNTAIN)); + } + + public FirecatBlitz(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{X}{R}{R}"); + + // Put X 1/1 red Elemental Cat creature tokens with haste onto the battlefield. Exile them at the beginning of the next end step. + this.getSpellAbility().addEffect(new FirecatBlitzEffect()); + + // Flashback-{R}{R}, Sacrifice X Mountains. + Ability ability = new FlashbackAbility(new SacrificeXTargetCost(filter), TimingRule.SORCERY); + ability.addManaCost(new ManaCostsImpl("{R}{R}")); + this.addAbility(ability); + } + + public FirecatBlitz(final FirecatBlitz card) { + super(card); + } + + @Override + public FirecatBlitz copy() { + return new FirecatBlitz(this); + } +} + +class FirecatBlitzEffect extends OneShotEffect { + + public FirecatBlitzEffect() { + super(Outcome.PutCreatureInPlay); + this.staticText = "Create X 1/1 red Elemental Cat creature tokens with haste. Exile them at the beginning of the next end step"; + } + + public FirecatBlitzEffect(final FirecatBlitzEffect effect) { + super(effect); + } + + @Override + public FirecatBlitzEffect copy() { + return new FirecatBlitzEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + int xValue = source.getManaCostsToPay().getX(); + for (Cost cost : source.getCosts()) { + if (cost instanceof SacrificeTargetCost) { + xValue = ((SacrificeTargetCost) cost).getPermanents().size(); + } + } + CreateTokenEffect effect = new CreateTokenEffect(new ElementalCatToken(), xValue); + effect.apply(game, source); + for (UUID tokenId : effect.getLastAddedTokenIds()) { + Permanent tokenPermanent = game.getPermanent(tokenId); + if (tokenPermanent != null) { + ExileTargetEffect exileEffect = new ExileTargetEffect(null, "", Zone.BATTLEFIELD); + exileEffect.setTargetPointer(new FixedTarget(tokenPermanent, game)); + game.addDelayedTriggeredAbility(new AtTheBeginOfNextEndStepDelayedTriggeredAbility(exileEffect), source); + } + } + return true; + } + + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/f/FiredrinkerSatyr.java b/Mage.Sets/src/mage/cards/f/FiredrinkerSatyr.java index cf96572ae41..0e133b27c94 100644 --- a/Mage.Sets/src/mage/cards/f/FiredrinkerSatyr.java +++ b/Mage.Sets/src/mage/cards/f/FiredrinkerSatyr.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class FiredrinkerSatyr extends CardImpl { public FiredrinkerSatyr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Satyr"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.SATYR); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FirefiendElemental.java b/Mage.Sets/src/mage/cards/f/FirefiendElemental.java index f6a7f50cc30..341d3aa35f5 100644 --- a/Mage.Sets/src/mage/cards/f/FirefiendElemental.java +++ b/Mage.Sets/src/mage/cards/f/FirefiendElemental.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.RenownAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class FirefiendElemental extends CardImpl { public FirefiendElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FirefistStriker.java b/Mage.Sets/src/mage/cards/f/FirefistStriker.java index e8d81cd8743..df5a3ec9632 100644 --- a/Mage.Sets/src/mage/cards/f/FirefistStriker.java +++ b/Mage.Sets/src/mage/cards/f/FirefistStriker.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.BattalionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -47,8 +48,8 @@ public class FirefistStriker extends CardImpl { public FirefistStriker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/Firefly.java b/Mage.Sets/src/mage/cards/f/Firefly.java index 357560c52f3..63c923c6e8b 100644 --- a/Mage.Sets/src/mage/cards/f/Firefly.java +++ b/Mage.Sets/src/mage/cards/f/Firefly.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class Firefly extends CardImpl { public Firefly(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FirefrightMage.java b/Mage.Sets/src/mage/cards/f/FirefrightMage.java index f0dd8881e31..36d93f1392f 100644 --- a/Mage.Sets/src/mage/cards/f/FirefrightMage.java +++ b/Mage.Sets/src/mage/cards/f/FirefrightMage.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByAllTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -65,8 +66,8 @@ public class FirefrightMage extends CardImpl { public FirefrightMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FirehoofCavalry.java b/Mage.Sets/src/mage/cards/f/FirehoofCavalry.java index cce833cf9cd..1747691f09e 100644 --- a/Mage.Sets/src/mage/cards/f/FirehoofCavalry.java +++ b/Mage.Sets/src/mage/cards/f/FirehoofCavalry.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class FirehoofCavalry extends CardImpl { public FirehoofCavalry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FiremaneAngel.java b/Mage.Sets/src/mage/cards/f/FiremaneAngel.java index 3f281738265..363f880c105 100644 --- a/Mage.Sets/src/mage/cards/f/FiremaneAngel.java +++ b/Mage.Sets/src/mage/cards/f/FiremaneAngel.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; import mage.constants.TargetController; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class FiremaneAngel extends CardImpl { public FiremaneAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FiremaneAvenger.java b/Mage.Sets/src/mage/cards/f/FiremaneAvenger.java index e978420b65d..8a7f74c4482 100644 --- a/Mage.Sets/src/mage/cards/f/FiremaneAvenger.java +++ b/Mage.Sets/src/mage/cards/f/FiremaneAvenger.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; /** @@ -47,7 +48,7 @@ public class FiremaneAvenger extends CardImpl { public FiremaneAvenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FiremantleMage.java b/Mage.Sets/src/mage/cards/f/FiremantleMage.java index e1f4d3fdd4e..0de938a125c 100644 --- a/Mage.Sets/src/mage/cards/f/FiremantleMage.java +++ b/Mage.Sets/src/mage/cards/f/FiremantleMage.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; @@ -46,9 +47,9 @@ public class FiremantleMage extends CardImpl { public FiremantleMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FiremawKavu.java b/Mage.Sets/src/mage/cards/f/FiremawKavu.java index 73d3f97d060..abae4ff254c 100644 --- a/Mage.Sets/src/mage/cards/f/FiremawKavu.java +++ b/Mage.Sets/src/mage/cards/f/FiremawKavu.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -47,7 +48,7 @@ public class FiremawKavu extends CardImpl { public FiremawKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/Firescreamer.java b/Mage.Sets/src/mage/cards/f/Firescreamer.java index 52d3bec4981..556246f374d 100644 --- a/Mage.Sets/src/mage/cards/f/Firescreamer.java +++ b/Mage.Sets/src/mage/cards/f/Firescreamer.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class Firescreamer extends CardImpl { public Firescreamer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/Fireshrieker.java b/Mage.Sets/src/mage/cards/f/Fireshrieker.java index fea5f332f1b..7044d775d4a 100644 --- a/Mage.Sets/src/mage/cards/f/Fireshrieker.java +++ b/Mage.Sets/src/mage/cards/f/Fireshrieker.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class Fireshrieker extends CardImpl { public Fireshrieker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has double strike. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(DoubleStrikeAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/f/Fireslinger.java b/Mage.Sets/src/mage/cards/f/Fireslinger.java index 37c47164eae..f2f51fedbcd 100644 --- a/Mage.Sets/src/mage/cards/f/Fireslinger.java +++ b/Mage.Sets/src/mage/cards/f/Fireslinger.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class Fireslinger extends CardImpl { public Fireslinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FirestormHellkite.java b/Mage.Sets/src/mage/cards/f/FirestormHellkite.java index a9a35d7677c..42d705e4302 100644 --- a/Mage.Sets/src/mage/cards/f/FirestormHellkite.java +++ b/Mage.Sets/src/mage/cards/f/FirestormHellkite.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class FirestormHellkite extends CardImpl { public FirestormHellkite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/f/FirewakeSliver.java b/Mage.Sets/src/mage/cards/f/FirewakeSliver.java index 771b92b9256..3fcef064a96 100644 --- a/Mage.Sets/src/mage/cards/f/FirewakeSliver.java +++ b/Mage.Sets/src/mage/cards/f/FirewakeSliver.java @@ -63,7 +63,7 @@ public class FirewakeSliver extends CardImpl { public FirewakeSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FirewingPhoenix.java b/Mage.Sets/src/mage/cards/f/FirewingPhoenix.java index 281f253ebf8..1e4caa31a41 100644 --- a/Mage.Sets/src/mage/cards/f/FirewingPhoenix.java +++ b/Mage.Sets/src/mage/cards/f/FirewingPhoenix.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class FirewingPhoenix extends CardImpl { public FirewingPhoenix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Phoenix"); + this.subtype.add(SubType.PHOENIX); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FishliverOil.java b/Mage.Sets/src/mage/cards/f/FishliverOil.java index 7733efa521c..6f9ced94e31 100644 --- a/Mage.Sets/src/mage/cards/f/FishliverOil.java +++ b/Mage.Sets/src/mage/cards/f/FishliverOil.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class FishliverOil extends CardImpl { public FishliverOil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FistsOfIronwood.java b/Mage.Sets/src/mage/cards/f/FistsOfIronwood.java index ab46a0e7c28..c87335e3c2f 100644 --- a/Mage.Sets/src/mage/cards/f/FistsOfIronwood.java +++ b/Mage.Sets/src/mage/cards/f/FistsOfIronwood.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.permanent.token.SaprolingToken; @@ -54,7 +55,7 @@ public class FistsOfIronwood extends CardImpl { public FistsOfIronwood(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/f/FistsOfTheDemigod.java b/Mage.Sets/src/mage/cards/f/FistsOfTheDemigod.java index c4cc3add29a..d116ee56ebe 100644 --- a/Mage.Sets/src/mage/cards/f/FistsOfTheDemigod.java +++ b/Mage.Sets/src/mage/cards/f/FistsOfTheDemigod.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -56,7 +57,7 @@ public class FistsOfTheDemigod extends CardImpl { public FistsOfTheDemigod(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B/R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/f/FlailingDrake.java b/Mage.Sets/src/mage/cards/f/FlailingDrake.java index 2297de3860a..aa850c4f124 100644 --- a/Mage.Sets/src/mage/cards/f/FlailingDrake.java +++ b/Mage.Sets/src/mage/cards/f/FlailingDrake.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; @@ -48,7 +49,7 @@ public class FlailingDrake extends CardImpl { public FlailingDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FlailingManticore.java b/Mage.Sets/src/mage/cards/f/FlailingManticore.java index 98da1455b2a..8f36eba3d66 100644 --- a/Mage.Sets/src/mage/cards/f/FlailingManticore.java +++ b/Mage.Sets/src/mage/cards/f/FlailingManticore.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class FlailingManticore extends CardImpl { public FlailingManticore(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Manticore"); + this.subtype.add(SubType.MANTICORE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FlailingOgre.java b/Mage.Sets/src/mage/cards/f/FlailingOgre.java index 9cfa6782ae7..a964e4306f4 100644 --- a/Mage.Sets/src/mage/cards/f/FlailingOgre.java +++ b/Mage.Sets/src/mage/cards/f/FlailingOgre.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class FlailingOgre extends CardImpl { public FlailingOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.OGRE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FlailingSoldier.java b/Mage.Sets/src/mage/cards/f/FlailingSoldier.java index 76fe9c34ff6..5f401ec2ecb 100644 --- a/Mage.Sets/src/mage/cards/f/FlailingSoldier.java +++ b/Mage.Sets/src/mage/cards/f/FlailingSoldier.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class FlailingSoldier extends CardImpl { public FlailingSoldier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FlameKinWarScout.java b/Mage.Sets/src/mage/cards/f/FlameKinWarScout.java index 9d94693f4aa..d7c39a6ff7a 100644 --- a/Mage.Sets/src/mage/cards/f/FlameKinWarScout.java +++ b/Mage.Sets/src/mage/cards/f/FlameKinWarScout.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class FlameKinWarScout extends CardImpl { public FlameKinWarScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FlameKinZealot.java b/Mage.Sets/src/mage/cards/f/FlameKinZealot.java index 2d186fc6395..40243e68d24 100644 --- a/Mage.Sets/src/mage/cards/f/FlameKinZealot.java +++ b/Mage.Sets/src/mage/cards/f/FlameKinZealot.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; @@ -48,8 +49,8 @@ public class FlameKinZealot extends CardImpl { public FlameKinZealot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}{W}"); - this.subtype.add("Elemental"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FlameSpirit.java b/Mage.Sets/src/mage/cards/f/FlameSpirit.java index 726385af9da..5f52f1d7d38 100644 --- a/Mage.Sets/src/mage/cards/f/FlameSpirit.java +++ b/Mage.Sets/src/mage/cards/f/FlameSpirit.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class FlameSpirit extends CardImpl { public FlameSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FlameWreathedPhoenix.java b/Mage.Sets/src/mage/cards/f/FlameWreathedPhoenix.java index 36edda4f203..2a49ede5289 100644 --- a/Mage.Sets/src/mage/cards/f/FlameWreathedPhoenix.java +++ b/Mage.Sets/src/mage/cards/f/FlameWreathedPhoenix.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.TributeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -53,7 +54,7 @@ public class FlameWreathedPhoenix extends CardImpl { public FlameWreathedPhoenix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Phoenix"); + this.subtype.add(SubType.PHOENIX); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FlamebladeAdept.java b/Mage.Sets/src/mage/cards/f/FlamebladeAdept.java index abd34b126ce..f464c8c1337 100644 --- a/Mage.Sets/src/mage/cards/f/FlamebladeAdept.java +++ b/Mage.Sets/src/mage/cards/f/FlamebladeAdept.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,8 +47,8 @@ public class FlamebladeAdept extends CardImpl { public FlamebladeAdept(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}"); - this.subtype.add("Jackal"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.JACKAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FlamebladeAngel.java b/Mage.Sets/src/mage/cards/f/FlamebladeAngel.java index db45920d0e7..a8243d7df69 100644 --- a/Mage.Sets/src/mage/cards/f/FlamebladeAngel.java +++ b/Mage.Sets/src/mage/cards/f/FlamebladeAngel.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -50,7 +51,7 @@ public class FlamebladeAngel extends CardImpl { public FlamebladeAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FlameblastDragon.java b/Mage.Sets/src/mage/cards/f/FlameblastDragon.java index 879e36fc073..1ca9af2aacb 100644 --- a/Mage.Sets/src/mage/cards/f/FlameblastDragon.java +++ b/Mage.Sets/src/mage/cards/f/FlameblastDragon.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -52,7 +53,7 @@ public class FlameblastDragon extends CardImpl { public FlameblastDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/f/FlamebornHellion.java b/Mage.Sets/src/mage/cards/f/FlamebornHellion.java index a80b102d212..bf793a6b1b6 100644 --- a/Mage.Sets/src/mage/cards/f/FlamebornHellion.java +++ b/Mage.Sets/src/mage/cards/f/FlamebornHellion.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class FlamebornHellion extends CardImpl { public FlamebornHellion (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Hellion"); + this.subtype.add(SubType.HELLION); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FlamebornViron.java b/Mage.Sets/src/mage/cards/f/FlamebornViron.java index 525163781fd..af1f8be0c83 100644 --- a/Mage.Sets/src/mage/cards/f/FlamebornViron.java +++ b/Mage.Sets/src/mage/cards/f/FlamebornViron.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class FlamebornViron extends CardImpl { public FlamebornViron(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FlamecoreElemental.java b/Mage.Sets/src/mage/cards/f/FlamecoreElemental.java index a7830435728..66af126570a 100644 --- a/Mage.Sets/src/mage/cards/f/FlamecoreElemental.java +++ b/Mage.Sets/src/mage/cards/f/FlamecoreElemental.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class FlamecoreElemental extends CardImpl { public FlamecoreElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FlameheartWerewolf.java b/Mage.Sets/src/mage/cards/f/FlameheartWerewolf.java index 5c249df45a0..5621d3b1884 100644 --- a/Mage.Sets/src/mage/cards/f/FlameheartWerewolf.java +++ b/Mage.Sets/src/mage/cards/f/FlameheartWerewolf.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.StaticFilters; @@ -51,7 +52,7 @@ public class FlameheartWerewolf extends CardImpl { public FlameheartWerewolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, ""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(3); this.toughness = new MageInt(2); this.color.setRed(true); diff --git a/Mage.Sets/src/mage/cards/f/FlamekinBladewhirl.java b/Mage.Sets/src/mage/cards/f/FlamekinBladewhirl.java index 3e0af28fa34..ad1ac2714e5 100644 --- a/Mage.Sets/src/mage/cards/f/FlamekinBladewhirl.java +++ b/Mage.Sets/src/mage/cards/f/FlamekinBladewhirl.java @@ -53,8 +53,8 @@ public class FlamekinBladewhirl extends CardImpl { public FlamekinBladewhirl(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FlamekinBrawler.java b/Mage.Sets/src/mage/cards/f/FlamekinBrawler.java index b164614af36..8b7efa59dc5 100644 --- a/Mage.Sets/src/mage/cards/f/FlamekinBrawler.java +++ b/Mage.Sets/src/mage/cards/f/FlamekinBrawler.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class FlamekinBrawler extends CardImpl { public FlamekinBrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FlamekinHarbinger.java b/Mage.Sets/src/mage/cards/f/FlamekinHarbinger.java index adb62c50927..31d1a94b433 100644 --- a/Mage.Sets/src/mage/cards/f/FlamekinHarbinger.java +++ b/Mage.Sets/src/mage/cards/f/FlamekinHarbinger.java @@ -53,8 +53,8 @@ public class FlamekinHarbinger extends CardImpl { public FlamekinHarbinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FlamekinSpitfire.java b/Mage.Sets/src/mage/cards/f/FlamekinSpitfire.java index 4223434f2e9..23038d1bff0 100644 --- a/Mage.Sets/src/mage/cards/f/FlamekinSpitfire.java +++ b/Mage.Sets/src/mage/cards/f/FlamekinSpitfire.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -47,8 +48,8 @@ public class FlamekinSpitfire extends CardImpl { public FlamekinSpitfire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FlamerushRider.java b/Mage.Sets/src/mage/cards/f/FlamerushRider.java index 6147c561745..108e99c2bdd 100644 --- a/Mage.Sets/src/mage/cards/f/FlamerushRider.java +++ b/Mage.Sets/src/mage/cards/f/FlamerushRider.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.DashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -66,8 +67,8 @@ public class FlamerushRider extends CardImpl { public FlamerushRider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FlamespeakerAdept.java b/Mage.Sets/src/mage/cards/f/FlamespeakerAdept.java index 49dcc46ae6a..918d083e7c9 100644 --- a/Mage.Sets/src/mage/cards/f/FlamespeakerAdept.java +++ b/Mage.Sets/src/mage/cards/f/FlamespeakerAdept.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -50,8 +51,8 @@ public class FlamespeakerAdept extends CardImpl { public FlamespeakerAdept(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FlamespeakersWill.java b/Mage.Sets/src/mage/cards/f/FlamespeakersWill.java index 0e34744c784..17300860d32 100644 --- a/Mage.Sets/src/mage/cards/f/FlamespeakersWill.java +++ b/Mage.Sets/src/mage/cards/f/FlamespeakersWill.java @@ -52,7 +52,7 @@ public class FlamespeakersWill extends CardImpl { public FlamespeakersWill(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature you control diff --git a/Mage.Sets/src/mage/cards/f/FlamestickCourier.java b/Mage.Sets/src/mage/cards/f/FlamestickCourier.java index 7c5afe84b89..d48731c8bf6 100644 --- a/Mage.Sets/src/mage/cards/f/FlamestickCourier.java +++ b/Mage.Sets/src/mage/cards/f/FlamestickCourier.java @@ -63,7 +63,7 @@ public class FlamestickCourier extends CardImpl { public FlamestickCourier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FlametongueKavu.java b/Mage.Sets/src/mage/cards/f/FlametongueKavu.java index 07bb6eac2a7..5df12e5a087 100644 --- a/Mage.Sets/src/mage/cards/f/FlametongueKavu.java +++ b/Mage.Sets/src/mage/cards/f/FlametongueKavu.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -45,7 +46,7 @@ public class FlametongueKavu extends CardImpl { public FlametongueKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FlamewakePhoenix.java b/Mage.Sets/src/mage/cards/f/FlamewakePhoenix.java index d032d39a62e..1d22e281757 100644 --- a/Mage.Sets/src/mage/cards/f/FlamewakePhoenix.java +++ b/Mage.Sets/src/mage/cards/f/FlamewakePhoenix.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class FlamewakePhoenix extends CardImpl { public FlamewakePhoenix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Phoenix"); + this.subtype.add(SubType.PHOENIX); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FlamewaveInvoker.java b/Mage.Sets/src/mage/cards/f/FlamewaveInvoker.java index f742462a192..cf9a7166599 100644 --- a/Mage.Sets/src/mage/cards/f/FlamewaveInvoker.java +++ b/Mage.Sets/src/mage/cards/f/FlamewaveInvoker.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -47,8 +48,8 @@ public class FlamewaveInvoker extends CardImpl { public FlamewaveInvoker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/Flamewright.java b/Mage.Sets/src/mage/cards/f/Flamewright.java index 7465f3ce278..24cca2e3ce6 100644 --- a/Mage.Sets/src/mage/cards/f/Flamewright.java +++ b/Mage.Sets/src/mage/cards/f/Flamewright.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -63,8 +64,8 @@ public class Flamewright extends CardImpl { public Flamewright(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{W}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FlankingTroops.java b/Mage.Sets/src/mage/cards/f/FlankingTroops.java index 0d2b4fe5d04..a8e4fa40e31 100644 --- a/Mage.Sets/src/mage/cards/f/FlankingTroops.java +++ b/Mage.Sets/src/mage/cards/f/FlankingTroops.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -45,8 +46,8 @@ public class FlankingTroops extends CardImpl { public FlankingTroops(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FlaringFlameKin.java b/Mage.Sets/src/mage/cards/f/FlaringFlameKin.java index 084230acb76..e29d44d7896 100644 --- a/Mage.Sets/src/mage/cards/f/FlaringFlameKin.java +++ b/Mage.Sets/src/mage/cards/f/FlaringFlameKin.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class FlaringFlameKin extends CardImpl { public FlaringFlameKin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FlashConscription.java b/Mage.Sets/src/mage/cards/f/FlashConscription.java index 65571ff9309..ae2ec3f5769 100644 --- a/Mage.Sets/src/mage/cards/f/FlashConscription.java +++ b/Mage.Sets/src/mage/cards/f/FlashConscription.java @@ -1,120 +1,120 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.f; - -import java.util.UUID; -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.condition.common.ManaWasSpentCondition; -import mage.abilities.decorator.ConditionalContinuousEffect; -import mage.abilities.effects.common.GainLifeEffect; -import mage.abilities.effects.common.UntapTargetEffect; -import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; -import mage.abilities.effects.common.continuous.GainControlTargetEffect; -import mage.abilities.keyword.HasteAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.ColoredManaSymbol; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.DamagedEvent; -import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author LevelX2 - */ -public class FlashConscription extends CardImpl { - - public FlashConscription(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{5}{R}"); - - // Untap target creature and gain control of it until end of turn. That creature gains haste until end of turn. If {W} was spent to cast Flash Conscription, the creature gains "Whenever this creature deals combat damage, you gain that much life" until end of turn. - this.getSpellAbility().addEffect(new UntapTargetEffect()); - this.getSpellAbility().addEffect(new GainControlTargetEffect(Duration.EndOfTurn)); - this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn)); - this.getSpellAbility().addEffect(new ConditionalContinuousEffect( - new GainAbilityTargetEffect(new FlashConscriptionTriggeredAbility(), Duration.EndOfTurn), - new ManaWasSpentCondition(ColoredManaSymbol.W), "If {W} was spent to cast {this}, the creature gains \"Whenever this creature deals combat damage, you gain that much life\" until end of turn")); - - this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - } - - public FlashConscription(final FlashConscription card) { - super(card); - } - - @Override - public FlashConscription copy() { - return new FlashConscription(this); - } -} - -class FlashConscriptionTriggeredAbility extends TriggeredAbilityImpl { - - public FlashConscriptionTriggeredAbility() { - super(Zone.BATTLEFIELD, null); - } - - public FlashConscriptionTriggeredAbility(final FlashConscriptionTriggeredAbility ability) { - super(ability); - } - - @Override - public FlashConscriptionTriggeredAbility copy() { - return new FlashConscriptionTriggeredAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == EventType.DAMAGED_CREATURE - || event.getType() == EventType.DAMAGED_PLAYER - || event.getType() == EventType.DAMAGED_PLANESWALKER; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - DamagedEvent damageEvent = (DamagedEvent) event; - if (damageEvent.isCombatDamage()) { - if (event.getSourceId().equals(this.sourceId)) { - this.getEffects().clear(); - this.getEffects().add(new GainLifeEffect(damageEvent.getAmount())); - return true; - } - } - return false; - } - - @Override - public String getRule() { - return "Whenever {this} deals combat damage, you gain that much life."; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.f; + +import java.util.UUID; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.condition.common.ManaWasSpentCondition; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.UntapTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.effects.common.continuous.GainControlTargetEffect; +import mage.abilities.keyword.HasteAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.ColoredManaSymbol; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.DamagedEvent; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class FlashConscription extends CardImpl { + + public FlashConscription(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{5}{R}"); + + // Untap target creature and gain control of it until end of turn. That creature gains haste until end of turn. If {W} was spent to cast Flash Conscription, the creature gains "Whenever this creature deals combat damage, you gain that much life" until end of turn. + this.getSpellAbility().addEffect(new UntapTargetEffect()); + this.getSpellAbility().addEffect(new GainControlTargetEffect(Duration.EndOfTurn)); + this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn)); + this.getSpellAbility().addEffect(new ConditionalContinuousEffect( + new GainAbilityTargetEffect(new FlashConscriptionTriggeredAbility(), Duration.EndOfTurn), + new ManaWasSpentCondition(ColoredManaSymbol.W), "If {W} was spent to cast {this}, the creature gains \"Whenever this creature deals combat damage, you gain that much life\" until end of turn")); + + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + } + + public FlashConscription(final FlashConscription card) { + super(card); + } + + @Override + public FlashConscription copy() { + return new FlashConscription(this); + } +} + +class FlashConscriptionTriggeredAbility extends TriggeredAbilityImpl { + + public FlashConscriptionTriggeredAbility() { + super(Zone.BATTLEFIELD, null); + } + + public FlashConscriptionTriggeredAbility(final FlashConscriptionTriggeredAbility ability) { + super(ability); + } + + @Override + public FlashConscriptionTriggeredAbility copy() { + return new FlashConscriptionTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == EventType.DAMAGED_CREATURE + || event.getType() == EventType.DAMAGED_PLAYER + || event.getType() == EventType.DAMAGED_PLANESWALKER; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + DamagedEvent damageEvent = (DamagedEvent) event; + if (damageEvent.isCombatDamage()) { + if (event.getSourceId().equals(this.sourceId)) { + this.getEffects().clear(); + this.getEffects().add(new GainLifeEffect(damageEvent.getAmount())); + return true; + } + } + return false; + } + + @Override + public String getRule() { + return "Whenever {this} deals combat damage, you gain that much life."; + } +} diff --git a/Mage.Sets/src/mage/cards/f/FlayerDrone.java b/Mage.Sets/src/mage/cards/f/FlayerDrone.java index 8a395503be7..2cbbe921c4e 100644 --- a/Mage.Sets/src/mage/cards/f/FlayerDrone.java +++ b/Mage.Sets/src/mage/cards/f/FlayerDrone.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorlessPredicate; @@ -58,8 +59,8 @@ public class FlayerDrone extends CardImpl { public FlayerDrone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FlayerHusk.java b/Mage.Sets/src/mage/cards/f/FlayerHusk.java index f16f278cdc7..c9a6bd9c07e 100644 --- a/Mage.Sets/src/mage/cards/f/FlayerHusk.java +++ b/Mage.Sets/src/mage/cards/f/FlayerHusk.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.LivingWeaponAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class FlayerHusk extends CardImpl { public FlayerHusk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new LivingWeaponAbility()); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1))); diff --git a/Mage.Sets/src/mage/cards/f/FlayerOfTheHatebound.java b/Mage.Sets/src/mage/cards/f/FlayerOfTheHatebound.java index 86e829a90ef..a986e118916 100644 --- a/Mage.Sets/src/mage/cards/f/FlayerOfTheHatebound.java +++ b/Mage.Sets/src/mage/cards/f/FlayerOfTheHatebound.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.UndyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -55,7 +56,7 @@ public class FlayerOfTheHatebound extends CardImpl { public FlayerOfTheHatebound(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FledglingDjinn.java b/Mage.Sets/src/mage/cards/f/FledglingDjinn.java index 2764446bea8..486ae7f73e9 100644 --- a/Mage.Sets/src/mage/cards/f/FledglingDjinn.java +++ b/Mage.Sets/src/mage/cards/f/FledglingDjinn.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,7 +46,7 @@ public class FledglingDjinn extends CardImpl { public FledglingDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FledglingDragon.java b/Mage.Sets/src/mage/cards/f/FledglingDragon.java index 79e5e58e4eb..80ac4009278 100644 --- a/Mage.Sets/src/mage/cards/f/FledglingDragon.java +++ b/Mage.Sets/src/mage/cards/f/FledglingDragon.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class FledglingDragon extends CardImpl { public FledglingDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FledglingGriffin.java b/Mage.Sets/src/mage/cards/f/FledglingGriffin.java index cf35c78ec1b..f0ad31eba97 100644 --- a/Mage.Sets/src/mage/cards/f/FledglingGriffin.java +++ b/Mage.Sets/src/mage/cards/f/FledglingGriffin.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,7 +47,7 @@ public class FledglingGriffin extends CardImpl { public FledglingGriffin (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.color.setWhite(true); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FledglingImp.java b/Mage.Sets/src/mage/cards/f/FledglingImp.java index 3577e09b3db..807bd1d14d4 100644 --- a/Mage.Sets/src/mage/cards/f/FledglingImp.java +++ b/Mage.Sets/src/mage/cards/f/FledglingImp.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class FledglingImp extends CardImpl { public FledglingImp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FledglingMawcor.java b/Mage.Sets/src/mage/cards/f/FledglingMawcor.java index 7fa1b9b8e1c..6ac9a811e8f 100644 --- a/Mage.Sets/src/mage/cards/f/FledglingMawcor.java +++ b/Mage.Sets/src/mage/cards/f/FledglingMawcor.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -50,7 +51,7 @@ public class FledglingMawcor extends CardImpl { public FledglingMawcor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FledglingOsprey.java b/Mage.Sets/src/mage/cards/f/FledglingOsprey.java index 603743b6b5c..7faf2d98a29 100644 --- a/Mage.Sets/src/mage/cards/f/FledglingOsprey.java +++ b/Mage.Sets/src/mage/cards/f/FledglingOsprey.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class FledglingOsprey extends CardImpl { public FledglingOsprey(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FleecemaneLion.java b/Mage.Sets/src/mage/cards/f/FleecemaneLion.java index 0beb45d628f..4fe26ca946e 100644 --- a/Mage.Sets/src/mage/cards/f/FleecemaneLion.java +++ b/Mage.Sets/src/mage/cards/f/FleecemaneLion.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.MonstrosityAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class FleecemaneLion extends CardImpl { public FleecemaneLion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FleetFootedMonk.java b/Mage.Sets/src/mage/cards/f/FleetFootedMonk.java index 5bd365ceeed..c6309715d7d 100644 --- a/Mage.Sets/src/mage/cards/f/FleetFootedMonk.java +++ b/Mage.Sets/src/mage/cards/f/FleetFootedMonk.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; @@ -53,8 +54,8 @@ public class FleetFootedMonk extends CardImpl { public FleetFootedMonk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FleetfeatherCockatrice.java b/Mage.Sets/src/mage/cards/f/FleetfeatherCockatrice.java index 56c95e9ed5c..639ba26eb98 100644 --- a/Mage.Sets/src/mage/cards/f/FleetfeatherCockatrice.java +++ b/Mage.Sets/src/mage/cards/f/FleetfeatherCockatrice.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MonstrosityAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class FleetfeatherCockatrice extends CardImpl { public FleetfeatherCockatrice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{U}"); - this.subtype.add("Cockatrice"); + this.subtype.add(SubType.COCKATRICE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FleetfeatherSandals.java b/Mage.Sets/src/mage/cards/f/FleetfeatherSandals.java index 2f8e4626603..9c338d4d462 100644 --- a/Mage.Sets/src/mage/cards/f/FleetfeatherSandals.java +++ b/Mage.Sets/src/mage/cards/f/FleetfeatherSandals.java @@ -47,7 +47,7 @@ public class FleetfeatherSandals extends CardImpl { public FleetfeatherSandals(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has flying and haste. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, diff --git a/Mage.Sets/src/mage/cards/f/FleetfootPanther.java b/Mage.Sets/src/mage/cards/f/FleetfootPanther.java index 9af2e51829d..bf1f17d2810 100644 --- a/Mage.Sets/src/mage/cards/f/FleetfootPanther.java +++ b/Mage.Sets/src/mage/cards/f/FleetfootPanther.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -56,7 +57,7 @@ public class FleetfootPanther extends CardImpl { public FleetfootPanther(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FleetingImage.java b/Mage.Sets/src/mage/cards/f/FleetingImage.java index 32d2aab2be3..414715bd551 100644 --- a/Mage.Sets/src/mage/cards/f/FleetingImage.java +++ b/Mage.Sets/src/mage/cards/f/FleetingImage.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class FleetingImage extends CardImpl { public FleetingImage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/Flensermite.java b/Mage.Sets/src/mage/cards/f/Flensermite.java index 02e0d3a9101..6b59bda9f82 100644 --- a/Mage.Sets/src/mage/cards/f/Flensermite.java +++ b/Mage.Sets/src/mage/cards/f/Flensermite.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class Flensermite extends CardImpl { public Flensermite (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Gremlin"); + this.subtype.add(SubType.GREMLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FleshCarver.java b/Mage.Sets/src/mage/cards/f/FleshCarver.java index ccde49e6100..3a99fac51ab 100644 --- a/Mage.Sets/src/mage/cards/f/FleshCarver.java +++ b/Mage.Sets/src/mage/cards/f/FleshCarver.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -61,8 +62,8 @@ public class FleshCarver extends CardImpl { public FleshCarver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FleshEaterImp.java b/Mage.Sets/src/mage/cards/f/FleshEaterImp.java index 7fefc7ddc65..91cc0f9c40d 100644 --- a/Mage.Sets/src/mage/cards/f/FleshEaterImp.java +++ b/Mage.Sets/src/mage/cards/f/FleshEaterImp.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -50,7 +51,7 @@ public class FleshEaterImp extends CardImpl { public FleshEaterImp (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FleshbagMarauder.java b/Mage.Sets/src/mage/cards/f/FleshbagMarauder.java index 3b52229155e..e7b4c863f3b 100644 --- a/Mage.Sets/src/mage/cards/f/FleshbagMarauder.java +++ b/Mage.Sets/src/mage/cards/f/FleshbagMarauder.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; /** @@ -44,8 +45,8 @@ public class FleshbagMarauder extends CardImpl { public FleshbagMarauder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/Fleshformer.java b/Mage.Sets/src/mage/cards/f/Fleshformer.java index e3430b26062..196bc37ad2f 100644 --- a/Mage.Sets/src/mage/cards/f/Fleshformer.java +++ b/Mage.Sets/src/mage/cards/f/Fleshformer.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -53,8 +54,8 @@ public class Fleshformer extends CardImpl { public Fleshformer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/Fleshgrafter.java b/Mage.Sets/src/mage/cards/f/Fleshgrafter.java index fe6ab881e15..42542f719a0 100644 --- a/Mage.Sets/src/mage/cards/f/Fleshgrafter.java +++ b/Mage.Sets/src/mage/cards/f/Fleshgrafter.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterArtifactCard; @@ -47,8 +48,8 @@ public class Fleshgrafter extends CardImpl { public Fleshgrafter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FleshmadSteed.java b/Mage.Sets/src/mage/cards/f/FleshmadSteed.java index db0d2ee11f2..01908e9a6f0 100644 --- a/Mage.Sets/src/mage/cards/f/FleshmadSteed.java +++ b/Mage.Sets/src/mage/cards/f/FleshmadSteed.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.TapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -50,7 +51,7 @@ public class FleshmadSteed extends CardImpl { public FleshmadSteed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Horse"); + this.subtype.add(SubType.HORSE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FleshpulperGiant.java b/Mage.Sets/src/mage/cards/f/FleshpulperGiant.java index 5dfbfdad0f2..45b4ae92115 100644 --- a/Mage.Sets/src/mage/cards/f/FleshpulperGiant.java +++ b/Mage.Sets/src/mage/cards/f/FleshpulperGiant.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ToughnessPredicate; @@ -54,7 +55,7 @@ public class FleshpulperGiant extends CardImpl { public FleshpulperGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/Fleshwrither.java b/Mage.Sets/src/mage/cards/f/Fleshwrither.java index df1c4489e01..532aaa1bd9a 100644 --- a/Mage.Sets/src/mage/cards/f/Fleshwrither.java +++ b/Mage.Sets/src/mage/cards/f/Fleshwrither.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.TimingRule; @@ -58,7 +59,7 @@ public class Fleshwrither extends CardImpl { public Fleshwrither(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/Flickerform.java b/Mage.Sets/src/mage/cards/f/Flickerform.java index 02d5c81b38d..391d965e997 100644 --- a/Mage.Sets/src/mage/cards/f/Flickerform.java +++ b/Mage.Sets/src/mage/cards/f/Flickerform.java @@ -63,7 +63,7 @@ public class Flickerform extends CardImpl { public Flickerform(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FlickeringSpirit.java b/Mage.Sets/src/mage/cards/f/FlickeringSpirit.java index ab47d970f22..3a9622f0b9b 100644 --- a/Mage.Sets/src/mage/cards/f/FlickeringSpirit.java +++ b/Mage.Sets/src/mage/cards/f/FlickeringSpirit.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class FlickeringSpirit extends CardImpl { public FlickeringSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FlickeringWard.java b/Mage.Sets/src/mage/cards/f/FlickeringWard.java index 04c339f1f3b..2df3ba02cef 100644 --- a/Mage.Sets/src/mage/cards/f/FlickeringWard.java +++ b/Mage.Sets/src/mage/cards/f/FlickeringWard.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -53,7 +54,7 @@ public class FlickeringWard extends CardImpl { public FlickeringWard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/Flickerwisp.java b/Mage.Sets/src/mage/cards/f/Flickerwisp.java index c406608cefe..54f7e333868 100644 --- a/Mage.Sets/src/mage/cards/f/Flickerwisp.java +++ b/Mage.Sets/src/mage/cards/f/Flickerwisp.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -63,7 +64,7 @@ public class Flickerwisp extends CardImpl { public Flickerwisp(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/Flight.java b/Mage.Sets/src/mage/cards/f/Flight.java index e0a70ee2480..fa6f415f7ee 100644 --- a/Mage.Sets/src/mage/cards/f/Flight.java +++ b/Mage.Sets/src/mage/cards/f/Flight.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class Flight extends CardImpl { public Flight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FlightOfFancy.java b/Mage.Sets/src/mage/cards/f/FlightOfFancy.java index 1101356b1be..b20e1d5a193 100644 --- a/Mage.Sets/src/mage/cards/f/FlightOfFancy.java +++ b/Mage.Sets/src/mage/cards/f/FlightOfFancy.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -53,7 +54,7 @@ public class FlightOfFancy extends CardImpl { public FlightOfFancy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/f/FlinthoofBoar.java b/Mage.Sets/src/mage/cards/f/FlinthoofBoar.java index 2946e9c1145..bd2c19e66e2 100644 --- a/Mage.Sets/src/mage/cards/f/FlinthoofBoar.java +++ b/Mage.Sets/src/mage/cards/f/FlinthoofBoar.java @@ -58,7 +58,7 @@ public class FlinthoofBoar extends CardImpl { public FlinthoofBoar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Boar"); + this.subtype.add(SubType.BOAR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FlitterstepEidolon.java b/Mage.Sets/src/mage/cards/f/FlitterstepEidolon.java index b5db599fa7d..8c7ff657320 100644 --- a/Mage.Sets/src/mage/cards/f/FlitterstepEidolon.java +++ b/Mage.Sets/src/mage/cards/f/FlitterstepEidolon.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class FlitterstepEidolon extends CardImpl { public FlitterstepEidolon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{1}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FloatingDreamZubera.java b/Mage.Sets/src/mage/cards/f/FloatingDreamZubera.java index 0a1f8a9b8e2..247ce3c394a 100644 --- a/Mage.Sets/src/mage/cards/f/FloatingDreamZubera.java +++ b/Mage.Sets/src/mage/cards/f/FloatingDreamZubera.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.watchers.common.ZuberasDiedWatcher; /** @@ -45,8 +46,8 @@ public class FloatingDreamZubera extends CardImpl { public FloatingDreamZubera(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Zubera"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ZUBERA); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/Floodbringer.java b/Mage.Sets/src/mage/cards/f/Floodbringer.java index 8795f6113bc..378e4268138 100644 --- a/Mage.Sets/src/mage/cards/f/Floodbringer.java +++ b/Mage.Sets/src/mage/cards/f/Floodbringer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; @@ -54,8 +55,8 @@ public class Floodbringer extends CardImpl { public Floodbringer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Moonfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MOONFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/Floodchaser.java b/Mage.Sets/src/mage/cards/f/Floodchaser.java index 51c2f65e846..476d1213099 100644 --- a/Mage.Sets/src/mage/cards/f/Floodchaser.java +++ b/Mage.Sets/src/mage/cards/f/Floodchaser.java @@ -57,7 +57,7 @@ public class Floodchaser extends CardImpl { public Floodchaser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/f/FloodedWoodlands.java b/Mage.Sets/src/mage/cards/f/FloodedWoodlands.java index 7e5a16edd15..7487b3fa220 100644 --- a/Mage.Sets/src/mage/cards/f/FloodedWoodlands.java +++ b/Mage.Sets/src/mage/cards/f/FloodedWoodlands.java @@ -1,98 +1,98 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.f; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.common.SacrificeTargetCost; -import mage.abilities.effects.PayCostToAttackBlockEffectImpl; -import mage.abilities.effects.PayCostToAttackBlockEffectImpl.RestrictType; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.common.FilterControlledLandPermanent; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.permanent.Permanent; -import mage.target.common.TargetControlledPermanent; - -/** - * - * @author jeffwadsworth - */ -public class FloodedWoodlands extends CardImpl { - - public FloodedWoodlands(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}{B}"); - - - // Green creatures can't attack unless their controller sacrifices a land for each green creature he or she controls that's attacking. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new FloodedWoodlandsCostToAttackBlockEffect())); - - } - - public FloodedWoodlands(final FloodedWoodlands card) { - super(card); - } - - @Override - public FloodedWoodlands copy() { - return new FloodedWoodlands(this); - } -} - -class FloodedWoodlandsCostToAttackBlockEffect extends PayCostToAttackBlockEffectImpl { - - FloodedWoodlandsCostToAttackBlockEffect() { - super(Duration.WhileOnBattlefield, Outcome.Detriment, RestrictType.ATTACK, - new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledLandPermanent("a land")))); - staticText = "Green creatures can't attack unless their controller sacrifices a land (This cost is paid as attackers are declared.)"; - } - - FloodedWoodlandsCostToAttackBlockEffect(FloodedWoodlandsCostToAttackBlockEffect effect) { - super(effect); - } - - @Override - public boolean applies(GameEvent event, Ability source, Game game) { - Permanent permanent = game.getPermanent(event.getSourceId()); - return (permanent != null - && permanent.isCreature() - && permanent.getColor(game).isGreen()); - } - - @Override - public FloodedWoodlandsCostToAttackBlockEffect copy() { - return new FloodedWoodlandsCostToAttackBlockEffect(this); - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.f; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.effects.PayCostToAttackBlockEffectImpl; +import mage.abilities.effects.PayCostToAttackBlockEffectImpl.RestrictType; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.common.FilterControlledLandPermanent; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; +import mage.target.common.TargetControlledPermanent; + +/** + * + * @author jeffwadsworth + */ +public class FloodedWoodlands extends CardImpl { + + public FloodedWoodlands(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}{B}"); + + + // Green creatures can't attack unless their controller sacrifices a land for each green creature he or she controls that's attacking. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new FloodedWoodlandsCostToAttackBlockEffect())); + + } + + public FloodedWoodlands(final FloodedWoodlands card) { + super(card); + } + + @Override + public FloodedWoodlands copy() { + return new FloodedWoodlands(this); + } +} + +class FloodedWoodlandsCostToAttackBlockEffect extends PayCostToAttackBlockEffectImpl { + + FloodedWoodlandsCostToAttackBlockEffect() { + super(Duration.WhileOnBattlefield, Outcome.Detriment, RestrictType.ATTACK, + new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledLandPermanent("a land")))); + staticText = "Green creatures can't attack unless their controller sacrifices a land (This cost is paid as attackers are declared.)"; + } + + FloodedWoodlandsCostToAttackBlockEffect(FloodedWoodlandsCostToAttackBlockEffect effect) { + super(effect); + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + Permanent permanent = game.getPermanent(event.getSourceId()); + return (permanent != null + && permanent.isCreature() + && permanent.getColor(game).isGreen()); + } + + @Override + public FloodedWoodlandsCostToAttackBlockEffect copy() { + return new FloodedWoodlandsCostToAttackBlockEffect(this); + } + +} diff --git a/Mage.Sets/src/mage/cards/f/FloodtideSerpent.java b/Mage.Sets/src/mage/cards/f/FloodtideSerpent.java index cad65107193..3bb6d4354e7 100644 --- a/Mage.Sets/src/mage/cards/f/FloodtideSerpent.java +++ b/Mage.Sets/src/mage/cards/f/FloodtideSerpent.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.CantAttackBlockUnlessPaysSourceEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -55,7 +56,7 @@ public class FloodtideSerpent extends CardImpl { public FloodtideSerpent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FlowOfMaggots.java b/Mage.Sets/src/mage/cards/f/FlowOfMaggots.java index 26b0b9d7759..c212f153300 100644 --- a/Mage.Sets/src/mage/cards/f/FlowOfMaggots.java +++ b/Mage.Sets/src/mage/cards/f/FlowOfMaggots.java @@ -56,7 +56,7 @@ public class FlowOfMaggots extends CardImpl { public FlowOfMaggots(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FloweringField.java b/Mage.Sets/src/mage/cards/f/FloweringField.java index 35f06051be7..6103554d2a4 100644 --- a/Mage.Sets/src/mage/cards/f/FloweringField.java +++ b/Mage.Sets/src/mage/cards/f/FloweringField.java @@ -52,7 +52,7 @@ public class FloweringField extends CardImpl { public FloweringField(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FloweringLumberknot.java b/Mage.Sets/src/mage/cards/f/FloweringLumberknot.java index e7a7341bb2c..4d414370484 100644 --- a/Mage.Sets/src/mage/cards/f/FloweringLumberknot.java +++ b/Mage.Sets/src/mage/cards/f/FloweringLumberknot.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -48,7 +49,7 @@ public class FloweringLumberknot extends CardImpl { public FloweringLumberknot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/f/FlowstoneBlade.java b/Mage.Sets/src/mage/cards/f/FlowstoneBlade.java index 2e58b720dc2..0ca854baf48 100644 --- a/Mage.Sets/src/mage/cards/f/FlowstoneBlade.java +++ b/Mage.Sets/src/mage/cards/f/FlowstoneBlade.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class FlowstoneBlade extends CardImpl { public FlowstoneBlade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FlowstoneCharger.java b/Mage.Sets/src/mage/cards/f/FlowstoneCharger.java index 6e814c637cf..f90c839911d 100644 --- a/Mage.Sets/src/mage/cards/f/FlowstoneCharger.java +++ b/Mage.Sets/src/mage/cards/f/FlowstoneCharger.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class FlowstoneCharger extends CardImpl { public FlowstoneCharger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{W}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FlowstoneCrusher.java b/Mage.Sets/src/mage/cards/f/FlowstoneCrusher.java index b19d24b496e..533c6f568b1 100644 --- a/Mage.Sets/src/mage/cards/f/FlowstoneCrusher.java +++ b/Mage.Sets/src/mage/cards/f/FlowstoneCrusher.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class FlowstoneCrusher extends CardImpl { public FlowstoneCrusher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FlowstoneEmbrace.java b/Mage.Sets/src/mage/cards/f/FlowstoneEmbrace.java index 3d67204473b..ba4a5ef7be6 100644 --- a/Mage.Sets/src/mage/cards/f/FlowstoneEmbrace.java +++ b/Mage.Sets/src/mage/cards/f/FlowstoneEmbrace.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class FlowstoneEmbrace extends CardImpl { public FlowstoneEmbrace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FlowstoneGiant.java b/Mage.Sets/src/mage/cards/f/FlowstoneGiant.java index b1a84cd14f2..5fd17888b9f 100644 --- a/Mage.Sets/src/mage/cards/f/FlowstoneGiant.java +++ b/Mage.Sets/src/mage/cards/f/FlowstoneGiant.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class FlowstoneGiant extends CardImpl { public FlowstoneGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FlowstoneHellion.java b/Mage.Sets/src/mage/cards/f/FlowstoneHellion.java index d4b14a27d64..077822abd90 100644 --- a/Mage.Sets/src/mage/cards/f/FlowstoneHellion.java +++ b/Mage.Sets/src/mage/cards/f/FlowstoneHellion.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class FlowstoneHellion extends CardImpl { public FlowstoneHellion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Hellion"); - this.subtype.add("Beast"); + this.subtype.add(SubType.HELLION); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FlowstoneMauler.java b/Mage.Sets/src/mage/cards/f/FlowstoneMauler.java index be1c8cd3b77..56f1d578d82 100644 --- a/Mage.Sets/src/mage/cards/f/FlowstoneMauler.java +++ b/Mage.Sets/src/mage/cards/f/FlowstoneMauler.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class FlowstoneMauler extends CardImpl { public FlowstoneMauler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/f/FlowstoneOverseer.java b/Mage.Sets/src/mage/cards/f/FlowstoneOverseer.java index 61dde0bab94..5825fa45613 100644 --- a/Mage.Sets/src/mage/cards/f/FlowstoneOverseer.java +++ b/Mage.Sets/src/mage/cards/f/FlowstoneOverseer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class FlowstoneOverseer extends CardImpl { public FlowstoneOverseer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FlowstoneSalamander.java b/Mage.Sets/src/mage/cards/f/FlowstoneSalamander.java index 0b9009a84a2..a8d771c648c 100644 --- a/Mage.Sets/src/mage/cards/f/FlowstoneSalamander.java +++ b/Mage.Sets/src/mage/cards/f/FlowstoneSalamander.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.BlockingAttackerIdPredicate; @@ -49,7 +50,7 @@ public class FlowstoneSalamander extends CardImpl { public FlowstoneSalamander(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Salamander"); + this.subtype.add(SubType.SALAMANDER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FlowstoneSculpture.java b/Mage.Sets/src/mage/cards/f/FlowstoneSculpture.java index 0d80865b79f..aec33e5ae7f 100644 --- a/Mage.Sets/src/mage/cards/f/FlowstoneSculpture.java +++ b/Mage.Sets/src/mage/cards/f/FlowstoneSculpture.java @@ -43,6 +43,7 @@ import mage.cards.CardSetInfo; import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -62,7 +63,7 @@ public class FlowstoneSculpture extends CardImpl { public FlowstoneSculpture(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FlowstoneShambler.java b/Mage.Sets/src/mage/cards/f/FlowstoneShambler.java index be104103ef4..12fb6c72955 100644 --- a/Mage.Sets/src/mage/cards/f/FlowstoneShambler.java +++ b/Mage.Sets/src/mage/cards/f/FlowstoneShambler.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class FlowstoneShambler extends CardImpl { public FlowstoneShambler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FlowstoneThopter.java b/Mage.Sets/src/mage/cards/f/FlowstoneThopter.java index 187ff53ce8a..c84180b75ed 100644 --- a/Mage.Sets/src/mage/cards/f/FlowstoneThopter.java +++ b/Mage.Sets/src/mage/cards/f/FlowstoneThopter.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class FlowstoneThopter extends CardImpl { public FlowstoneThopter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{7}"); - this.subtype.add("Thopter"); + this.subtype.add(SubType.THOPTER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FlowstoneWall.java b/Mage.Sets/src/mage/cards/f/FlowstoneWall.java index 762323688a5..176d44cd630 100644 --- a/Mage.Sets/src/mage/cards/f/FlowstoneWall.java +++ b/Mage.Sets/src/mage/cards/f/FlowstoneWall.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class FlowstoneWall extends CardImpl { public FlowstoneWall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/f/FlowstoneWyvern.java b/Mage.Sets/src/mage/cards/f/FlowstoneWyvern.java index 7837478a6d4..947afa5b768 100644 --- a/Mage.Sets/src/mage/cards/f/FlowstoneWyvern.java +++ b/Mage.Sets/src/mage/cards/f/FlowstoneWyvern.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class FlowstoneWyvern extends CardImpl { public FlowstoneWyvern(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/Fluxcharger.java b/Mage.Sets/src/mage/cards/f/Fluxcharger.java index 473eb61425c..925a6271894 100644 --- a/Mage.Sets/src/mage/cards/f/Fluxcharger.java +++ b/Mage.Sets/src/mage/cards/f/Fluxcharger.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; @@ -46,7 +47,7 @@ public class Fluxcharger extends CardImpl { public Fluxcharger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{R}"); - this.subtype.add("Weird"); + this.subtype.add(SubType.WEIRD); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/f/FlyingMen.java b/Mage.Sets/src/mage/cards/f/FlyingMen.java index 10eec9de53d..4288d6c23f0 100644 --- a/Mage.Sets/src/mage/cards/f/FlyingMen.java +++ b/Mage.Sets/src/mage/cards/f/FlyingMen.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class FlyingMen extends CardImpl { public FlyingMen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FodderLaunch.java b/Mage.Sets/src/mage/cards/f/FodderLaunch.java index 70586006d94..7968eff44a5 100644 --- a/Mage.Sets/src/mage/cards/f/FodderLaunch.java +++ b/Mage.Sets/src/mage/cards/f/FodderLaunch.java @@ -47,7 +47,7 @@ public class FodderLaunch extends CardImpl { public FodderLaunch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.SORCERY},"{3}{B}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); //As an additional cost to cast Fodder Launch, sacrifice a Goblin. this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(1, 1, new FilterControlledCreaturePermanent(SubType.GOBLIN, "a Goblin"), true))); diff --git a/Mage.Sets/src/mage/cards/f/FoeRazerRegent.java b/Mage.Sets/src/mage/cards/f/FoeRazerRegent.java index 1461b352696..f09aa782e31 100644 --- a/Mage.Sets/src/mage/cards/f/FoeRazerRegent.java +++ b/Mage.Sets/src/mage/cards/f/FoeRazerRegent.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -67,7 +68,7 @@ public class FoeRazerRegent extends CardImpl { public FoeRazerRegent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/f/FogBank.java b/Mage.Sets/src/mage/cards/f/FogBank.java index 4de777ef470..a031f046ed5 100644 --- a/Mage.Sets/src/mage/cards/f/FogBank.java +++ b/Mage.Sets/src/mage/cards/f/FogBank.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class FogBank extends CardImpl { public FogBank(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FogElemental.java b/Mage.Sets/src/mage/cards/f/FogElemental.java index 55b066a0d93..4bf1b0d01c8 100644 --- a/Mage.Sets/src/mage/cards/f/FogElemental.java +++ b/Mage.Sets/src/mage/cards/f/FogElemental.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class FogElemental extends CardImpl { public FogElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FogOfGnats.java b/Mage.Sets/src/mage/cards/f/FogOfGnats.java index dece8b37525..9507d2f086b 100644 --- a/Mage.Sets/src/mage/cards/f/FogOfGnats.java +++ b/Mage.Sets/src/mage/cards/f/FogOfGnats.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class FogOfGnats extends CardImpl { public FogOfGnats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/Fogwalker.java b/Mage.Sets/src/mage/cards/f/Fogwalker.java index 956342727c7..eaf42be950e 100644 --- a/Mage.Sets/src/mage/cards/f/Fogwalker.java +++ b/Mage.Sets/src/mage/cards/f/Fogwalker.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SkulkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -54,7 +55,7 @@ public class Fogwalker extends CardImpl { public Fogwalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FolkOfAnHavva.java b/Mage.Sets/src/mage/cards/f/FolkOfAnHavva.java index f76fe2744ec..5fb7036f577 100644 --- a/Mage.Sets/src/mage/cards/f/FolkOfAnHavva.java +++ b/Mage.Sets/src/mage/cards/f/FolkOfAnHavva.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class FolkOfAnHavva extends CardImpl { public FolkOfAnHavva(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FolkOfThePines.java b/Mage.Sets/src/mage/cards/f/FolkOfThePines.java index 7db0a5d4ad8..ca3a2a92691 100644 --- a/Mage.Sets/src/mage/cards/f/FolkOfThePines.java +++ b/Mage.Sets/src/mage/cards/f/FolkOfThePines.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class FolkOfThePines extends CardImpl { public FolkOfThePines(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/f/FollowedFootsteps.java b/Mage.Sets/src/mage/cards/f/FollowedFootsteps.java index dd846509e2e..576477571e2 100644 --- a/Mage.Sets/src/mage/cards/f/FollowedFootsteps.java +++ b/Mage.Sets/src/mage/cards/f/FollowedFootsteps.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.events.GameEvent; @@ -55,7 +56,7 @@ public class FollowedFootsteps extends CardImpl { public FollowedFootsteps(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FomoriNomad.java b/Mage.Sets/src/mage/cards/f/FomoriNomad.java index 2df4842bbd8..e2fd9161064 100644 --- a/Mage.Sets/src/mage/cards/f/FomoriNomad.java +++ b/Mage.Sets/src/mage/cards/f/FomoriNomad.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class FomoriNomad extends CardImpl { public FomoriNomad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Nomad"); - this.subtype.add("Giant"); + this.subtype.add(SubType.NOMAD); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FoolsDemise.java b/Mage.Sets/src/mage/cards/f/FoolsDemise.java index 066f18a9a1a..6d8f41b36ba 100644 --- a/Mage.Sets/src/mage/cards/f/FoolsDemise.java +++ b/Mage.Sets/src/mage/cards/f/FoolsDemise.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -50,7 +51,7 @@ public class FoolsDemise extends CardImpl { public FoolsDemise(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/f/FootSoldiers.java b/Mage.Sets/src/mage/cards/f/FootSoldiers.java index 1c5a48db1eb..161073b08f9 100644 --- a/Mage.Sets/src/mage/cards/f/FootSoldiers.java +++ b/Mage.Sets/src/mage/cards/f/FootSoldiers.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class FootSoldiers extends CardImpl { public FootSoldiers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FoothillGuide.java b/Mage.Sets/src/mage/cards/f/FoothillGuide.java index b0c7dac3169..970932dbc3a 100644 --- a/Mage.Sets/src/mage/cards/f/FoothillGuide.java +++ b/Mage.Sets/src/mage/cards/f/FoothillGuide.java @@ -53,8 +53,8 @@ public class FoothillGuide extends CardImpl { public FoothillGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/Foratog.java b/Mage.Sets/src/mage/cards/f/Foratog.java index 55287663bb0..f44aac7c49a 100644 --- a/Mage.Sets/src/mage/cards/f/Foratog.java +++ b/Mage.Sets/src/mage/cards/f/Foratog.java @@ -56,7 +56,7 @@ public class Foratog extends CardImpl { } public Foratog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Atog"); + this.subtype.add(SubType.ATOG); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/ForbiddenLore.java b/Mage.Sets/src/mage/cards/f/ForbiddenLore.java index d414df21a86..154e6d0ae6b 100644 --- a/Mage.Sets/src/mage/cards/f/ForbiddenLore.java +++ b/Mage.Sets/src/mage/cards/f/ForbiddenLore.java @@ -51,7 +51,7 @@ public class ForbiddenLore extends CardImpl { public ForbiddenLore(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/f/ForbiddingWatchtower.java b/Mage.Sets/src/mage/cards/f/ForbiddingWatchtower.java index 656a174f0e7..ec251ae86a6 100644 --- a/Mage.Sets/src/mage/cards/f/ForbiddingWatchtower.java +++ b/Mage.Sets/src/mage/cards/f/ForbiddingWatchtower.java @@ -37,6 +37,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -74,7 +75,7 @@ class ForbiddingWatchtowerToken extends Token { ForbiddingWatchtowerToken() { super("Soldier", "1/5 white Soldier creature"); cardType.add(CardType.CREATURE); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SOLDIER); color.setWhite(true); power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/ForceOfNature.java b/Mage.Sets/src/mage/cards/f/ForceOfNature.java index f90ede3add4..2f976b49ed1 100644 --- a/Mage.Sets/src/mage/cards/f/ForceOfNature.java +++ b/Mage.Sets/src/mage/cards/f/ForceOfNature.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.game.Game; @@ -51,7 +52,7 @@ public class ForceOfNature extends CardImpl { public ForceOfNature(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/f/ForceOfSavagery.java b/Mage.Sets/src/mage/cards/f/ForceOfSavagery.java index 2b7f2f805ce..4ec6faf641a 100644 --- a/Mage.Sets/src/mage/cards/f/ForceOfSavagery.java +++ b/Mage.Sets/src/mage/cards/f/ForceOfSavagery.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ForceOfSavagery extends CardImpl { public ForceOfSavagery(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(8); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/f/ForcedAdaptation.java b/Mage.Sets/src/mage/cards/f/ForcedAdaptation.java index f81570e901d..9a6a5b844be 100644 --- a/Mage.Sets/src/mage/cards/f/ForcedAdaptation.java +++ b/Mage.Sets/src/mage/cards/f/ForcedAdaptation.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class ForcedAdaptation extends CardImpl { public ForcedAdaptation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/f/ForcedWorship.java b/Mage.Sets/src/mage/cards/f/ForcedWorship.java index 28461f8ad27..3d0e4751876 100644 --- a/Mage.Sets/src/mage/cards/f/ForcedWorship.java +++ b/Mage.Sets/src/mage/cards/f/ForcedWorship.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -54,7 +55,7 @@ public class ForcedWorship extends CardImpl { public ForcedWorship (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/f/ForerunnerOfSlaughter.java b/Mage.Sets/src/mage/cards/f/ForerunnerOfSlaughter.java index 8a987107cdc..0d3c772b327 100644 --- a/Mage.Sets/src/mage/cards/f/ForerunnerOfSlaughter.java +++ b/Mage.Sets/src/mage/cards/f/ForerunnerOfSlaughter.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -58,8 +59,8 @@ public class ForerunnerOfSlaughter extends CardImpl { public ForerunnerOfSlaughter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{R}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/ForestBear.java b/Mage.Sets/src/mage/cards/f/ForestBear.java index d612381208d..decec6aa71e 100644 --- a/Mage.Sets/src/mage/cards/f/ForestBear.java +++ b/Mage.Sets/src/mage/cards/f/ForestBear.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class ForestBear extends CardImpl { public ForestBear(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Bear"); + this.subtype.add(SubType.BEAR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/ForgeDevil.java b/Mage.Sets/src/mage/cards/f/ForgeDevil.java index 5f1d141736f..1d5342dd9b0 100644 --- a/Mage.Sets/src/mage/cards/f/ForgeDevil.java +++ b/Mage.Sets/src/mage/cards/f/ForgeDevil.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -47,7 +48,7 @@ public class ForgeDevil extends CardImpl { public ForgeDevil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/ForgebornOreads.java b/Mage.Sets/src/mage/cards/f/ForgebornOreads.java index e17213678e6..0772f073797 100644 --- a/Mage.Sets/src/mage/cards/f/ForgebornOreads.java +++ b/Mage.Sets/src/mage/cards/f/ForgebornOreads.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; /** @@ -45,7 +46,7 @@ public class ForgebornOreads extends CardImpl { public ForgebornOreads(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Nymph"); + this.subtype.add(SubType.NYMPH); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/ForgestokerDragon.java b/Mage.Sets/src/mage/cards/f/ForgestokerDragon.java index 426ee53cf69..7cfeecabcf1 100644 --- a/Mage.Sets/src/mage/cards/f/ForgestokerDragon.java +++ b/Mage.Sets/src/mage/cards/f/ForgestokerDragon.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -52,7 +53,7 @@ public class ForgestokerDragon extends CardImpl { public ForgestokerDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/ForgottenAncient.java b/Mage.Sets/src/mage/cards/f/ForgottenAncient.java index e8fd0ea9749..bd8e7d0298f 100644 --- a/Mage.Sets/src/mage/cards/f/ForgottenAncient.java +++ b/Mage.Sets/src/mage/cards/f/ForgottenAncient.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -65,7 +66,7 @@ public class ForgottenAncient extends CardImpl { public ForgottenAncient(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/ForgottenCreation.java b/Mage.Sets/src/mage/cards/f/ForgottenCreation.java index 5ebebee7ba9..37bfc59efe3 100644 --- a/Mage.Sets/src/mage/cards/f/ForgottenCreation.java +++ b/Mage.Sets/src/mage/cards/f/ForgottenCreation.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SkulkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.game.Game; @@ -49,8 +50,8 @@ public class ForgottenCreation extends CardImpl { public ForgottenCreation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/ForiysianBrigade.java b/Mage.Sets/src/mage/cards/f/ForiysianBrigade.java index 2bc1e85efab..617a5c2b898 100644 --- a/Mage.Sets/src/mage/cards/f/ForiysianBrigade.java +++ b/Mage.Sets/src/mage/cards/f/ForiysianBrigade.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CanBlockAdditionalCreatureEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -44,8 +45,8 @@ public class ForiysianBrigade extends CardImpl { public ForiysianBrigade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/ForiysianInterceptor.java b/Mage.Sets/src/mage/cards/f/ForiysianInterceptor.java index a6cdb72f20d..4f34b197591 100644 --- a/Mage.Sets/src/mage/cards/f/ForiysianInterceptor.java +++ b/Mage.Sets/src/mage/cards/f/ForiysianInterceptor.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class ForiysianInterceptor extends CardImpl { public ForiysianInterceptor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/f/ForiysianTotem.java b/Mage.Sets/src/mage/cards/f/ForiysianTotem.java index 9a8f02d6831..501aefb9471 100644 --- a/Mage.Sets/src/mage/cards/f/ForiysianTotem.java +++ b/Mage.Sets/src/mage/cards/f/ForiysianTotem.java @@ -41,6 +41,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -84,7 +85,7 @@ class ForiysianTotemToken extends Token { super("", "4/4 red Giant artifact creature with trample"); cardType.add(CardType.CREATURE); cardType.add(CardType.ARTIFACT); - subtype.add("Giant"); + subtype.add(SubType.GIANT); color.setRed(true); power = new MageInt(4); toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/ForkedBranchGarami.java b/Mage.Sets/src/mage/cards/f/ForkedBranchGarami.java index afd37e20bcd..6b8246fb995 100644 --- a/Mage.Sets/src/mage/cards/f/ForkedBranchGarami.java +++ b/Mage.Sets/src/mage/cards/f/ForkedBranchGarami.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ForkedBranchGarami extends CardImpl { public ForkedBranchGarami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/ForlornPseudamma.java b/Mage.Sets/src/mage/cards/f/ForlornPseudamma.java index 521ca507a29..ea3e3223f73 100644 --- a/Mage.Sets/src/mage/cards/f/ForlornPseudamma.java +++ b/Mage.Sets/src/mage/cards/f/ForlornPseudamma.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.ForlornPseudammaZombieToken; /** @@ -47,7 +48,7 @@ public class ForlornPseudamma extends CardImpl { public ForlornPseudamma(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/ForsakenDrifters.java b/Mage.Sets/src/mage/cards/f/ForsakenDrifters.java index e9cd7125763..7b93b40e726 100644 --- a/Mage.Sets/src/mage/cards/f/ForsakenDrifters.java +++ b/Mage.Sets/src/mage/cards/f/ForsakenDrifters.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class ForsakenDrifters extends CardImpl { public ForsakenDrifters(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FortifiedRampart.java b/Mage.Sets/src/mage/cards/f/FortifiedRampart.java index 32f5ec4ae45..b4bd0d13144 100644 --- a/Mage.Sets/src/mage/cards/f/FortifiedRampart.java +++ b/Mage.Sets/src/mage/cards/f/FortifiedRampart.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class FortifiedRampart extends CardImpl { public FortifiedRampart(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/f/Fortitude.java b/Mage.Sets/src/mage/cards/f/Fortitude.java index fa6c04c662d..386ee64ff90 100644 --- a/Mage.Sets/src/mage/cards/f/Fortitude.java +++ b/Mage.Sets/src/mage/cards/f/Fortitude.java @@ -59,7 +59,7 @@ public class Fortitude extends CardImpl { public Fortitude(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FortressCrab.java b/Mage.Sets/src/mage/cards/f/FortressCrab.java index f435e79c071..36a64578852 100644 --- a/Mage.Sets/src/mage/cards/f/FortressCrab.java +++ b/Mage.Sets/src/mage/cards/f/FortressCrab.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class FortressCrab extends CardImpl { public FortressCrab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Crab"); + this.subtype.add(SubType.CRAB); this.power = new MageInt(1); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/f/FortressCyclops.java b/Mage.Sets/src/mage/cards/f/FortressCyclops.java index 190e144d0a5..137ab7758bf 100644 --- a/Mage.Sets/src/mage/cards/f/FortressCyclops.java +++ b/Mage.Sets/src/mage/cards/f/FortressCyclops.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class FortressCyclops extends CardImpl { public FortressCyclops(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{W}"); - this.subtype.add("Cyclops"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.CYCLOPS); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FortuneThief.java b/Mage.Sets/src/mage/cards/f/FortuneThief.java index db975be43d0..ef5d02f1334 100644 --- a/Mage.Sets/src/mage/cards/f/FortuneThief.java +++ b/Mage.Sets/src/mage/cards/f/FortuneThief.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,8 +54,8 @@ public class FortuneThief extends CardImpl { public FortuneThief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FoulEmissary.java b/Mage.Sets/src/mage/cards/f/FoulEmissary.java index f98b53d26c8..7429ff84fe9 100644 --- a/Mage.Sets/src/mage/cards/f/FoulEmissary.java +++ b/Mage.Sets/src/mage/cards/f/FoulEmissary.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EmergeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.game.Game; @@ -60,8 +61,8 @@ public class FoulEmissary extends CardImpl { public FoulEmissary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FoulFamiliar.java b/Mage.Sets/src/mage/cards/f/FoulFamiliar.java index 2deb64e023b..77ab1b7e88f 100644 --- a/Mage.Sets/src/mage/cards/f/FoulFamiliar.java +++ b/Mage.Sets/src/mage/cards/f/FoulFamiliar.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class FoulFamiliar extends CardImpl { public FoulFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FoulImp.java b/Mage.Sets/src/mage/cards/f/FoulImp.java index 0fee8828222..0296b5be68f 100644 --- a/Mage.Sets/src/mage/cards/f/FoulImp.java +++ b/Mage.Sets/src/mage/cards/f/FoulImp.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class FoulImp extends CardImpl { public FoulImp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FoulPresence.java b/Mage.Sets/src/mage/cards/f/FoulPresence.java index d152603232a..9a4e4a9f89d 100644 --- a/Mage.Sets/src/mage/cards/f/FoulPresence.java +++ b/Mage.Sets/src/mage/cards/f/FoulPresence.java @@ -52,7 +52,7 @@ public class FoulPresence extends CardImpl { public FoulPresence(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FoulSpirit.java b/Mage.Sets/src/mage/cards/f/FoulSpirit.java index 6d6142151bf..a32c0b511e0 100644 --- a/Mage.Sets/src/mage/cards/f/FoulSpirit.java +++ b/Mage.Sets/src/mage/cards/f/FoulSpirit.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; /** @@ -45,7 +46,7 @@ public class FoulSpirit extends CardImpl { public FoulSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FoundryAssembler.java b/Mage.Sets/src/mage/cards/f/FoundryAssembler.java index 4e38c4dd810..9fc65cad740 100644 --- a/Mage.Sets/src/mage/cards/f/FoundryAssembler.java +++ b/Mage.Sets/src/mage/cards/f/FoundryAssembler.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ImproviseAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class FoundryAssembler extends CardImpl { public FoundryAssembler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{5}"); - this.subtype.add("Assembly-Worker"); + this.subtype.add(SubType.ASSEMBLY_WORKER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FoundryChampion.java b/Mage.Sets/src/mage/cards/f/FoundryChampion.java index 4ee966622c6..48487db89d4 100644 --- a/Mage.Sets/src/mage/cards/f/FoundryChampion.java +++ b/Mage.Sets/src/mage/cards/f/FoundryChampion.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -53,8 +54,8 @@ public class FoundryChampion extends CardImpl { public FoundryChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{W}"); - this.subtype.add("Elemental"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FoundryHornet.java b/Mage.Sets/src/mage/cards/f/FoundryHornet.java index 537f32fdee7..29813f49c14 100644 --- a/Mage.Sets/src/mage/cards/f/FoundryHornet.java +++ b/Mage.Sets/src/mage/cards/f/FoundryHornet.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.counters.CounterType; @@ -65,7 +66,7 @@ public class FoundryHornet extends CardImpl { public FoundryHornet(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FoundryInspector.java b/Mage.Sets/src/mage/cards/f/FoundryInspector.java index 65b8dc549f8..54d041ecd6c 100644 --- a/Mage.Sets/src/mage/cards/f/FoundryInspector.java +++ b/Mage.Sets/src/mage/cards/f/FoundryInspector.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -52,7 +53,7 @@ public class FoundryInspector extends CardImpl { public FoundryInspector(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FoundryScreecher.java b/Mage.Sets/src/mage/cards/f/FoundryScreecher.java index 92815bf8cf2..4866a353356 100644 --- a/Mage.Sets/src/mage/cards/f/FoundryScreecher.java +++ b/Mage.Sets/src/mage/cards/f/FoundryScreecher.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -49,7 +50,7 @@ public class FoundryScreecher extends CardImpl { public FoundryScreecher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Bat"); + this.subtype.add(SubType.BAT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FoundryStreetDenizen.java b/Mage.Sets/src/mage/cards/f/FoundryStreetDenizen.java index febc45dda5b..bc016d1ceb5 100644 --- a/Mage.Sets/src/mage/cards/f/FoundryStreetDenizen.java +++ b/Mage.Sets/src/mage/cards/f/FoundryStreetDenizen.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -59,8 +60,8 @@ public class FoundryStreetDenizen extends CardImpl { public FoundryStreetDenizen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FountainWatch.java b/Mage.Sets/src/mage/cards/f/FountainWatch.java index 3e83f7f1af2..b4dc2f240b6 100644 --- a/Mage.Sets/src/mage/cards/f/FountainWatch.java +++ b/Mage.Sets/src/mage/cards/f/FountainWatch.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -57,8 +58,8 @@ public class FountainWatch extends CardImpl { public FountainWatch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FourthBridgeProwler.java b/Mage.Sets/src/mage/cards/f/FourthBridgeProwler.java index 057a809c44d..ba442bce459 100644 --- a/Mage.Sets/src/mage/cards/f/FourthBridgeProwler.java +++ b/Mage.Sets/src/mage/cards/f/FourthBridgeProwler.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class FourthBridgeProwler extends CardImpl { public FourthBridgeProwler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FoxfireOak.java b/Mage.Sets/src/mage/cards/f/FoxfireOak.java index a3910dc45c4..705e1cbb855 100644 --- a/Mage.Sets/src/mage/cards/f/FoxfireOak.java +++ b/Mage.Sets/src/mage/cards/f/FoxfireOak.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class FoxfireOak extends CardImpl { public FoxfireOak(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/f/FreedFromTheReal.java b/Mage.Sets/src/mage/cards/f/FreedFromTheReal.java index 8338ea81eab..7bb3201dc35 100644 --- a/Mage.Sets/src/mage/cards/f/FreedFromTheReal.java +++ b/Mage.Sets/src/mage/cards/f/FreedFromTheReal.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class FreedFromTheReal extends CardImpl { public FreedFromTheReal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/f/FreejamRegent.java b/Mage.Sets/src/mage/cards/f/FreejamRegent.java index ee720b9aad9..48f838680cd 100644 --- a/Mage.Sets/src/mage/cards/f/FreejamRegent.java +++ b/Mage.Sets/src/mage/cards/f/FreejamRegent.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ImproviseAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class FreejamRegent extends CardImpl { public FreejamRegent(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FreewindEquenaut.java b/Mage.Sets/src/mage/cards/f/FreewindEquenaut.java index 849df52fcfa..493059fa71f 100644 --- a/Mage.Sets/src/mage/cards/f/FreewindEquenaut.java +++ b/Mage.Sets/src/mage/cards/f/FreewindEquenaut.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterAttackingOrBlockingCreature; @@ -53,8 +54,8 @@ public class FreewindEquenaut extends CardImpl { public FreewindEquenaut(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FreewindFalcon.java b/Mage.Sets/src/mage/cards/f/FreewindFalcon.java index 92017c98a7c..4770881972a 100644 --- a/Mage.Sets/src/mage/cards/f/FreewindFalcon.java +++ b/Mage.Sets/src/mage/cards/f/FreewindFalcon.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** @@ -45,7 +46,7 @@ public class FreewindFalcon extends CardImpl { public FreewindFalcon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FreneticEfreet.java b/Mage.Sets/src/mage/cards/f/FreneticEfreet.java index 37b2bd3252e..bc43ecad871 100644 --- a/Mage.Sets/src/mage/cards/f/FreneticEfreet.java +++ b/Mage.Sets/src/mage/cards/f/FreneticEfreet.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class FreneticEfreet extends CardImpl { public FreneticEfreet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{R}"); - this.subtype.add("Efreet"); + this.subtype.add(SubType.EFREET); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FreneticOgre.java b/Mage.Sets/src/mage/cards/f/FreneticOgre.java index e73840be64e..95238e976f9 100644 --- a/Mage.Sets/src/mage/cards/f/FreneticOgre.java +++ b/Mage.Sets/src/mage/cards/f/FreneticOgre.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class FreneticOgre extends CardImpl { public FreneticOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.OGRE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FreneticRaptor.java b/Mage.Sets/src/mage/cards/f/FreneticRaptor.java index 096276a83cf..af8f9fd0112 100644 --- a/Mage.Sets/src/mage/cards/f/FreneticRaptor.java +++ b/Mage.Sets/src/mage/cards/f/FreneticRaptor.java @@ -50,8 +50,8 @@ public class FreneticRaptor extends CardImpl { public FreneticRaptor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{R}"); - this.subtype.add("Dinosaur"); - this.subtype.add("Beast"); + this.subtype.add(SubType.DINOSAUR); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/f/FreneticSliver.java b/Mage.Sets/src/mage/cards/f/FreneticSliver.java index 8a800ae3987..c0a638c1c2a 100644 --- a/Mage.Sets/src/mage/cards/f/FreneticSliver.java +++ b/Mage.Sets/src/mage/cards/f/FreneticSliver.java @@ -55,7 +55,7 @@ public class FreneticSliver extends CardImpl { public FreneticSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{R}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FrenziedFugue.java b/Mage.Sets/src/mage/cards/f/FrenziedFugue.java index d9bc7f24a49..9a253f0b251 100644 --- a/Mage.Sets/src/mage/cards/f/FrenziedFugue.java +++ b/Mage.Sets/src/mage/cards/f/FrenziedFugue.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class FrenziedFugue extends CardImpl { public FrenziedFugue(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant permanent TargetPermanent auraTarget = new TargetPermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FrenziedGoblin.java b/Mage.Sets/src/mage/cards/f/FrenziedGoblin.java index fbaae281280..c33f77f9d62 100644 --- a/Mage.Sets/src/mage/cards/f/FrenziedGoblin.java +++ b/Mage.Sets/src/mage/cards/f/FrenziedGoblin.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.combat.CantBlockTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.Target; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class FrenziedGoblin extends CardImpl { public FrenziedGoblin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FrenzySliver.java b/Mage.Sets/src/mage/cards/f/FrenzySliver.java index dfc24776158..9bc78c4589a 100644 --- a/Mage.Sets/src/mage/cards/f/FrenzySliver.java +++ b/Mage.Sets/src/mage/cards/f/FrenzySliver.java @@ -64,7 +64,7 @@ public class FrenzySliver extends CardImpl { public FrenzySliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FreshVolunteers.java b/Mage.Sets/src/mage/cards/f/FreshVolunteers.java index ff6f550ba5e..2effcf718a5 100644 --- a/Mage.Sets/src/mage/cards/f/FreshVolunteers.java +++ b/Mage.Sets/src/mage/cards/f/FreshVolunteers.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class FreshVolunteers extends CardImpl { public FreshVolunteers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FretworkColony.java b/Mage.Sets/src/mage/cards/f/FretworkColony.java index cc920ef4272..dae02d66f38 100644 --- a/Mage.Sets/src/mage/cards/f/FretworkColony.java +++ b/Mage.Sets/src/mage/cards/f/FretworkColony.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.counters.CounterType; @@ -49,7 +50,7 @@ public class FretworkColony extends CardImpl { public FretworkColony(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FreyaliseLlanowarsFury.java b/Mage.Sets/src/mage/cards/f/FreyaliseLlanowarsFury.java index c07e21cc260..d602acecb65 100644 --- a/Mage.Sets/src/mage/cards/f/FreyaliseLlanowarsFury.java +++ b/Mage.Sets/src/mage/cards/f/FreyaliseLlanowarsFury.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -62,7 +63,7 @@ public class FreyaliseLlanowarsFury extends CardImpl { public FreyaliseLlanowarsFury(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{G}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Freyalise"); + this.subtype.add(SubType.FREYALISE); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/f/Frightcrawler.java b/Mage.Sets/src/mage/cards/f/Frightcrawler.java index bbaeb3e3aad..124e8611aa9 100644 --- a/Mage.Sets/src/mage/cards/f/Frightcrawler.java +++ b/Mage.Sets/src/mage/cards/f/Frightcrawler.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class Frightcrawler extends CardImpl { public Frightcrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FrightshroudCourier.java b/Mage.Sets/src/mage/cards/f/FrightshroudCourier.java index 6ecd1cfb158..6202b160536 100644 --- a/Mage.Sets/src/mage/cards/f/FrightshroudCourier.java +++ b/Mage.Sets/src/mage/cards/f/FrightshroudCourier.java @@ -63,7 +63,7 @@ public class FrightshroudCourier extends CardImpl { public FrightshroudCourier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FrilledOculus.java b/Mage.Sets/src/mage/cards/f/FrilledOculus.java index 5f0cfa7979f..418ff4b2a39 100644 --- a/Mage.Sets/src/mage/cards/f/FrilledOculus.java +++ b/Mage.Sets/src/mage/cards/f/FrilledOculus.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class FrilledOculus extends CardImpl { public FrilledOculus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Homunculus"); + this.subtype.add(SubType.HOMUNCULUS); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FrilledSandwalla.java b/Mage.Sets/src/mage/cards/f/FrilledSandwalla.java index 95207ba272d..c7982c785d0 100644 --- a/Mage.Sets/src/mage/cards/f/FrilledSandwalla.java +++ b/Mage.Sets/src/mage/cards/f/FrilledSandwalla.java @@ -1,67 +1,68 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.f; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.LimitedTimesPerTurnActivatedAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; - -/** - * - * @author ciaccona007 - */ -public class FrilledSandwalla extends CardImpl { - - public FrilledSandwalla(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}"); - - this.subtype.add("Lizard"); - this.power = new MageInt(1); - this.toughness = new MageInt(1); - - // {1}{G}: Frilled Sandwalla 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("{1}{G}"))); - } - - public FrilledSandwalla(final FrilledSandwalla card) { - super(card); - } - - @Override - public FrilledSandwalla copy() { - return new FrilledSandwalla(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.f; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.LimitedTimesPerTurnActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; + +/** + * + * @author ciaccona007 + */ +public class FrilledSandwalla extends CardImpl { + + public FrilledSandwalla(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}"); + + this.subtype.add(SubType.LIZARD); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // {1}{G}: Frilled Sandwalla 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("{1}{G}"))); + } + + public FrilledSandwalla(final FrilledSandwalla card) { + super(card); + } + + @Override + public FrilledSandwalla copy() { + return new FrilledSandwalla(this); + } +} diff --git a/Mage.Sets/src/mage/cards/f/FrogTongue.java b/Mage.Sets/src/mage/cards/f/FrogTongue.java index ff20f3e9c8f..f764604a804 100644 --- a/Mage.Sets/src/mage/cards/f/FrogTongue.java +++ b/Mage.Sets/src/mage/cards/f/FrogTongue.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -52,7 +53,7 @@ public class FrogTongue extends CardImpl { public FrogTongue(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/f/Frogmite.java b/Mage.Sets/src/mage/cards/f/Frogmite.java index 0a4a95aa770..469d3f97a48 100644 --- a/Mage.Sets/src/mage/cards/f/Frogmite.java +++ b/Mage.Sets/src/mage/cards/f/Frogmite.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.AffinityForArtifactsAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class Frogmite extends CardImpl { public Frogmite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Frog"); + this.subtype.add(SubType.FROG); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FrogtosserBanneret.java b/Mage.Sets/src/mage/cards/f/FrogtosserBanneret.java index 4ffe41bbc7e..16206fa414f 100644 --- a/Mage.Sets/src/mage/cards/f/FrogtosserBanneret.java +++ b/Mage.Sets/src/mage/cards/f/FrogtosserBanneret.java @@ -57,8 +57,8 @@ public class FrogtosserBanneret extends CardImpl { public FrogtosserBanneret(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FrontierGuide.java b/Mage.Sets/src/mage/cards/f/FrontierGuide.java index 49e247b2a61..f8fe5450435 100644 --- a/Mage.Sets/src/mage/cards/f/FrontierGuide.java +++ b/Mage.Sets/src/mage/cards/f/FrontierGuide.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.filter.common.FilterBasicLandCard; @@ -49,8 +50,8 @@ public class FrontierGuide extends CardImpl { public FrontierGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FrontierMastodon.java b/Mage.Sets/src/mage/cards/f/FrontierMastodon.java index be476d413ec..afecb7cbd42 100644 --- a/Mage.Sets/src/mage/cards/f/FrontierMastodon.java +++ b/Mage.Sets/src/mage/cards/f/FrontierMastodon.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,7 +46,7 @@ public class FrontierMastodon extends CardImpl { public FrontierMastodon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FrontlineDevastator.java b/Mage.Sets/src/mage/cards/f/FrontlineDevastator.java index 0136a474524..8cd9ed4f2cf 100644 --- a/Mage.Sets/src/mage/cards/f/FrontlineDevastator.java +++ b/Mage.Sets/src/mage/cards/f/FrontlineDevastator.java @@ -1,71 +1,72 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.f; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.abilities.keyword.AfflictAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; - -/** - * - * @author ciaccona007 - */ -public class FrontlineDevastator extends CardImpl { - - public FrontlineDevastator(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - - this.subtype.add("Zombie"); - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // Afflict 2 - addAbility(new AfflictAbility(2)); - // {1}{R}: Frontline Devastator gets +1/+0 until end of turn. - addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,0,Duration.EndOfTurn), new ManaCostsImpl("{1}{R}"))); - } - - public FrontlineDevastator(final FrontlineDevastator card) { - super(card); - } - - @Override - public FrontlineDevastator copy() { - return new FrontlineDevastator(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.f; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.keyword.AfflictAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; + +/** + * + * @author ciaccona007 + */ +public class FrontlineDevastator extends CardImpl { + + public FrontlineDevastator(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); + + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Afflict 2 + addAbility(new AfflictAbility(2)); + // {1}{R}: Frontline Devastator gets +1/+0 until end of turn. + addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,0,Duration.EndOfTurn), new ManaCostsImpl("{1}{R}"))); + } + + public FrontlineDevastator(final FrontlineDevastator card) { + super(card); + } + + @Override + public FrontlineDevastator copy() { + return new FrontlineDevastator(this); + } +} diff --git a/Mage.Sets/src/mage/cards/f/FrontlineMedic.java b/Mage.Sets/src/mage/cards/f/FrontlineMedic.java index e3bf290bbd0..be32ec30182 100644 --- a/Mage.Sets/src/mage/cards/f/FrontlineMedic.java +++ b/Mage.Sets/src/mage/cards/f/FrontlineMedic.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterSpell; @@ -62,8 +63,8 @@ public class FrontlineMedic extends CardImpl { public FrontlineMedic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.color.setWhite(true); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FrontlineRebel.java b/Mage.Sets/src/mage/cards/f/FrontlineRebel.java index 48bb65caced..086561af942 100644 --- a/Mage.Sets/src/mage/cards/f/FrontlineRebel.java +++ b/Mage.Sets/src/mage/cards/f/FrontlineRebel.java @@ -33,6 +33,7 @@ import mage.abilities.common.AttacksEachCombatStaticAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class FrontlineRebel extends CardImpl { public FrontlineRebel(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FrontlineSage.java b/Mage.Sets/src/mage/cards/f/FrontlineSage.java index 764fc569269..2a583ceab78 100644 --- a/Mage.Sets/src/mage/cards/f/FrontlineSage.java +++ b/Mage.Sets/src/mage/cards/f/FrontlineSage.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ExaltedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,8 +50,8 @@ public class FrontlineSage extends CardImpl { public FrontlineSage (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FrostGiant.java b/Mage.Sets/src/mage/cards/f/FrostGiant.java index 474d0804245..b2fb297ccdc 100644 --- a/Mage.Sets/src/mage/cards/f/FrostGiant.java +++ b/Mage.Sets/src/mage/cards/f/FrostGiant.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.RampageAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class FrostGiant extends CardImpl { public FrostGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FrostLynx.java b/Mage.Sets/src/mage/cards/f/FrostLynx.java index 999165d0688..9e41f7feaaf 100644 --- a/Mage.Sets/src/mage/cards/f/FrostLynx.java +++ b/Mage.Sets/src/mage/cards/f/FrostLynx.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -55,8 +56,8 @@ public class FrostLynx extends CardImpl { public FrostLynx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Elemental"); - this.subtype.add("Cat"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FrostOgre.java b/Mage.Sets/src/mage/cards/f/FrostOgre.java index 64cd4c385d5..d063acfd45e 100644 --- a/Mage.Sets/src/mage/cards/f/FrostOgre.java +++ b/Mage.Sets/src/mage/cards/f/FrostOgre.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class FrostOgre extends CardImpl { public FrostOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FrostRaptor.java b/Mage.Sets/src/mage/cards/f/FrostRaptor.java index 0c87c581f69..03134e47c53 100644 --- a/Mage.Sets/src/mage/cards/f/FrostRaptor.java +++ b/Mage.Sets/src/mage/cards/f/FrostRaptor.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class FrostRaptor extends CardImpl { public FrostRaptor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); addSuperType(SuperType.SNOW); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FrostTitan.java b/Mage.Sets/src/mage/cards/f/FrostTitan.java index 884dfe097e1..478ea43d374 100644 --- a/Mage.Sets/src/mage/cards/f/FrostTitan.java +++ b/Mage.Sets/src/mage/cards/f/FrostTitan.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -54,7 +55,7 @@ public class FrostTitan extends CardImpl { public FrostTitan(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}{U}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/f/FrostWalker.java b/Mage.Sets/src/mage/cards/f/FrostWalker.java index c26bb144dd0..62472356894 100644 --- a/Mage.Sets/src/mage/cards/f/FrostWalker.java +++ b/Mage.Sets/src/mage/cards/f/FrostWalker.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class FrostWalker extends CardImpl { public FrostWalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FrostburnWeird.java b/Mage.Sets/src/mage/cards/f/FrostburnWeird.java index 39dd8551559..2ffe19551c4 100644 --- a/Mage.Sets/src/mage/cards/f/FrostburnWeird.java +++ b/Mage.Sets/src/mage/cards/f/FrostburnWeird.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class FrostburnWeird extends CardImpl { public FrostburnWeird(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U/R}{U/R}"); - this.subtype.add("Weird"); + this.subtype.add(SubType.WEIRD); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/Frostling.java b/Mage.Sets/src/mage/cards/f/Frostling.java index a797f8913fd..26ca49a0cdb 100644 --- a/Mage.Sets/src/mage/cards/f/Frostling.java +++ b/Mage.Sets/src/mage/cards/f/Frostling.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class Frostling extends CardImpl { public Frostling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/Frostwielder.java b/Mage.Sets/src/mage/cards/f/Frostwielder.java index 4ac3d613b86..d8f755e4ee8 100644 --- a/Mage.Sets/src/mage/cards/f/Frostwielder.java +++ b/Mage.Sets/src/mage/cards/f/Frostwielder.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.replacement.DealtDamageToCreatureBySourceDi import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -51,8 +52,8 @@ public class Frostwielder extends CardImpl { public Frostwielder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FrostwindInvoker.java b/Mage.Sets/src/mage/cards/f/FrostwindInvoker.java index d0a270723fe..088156fc132 100644 --- a/Mage.Sets/src/mage/cards/f/FrostwindInvoker.java +++ b/Mage.Sets/src/mage/cards/f/FrostwindInvoker.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class FrostwindInvoker extends CardImpl { public FrostwindInvoker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FrozenShade.java b/Mage.Sets/src/mage/cards/f/FrozenShade.java index 589c56bc4bd..92b3be3951b 100644 --- a/Mage.Sets/src/mage/cards/f/FrozenShade.java +++ b/Mage.Sets/src/mage/cards/f/FrozenShade.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class FrozenShade extends CardImpl { public FrozenShade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Shade"); + this.subtype.add(SubType.SHADE); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FrozenSolid.java b/Mage.Sets/src/mage/cards/f/FrozenSolid.java index 0b488e17ac9..ef8a563a3c6 100644 --- a/Mage.Sets/src/mage/cards/f/FrozenSolid.java +++ b/Mage.Sets/src/mage/cards/f/FrozenSolid.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class FrozenSolid extends CardImpl { public FrozenSolid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FruitOfTheFirstTree.java b/Mage.Sets/src/mage/cards/f/FruitOfTheFirstTree.java index 07f1795b5ea..ff42e706e87 100644 --- a/Mage.Sets/src/mage/cards/f/FruitOfTheFirstTree.java +++ b/Mage.Sets/src/mage/cards/f/FruitOfTheFirstTree.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -52,7 +53,7 @@ public class FruitOfTheFirstTree extends CardImpl { public FruitOfTheFirstTree(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FugitiveDruid.java b/Mage.Sets/src/mage/cards/f/FugitiveDruid.java index 92b4337ca36..f1df594318f 100644 --- a/Mage.Sets/src/mage/cards/f/FugitiveDruid.java +++ b/Mage.Sets/src/mage/cards/f/FugitiveDruid.java @@ -52,8 +52,8 @@ public class FugitiveDruid extends CardImpl { public FugitiveDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FugitiveWizard.java b/Mage.Sets/src/mage/cards/f/FugitiveWizard.java index a0764577560..7de16a82039 100644 --- a/Mage.Sets/src/mage/cards/f/FugitiveWizard.java +++ b/Mage.Sets/src/mage/cards/f/FugitiveWizard.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class FugitiveWizard extends CardImpl { public FugitiveWizard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FulminatorMage.java b/Mage.Sets/src/mage/cards/f/FulminatorMage.java index 2b848c00ca6..9a0d5892f7a 100644 --- a/Mage.Sets/src/mage/cards/f/FulminatorMage.java +++ b/Mage.Sets/src/mage/cards/f/FulminatorMage.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetNonBasicLandPermanent; @@ -47,8 +48,8 @@ public class FulminatorMage extends CardImpl { public FulminatorMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B/R}{B/R}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FumeSpitter.java b/Mage.Sets/src/mage/cards/f/FumeSpitter.java index 31aa6dedd25..3e12c160b40 100644 --- a/Mage.Sets/src/mage/cards/f/FumeSpitter.java +++ b/Mage.Sets/src/mage/cards/f/FumeSpitter.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class FumeSpitter extends CardImpl { public FumeSpitter (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FumikoTheLowblood.java b/Mage.Sets/src/mage/cards/f/FumikoTheLowblood.java index bea87a3300f..f15a50256b6 100644 --- a/Mage.Sets/src/mage/cards/f/FumikoTheLowblood.java +++ b/Mage.Sets/src/mage/cards/f/FumikoTheLowblood.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.BushidoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class FumikoTheLowblood extends CardImpl { public FumikoTheLowblood(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FuneralPyre.java b/Mage.Sets/src/mage/cards/f/FuneralPyre.java index c9fa645b890..b0459e80a26 100644 --- a/Mage.Sets/src/mage/cards/f/FuneralPyre.java +++ b/Mage.Sets/src/mage/cards/f/FuneralPyre.java @@ -1,102 +1,102 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.f; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.game.Game; -import mage.game.permanent.token.SpiritWhiteToken; -import mage.game.permanent.token.Token; -import mage.players.Player; -import mage.target.common.TargetCardInGraveyard; -import mage.util.CardUtil; - -/** - * - * @author jeffwadsworth - */ -public class FuneralPyre extends CardImpl { - - public FuneralPyre(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}"); - - - // Exile target card from a graveyard. Its owner puts a 1/1 white Spirit creature token with flying onto the battlefield. - this.getSpellAbility().addEffect(new FuneralPyreEffect()); - this.getSpellAbility().addTarget(new TargetCardInGraveyard()); - - } - - public FuneralPyre(final FuneralPyre card) { - super(card); - } - - @Override - public FuneralPyre copy() { - return new FuneralPyre(this); - } -} - -class FuneralPyreEffect extends OneShotEffect { - - public FuneralPyreEffect() { - super(Outcome.Benefit); - this.staticText = "Exile target card from a graveyard. Its owner puts a 1/1 white Spirit creature token with flying onto the battlefield"; - } - - public FuneralPyreEffect(final FuneralPyreEffect effect) { - super(effect); - } - - @Override - public FuneralPyreEffect copy() { - return new FuneralPyreEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Card exiledCard = game.getCard(source.getTargets().getFirstTarget()); - if (exiledCard != null) { - UUID exileId = CardUtil.getExileZoneId(game, source.getSourceId(), 0); - if (exiledCard.moveToExile(exileId, "Funeral Pyre", source.getSourceId(), game)) { - Player owner = game.getPlayer(exiledCard.getOwnerId()); - if (owner != null) { - Token token = new SpiritWhiteToken(); - return token.putOntoBattlefield(1, game, source.getSourceId(), owner.getId()); - } - } - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.f; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.game.Game; +import mage.game.permanent.token.SpiritWhiteToken; +import mage.game.permanent.token.Token; +import mage.players.Player; +import mage.target.common.TargetCardInGraveyard; +import mage.util.CardUtil; + +/** + * + * @author jeffwadsworth + */ +public class FuneralPyre extends CardImpl { + + public FuneralPyre(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}"); + + + // Exile target card from a graveyard. Its owner puts a 1/1 white Spirit creature token with flying onto the battlefield. + this.getSpellAbility().addEffect(new FuneralPyreEffect()); + this.getSpellAbility().addTarget(new TargetCardInGraveyard()); + + } + + public FuneralPyre(final FuneralPyre card) { + super(card); + } + + @Override + public FuneralPyre copy() { + return new FuneralPyre(this); + } +} + +class FuneralPyreEffect extends OneShotEffect { + + public FuneralPyreEffect() { + super(Outcome.Benefit); + this.staticText = "Exile target card from a graveyard. Its owner puts a 1/1 white Spirit creature token with flying onto the battlefield"; + } + + public FuneralPyreEffect(final FuneralPyreEffect effect) { + super(effect); + } + + @Override + public FuneralPyreEffect copy() { + return new FuneralPyreEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Card exiledCard = game.getCard(source.getTargets().getFirstTarget()); + if (exiledCard != null) { + UUID exileId = CardUtil.getExileZoneId(game, source.getSourceId(), 0); + if (exiledCard.moveToExile(exileId, "Funeral Pyre", source.getSourceId(), game)) { + Player owner = game.getPlayer(exiledCard.getOwnerId()); + if (owner != null) { + Token token = new SpiritWhiteToken(); + return token.putOntoBattlefield(1, game, source.getSourceId(), owner.getId()); + } + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/f/FungalBehemoth.java b/Mage.Sets/src/mage/cards/f/FungalBehemoth.java index d862fef1aef..2b3ad70f4b7 100644 --- a/Mage.Sets/src/mage/cards/f/FungalBehemoth.java +++ b/Mage.Sets/src/mage/cards/f/FungalBehemoth.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -59,7 +60,7 @@ public class FungalBehemoth extends CardImpl { public FungalBehemoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/f/FungalShambler.java b/Mage.Sets/src/mage/cards/f/FungalShambler.java index d1b8633cec3..2dde7bb447f 100644 --- a/Mage.Sets/src/mage/cards/f/FungalShambler.java +++ b/Mage.Sets/src/mage/cards/f/FungalShambler.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,8 +48,8 @@ public class FungalShambler extends CardImpl { public FungalShambler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{U}{B}"); - this.subtype.add("Fungus"); - this.subtype.add("Beast"); + this.subtype.add(SubType.FUNGUS); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/f/FungusSliver.java b/Mage.Sets/src/mage/cards/f/FungusSliver.java index b5e692c08c2..d649a091fba 100644 --- a/Mage.Sets/src/mage/cards/f/FungusSliver.java +++ b/Mage.Sets/src/mage/cards/f/FungusSliver.java @@ -56,8 +56,8 @@ public class FungusSliver extends CardImpl { public FungusSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Fungus"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.FUNGUS); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FurnaceBrood.java b/Mage.Sets/src/mage/cards/f/FurnaceBrood.java index fb468bccba6..ae4f5f39106 100644 --- a/Mage.Sets/src/mage/cards/f/FurnaceBrood.java +++ b/Mage.Sets/src/mage/cards/f/FurnaceBrood.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CantBeRegeneratedTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class FurnaceBrood extends CardImpl { public FurnaceBrood(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FurnaceDragon.java b/Mage.Sets/src/mage/cards/f/FurnaceDragon.java index 5c04b457635..ef70af3df6d 100644 --- a/Mage.Sets/src/mage/cards/f/FurnaceDragon.java +++ b/Mage.Sets/src/mage/cards/f/FurnaceDragon.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.watchers.common.CastFromHandWatcher; @@ -56,7 +57,7 @@ public class FurnaceDragon extends CardImpl { public FurnaceDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{R}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/f/FurnaceScamp.java b/Mage.Sets/src/mage/cards/f/FurnaceScamp.java index 8d30f77c170..dbe118d5b9a 100644 --- a/Mage.Sets/src/mage/cards/f/FurnaceScamp.java +++ b/Mage.Sets/src/mage/cards/f/FurnaceScamp.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class FurnaceScamp extends CardImpl { public FurnaceScamp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FurnaceSpirit.java b/Mage.Sets/src/mage/cards/f/FurnaceSpirit.java index eeff4ec9a84..51ddbd3b099 100644 --- a/Mage.Sets/src/mage/cards/f/FurnaceSpirit.java +++ b/Mage.Sets/src/mage/cards/f/FurnaceSpirit.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class FurnaceSpirit extends CardImpl { public FurnaceSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FurnaceWhelp.java b/Mage.Sets/src/mage/cards/f/FurnaceWhelp.java index 4d43266118b..4442077b8d5 100644 --- a/Mage.Sets/src/mage/cards/f/FurnaceWhelp.java +++ b/Mage.Sets/src/mage/cards/f/FurnaceWhelp.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class FurnaceWhelp extends CardImpl { public FurnaceWhelp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FurorOfTheBitten.java b/Mage.Sets/src/mage/cards/f/FurorOfTheBitten.java index 5683f03ff72..cc60809ae1a 100644 --- a/Mage.Sets/src/mage/cards/f/FurorOfTheBitten.java +++ b/Mage.Sets/src/mage/cards/f/FurorOfTheBitten.java @@ -49,7 +49,7 @@ public class FurorOfTheBitten extends CardImpl { public FurorOfTheBitten(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/f/FurtiveHomunculus.java b/Mage.Sets/src/mage/cards/f/FurtiveHomunculus.java index 4743b0b69f3..de4abdb0944 100644 --- a/Mage.Sets/src/mage/cards/f/FurtiveHomunculus.java +++ b/Mage.Sets/src/mage/cards/f/FurtiveHomunculus.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SkulkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class FurtiveHomunculus extends CardImpl { public FurtiveHomunculus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Homunculus"); + this.subtype.add(SubType.HOMUNCULUS); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FurySliver.java b/Mage.Sets/src/mage/cards/f/FurySliver.java index 4ae3869fc29..558be9ecc33 100644 --- a/Mage.Sets/src/mage/cards/f/FurySliver.java +++ b/Mage.Sets/src/mage/cards/f/FurySliver.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -47,7 +48,7 @@ public class FurySliver extends CardImpl { public FurySliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{R}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FurybladeVampire.java b/Mage.Sets/src/mage/cards/f/FurybladeVampire.java index f2527644a30..2c4ceb3d01b 100644 --- a/Mage.Sets/src/mage/cards/f/FurybladeVampire.java +++ b/Mage.Sets/src/mage/cards/f/FurybladeVampire.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class FurybladeVampire extends CardImpl { public FurybladeVampire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Vampire"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/f/FurybornHellkite.java b/Mage.Sets/src/mage/cards/f/FurybornHellkite.java index 80439feccb6..bafafe3623c 100644 --- a/Mage.Sets/src/mage/cards/f/FurybornHellkite.java +++ b/Mage.Sets/src/mage/cards/f/FurybornHellkite.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class FurybornHellkite extends CardImpl { public FurybornHellkite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/f/FurystokeGiant.java b/Mage.Sets/src/mage/cards/f/FurystokeGiant.java index 664346631fc..6f59dde457a 100644 --- a/Mage.Sets/src/mage/cards/f/FurystokeGiant.java +++ b/Mage.Sets/src/mage/cards/f/FurystokeGiant.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.PersistAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -52,8 +53,8 @@ public class FurystokeGiant extends CardImpl { public FurystokeGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FusionElemental.java b/Mage.Sets/src/mage/cards/f/FusionElemental.java index fc75210f8f8..970c3aac0f3 100644 --- a/Mage.Sets/src/mage/cards/f/FusionElemental.java +++ b/Mage.Sets/src/mage/cards/f/FusionElemental.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class FusionElemental extends CardImpl { public FusionElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}{B}{R}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/f/Fylamarid.java b/Mage.Sets/src/mage/cards/f/Fylamarid.java index b3dc20a579c..ca9d037edf9 100644 --- a/Mage.Sets/src/mage/cards/f/Fylamarid.java +++ b/Mage.Sets/src/mage/cards/f/Fylamarid.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -60,8 +61,8 @@ public class Fylamarid extends CardImpl { public Fylamarid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Squid"); - this.subtype.add("Beast"); + this.subtype.add(SubType.SQUID); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/f/FyndhornBrownie.java b/Mage.Sets/src/mage/cards/f/FyndhornBrownie.java index 043e7242dc8..dbb4c644454 100644 --- a/Mage.Sets/src/mage/cards/f/FyndhornBrownie.java +++ b/Mage.Sets/src/mage/cards/f/FyndhornBrownie.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class FyndhornBrownie extends CardImpl { public FyndhornBrownie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Ouphe"); + this.subtype.add(SubType.OUPHE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FyndhornElder.java b/Mage.Sets/src/mage/cards/f/FyndhornElder.java index da0cc09f9f8..9fb35cad976 100644 --- a/Mage.Sets/src/mage/cards/f/FyndhornElder.java +++ b/Mage.Sets/src/mage/cards/f/FyndhornElder.java @@ -35,6 +35,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class FyndhornElder extends CardImpl { public FyndhornElder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/f/FyndhornElves.java b/Mage.Sets/src/mage/cards/f/FyndhornElves.java index a2aeefafa10..9e20a41c237 100644 --- a/Mage.Sets/src/mage/cards/f/FyndhornElves.java +++ b/Mage.Sets/src/mage/cards/f/FyndhornElves.java @@ -33,6 +33,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class FyndhornElves extends CardImpl { public FyndhornElves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GaddockTeeg.java b/Mage.Sets/src/mage/cards/g/GaddockTeeg.java index 45477dec95f..5aeb4527399 100644 --- a/Mage.Sets/src/mage/cards/g/GaddockTeeg.java +++ b/Mage.Sets/src/mage/cards/g/GaddockTeeg.java @@ -48,8 +48,8 @@ public class GaddockTeeg extends CardImpl { public GaddockTeeg(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Kithkin"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GaeasAvenger.java b/Mage.Sets/src/mage/cards/g/GaeasAvenger.java index 3935fd38f4c..99f6c196d53 100644 --- a/Mage.Sets/src/mage/cards/g/GaeasAvenger.java +++ b/Mage.Sets/src/mage/cards/g/GaeasAvenger.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class GaeasAvenger extends CardImpl { public GaeasAvenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GaeasEmbrace.java b/Mage.Sets/src/mage/cards/g/GaeasEmbrace.java index f1d845ff989..cbcfce04e32 100644 --- a/Mage.Sets/src/mage/cards/g/GaeasEmbrace.java +++ b/Mage.Sets/src/mage/cards/g/GaeasEmbrace.java @@ -52,7 +52,7 @@ public class GaeasEmbrace extends CardImpl { public GaeasEmbrace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GaeasHerald.java b/Mage.Sets/src/mage/cards/g/GaeasHerald.java index f21a71668c3..5292518c55c 100644 --- a/Mage.Sets/src/mage/cards/g/GaeasHerald.java +++ b/Mage.Sets/src/mage/cards/g/GaeasHerald.java @@ -35,6 +35,7 @@ import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class GaeasHerald extends CardImpl { public GaeasHerald(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GaeasLiege.java b/Mage.Sets/src/mage/cards/g/GaeasLiege.java index c4ef418b790..95b957fbf34 100644 --- a/Mage.Sets/src/mage/cards/g/GaeasLiege.java +++ b/Mage.Sets/src/mage/cards/g/GaeasLiege.java @@ -71,7 +71,7 @@ public class GaeasLiege extends CardImpl { public GaeasLiege(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{G}{G}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/g/GaeasRevenge.java b/Mage.Sets/src/mage/cards/g/GaeasRevenge.java index b0a5b9b1d18..48d02976a4f 100644 --- a/Mage.Sets/src/mage/cards/g/GaeasRevenge.java +++ b/Mage.Sets/src/mage/cards/g/GaeasRevenge.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterObject; @@ -58,7 +59,7 @@ public class GaeasRevenge extends CardImpl { public GaeasRevenge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(8); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GaeasSkyfolk.java b/Mage.Sets/src/mage/cards/g/GaeasSkyfolk.java index c7117f10142..b45d1b4ceaf 100644 --- a/Mage.Sets/src/mage/cards/g/GaeasSkyfolk.java +++ b/Mage.Sets/src/mage/cards/g/GaeasSkyfolk.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GaeasSkyfolk extends CardImpl { public GaeasSkyfolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{U}"); - this.subtype.add("Elf"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GahijiHonoredOne.java b/Mage.Sets/src/mage/cards/g/GahijiHonoredOne.java index 863d104f605..2ee393cf1a1 100644 --- a/Mage.Sets/src/mage/cards/g/GahijiHonoredOne.java +++ b/Mage.Sets/src/mage/cards/g/GahijiHonoredOne.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class GahijiHonoredOne extends CardImpl { public GahijiHonoredOne(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GalecasterColossus.java b/Mage.Sets/src/mage/cards/g/GalecasterColossus.java index 5bf40b9c85e..acdd3f8cdfe 100644 --- a/Mage.Sets/src/mage/cards/g/GalecasterColossus.java +++ b/Mage.Sets/src/mage/cards/g/GalecasterColossus.java @@ -66,8 +66,8 @@ public class GalecasterColossus extends CardImpl { public GalecasterColossus(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{U}{U}"); - this.subtype.add("Giant"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/g/GalepowderMage.java b/Mage.Sets/src/mage/cards/g/GalepowderMage.java index acc87936eb0..e4fdf235c61 100644 --- a/Mage.Sets/src/mage/cards/g/GalepowderMage.java +++ b/Mage.Sets/src/mage/cards/g/GalepowderMage.java @@ -41,6 +41,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -65,8 +66,8 @@ public class GalepowderMage extends CardImpl { public GalepowderMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GaleriderSliver.java b/Mage.Sets/src/mage/cards/g/GaleriderSliver.java index a02809d7a82..98d21292649 100644 --- a/Mage.Sets/src/mage/cards/g/GaleriderSliver.java +++ b/Mage.Sets/src/mage/cards/g/GaleriderSliver.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -47,7 +48,7 @@ public class GaleriderSliver extends CardImpl { public GaleriderSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/Galestrike.java b/Mage.Sets/src/mage/cards/g/Galestrike.java index e1e87e32767..fa60d8b6650 100644 --- a/Mage.Sets/src/mage/cards/g/Galestrike.java +++ b/Mage.Sets/src/mage/cards/g/Galestrike.java @@ -1,72 +1,72 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.g; - -import java.util.UUID; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.effects.common.ReturnToHandTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.TappedPredicate; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class Galestrike extends CardImpl { - - private static FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); - - static { - filter.add(new TappedPredicate()); - } - - public Galestrike(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}"); - - // Return target tapped creature to its owner's hand. - this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); - this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); - - // Draw a card. - this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); - - } - - public Galestrike(final Galestrike card) { - super(card); - } - - @Override - public Galestrike copy() { - return new Galestrike(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.g; + +import java.util.UUID; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.TappedPredicate; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class Galestrike extends CardImpl { + + private static FilterCreaturePermanent filter = new FilterCreaturePermanent("tapped creature"); + + static { + filter.add(new TappedPredicate()); + } + + public Galestrike(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{U}"); + + // Return target tapped creature to its owner's hand. + this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); + + // Draw a card. + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); + + } + + public Galestrike(final Galestrike card) { + super(card); + } + + @Override + public Galestrike copy() { + return new Galestrike(this); + } +} diff --git a/Mage.Sets/src/mage/cards/g/GalinasKnight.java b/Mage.Sets/src/mage/cards/g/GalinasKnight.java index 1677b250a3f..5026f38484d 100644 --- a/Mage.Sets/src/mage/cards/g/GalinasKnight.java +++ b/Mage.Sets/src/mage/cards/g/GalinasKnight.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class GalinasKnight extends CardImpl { public GalinasKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Knight"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/Gallowbraid.java b/Mage.Sets/src/mage/cards/g/Gallowbraid.java index ba1a41d99e9..b5d195f94d8 100644 --- a/Mage.Sets/src/mage/cards/g/Gallowbraid.java +++ b/Mage.Sets/src/mage/cards/g/Gallowbraid.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -46,7 +47,7 @@ public class Gallowbraid extends CardImpl { public Gallowbraid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GallowsWarden.java b/Mage.Sets/src/mage/cards/g/GallowsWarden.java index 9d41e9f36f7..ea7a2e7c759 100644 --- a/Mage.Sets/src/mage/cards/g/GallowsWarden.java +++ b/Mage.Sets/src/mage/cards/g/GallowsWarden.java @@ -54,7 +54,7 @@ public class GallowsWarden extends CardImpl { public GallowsWarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GalvanicAlchemist.java b/Mage.Sets/src/mage/cards/g/GalvanicAlchemist.java index 9e4ccd33ea9..e0005de091f 100644 --- a/Mage.Sets/src/mage/cards/g/GalvanicAlchemist.java +++ b/Mage.Sets/src/mage/cards/g/GalvanicAlchemist.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -50,8 +51,8 @@ public class GalvanicAlchemist extends CardImpl { public GalvanicAlchemist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GalvanicArc.java b/Mage.Sets/src/mage/cards/g/GalvanicArc.java index 57e4f732063..379942c4528 100644 --- a/Mage.Sets/src/mage/cards/g/GalvanicArc.java +++ b/Mage.Sets/src/mage/cards/g/GalvanicArc.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -54,7 +55,7 @@ public class GalvanicArc extends CardImpl { public GalvanicArc(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/g/GalvanicJuggernaut.java b/Mage.Sets/src/mage/cards/g/GalvanicJuggernaut.java index 64e38bb466a..3e9c431fcff 100644 --- a/Mage.Sets/src/mage/cards/g/GalvanicJuggernaut.java +++ b/Mage.Sets/src/mage/cards/g/GalvanicJuggernaut.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class GalvanicJuggernaut extends CardImpl { public GalvanicJuggernaut(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Juggernaut"); + this.subtype.add(SubType.JUGGERNAUT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/Galvanoth.java b/Mage.Sets/src/mage/cards/g/Galvanoth.java index b001701f0c1..0885c89ff7a 100644 --- a/Mage.Sets/src/mage/cards/g/Galvanoth.java +++ b/Mage.Sets/src/mage/cards/g/Galvanoth.java @@ -34,6 +34,7 @@ import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.game.Game; @@ -46,7 +47,7 @@ public class Galvanoth extends CardImpl { public Galvanoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GameTrailChangeling.java b/Mage.Sets/src/mage/cards/g/GameTrailChangeling.java index ada40ea6de5..32ebbbd7408 100644 --- a/Mage.Sets/src/mage/cards/g/GameTrailChangeling.java +++ b/Mage.Sets/src/mage/cards/g/GameTrailChangeling.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GameTrailChangeling extends CardImpl { public GameTrailChangeling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/Gamekeeper.java b/Mage.Sets/src/mage/cards/g/Gamekeeper.java index d37853a9c3f..48a2a5418c8 100644 --- a/Mage.Sets/src/mage/cards/g/Gamekeeper.java +++ b/Mage.Sets/src/mage/cards/g/Gamekeeper.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.RevealCardsFromLibraryUntilEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -48,7 +49,7 @@ public class Gamekeeper extends CardImpl { public Gamekeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GamorreanPrisonGuard.java b/Mage.Sets/src/mage/cards/g/GamorreanPrisonGuard.java index dd2ae3849eb..0098a17b712 100644 --- a/Mage.Sets/src/mage/cards/g/GamorreanPrisonGuard.java +++ b/Mage.Sets/src/mage/cards/g/GamorreanPrisonGuard.java @@ -56,8 +56,8 @@ public class GamorreanPrisonGuard extends CardImpl { public GamorreanPrisonGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Gamorrean"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GAMORREAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GangOfDevils.java b/Mage.Sets/src/mage/cards/g/GangOfDevils.java index faeffab5761..0323f03e6f9 100644 --- a/Mage.Sets/src/mage/cards/g/GangOfDevils.java +++ b/Mage.Sets/src/mage/cards/g/GangOfDevils.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageMultiEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayerAmount; /** @@ -46,7 +47,7 @@ public class GangOfDevils extends CardImpl { public GangOfDevils(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GangOfElk.java b/Mage.Sets/src/mage/cards/g/GangOfElk.java index 546e267a551..c47c952e07d 100644 --- a/Mage.Sets/src/mage/cards/g/GangOfElk.java +++ b/Mage.Sets/src/mage/cards/g/GangOfElk.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -48,8 +49,8 @@ public class GangOfElk extends CardImpl { public GangOfElk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Elk"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ELK); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GangrenousGoliath.java b/Mage.Sets/src/mage/cards/g/GangrenousGoliath.java index 3e0ece5877e..0d39a593c93 100644 --- a/Mage.Sets/src/mage/cards/g/GangrenousGoliath.java +++ b/Mage.Sets/src/mage/cards/g/GangrenousGoliath.java @@ -55,8 +55,8 @@ public class GangrenousGoliath extends CardImpl { public GangrenousGoliath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Giant"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GangrenousZombies.java b/Mage.Sets/src/mage/cards/g/GangrenousZombies.java index d6c3c6a9d21..309f13bb207 100644 --- a/Mage.Sets/src/mage/cards/g/GangrenousZombies.java +++ b/Mage.Sets/src/mage/cards/g/GangrenousZombies.java @@ -1,90 +1,90 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.g; - -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; -import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalOneShotEffect; -import mage.abilities.effects.common.DamageEverythingEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.constants.SuperType; -import mage.constants.Zone; -import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.filter.predicate.mageobject.SupertypePredicate; - -import java.util.UUID; - -/** - * - * @author LevelX2 - */ -public class GangrenousZombies extends CardImpl { - - private final static FilterLandPermanent filter = new FilterLandPermanent(); - - static { - filter.add(new SupertypePredicate(SuperType.SNOW)); - filter.add(new SubtypePredicate(SubType.SWAMP)); - } - - public GangrenousZombies(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{B}"); - - this.subtype.add("Zombie"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // {T}, Sacrifice Gangrenous Zombies: Gangrenous Zombies deals 1 damage to each creature and each player. If you control a snow Swamp, Gangrenous Zombies deals 2 damage to each creature and each player instead. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ConditionalOneShotEffect( - new DamageEverythingEffect(2), - new DamageEverythingEffect(1), - new PermanentsOnTheBattlefieldCondition(filter), - "{this} deals 1 damage to each creature and each player. If you control a snow Swamp, {this} deals 2 damage to each creature and each player instead"), - new TapSourceCost()); - ability.addCost(new SacrificeSourceCost()); - this.addAbility(ability); - - } - - public GangrenousZombies(final GangrenousZombies card) { - super(card); - } - - @Override - public GangrenousZombies copy() { - return new GangrenousZombies(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.g; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.common.DamageEverythingEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.constants.Zone; +import mage.filter.common.FilterLandPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.predicate.mageobject.SupertypePredicate; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class GangrenousZombies extends CardImpl { + + private final static FilterLandPermanent filter = new FilterLandPermanent(); + + static { + filter.add(new SupertypePredicate(SuperType.SNOW)); + filter.add(new SubtypePredicate(SubType.SWAMP)); + } + + public GangrenousZombies(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{B}"); + + this.subtype.add(SubType.ZOMBIE); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // {T}, Sacrifice Gangrenous Zombies: Gangrenous Zombies deals 1 damage to each creature and each player. If you control a snow Swamp, Gangrenous Zombies deals 2 damage to each creature and each player instead. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ConditionalOneShotEffect( + new DamageEverythingEffect(2), + new DamageEverythingEffect(1), + new PermanentsOnTheBattlefieldCondition(filter), + "{this} deals 1 damage to each creature and each player. If you control a snow Swamp, {this} deals 2 damage to each creature and each player instead"), + new TapSourceCost()); + ability.addCost(new SacrificeSourceCost()); + this.addAbility(ability); + + } + + public GangrenousZombies(final GangrenousZombies card) { + super(card); + } + + @Override + public GangrenousZombies copy() { + return new GangrenousZombies(this); + } +} diff --git a/Mage.Sets/src/mage/cards/g/GargoyleSentinel.java b/Mage.Sets/src/mage/cards/g/GargoyleSentinel.java index ce2ffca49f1..81afe661ec1 100644 --- a/Mage.Sets/src/mage/cards/g/GargoyleSentinel.java +++ b/Mage.Sets/src/mage/cards/g/GargoyleSentinel.java @@ -50,7 +50,7 @@ public class GargoyleSentinel extends CardImpl { public GargoyleSentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Gargoyle"); + this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GarrukApexPredator.java b/Mage.Sets/src/mage/cards/g/GarrukApexPredator.java index 850f5145cd4..32224d2b762 100644 --- a/Mage.Sets/src/mage/cards/g/GarrukApexPredator.java +++ b/Mage.Sets/src/mage/cards/g/GarrukApexPredator.java @@ -67,7 +67,7 @@ public class GarrukApexPredator extends CardImpl { public GarrukApexPredator(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{5}{B}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Garruk"); + this.subtype.add(SubType.GARRUK); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/g/GarrukCallerOfBeasts.java b/Mage.Sets/src/mage/cards/g/GarrukCallerOfBeasts.java index f3ff89bc88a..23fbd9a95d9 100644 --- a/Mage.Sets/src/mage/cards/g/GarrukCallerOfBeasts.java +++ b/Mage.Sets/src/mage/cards/g/GarrukCallerOfBeasts.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.RevealLibraryPutIntoHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -58,7 +59,7 @@ public class GarrukCallerOfBeasts extends CardImpl { public GarrukCallerOfBeasts(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{G}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Garruk"); + this.subtype.add(SubType.GARRUK); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/g/GarrukPrimalHunter.java b/Mage.Sets/src/mage/cards/g/GarrukPrimalHunter.java index 58f947aee7a..e36b192e1e0 100644 --- a/Mage.Sets/src/mage/cards/g/GarrukPrimalHunter.java +++ b/Mage.Sets/src/mage/cards/g/GarrukPrimalHunter.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -59,7 +60,7 @@ public class GarrukPrimalHunter extends CardImpl { public GarrukPrimalHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{G}{G}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Garruk"); + this.subtype.add(SubType.GARRUK); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/g/GarrukRelentless.java b/Mage.Sets/src/mage/cards/g/GarrukRelentless.java index 8f784f208bc..d5eb63d3e9d 100644 --- a/Mage.Sets/src/mage/cards/g/GarrukRelentless.java +++ b/Mage.Sets/src/mage/cards/g/GarrukRelentless.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class GarrukRelentless extends CardImpl { public GarrukRelentless(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Garruk"); + this.subtype.add(SubType.GARRUK); this.transformable = true; this.secondSideCardClazz = GarrukTheVeilCursed.class; diff --git a/Mage.Sets/src/mage/cards/g/GarrukTheVeilCursed.java b/Mage.Sets/src/mage/cards/g/GarrukTheVeilCursed.java index 7d0abf12a42..bbae92a50e5 100644 --- a/Mage.Sets/src/mage/cards/g/GarrukTheVeilCursed.java +++ b/Mage.Sets/src/mage/cards/g/GarrukTheVeilCursed.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.abilities.keyword.TrampleAbility; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SuperType; @@ -63,7 +64,7 @@ public class GarrukTheVeilCursed extends CardImpl { public GarrukTheVeilCursed(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, ""); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Garruk"); + this.subtype.add(SubType.GARRUK); // this card is the second face of double-faced card this.nightCard = true; diff --git a/Mage.Sets/src/mage/cards/g/GarrukWildspeaker.java b/Mage.Sets/src/mage/cards/g/GarrukWildspeaker.java index 8667d6e249e..47a08694303 100644 --- a/Mage.Sets/src/mage/cards/g/GarrukWildspeaker.java +++ b/Mage.Sets/src/mage/cards/g/GarrukWildspeaker.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; @@ -57,7 +58,7 @@ public class GarrukWildspeaker extends CardImpl { public GarrukWildspeaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{G}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Garruk"); + this.subtype.add(SubType.GARRUK); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/g/GarruksCompanion.java b/Mage.Sets/src/mage/cards/g/GarruksCompanion.java index eb11e3fe247..ff6c975abdc 100644 --- a/Mage.Sets/src/mage/cards/g/GarruksCompanion.java +++ b/Mage.Sets/src/mage/cards/g/GarruksCompanion.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GarruksCompanion extends CardImpl { public GarruksCompanion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GarruksHorde.java b/Mage.Sets/src/mage/cards/g/GarruksHorde.java index e1e568dd9b3..4603967446a 100644 --- a/Mage.Sets/src/mage/cards/g/GarruksHorde.java +++ b/Mage.Sets/src/mage/cards/g/GarruksHorde.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -47,7 +48,7 @@ public class GarruksHorde extends CardImpl { public GarruksHorde(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/g/GarruksPackleader.java b/Mage.Sets/src/mage/cards/g/GarruksPackleader.java index 2f29876e411..0ab46a0ce81 100644 --- a/Mage.Sets/src/mage/cards/g/GarruksPackleader.java +++ b/Mage.Sets/src/mage/cards/g/GarruksPackleader.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -56,7 +57,7 @@ public class GarruksPackleader extends CardImpl { public GarruksPackleader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GarrulousSycophant.java b/Mage.Sets/src/mage/cards/g/GarrulousSycophant.java index 020bbd61097..ceb3dcdc23c 100644 --- a/Mage.Sets/src/mage/cards/g/GarrulousSycophant.java +++ b/Mage.Sets/src/mage/cards/g/GarrulousSycophant.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.LoseLifeOpponentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class GarrulousSycophant extends CardImpl { public GarrulousSycophant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GarzaZolPlagueQueen.java b/Mage.Sets/src/mage/cards/g/GarzaZolPlagueQueen.java index cfb66de79ec..0b7f8f75260 100644 --- a/Mage.Sets/src/mage/cards/g/GarzaZolPlagueQueen.java +++ b/Mage.Sets/src/mage/cards/g/GarzaZolPlagueQueen.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.counters.CounterType; @@ -50,7 +51,7 @@ public class GarzaZolPlagueQueen extends CardImpl { public GarzaZolPlagueQueen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GaseousForm.java b/Mage.Sets/src/mage/cards/g/GaseousForm.java index e92210a037d..f6907450f3b 100644 --- a/Mage.Sets/src/mage/cards/g/GaseousForm.java +++ b/Mage.Sets/src/mage/cards/g/GaseousForm.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class GaseousForm extends CardImpl { public GaseousForm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/g/GateHound.java b/Mage.Sets/src/mage/cards/g/GateHound.java index 7d5eb5be564..35f829b2209 100644 --- a/Mage.Sets/src/mage/cards/g/GateHound.java +++ b/Mage.Sets/src/mage/cards/g/GateHound.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -49,7 +50,7 @@ public class GateHound extends CardImpl { public GateHound(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GateSmasher.java b/Mage.Sets/src/mage/cards/g/GateSmasher.java index 337547e62bc..4b16473ea63 100644 --- a/Mage.Sets/src/mage/cards/g/GateSmasher.java +++ b/Mage.Sets/src/mage/cards/g/GateSmasher.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.Zone; @@ -63,7 +64,7 @@ public class GateSmasher extends CardImpl { public GateSmasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); Target target = new TargetControlledCreaturePermanent(1, 1, filter, false); // Gate Smasher can be attached only to a creature with toughness 4 or greater. diff --git a/Mage.Sets/src/mage/cards/g/GatecreeperVine.java b/Mage.Sets/src/mage/cards/g/GatecreeperVine.java index ab493ef5646..1b42934a58f 100644 --- a/Mage.Sets/src/mage/cards/g/GatecreeperVine.java +++ b/Mage.Sets/src/mage/cards/g/GatecreeperVine.java @@ -62,7 +62,7 @@ public class GatecreeperVine extends CardImpl { public GatecreeperVine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Plant"); + this.subtype.add(SubType.PLANT); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GatekeeperOfMalakir.java b/Mage.Sets/src/mage/cards/g/GatekeeperOfMalakir.java index 7ec3b3182b9..c221375f4dd 100644 --- a/Mage.Sets/src/mage/cards/g/GatekeeperOfMalakir.java +++ b/Mage.Sets/src/mage/cards/g/GatekeeperOfMalakir.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.target.TargetPlayer; @@ -57,8 +58,8 @@ public class GatekeeperOfMalakir extends CardImpl { public GatekeeperOfMalakir(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GatewayShade.java b/Mage.Sets/src/mage/cards/g/GatewayShade.java index 6c2b33d4f51..9345dd05441 100644 --- a/Mage.Sets/src/mage/cards/g/GatewayShade.java +++ b/Mage.Sets/src/mage/cards/g/GatewayShade.java @@ -59,7 +59,7 @@ public class GatewayShade extends CardImpl { public GatewayShade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Shade"); + this.subtype.add(SubType.SHADE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GathanRaiders.java b/Mage.Sets/src/mage/cards/g/GathanRaiders.java index a38b24948f8..27d2ff7a175 100644 --- a/Mage.Sets/src/mage/cards/g/GathanRaiders.java +++ b/Mage.Sets/src/mage/cards/g/GathanRaiders.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class GathanRaiders extends CardImpl { public GathanRaiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GathererOfGraces.java b/Mage.Sets/src/mage/cards/g/GathererOfGraces.java index dd552a61bd0..a7f891f67d5 100644 --- a/Mage.Sets/src/mage/cards/g/GathererOfGraces.java +++ b/Mage.Sets/src/mage/cards/g/GathererOfGraces.java @@ -59,8 +59,8 @@ public class GathererOfGraces extends CardImpl { public GathererOfGraces(UUID ownerId, CardSetInfo cardSetInfo) { super(ownerId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GatstafArsonists.java b/Mage.Sets/src/mage/cards/g/GatstafArsonists.java index c11628265eb..4e9d294e450 100644 --- a/Mage.Sets/src/mage/cards/g/GatstafArsonists.java +++ b/Mage.Sets/src/mage/cards/g/GatstafArsonists.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,8 +49,8 @@ public class GatstafArsonists extends CardImpl { public GatstafArsonists(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Human"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GatstafHowler.java b/Mage.Sets/src/mage/cards/g/GatstafHowler.java index 4fc15b9253f..9f91fbaa109 100644 --- a/Mage.Sets/src/mage/cards/g/GatstafHowler.java +++ b/Mage.Sets/src/mage/cards/g/GatstafHowler.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,7 +49,7 @@ public class GatstafHowler extends CardImpl { public GatstafHowler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.color.setGreen(true); // this card is the second face of double-faced card diff --git a/Mage.Sets/src/mage/cards/g/GatstafRavagers.java b/Mage.Sets/src/mage/cards/g/GatstafRavagers.java index f4575078243..f84e3cf6b46 100644 --- a/Mage.Sets/src/mage/cards/g/GatstafRavagers.java +++ b/Mage.Sets/src/mage/cards/g/GatstafRavagers.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -49,7 +50,7 @@ public class GatstafRavagers extends CardImpl { public GatstafRavagers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GatstafShepherd.java b/Mage.Sets/src/mage/cards/g/GatstafShepherd.java index 3221abd3a44..da825b113e6 100644 --- a/Mage.Sets/src/mage/cards/g/GatstafShepherd.java +++ b/Mage.Sets/src/mage/cards/g/GatstafShepherd.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -47,8 +48,8 @@ public class GatstafShepherd extends CardImpl { public GatstafShepherd(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WEREWOLF); this.transformable = true; this.secondSideCardClazz = GatstafHowler.class; diff --git a/Mage.Sets/src/mage/cards/g/GavonyIronwright.java b/Mage.Sets/src/mage/cards/g/GavonyIronwright.java index 87477d5de17..f2a6b7c46aa 100644 --- a/Mage.Sets/src/mage/cards/g/GavonyIronwright.java +++ b/Mage.Sets/src/mage/cards/g/GavonyIronwright.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class GavonyIronwright extends CardImpl { public GavonyIronwright(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GavonyUnhallowed.java b/Mage.Sets/src/mage/cards/g/GavonyUnhallowed.java index 28d75cc0859..8296f1dcd03 100644 --- a/Mage.Sets/src/mage/cards/g/GavonyUnhallowed.java +++ b/Mage.Sets/src/mage/cards/g/GavonyUnhallowed.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -55,7 +56,7 @@ public class GavonyUnhallowed extends CardImpl { public GavonyUnhallowed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GazeOfAdamaro.java b/Mage.Sets/src/mage/cards/g/GazeOfAdamaro.java index 9be95c16496..0303b2208de 100644 --- a/Mage.Sets/src/mage/cards/g/GazeOfAdamaro.java +++ b/Mage.Sets/src/mage/cards/g/GazeOfAdamaro.java @@ -33,6 +33,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -46,7 +47,7 @@ public class GazeOfAdamaro extends CardImpl { public GazeOfAdamaro(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}{R}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Gaze of Adamaro deals damage to target player equal to the number of cards in that player's hand. diff --git a/Mage.Sets/src/mage/cards/g/GazeOfTheGorgon.java b/Mage.Sets/src/mage/cards/g/GazeOfTheGorgon.java index 201d44b02bd..ca7d2159fdc 100644 --- a/Mage.Sets/src/mage/cards/g/GazeOfTheGorgon.java +++ b/Mage.Sets/src/mage/cards/g/GazeOfTheGorgon.java @@ -1,117 +1,117 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.g; - -import mage.abilities.Ability; -import mage.abilities.common.delayed.AtTheEndOfCombatDelayedTriggeredAbility; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; -import mage.abilities.effects.common.RegenerateTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.filter.StaticFilters; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.common.TargetCreaturePermanent; -import mage.watchers.common.BlockedAttackerWatcher; - -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - -/** - * - * @author LevelX2 - */ -public class GazeOfTheGorgon extends CardImpl { - - public GazeOfTheGorgon(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{B/G}"); - - // ({BG} can be paid with either {B} or {G}.) - // Regenerate target creature. At end of combat, destroy all creatures that blocked or were blocked by that creature this turn. - this.getSpellAbility().addEffect(new RegenerateTargetEffect()); - this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect( - new AtTheEndOfCombatDelayedTriggeredAbility(new GazeOfTheGorgonEffect()))); - this.getSpellAbility().addWatcher(new BlockedAttackerWatcher()); - } - - public GazeOfTheGorgon(final GazeOfTheGorgon card) { - super(card); - } - - @Override - public GazeOfTheGorgon copy() { - return new GazeOfTheGorgon(this); - } -} - -class GazeOfTheGorgonEffect extends OneShotEffect { - - public GazeOfTheGorgonEffect() { - super(Outcome.DestroyPermanent); - this.staticText = "destroy all creatures that blocked or were blocked by that creature this turn"; - } - - public GazeOfTheGorgonEffect(final GazeOfTheGorgonEffect effect) { - super(effect); - } - - @Override - public GazeOfTheGorgonEffect copy() { - return new GazeOfTheGorgonEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - Permanent targetCreature = game.getPermanentOrLKIBattlefield(source.getTargets().getFirstTarget()); - if (controller != null && targetCreature != null) { - BlockedAttackerWatcher watcher = (BlockedAttackerWatcher) game.getState().getWatchers().get(BlockedAttackerWatcher.class.getSimpleName()); - if (watcher != null) { - List toDestroy = new ArrayList<>(); - for (Permanent creature : game.getBattlefield().getActivePermanents(StaticFilters.FILTER_PERMANENT_CREATURE, source.getControllerId(), source.getSourceId(), game)) { - if (!creature.getId().equals(targetCreature.getId())) { - if (watcher.creatureHasBlockedAttacker(creature, targetCreature, game) || watcher.creatureHasBlockedAttacker(targetCreature, creature, game)) { - toDestroy.add(creature); - } - } - } - for (Permanent creature : toDestroy) { - creature.destroy(source.getSourceId(), game, false); - } - return true; - } - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.g; + +import mage.abilities.Ability; +import mage.abilities.common.delayed.AtTheEndOfCombatDelayedTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; +import mage.abilities.effects.common.RegenerateTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.filter.StaticFilters; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetCreaturePermanent; +import mage.watchers.common.BlockedAttackerWatcher; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class GazeOfTheGorgon extends CardImpl { + + public GazeOfTheGorgon(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{B/G}"); + + // ({BG} can be paid with either {B} or {G}.) + // Regenerate target creature. At end of combat, destroy all creatures that blocked or were blocked by that creature this turn. + this.getSpellAbility().addEffect(new RegenerateTargetEffect()); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + this.getSpellAbility().addEffect(new CreateDelayedTriggeredAbilityEffect( + new AtTheEndOfCombatDelayedTriggeredAbility(new GazeOfTheGorgonEffect()))); + this.getSpellAbility().addWatcher(new BlockedAttackerWatcher()); + } + + public GazeOfTheGorgon(final GazeOfTheGorgon card) { + super(card); + } + + @Override + public GazeOfTheGorgon copy() { + return new GazeOfTheGorgon(this); + } +} + +class GazeOfTheGorgonEffect extends OneShotEffect { + + public GazeOfTheGorgonEffect() { + super(Outcome.DestroyPermanent); + this.staticText = "destroy all creatures that blocked or were blocked by that creature this turn"; + } + + public GazeOfTheGorgonEffect(final GazeOfTheGorgonEffect effect) { + super(effect); + } + + @Override + public GazeOfTheGorgonEffect copy() { + return new GazeOfTheGorgonEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + Permanent targetCreature = game.getPermanentOrLKIBattlefield(source.getTargets().getFirstTarget()); + if (controller != null && targetCreature != null) { + BlockedAttackerWatcher watcher = (BlockedAttackerWatcher) game.getState().getWatchers().get(BlockedAttackerWatcher.class.getSimpleName()); + if (watcher != null) { + List toDestroy = new ArrayList<>(); + for (Permanent creature : game.getBattlefield().getActivePermanents(StaticFilters.FILTER_PERMANENT_CREATURE, source.getControllerId(), source.getSourceId(), game)) { + if (!creature.getId().equals(targetCreature.getId())) { + if (watcher.creatureHasBlockedAttacker(creature, targetCreature, game) || watcher.creatureHasBlockedAttacker(targetCreature, creature, game)) { + toDestroy.add(creature); + } + } + } + for (Permanent creature : toDestroy) { + creature.destroy(source.getSourceId(), game, false); + } + return true; + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/g/GearseekerSerpent.java b/Mage.Sets/src/mage/cards/g/GearseekerSerpent.java index 7e3af135f68..89ae8bcd01b 100644 --- a/Mage.Sets/src/mage/cards/g/GearseekerSerpent.java +++ b/Mage.Sets/src/mage/cards/g/GearseekerSerpent.java @@ -51,7 +51,7 @@ public class GearseekerSerpent extends CardImpl { public GearseekerSerpent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/g/GearshiftAce.java b/Mage.Sets/src/mage/cards/g/GearshiftAce.java index 0b2355c60b4..499713d7619 100644 --- a/Mage.Sets/src/mage/cards/g/GearshiftAce.java +++ b/Mage.Sets/src/mage/cards/g/GearshiftAce.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class GearshiftAce extends CardImpl { public GearshiftAce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Dwarf"); - this.subtype.add("Pilot"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.PILOT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GeierReachBandit.java b/Mage.Sets/src/mage/cards/g/GeierReachBandit.java index d3ed3eb8801..5246e74324b 100644 --- a/Mage.Sets/src/mage/cards/g/GeierReachBandit.java +++ b/Mage.Sets/src/mage/cards/g/GeierReachBandit.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.v.VildinPackAlpha; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -50,9 +51,9 @@ public class GeierReachBandit extends CardImpl { public GeierReachBandit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GeistFueledScarecrow.java b/Mage.Sets/src/mage/cards/g/GeistFueledScarecrow.java index eb6de9876e5..0c1714358ee 100644 --- a/Mage.Sets/src/mage/cards/g/GeistFueledScarecrow.java +++ b/Mage.Sets/src/mage/cards/g/GeistFueledScarecrow.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.cost.SpellsCostIncreasementControllerEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -53,7 +54,7 @@ public class GeistFueledScarecrow extends CardImpl { public GeistFueledScarecrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GeistHonoredMonk.java b/Mage.Sets/src/mage/cards/g/GeistHonoredMonk.java index aacc72c6c77..996e5b38278 100644 --- a/Mage.Sets/src/mage/cards/g/GeistHonoredMonk.java +++ b/Mage.Sets/src/mage/cards/g/GeistHonoredMonk.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -50,8 +51,8 @@ public class GeistHonoredMonk extends CardImpl { public GeistHonoredMonk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/g/GeistOfSaintTraft.java b/Mage.Sets/src/mage/cards/g/GeistOfSaintTraft.java index 49f909f3025..6877cb62d17 100644 --- a/Mage.Sets/src/mage/cards/g/GeistOfSaintTraft.java +++ b/Mage.Sets/src/mage/cards/g/GeistOfSaintTraft.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.game.Game; @@ -51,8 +52,8 @@ public class GeistOfSaintTraft extends CardImpl { public GeistOfSaintTraft(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GeistOfTheArchives.java b/Mage.Sets/src/mage/cards/g/GeistOfTheArchives.java index 01daffca708..320bd0e79a8 100644 --- a/Mage.Sets/src/mage/cards/g/GeistOfTheArchives.java +++ b/Mage.Sets/src/mage/cards/g/GeistOfTheArchives.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class GeistOfTheArchives extends CardImpl { public GeistOfTheArchives(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GeistOfTheLonelyVigil.java b/Mage.Sets/src/mage/cards/g/GeistOfTheLonelyVigil.java index b039ef7eeeb..716e220f265 100644 --- a/Mage.Sets/src/mage/cards/g/GeistOfTheLonelyVigil.java +++ b/Mage.Sets/src/mage/cards/g/GeistOfTheLonelyVigil.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class GeistOfTheLonelyVigil extends CardImpl { public GeistOfTheLonelyVigil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Spirit"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GeistOfTheMoors.java b/Mage.Sets/src/mage/cards/g/GeistOfTheMoors.java index 47bd744c64b..1e1f6a86af1 100644 --- a/Mage.Sets/src/mage/cards/g/GeistOfTheMoors.java +++ b/Mage.Sets/src/mage/cards/g/GeistOfTheMoors.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class GeistOfTheMoors extends CardImpl { public GeistOfTheMoors(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GeistTrappers.java b/Mage.Sets/src/mage/cards/g/GeistTrappers.java index 8e8b7ef6527..459dec7f122 100644 --- a/Mage.Sets/src/mage/cards/g/GeistTrappers.java +++ b/Mage.Sets/src/mage/cards/g/GeistTrappers.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class GeistTrappers extends CardImpl { public GeistTrappers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GeistcatchersRig.java b/Mage.Sets/src/mage/cards/g/GeistcatchersRig.java index eda97360dbd..9e1325a3b8a 100644 --- a/Mage.Sets/src/mage/cards/g/GeistcatchersRig.java +++ b/Mage.Sets/src/mage/cards/g/GeistcatchersRig.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; import mage.target.common.TargetCreaturePermanent; @@ -54,7 +55,7 @@ public class GeistcatchersRig extends CardImpl { public GeistcatchersRig(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/Gelectrode.java b/Mage.Sets/src/mage/cards/g/Gelectrode.java index 972debfacac..1c2a692841e 100644 --- a/Mage.Sets/src/mage/cards/g/Gelectrode.java +++ b/Mage.Sets/src/mage/cards/g/Gelectrode.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterInstantOrSorcerySpell; import mage.target.common.TargetCreatureOrPlayer; @@ -50,7 +51,7 @@ public class Gelectrode extends CardImpl { public Gelectrode(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{R}"); - this.subtype.add("Weird"); + this.subtype.add(SubType.WEIRD); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GelidShackles.java b/Mage.Sets/src/mage/cards/g/GelidShackles.java index 841ccaf59cf..3113b6e38fb 100644 --- a/Mage.Sets/src/mage/cards/g/GelidShackles.java +++ b/Mage.Sets/src/mage/cards/g/GelidShackles.java @@ -52,7 +52,7 @@ public class GelidShackles extends CardImpl { public GelidShackles(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); addSuperType(SuperType.SNOW); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GemhideSliver.java b/Mage.Sets/src/mage/cards/g/GemhideSliver.java index 8781894c3e9..a5392a0d312 100644 --- a/Mage.Sets/src/mage/cards/g/GemhideSliver.java +++ b/Mage.Sets/src/mage/cards/g/GemhideSliver.java @@ -51,7 +51,7 @@ public class GemhideSliver extends CardImpl { public GemhideSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GempalmAvenger.java b/Mage.Sets/src/mage/cards/g/GempalmAvenger.java index f3317014a3d..90a4725c770 100644 --- a/Mage.Sets/src/mage/cards/g/GempalmAvenger.java +++ b/Mage.Sets/src/mage/cards/g/GempalmAvenger.java @@ -59,8 +59,8 @@ public class GempalmAvenger extends CardImpl { public GempalmAvenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GempalmIncinerator.java b/Mage.Sets/src/mage/cards/g/GempalmIncinerator.java index c470b72862c..549a2b1143b 100644 --- a/Mage.Sets/src/mage/cards/g/GempalmIncinerator.java +++ b/Mage.Sets/src/mage/cards/g/GempalmIncinerator.java @@ -56,7 +56,7 @@ public class GempalmIncinerator extends CardImpl { public GempalmIncinerator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GempalmPolluter.java b/Mage.Sets/src/mage/cards/g/GempalmPolluter.java index aef07c61497..130047562f2 100644 --- a/Mage.Sets/src/mage/cards/g/GempalmPolluter.java +++ b/Mage.Sets/src/mage/cards/g/GempalmPolluter.java @@ -58,7 +58,7 @@ public class GempalmPolluter extends CardImpl { public GempalmPolluter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GempalmStrider.java b/Mage.Sets/src/mage/cards/g/GempalmStrider.java index b62e8f5c3c6..ad0eb4d8be2 100644 --- a/Mage.Sets/src/mage/cards/g/GempalmStrider.java +++ b/Mage.Sets/src/mage/cards/g/GempalmStrider.java @@ -55,7 +55,7 @@ public class GempalmStrider extends CardImpl { public GempalmStrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GeneralGrievous.java b/Mage.Sets/src/mage/cards/g/GeneralGrievous.java index bc5ae95b8c7..5c7b7cab398 100644 --- a/Mage.Sets/src/mage/cards/g/GeneralGrievous.java +++ b/Mage.Sets/src/mage/cards/g/GeneralGrievous.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.counters.CounterType; @@ -51,7 +52,7 @@ public class GeneralGrievous extends CardImpl { public GeneralGrievous(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{W}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Kaleesh"); + this.subtype.add(SubType.KALEESH); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GeneralTazri.java b/Mage.Sets/src/mage/cards/g/GeneralTazri.java index 5b97b824391..0d547a284d3 100644 --- a/Mage.Sets/src/mage/cards/g/GeneralTazri.java +++ b/Mage.Sets/src/mage/cards/g/GeneralTazri.java @@ -63,8 +63,8 @@ public class GeneralTazri extends CardImpl { public GeneralTazri(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ALLY); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GeneralsKabuto.java b/Mage.Sets/src/mage/cards/g/GeneralsKabuto.java index 3b8aa811c33..fdc414c0588 100644 --- a/Mage.Sets/src/mage/cards/g/GeneralsKabuto.java +++ b/Mage.Sets/src/mage/cards/g/GeneralsKabuto.java @@ -47,7 +47,7 @@ public class GeneralsKabuto extends CardImpl { public GeneralsKabuto (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has shroud. (It can't be the target of spells or abilities.) this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/g/GeneratorServant.java b/Mage.Sets/src/mage/cards/g/GeneratorServant.java index a89b9c16797..a9e95a62642 100644 --- a/Mage.Sets/src/mage/cards/g/GeneratorServant.java +++ b/Mage.Sets/src/mage/cards/g/GeneratorServant.java @@ -58,7 +58,7 @@ public class GeneratorServant extends CardImpl { public GeneratorServant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/Genesis.java b/Mage.Sets/src/mage/cards/g/Genesis.java index 73f256ea699..3e4fbe07d43 100644 --- a/Mage.Sets/src/mage/cards/g/Genesis.java +++ b/Mage.Sets/src/mage/cards/g/Genesis.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -50,7 +51,7 @@ public class Genesis extends CardImpl { public Genesis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Incarnation"); + this.subtype.add(SubType.INCARNATION); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GenesisHydra.java b/Mage.Sets/src/mage/cards/g/GenesisHydra.java index beb3176e300..4eccc30e838 100644 --- a/Mage.Sets/src/mage/cards/g/GenesisHydra.java +++ b/Mage.Sets/src/mage/cards/g/GenesisHydra.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CastSourceTriggeredAbility; import mage.abilities.effects.common.EntersBattlefieldWithXCountersEffect; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,8 +59,8 @@ public class GenesisHydra extends CardImpl { public GenesisHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{X}{G}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/g/GenjuOfTheCedars.java b/Mage.Sets/src/mage/cards/g/GenjuOfTheCedars.java index 8bd191b1231..0153a52c20e 100644 --- a/Mage.Sets/src/mage/cards/g/GenjuOfTheCedars.java +++ b/Mage.Sets/src/mage/cards/g/GenjuOfTheCedars.java @@ -56,7 +56,7 @@ public class GenjuOfTheCedars extends CardImpl { public GenjuOfTheCedars(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant Forest TargetPermanent auraTarget = new TargetLandPermanent(filter); @@ -91,7 +91,7 @@ public class GenjuOfTheCedars extends CardImpl { super("", "4/4 green Spirit creature"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(4); toughness = new MageInt(4); } diff --git a/Mage.Sets/src/mage/cards/g/GenjuOfTheFalls.java b/Mage.Sets/src/mage/cards/g/GenjuOfTheFalls.java index f4be715bd9e..bed91096ecd 100644 --- a/Mage.Sets/src/mage/cards/g/GenjuOfTheFalls.java +++ b/Mage.Sets/src/mage/cards/g/GenjuOfTheFalls.java @@ -56,7 +56,7 @@ public class GenjuOfTheFalls extends CardImpl { public GenjuOfTheFalls(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant Island TargetPermanent auraTarget = new TargetLandPermanent(FILTER); @@ -89,7 +89,7 @@ public class GenjuOfTheFalls extends CardImpl { super("Spirit", "3/2 blue Spirit creature with flying"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(3); toughness = new MageInt(2); addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/g/GenjuOfTheFens.java b/Mage.Sets/src/mage/cards/g/GenjuOfTheFens.java index e377268d4e9..7f0fc40ab7d 100644 --- a/Mage.Sets/src/mage/cards/g/GenjuOfTheFens.java +++ b/Mage.Sets/src/mage/cards/g/GenjuOfTheFens.java @@ -57,7 +57,7 @@ public class GenjuOfTheFens extends CardImpl { public GenjuOfTheFens(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant Swamp TargetPermanent auraTarget = new TargetLandPermanent(FILTER); @@ -90,7 +90,7 @@ public class GenjuOfTheFens extends CardImpl { super("Spirit", "2/2 black Spirit creature with \"{B}: This creature gets +1/+1 until end of turn.\""); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(2); toughness = new MageInt(2); addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 1, Duration.EndOfTurn), new ManaCostsImpl("{B}"))); diff --git a/Mage.Sets/src/mage/cards/g/GenjuOfTheFields.java b/Mage.Sets/src/mage/cards/g/GenjuOfTheFields.java index 4e3725c7f2d..c73a4bfd1a0 100644 --- a/Mage.Sets/src/mage/cards/g/GenjuOfTheFields.java +++ b/Mage.Sets/src/mage/cards/g/GenjuOfTheFields.java @@ -58,7 +58,7 @@ public class GenjuOfTheFields extends CardImpl { public GenjuOfTheFields(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant Plains TargetPermanent auraTarget = new TargetLandPermanent(FILTER); @@ -96,7 +96,7 @@ public class GenjuOfTheFields extends CardImpl { super("Spirit", "2/5 white Spirit creature"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(2); toughness = new MageInt(5); } diff --git a/Mage.Sets/src/mage/cards/g/GenjuOfTheRealm.java b/Mage.Sets/src/mage/cards/g/GenjuOfTheRealm.java index e31ee8a9118..8840c596d8d 100644 --- a/Mage.Sets/src/mage/cards/g/GenjuOfTheRealm.java +++ b/Mage.Sets/src/mage/cards/g/GenjuOfTheRealm.java @@ -53,7 +53,7 @@ public class GenjuOfTheRealm extends CardImpl { public GenjuOfTheRealm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}{U}{B}{R}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); addSuperType(SuperType.LEGENDARY); // Enchant Land @@ -92,7 +92,7 @@ public class GenjuOfTheRealm extends CardImpl { this.color.setBlack(true); this.color.setRed(true); this.color.setGreen(true); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(8); toughness = new MageInt(12); this.addAbility(TrampleAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/g/GenjuOfTheSpires.java b/Mage.Sets/src/mage/cards/g/GenjuOfTheSpires.java index f51ae31b2c6..721d2379177 100644 --- a/Mage.Sets/src/mage/cards/g/GenjuOfTheSpires.java +++ b/Mage.Sets/src/mage/cards/g/GenjuOfTheSpires.java @@ -55,7 +55,7 @@ public class GenjuOfTheSpires extends CardImpl { public GenjuOfTheSpires(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant Mountain TargetPermanent auraTarget = new TargetLandPermanent(FILTER); @@ -88,7 +88,7 @@ public class GenjuOfTheSpires extends CardImpl { super("Spirit", "6/1 red Spirit creature"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(6); toughness = new MageInt(1); } diff --git a/Mage.Sets/src/mage/cards/g/GeralfsMasterpiece.java b/Mage.Sets/src/mage/cards/g/GeralfsMasterpiece.java index 2cb5c6ffabc..92dd7e0bcc6 100644 --- a/Mage.Sets/src/mage/cards/g/GeralfsMasterpiece.java +++ b/Mage.Sets/src/mage/cards/g/GeralfsMasterpiece.java @@ -44,6 +44,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterCard; @@ -57,8 +58,8 @@ public class GeralfsMasterpiece extends CardImpl { public GeralfsMasterpiece(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/g/GeralfsMessenger.java b/Mage.Sets/src/mage/cards/g/GeralfsMessenger.java index a54b8f03ccf..1803af8e021 100644 --- a/Mage.Sets/src/mage/cards/g/GeralfsMessenger.java +++ b/Mage.Sets/src/mage/cards/g/GeralfsMessenger.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.UndyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetOpponent; /** @@ -47,7 +48,7 @@ public class GeralfsMessenger extends CardImpl { public GeralfsMessenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GeralfsMindcrusher.java b/Mage.Sets/src/mage/cards/g/GeralfsMindcrusher.java index 03fe9a21a1a..90795de2a1d 100644 --- a/Mage.Sets/src/mage/cards/g/GeralfsMindcrusher.java +++ b/Mage.Sets/src/mage/cards/g/GeralfsMindcrusher.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.UndyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -46,8 +47,8 @@ public class GeralfsMindcrusher extends CardImpl { public GeralfsMindcrusher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GerrardCapashen.java b/Mage.Sets/src/mage/cards/g/GerrardCapashen.java index 0e31acebf30..a487b53a319 100644 --- a/Mage.Sets/src/mage/cards/g/GerrardCapashen.java +++ b/Mage.Sets/src/mage/cards/g/GerrardCapashen.java @@ -53,8 +53,8 @@ public class GerrardCapashen extends CardImpl { public GerrardCapashen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GerrardsIrregulars.java b/Mage.Sets/src/mage/cards/g/GerrardsIrregulars.java index 593ed582578..a530cd6d49a 100644 --- a/Mage.Sets/src/mage/cards/g/GerrardsIrregulars.java +++ b/Mage.Sets/src/mage/cards/g/GerrardsIrregulars.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class GerrardsIrregulars extends CardImpl { public GerrardsIrregulars(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GethLordOfTheVault.java b/Mage.Sets/src/mage/cards/g/GethLordOfTheVault.java index 573eb4721b4..46b50fe457f 100644 --- a/Mage.Sets/src/mage/cards/g/GethLordOfTheVault.java +++ b/Mage.Sets/src/mage/cards/g/GethLordOfTheVault.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.SuperType; @@ -61,7 +62,7 @@ public class GethLordOfTheVault extends CardImpl { public GethLordOfTheVault(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GeyserGlider.java b/Mage.Sets/src/mage/cards/g/GeyserGlider.java index 712a53474d5..d2bb2310f02 100644 --- a/Mage.Sets/src/mage/cards/g/GeyserGlider.java +++ b/Mage.Sets/src/mage/cards/g/GeyserGlider.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class GeyserGlider extends CardImpl { public GeyserGlider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GeyserfieldStalker.java b/Mage.Sets/src/mage/cards/g/GeyserfieldStalker.java index 07fb2cbb53d..265d515e2c3 100644 --- a/Mage.Sets/src/mage/cards/g/GeyserfieldStalker.java +++ b/Mage.Sets/src/mage/cards/g/GeyserfieldStalker.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class GeyserfieldStalker extends CardImpl { public GeyserfieldStalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GhalmasWarden.java b/Mage.Sets/src/mage/cards/g/GhalmasWarden.java index 00aa4a4b87b..b2c831d9de0 100644 --- a/Mage.Sets/src/mage/cards/g/GhalmasWarden.java +++ b/Mage.Sets/src/mage/cards/g/GhalmasWarden.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class GhalmasWarden extends CardImpl { public GhalmasWarden (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Elephant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GhastlordOfFugue.java b/Mage.Sets/src/mage/cards/g/GhastlordOfFugue.java index 577d06be7ba..077fff3119f 100644 --- a/Mage.Sets/src/mage/cards/g/GhastlordOfFugue.java +++ b/Mage.Sets/src/mage/cards/g/GhastlordOfFugue.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class GhastlordOfFugue extends CardImpl { public GhastlordOfFugue(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U/B}{U/B}{U/B}{U/B}{U/B}"); - this.subtype.add("Spirit"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GhastlyHaunting.java b/Mage.Sets/src/mage/cards/g/GhastlyHaunting.java index 1d59f90474d..5e74a2d3aac 100644 --- a/Mage.Sets/src/mage/cards/g/GhastlyHaunting.java +++ b/Mage.Sets/src/mage/cards/g/GhastlyHaunting.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.continuous.ControlEnchantedEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -45,7 +46,7 @@ public class GhastlyHaunting extends CardImpl { public GhastlyHaunting(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},""); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); this.color.setBlue(true); // this card is the second face of double-faced card diff --git a/Mage.Sets/src/mage/cards/g/GhastlyRemains.java b/Mage.Sets/src/mage/cards/g/GhastlyRemains.java index 91fe01a5b5f..678f8814420 100644 --- a/Mage.Sets/src/mage/cards/g/GhastlyRemains.java +++ b/Mage.Sets/src/mage/cards/g/GhastlyRemains.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.AmplifyAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; @@ -52,7 +53,7 @@ public class GhastlyRemains extends CardImpl { public GhastlyRemains(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/g/GhaveGuruOfSpores.java b/Mage.Sets/src/mage/cards/g/GhaveGuruOfSpores.java index cca16cb0ee7..bae40f69432 100644 --- a/Mage.Sets/src/mage/cards/g/GhaveGuruOfSpores.java +++ b/Mage.Sets/src/mage/cards/g/GhaveGuruOfSpores.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.counters.CounterType; @@ -67,8 +68,8 @@ public class GhaveGuruOfSpores extends CardImpl { public GhaveGuruOfSpores(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Fungus"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.FUNGUS); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/g/GhazbanOgre.java b/Mage.Sets/src/mage/cards/g/GhazbanOgre.java index 084da558aec..90183ebaf4c 100644 --- a/Mage.Sets/src/mage/cards/g/GhazbanOgre.java +++ b/Mage.Sets/src/mage/cards/g/GhazbanOgre.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -54,7 +55,7 @@ public class GhazbanOgre extends CardImpl { public GhazbanOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.OGRE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GhirapurGearcrafter.java b/Mage.Sets/src/mage/cards/g/GhirapurGearcrafter.java index 8bf41e4cbe3..811d702b117 100644 --- a/Mage.Sets/src/mage/cards/g/GhirapurGearcrafter.java +++ b/Mage.Sets/src/mage/cards/g/GhirapurGearcrafter.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.ThopterColorlessToken; /** @@ -44,8 +45,8 @@ public class GhirapurGearcrafter extends CardImpl { public GhirapurGearcrafter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GhirapurGuide.java b/Mage.Sets/src/mage/cards/g/GhirapurGuide.java index ded66f9a142..fac5524a786 100644 --- a/Mage.Sets/src/mage/cards/g/GhirapurGuide.java +++ b/Mage.Sets/src/mage/cards/g/GhirapurGuide.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByAllTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class GhirapurGuide extends CardImpl { public GhirapurGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GhirapurOsprey.java b/Mage.Sets/src/mage/cards/g/GhirapurOsprey.java index d9e823d6be2..0baef5d036b 100644 --- a/Mage.Sets/src/mage/cards/g/GhirapurOsprey.java +++ b/Mage.Sets/src/mage/cards/g/GhirapurOsprey.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GhirapurOsprey extends CardImpl { public GhirapurOsprey(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GhituEncampment.java b/Mage.Sets/src/mage/cards/g/GhituEncampment.java index 0910e6274fe..55d061891d5 100644 --- a/Mage.Sets/src/mage/cards/g/GhituEncampment.java +++ b/Mage.Sets/src/mage/cards/g/GhituEncampment.java @@ -38,6 +38,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -73,7 +74,7 @@ class GhituEncampmentToken extends Token { public GhituEncampmentToken() { super("Warrior", "2/1 red Warrior creature with first strike"); cardType.add(CardType.CREATURE); - this.subtype.add("Warrior"); + this.subtype.add(SubType.WARRIOR); this.color.setRed(true); power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GhituFireEater.java b/Mage.Sets/src/mage/cards/g/GhituFireEater.java index 7ebf7d0acc1..57c9a1761c3 100644 --- a/Mage.Sets/src/mage/cards/g/GhituFireEater.java +++ b/Mage.Sets/src/mage/cards/g/GhituFireEater.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -50,8 +51,8 @@ public class GhituFireEater extends CardImpl { public GhituFireEater(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GhituFirebreathing.java b/Mage.Sets/src/mage/cards/g/GhituFirebreathing.java index 8bf5a7e3b9e..859915cb218 100644 --- a/Mage.Sets/src/mage/cards/g/GhituFirebreathing.java +++ b/Mage.Sets/src/mage/cards/g/GhituFirebreathing.java @@ -51,7 +51,7 @@ public class GhituFirebreathing extends CardImpl { public GhituFirebreathing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/g/GhituSlinger.java b/Mage.Sets/src/mage/cards/g/GhituSlinger.java index 44a89ee4601..dbcc7361d36 100644 --- a/Mage.Sets/src/mage/cards/g/GhituSlinger.java +++ b/Mage.Sets/src/mage/cards/g/GhituSlinger.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; /** @@ -46,8 +47,8 @@ public class GhituSlinger extends CardImpl { public GhituSlinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GhorClanBloodscale.java b/Mage.Sets/src/mage/cards/g/GhorClanBloodscale.java index 455db85eff8..efed9bf3868 100644 --- a/Mage.Sets/src/mage/cards/g/GhorClanBloodscale.java +++ b/Mage.Sets/src/mage/cards/g/GhorClanBloodscale.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class GhorClanBloodscale extends CardImpl { public GhorClanBloodscale(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Viashino"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GhorClanRampager.java b/Mage.Sets/src/mage/cards/g/GhorClanRampager.java index 12ad8eae2a2..b6e418b10c8 100644 --- a/Mage.Sets/src/mage/cards/g/GhorClanRampager.java +++ b/Mage.Sets/src/mage/cards/g/GhorClanRampager.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -47,7 +48,7 @@ public class GhorClanRampager extends CardImpl { public GhorClanRampager(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GhorClanSavage.java b/Mage.Sets/src/mage/cards/g/GhorClanSavage.java index 0940c70ba03..c15dd59ffea 100644 --- a/Mage.Sets/src/mage/cards/g/GhorClanSavage.java +++ b/Mage.Sets/src/mage/cards/g/GhorClanSavage.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.BloodthirstAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GhorClanSavage extends CardImpl { public GhorClanSavage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GhostCouncilOfOrzhova.java b/Mage.Sets/src/mage/cards/g/GhostCouncilOfOrzhova.java index 92d0ab81be8..3e1e41b733f 100644 --- a/Mage.Sets/src/mage/cards/g/GhostCouncilOfOrzhova.java +++ b/Mage.Sets/src/mage/cards/g/GhostCouncilOfOrzhova.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.ExileReturnBattlefieldOwnerNextEndStepSourc import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class GhostCouncilOfOrzhova extends CardImpl { public GhostCouncilOfOrzhova(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GhostHounds.java b/Mage.Sets/src/mage/cards/g/GhostHounds.java index 5dbef9e482a..957b29b27cb 100644 --- a/Mage.Sets/src/mage/cards/g/GhostHounds.java +++ b/Mage.Sets/src/mage/cards/g/GhostHounds.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -56,8 +57,8 @@ public class GhostHounds extends CardImpl { public GhostHounds(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Hound"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.HOUND); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GhostLitNourisher.java b/Mage.Sets/src/mage/cards/g/GhostLitNourisher.java index d753b67f01f..0fb1b83b05e 100644 --- a/Mage.Sets/src/mage/cards/g/GhostLitNourisher.java +++ b/Mage.Sets/src/mage/cards/g/GhostLitNourisher.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ChannelAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,7 +51,7 @@ public class GhostLitNourisher extends CardImpl { public GhostLitNourisher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GhostLitRaider.java b/Mage.Sets/src/mage/cards/g/GhostLitRaider.java index f611a3284e6..ee7b709cf7c 100644 --- a/Mage.Sets/src/mage/cards/g/GhostLitRaider.java +++ b/Mage.Sets/src/mage/cards/g/GhostLitRaider.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ChannelAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class GhostLitRaider extends CardImpl { public GhostLitRaider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GhostLitRedeemer.java b/Mage.Sets/src/mage/cards/g/GhostLitRedeemer.java index 42c78c0881b..d20792088cc 100644 --- a/Mage.Sets/src/mage/cards/g/GhostLitRedeemer.java +++ b/Mage.Sets/src/mage/cards/g/GhostLitRedeemer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ChannelAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class GhostLitRedeemer extends CardImpl { public GhostLitRedeemer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GhostLitStalker.java b/Mage.Sets/src/mage/cards/g/GhostLitStalker.java index 0e5a80b0ea1..41ec573224c 100644 --- a/Mage.Sets/src/mage/cards/g/GhostLitStalker.java +++ b/Mage.Sets/src/mage/cards/g/GhostLitStalker.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ChannelAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TimingRule; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -50,7 +51,7 @@ public class GhostLitStalker extends CardImpl { public GhostLitStalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GhostLitWarder.java b/Mage.Sets/src/mage/cards/g/GhostLitWarder.java index 5c7d5b08210..d26128d296d 100644 --- a/Mage.Sets/src/mage/cards/g/GhostLitWarder.java +++ b/Mage.Sets/src/mage/cards/g/GhostLitWarder.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ChannelAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetSpell; @@ -49,7 +50,7 @@ public class GhostLitWarder extends CardImpl { public GhostLitWarder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GhostShip.java b/Mage.Sets/src/mage/cards/g/GhostShip.java index 5de640ddb59..1c52de82025 100644 --- a/Mage.Sets/src/mage/cards/g/GhostShip.java +++ b/Mage.Sets/src/mage/cards/g/GhostShip.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class GhostShip extends CardImpl { public GhostShip(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GhostTactician.java b/Mage.Sets/src/mage/cards/g/GhostTactician.java index b49be28085e..706f24373b3 100644 --- a/Mage.Sets/src/mage/cards/g/GhostTactician.java +++ b/Mage.Sets/src/mage/cards/g/GhostTactician.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class GhostTactician extends CardImpl { public GhostTactician(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Spirit"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GhostWarden.java b/Mage.Sets/src/mage/cards/g/GhostWarden.java index 106ff772192..829c3f32965 100644 --- a/Mage.Sets/src/mage/cards/g/GhostWarden.java +++ b/Mage.Sets/src/mage/cards/g/GhostWarden.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class GhostWarden extends CardImpl { public GhostWarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GhostbladeEidolon.java b/Mage.Sets/src/mage/cards/g/GhostbladeEidolon.java index 7a9e6927735..535664951ef 100644 --- a/Mage.Sets/src/mage/cards/g/GhostbladeEidolon.java +++ b/Mage.Sets/src/mage/cards/g/GhostbladeEidolon.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class GhostbladeEidolon extends CardImpl { public GhostbladeEidolon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GhostfireBlade.java b/Mage.Sets/src/mage/cards/g/GhostfireBlade.java index 19c999adf76..08e83ad17f7 100644 --- a/Mage.Sets/src/mage/cards/g/GhostfireBlade.java +++ b/Mage.Sets/src/mage/cards/g/GhostfireBlade.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class GhostfireBlade extends CardImpl { public GhostfireBlade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+2 this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2))); diff --git a/Mage.Sets/src/mage/cards/g/GhostflameSliver.java b/Mage.Sets/src/mage/cards/g/GhostflameSliver.java index 2aaed1f06ca..94fd6d19403 100644 --- a/Mage.Sets/src/mage/cards/g/GhostflameSliver.java +++ b/Mage.Sets/src/mage/cards/g/GhostflameSliver.java @@ -48,7 +48,7 @@ public class GhostflameSliver extends CardImpl { public GhostflameSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{R}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GhosthelmCourier.java b/Mage.Sets/src/mage/cards/g/GhosthelmCourier.java index fccd565db56..ea3e110abd0 100644 --- a/Mage.Sets/src/mage/cards/g/GhosthelmCourier.java +++ b/Mage.Sets/src/mage/cards/g/GhosthelmCourier.java @@ -63,8 +63,8 @@ public class GhosthelmCourier extends CardImpl { public GhosthelmCourier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GhostlyChangeling.java b/Mage.Sets/src/mage/cards/g/GhostlyChangeling.java index a39b57e080b..8fc88e22b13 100644 --- a/Mage.Sets/src/mage/cards/g/GhostlyChangeling.java +++ b/Mage.Sets/src/mage/cards/g/GhostlyChangeling.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ChangelingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class GhostlyChangeling extends CardImpl { public GhostlyChangeling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GhostlyPossession.java b/Mage.Sets/src/mage/cards/g/GhostlyPossession.java index 91f7179ebd4..a5a45cef2cb 100644 --- a/Mage.Sets/src/mage/cards/g/GhostlyPossession.java +++ b/Mage.Sets/src/mage/cards/g/GhostlyPossession.java @@ -53,7 +53,7 @@ public class GhostlyPossession extends CardImpl { public GhostlyPossession(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GhostlySentinel.java b/Mage.Sets/src/mage/cards/g/GhostlySentinel.java index d55aa2ba9d3..b3409455a51 100644 --- a/Mage.Sets/src/mage/cards/g/GhostlySentinel.java +++ b/Mage.Sets/src/mage/cards/g/GhostlySentinel.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class GhostlySentinel extends CardImpl { public GhostlySentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GhostlyTouch.java b/Mage.Sets/src/mage/cards/g/GhostlyTouch.java index f3a49ba05e5..997a64f16e7 100644 --- a/Mage.Sets/src/mage/cards/g/GhostlyTouch.java +++ b/Mage.Sets/src/mage/cards/g/GhostlyTouch.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -53,7 +54,7 @@ public class GhostlyTouch extends CardImpl { public GhostlyTouch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/g/GhostlyWings.java b/Mage.Sets/src/mage/cards/g/GhostlyWings.java index e560c83a5de..4a31fe90c72 100644 --- a/Mage.Sets/src/mage/cards/g/GhostlyWings.java +++ b/Mage.Sets/src/mage/cards/g/GhostlyWings.java @@ -56,7 +56,7 @@ public class GhostlyWings extends CardImpl { public GhostlyWings(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GhostsOfTheDamned.java b/Mage.Sets/src/mage/cards/g/GhostsOfTheDamned.java index 2f357094b90..5b3052de140 100644 --- a/Mage.Sets/src/mage/cards/g/GhostsOfTheDamned.java +++ b/Mage.Sets/src/mage/cards/g/GhostsOfTheDamned.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class GhostsOfTheDamned extends CardImpl { public GhostsOfTheDamned(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GhostsOfTheInnocent.java b/Mage.Sets/src/mage/cards/g/GhostsOfTheInnocent.java index 71fc366019e..a60482359a7 100644 --- a/Mage.Sets/src/mage/cards/g/GhostsOfTheInnocent.java +++ b/Mage.Sets/src/mage/cards/g/GhostsOfTheInnocent.java @@ -1,115 +1,116 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.g; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.PreventionEffect; -import mage.abilities.effects.ReplacementEffectImpl; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; - -/** - * - * @author LevelX2 - */ -public class GhostsOfTheInnocent extends CardImpl { - - public GhostsOfTheInnocent(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}{W}"); - - this.subtype.add("Spirit"); - this.power = new MageInt(4); - this.toughness = new MageInt(5); - - // If a source would deal damage to a creature or player, it deals half that damage, rounded down, to that creature or player instead. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GhostsOfTheInnocentPreventDamageEffect())); - } - - public GhostsOfTheInnocent(final GhostsOfTheInnocent card) { - super(card); - } - - @Override - public GhostsOfTheInnocent copy() { - return new GhostsOfTheInnocent(this); - } -} - -class GhostsOfTheInnocentPreventDamageEffect extends ReplacementEffectImpl implements PreventionEffect { - - public GhostsOfTheInnocentPreventDamageEffect() { - super(Duration.WhileOnBattlefield, Outcome.Damage); - staticText = "If a source would deal damage to a creature or player, it deals half that damage, rounded down, to that creature or player instead"; - } - - public GhostsOfTheInnocentPreventDamageEffect(final GhostsOfTheInnocentPreventDamageEffect effect) { - super(effect); - } - - @Override - public GhostsOfTheInnocentPreventDamageEffect copy() { - return new GhostsOfTheInnocentPreventDamageEffect(this); - } - - @Override - public boolean checksEventType(GameEvent event, Game game) { - return event.getType() == EventType.DAMAGE_CREATURE - || event.getType() == EventType.DAMAGE_PLAYER; - } - - @Override - public boolean applies(GameEvent event, Ability source, Game game) { - return true; - } - - @Override - public boolean apply(Game game, Ability source) { - return true; - } - - @Override - public boolean replaceEvent(GameEvent event, Ability source, Game game) { - int amount = (int) Math.ceil(event.getAmount() / 2.0); - GameEvent preventEvent = new GameEvent(GameEvent.EventType.PREVENT_DAMAGE, event.getTargetId(), source.getSourceId(), source.getControllerId(), amount, false); - if (!game.replaceEvent(preventEvent)) { - event.setAmount(event.getAmount() - amount); - game.fireEvent(GameEvent.getEvent(GameEvent.EventType.PREVENTED_DAMAGE, event.getTargetId(), source.getSourceId(), source.getControllerId(), amount)); - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.g; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.PreventionEffect; +import mage.abilities.effects.ReplacementEffectImpl; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; + +/** + * + * @author LevelX2 + */ +public class GhostsOfTheInnocent extends CardImpl { + + public GhostsOfTheInnocent(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}{W}"); + + this.subtype.add(SubType.SPIRIT); + this.power = new MageInt(4); + this.toughness = new MageInt(5); + + // If a source would deal damage to a creature or player, it deals half that damage, rounded down, to that creature or player instead. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GhostsOfTheInnocentPreventDamageEffect())); + } + + public GhostsOfTheInnocent(final GhostsOfTheInnocent card) { + super(card); + } + + @Override + public GhostsOfTheInnocent copy() { + return new GhostsOfTheInnocent(this); + } +} + +class GhostsOfTheInnocentPreventDamageEffect extends ReplacementEffectImpl implements PreventionEffect { + + public GhostsOfTheInnocentPreventDamageEffect() { + super(Duration.WhileOnBattlefield, Outcome.Damage); + staticText = "If a source would deal damage to a creature or player, it deals half that damage, rounded down, to that creature or player instead"; + } + + public GhostsOfTheInnocentPreventDamageEffect(final GhostsOfTheInnocentPreventDamageEffect effect) { + super(effect); + } + + @Override + public GhostsOfTheInnocentPreventDamageEffect copy() { + return new GhostsOfTheInnocentPreventDamageEffect(this); + } + + @Override + public boolean checksEventType(GameEvent event, Game game) { + return event.getType() == EventType.DAMAGE_CREATURE + || event.getType() == EventType.DAMAGE_PLAYER; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + return true; + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + int amount = (int) Math.ceil(event.getAmount() / 2.0); + GameEvent preventEvent = new GameEvent(GameEvent.EventType.PREVENT_DAMAGE, event.getTargetId(), source.getSourceId(), source.getControllerId(), amount, false); + if (!game.replaceEvent(preventEvent)) { + event.setAmount(event.getAmount() - amount); + game.fireEvent(GameEvent.getEvent(GameEvent.EventType.PREVENTED_DAMAGE, event.getTargetId(), source.getSourceId(), source.getControllerId(), amount)); + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/g/GhoulcallerGisa.java b/Mage.Sets/src/mage/cards/g/GhoulcallerGisa.java index 2cdb362ff92..3066f945354 100644 --- a/Mage.Sets/src/mage/cards/g/GhoulcallerGisa.java +++ b/Mage.Sets/src/mage/cards/g/GhoulcallerGisa.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -57,8 +58,8 @@ public class GhoulcallerGisa extends CardImpl { public GhoulcallerGisa(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GhoulcallersAccomplice.java b/Mage.Sets/src/mage/cards/g/GhoulcallersAccomplice.java index 4acbe24e4c0..821b0c6f899 100644 --- a/Mage.Sets/src/mage/cards/g/GhoulcallersAccomplice.java +++ b/Mage.Sets/src/mage/cards/g/GhoulcallersAccomplice.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.ZombieToken; @@ -48,8 +49,8 @@ public class GhoulcallersAccomplice extends CardImpl { public GhoulcallersAccomplice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/Ghoulflesh.java b/Mage.Sets/src/mage/cards/g/Ghoulflesh.java index 4ceb5063985..37249ac3a88 100644 --- a/Mage.Sets/src/mage/cards/g/Ghoulflesh.java +++ b/Mage.Sets/src/mage/cards/g/Ghoulflesh.java @@ -48,7 +48,7 @@ public class Ghoulflesh extends CardImpl { public Ghoulflesh(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/g/Ghoulraiser.java b/Mage.Sets/src/mage/cards/g/Ghoulraiser.java index 50a64822bdc..b23a86e966c 100644 --- a/Mage.Sets/src/mage/cards/g/Ghoulraiser.java +++ b/Mage.Sets/src/mage/cards/g/Ghoulraiser.java @@ -53,7 +53,7 @@ public class Ghoulraiser extends CardImpl { public Ghoulraiser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/Ghoulsteed.java b/Mage.Sets/src/mage/cards/g/Ghoulsteed.java index 5ad83892500..16e819fed9e 100644 --- a/Mage.Sets/src/mage/cards/g/Ghoulsteed.java +++ b/Mage.Sets/src/mage/cards/g/Ghoulsteed.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.target.common.TargetCardInHand; @@ -49,8 +50,8 @@ public class Ghoulsteed extends CardImpl { public Ghoulsteed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Horse"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HORSE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/Ghoultree.java b/Mage.Sets/src/mage/cards/g/Ghoultree.java index 8a8bc52c3eb..e4b7c71c590 100644 --- a/Mage.Sets/src/mage/cards/g/Ghoultree.java +++ b/Mage.Sets/src/mage/cards/g/Ghoultree.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.cost.SourceCostReductionForEachCardInGravey import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -45,8 +46,8 @@ public class Ghoultree extends CardImpl { public Ghoultree(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{7}{G}"); - this.subtype.add("Zombie"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(10); this.toughness = new MageInt(10); diff --git a/Mage.Sets/src/mage/cards/g/GiantAdephage.java b/Mage.Sets/src/mage/cards/g/GiantAdephage.java index 17171f9dbfb..babd4150a99 100644 --- a/Mage.Sets/src/mage/cards/g/GiantAdephage.java +++ b/Mage.Sets/src/mage/cards/g/GiantAdephage.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class GiantAdephage extends CardImpl { public GiantAdephage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/g/GiantAmbushBeetle.java b/Mage.Sets/src/mage/cards/g/GiantAmbushBeetle.java index da264682fa9..c3f8059363d 100644 --- a/Mage.Sets/src/mage/cards/g/GiantAmbushBeetle.java +++ b/Mage.Sets/src/mage/cards/g/GiantAmbushBeetle.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class GiantAmbushBeetle extends CardImpl { public GiantAmbushBeetle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B/G}{R}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); diff --git a/Mage.Sets/src/mage/cards/g/GiantBadger.java b/Mage.Sets/src/mage/cards/g/GiantBadger.java index 776ad099538..162446aa962 100644 --- a/Mage.Sets/src/mage/cards/g/GiantBadger.java +++ b/Mage.Sets/src/mage/cards/g/GiantBadger.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class GiantBadger extends CardImpl { public GiantBadger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Badger"); + this.subtype.add(SubType.BADGER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GiantCaterpillar.java b/Mage.Sets/src/mage/cards/g/GiantCaterpillar.java index 5ab647da3bb..5ffa4bf51d5 100644 --- a/Mage.Sets/src/mage/cards/g/GiantCaterpillar.java +++ b/Mage.Sets/src/mage/cards/g/GiantCaterpillar.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.ButterflyToken; @@ -50,7 +51,7 @@ public class GiantCaterpillar extends CardImpl { public GiantCaterpillar(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GiantCockroach.java b/Mage.Sets/src/mage/cards/g/GiantCockroach.java index 6dab2f7c12a..3040c6ffb83 100644 --- a/Mage.Sets/src/mage/cards/g/GiantCockroach.java +++ b/Mage.Sets/src/mage/cards/g/GiantCockroach.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class GiantCockroach extends CardImpl { public GiantCockroach(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GiantCrab.java b/Mage.Sets/src/mage/cards/g/GiantCrab.java index f19968bfaf1..04aecaa32b9 100644 --- a/Mage.Sets/src/mage/cards/g/GiantCrab.java +++ b/Mage.Sets/src/mage/cards/g/GiantCrab.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class GiantCrab extends CardImpl { public GiantCrab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Crab"); + this.subtype.add(SubType.CRAB); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GiantDustwasp.java b/Mage.Sets/src/mage/cards/g/GiantDustwasp.java index e910fff5c1a..34bdd2d4b63 100644 --- a/Mage.Sets/src/mage/cards/g/GiantDustwasp.java +++ b/Mage.Sets/src/mage/cards/g/GiantDustwasp.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class GiantDustwasp extends CardImpl { public GiantDustwasp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GiantHarbinger.java b/Mage.Sets/src/mage/cards/g/GiantHarbinger.java index 07ac10808e4..3986903a289 100644 --- a/Mage.Sets/src/mage/cards/g/GiantHarbinger.java +++ b/Mage.Sets/src/mage/cards/g/GiantHarbinger.java @@ -52,8 +52,8 @@ public class GiantHarbinger extends CardImpl { public GiantHarbinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GiantMantis.java b/Mage.Sets/src/mage/cards/g/GiantMantis.java index b385239367a..c03174c64c7 100644 --- a/Mage.Sets/src/mage/cards/g/GiantMantis.java +++ b/Mage.Sets/src/mage/cards/g/GiantMantis.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class GiantMantis extends CardImpl { public GiantMantis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GiantOctopus.java b/Mage.Sets/src/mage/cards/g/GiantOctopus.java index e6b7fcd1f0c..88a8507d732 100644 --- a/Mage.Sets/src/mage/cards/g/GiantOctopus.java +++ b/Mage.Sets/src/mage/cards/g/GiantOctopus.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class GiantOctopus extends CardImpl { public GiantOctopus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Octopus"); + this.subtype.add(SubType.OCTOPUS); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GiantScorpion.java b/Mage.Sets/src/mage/cards/g/GiantScorpion.java index e1afef61751..75bc631b7af 100644 --- a/Mage.Sets/src/mage/cards/g/GiantScorpion.java +++ b/Mage.Sets/src/mage/cards/g/GiantScorpion.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class GiantScorpion extends CardImpl { public GiantScorpion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Scorpion"); + this.subtype.add(SubType.SCORPION); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GiantSolifuge.java b/Mage.Sets/src/mage/cards/g/GiantSolifuge.java index fb981fb396c..46894e89272 100644 --- a/Mage.Sets/src/mage/cards/g/GiantSolifuge.java +++ b/Mage.Sets/src/mage/cards/g/GiantSolifuge.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class GiantSolifuge extends CardImpl { public GiantSolifuge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R/G}{R/G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GiantSpectacle.java b/Mage.Sets/src/mage/cards/g/GiantSpectacle.java index 36206726f7e..230a5d5b699 100644 --- a/Mage.Sets/src/mage/cards/g/GiantSpectacle.java +++ b/Mage.Sets/src/mage/cards/g/GiantSpectacle.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -53,7 +54,7 @@ public class GiantSpectacle extends CardImpl { public GiantSpectacle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant Creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GiantSpider.java b/Mage.Sets/src/mage/cards/g/GiantSpider.java index 1195f8275b3..2c396cf37ed 100644 --- a/Mage.Sets/src/mage/cards/g/GiantSpider.java +++ b/Mage.Sets/src/mage/cards/g/GiantSpider.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GiantSpider extends CardImpl { public GiantSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GiantStrength.java b/Mage.Sets/src/mage/cards/g/GiantStrength.java index 7f7e0e37e15..5ff6a3f65e5 100644 --- a/Mage.Sets/src/mage/cards/g/GiantStrength.java +++ b/Mage.Sets/src/mage/cards/g/GiantStrength.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class GiantStrength extends CardImpl { public GiantStrength(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GiantTortoise.java b/Mage.Sets/src/mage/cards/g/GiantTortoise.java index 88b3d5bffc7..202a639fce8 100644 --- a/Mage.Sets/src/mage/cards/g/GiantTortoise.java +++ b/Mage.Sets/src/mage/cards/g/GiantTortoise.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class GiantTortoise extends CardImpl { public GiantTortoise(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Turtle"); + this.subtype.add(SubType.TURTLE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GiantTrapDoorSpider.java b/Mage.Sets/src/mage/cards/g/GiantTrapDoorSpider.java index 4c89ccb3290..6c0ed14e87a 100644 --- a/Mage.Sets/src/mage/cards/g/GiantTrapDoorSpider.java +++ b/Mage.Sets/src/mage/cards/g/GiantTrapDoorSpider.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterAttackingCreature; import mage.filter.predicate.Predicates; @@ -63,7 +64,7 @@ public class GiantTrapDoorSpider extends CardImpl { public GiantTrapDoorSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GiantWarthog.java b/Mage.Sets/src/mage/cards/g/GiantWarthog.java index f404224fdcc..2c31e63e11f 100644 --- a/Mage.Sets/src/mage/cards/g/GiantWarthog.java +++ b/Mage.Sets/src/mage/cards/g/GiantWarthog.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GiantWarthog extends CardImpl { public GiantWarthog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Boar"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BOAR); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GiantsIre.java b/Mage.Sets/src/mage/cards/g/GiantsIre.java index de706f871d3..58f170e401b 100644 --- a/Mage.Sets/src/mage/cards/g/GiantsIre.java +++ b/Mage.Sets/src/mage/cards/g/GiantsIre.java @@ -54,7 +54,7 @@ public class GiantsIre extends CardImpl { public GiantsIre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.SORCERY},"{3}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); // Giant's Ire deals 4 damage to target player. this.getSpellAbility().addEffect(new DamageTargetEffect(4)); diff --git a/Mage.Sets/src/mage/cards/g/GibberingFiend.java b/Mage.Sets/src/mage/cards/g/GibberingFiend.java index 1cc08becfc9..d6e3400efa8 100644 --- a/Mage.Sets/src/mage/cards/g/GibberingFiend.java +++ b/Mage.Sets/src/mage/cards/g/GibberingFiend.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class GibberingFiend extends CardImpl { public GibberingFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GibberingKami.java b/Mage.Sets/src/mage/cards/g/GibberingKami.java index ae94f9eb8bd..fb1c21e0fae 100644 --- a/Mage.Sets/src/mage/cards/g/GibberingKami.java +++ b/Mage.Sets/src/mage/cards/g/GibberingKami.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -43,7 +44,7 @@ public class GibberingKami extends CardImpl { public GibberingKami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GideonAllyOfZendikar.java b/Mage.Sets/src/mage/cards/g/GideonAllyOfZendikar.java index 67e84f33454..4fe5badfd8f 100644 --- a/Mage.Sets/src/mage/cards/g/GideonAllyOfZendikar.java +++ b/Mage.Sets/src/mage/cards/g/GideonAllyOfZendikar.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.game.command.emblems.GideonAllyOfZendikarEmblem; @@ -55,7 +56,7 @@ public class GideonAllyOfZendikar extends CardImpl { public GideonAllyOfZendikar(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Gideon"); + this.subtype.add(SubType.GIDEON); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); @@ -88,9 +89,9 @@ class GideonAllyOfZendikarToken extends Token { public GideonAllyOfZendikarToken() { super("", "5/5 Human Soldier Ally creature with indestructible"); cardType.add(CardType.CREATURE); - subtype.add("Human"); - subtype.add("Soldier"); - subtype.add("Ally"); + subtype.add(SubType.HUMAN); + subtype.add(SubType.SOLDIER); + subtype.add(SubType.ALLY); power = new MageInt(5); toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GideonBattleForged.java b/Mage.Sets/src/mage/cards/g/GideonBattleForged.java index 3711c14cc41..e048e7dcead 100644 --- a/Mage.Sets/src/mage/cards/g/GideonBattleForged.java +++ b/Mage.Sets/src/mage/cards/g/GideonBattleForged.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.TargetController; @@ -69,7 +70,7 @@ public class GideonBattleForged extends CardImpl { public GideonBattleForged(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},""); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Gideon"); + this.subtype.add(SubType.GIDEON); this.color.setWhite(true); @@ -117,8 +118,8 @@ class GideonBattleForgedToken extends Token { public GideonBattleForgedToken() { super("", "4/4 Human Soldier creature with indestructible"); cardType.add(CardType.CREATURE); - subtype.add("Human"); - subtype.add("Soldier"); + subtype.add(SubType.HUMAN); + subtype.add(SubType.SOLDIER); power = new MageInt(4); toughness = new MageInt(4); this.addAbility(IndestructibleAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/g/GideonChampionOfJustice.java b/Mage.Sets/src/mage/cards/g/GideonChampionOfJustice.java index 2abb462a8f1..f6f82329c60 100644 --- a/Mage.Sets/src/mage/cards/g/GideonChampionOfJustice.java +++ b/Mage.Sets/src/mage/cards/g/GideonChampionOfJustice.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SuperType; @@ -62,7 +63,7 @@ public class GideonChampionOfJustice extends CardImpl { public GideonChampionOfJustice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{W}{W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Gideon"); + this.subtype.add(SubType.GIDEON); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); @@ -126,8 +127,8 @@ class GideonChampionOfJusticeToken extends Token { public GideonChampionOfJusticeToken() { super("", "indestructible Human Soldier creature with power and toughness each equal to the number of loyalty counters on him"); cardType.add(CardType.CREATURE); - subtype.add("Human"); - subtype.add("Soldier"); + subtype.add(SubType.HUMAN); + subtype.add(SubType.SOLDIER); power = new MageInt(0); toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/g/GideonJura.java b/Mage.Sets/src/mage/cards/g/GideonJura.java index ff378a63699..8ec7dc08168 100644 --- a/Mage.Sets/src/mage/cards/g/GideonJura.java +++ b/Mage.Sets/src/mage/cards/g/GideonJura.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.TurnPhase; @@ -67,7 +68,7 @@ public class GideonJura extends CardImpl { public GideonJura(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{W}{W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Gideon"); + this.subtype.add(SubType.GIDEON); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(6)); @@ -105,8 +106,8 @@ class GideonJuraToken extends Token { public GideonJuraToken() { super("", "6/6 Human Soldier creature"); cardType.add(CardType.CREATURE); - subtype.add("Human"); - subtype.add("Soldier"); + subtype.add(SubType.HUMAN); + subtype.add(SubType.SOLDIER); power = new MageInt(6); toughness = new MageInt(6); } diff --git a/Mage.Sets/src/mage/cards/g/GideonMartialParagon.java b/Mage.Sets/src/mage/cards/g/GideonMartialParagon.java index 25089ecc1b3..7610b63e3da 100644 --- a/Mage.Sets/src/mage/cards/g/GideonMartialParagon.java +++ b/Mage.Sets/src/mage/cards/g/GideonMartialParagon.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -57,7 +58,7 @@ public class GideonMartialParagon extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Gideon"); + this.subtype.add(SubType.GIDEON); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); @@ -99,8 +100,8 @@ class GideonMartialParagonToken extends Token { public GideonMartialParagonToken() { super("", "5/5 Human Soldier creature with indestructible"); cardType.add(CardType.CREATURE); - subtype.add("Human"); - subtype.add("Soldier"); + subtype.add(SubType.HUMAN); + subtype.add(SubType.SOLDIER); power = new MageInt(5); toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GideonOfTheTrials.java b/Mage.Sets/src/mage/cards/g/GideonOfTheTrials.java index 6b9dceb0f9d..ef7693fd51d 100644 --- a/Mage.Sets/src/mage/cards/g/GideonOfTheTrials.java +++ b/Mage.Sets/src/mage/cards/g/GideonOfTheTrials.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.game.command.emblems.GideonOfTheTrialsEmblem; @@ -55,7 +56,7 @@ public class GideonOfTheTrials extends CardImpl { public GideonOfTheTrials(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{W}{W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Gideon"); + this.subtype.add(SubType.GIDEON); //Starting Loyalty: 3 this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); @@ -94,8 +95,8 @@ class GideonOfTheTrialsToken extends Token { public GideonOfTheTrialsToken() { super("", "a 4/4 Human Soldier creature with indestructible"); cardType.add(CardType.CREATURE); - subtype.add("Human"); - subtype.add("Soldier"); + subtype.add(SubType.HUMAN); + subtype.add(SubType.SOLDIER); power = new MageInt(4); toughness = new MageInt(4); this.addAbility(IndestructibleAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/g/GideonsAvenger.java b/Mage.Sets/src/mage/cards/g/GideonsAvenger.java index dff270cbac8..ce962af5f28 100644 --- a/Mage.Sets/src/mage/cards/g/GideonsAvenger.java +++ b/Mage.Sets/src/mage/cards/g/GideonsAvenger.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -53,8 +54,8 @@ public class GideonsAvenger extends CardImpl { public GideonsAvenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GideonsLawkeeper.java b/Mage.Sets/src/mage/cards/g/GideonsLawkeeper.java index 79830b448ca..f14d27e1758 100644 --- a/Mage.Sets/src/mage/cards/g/GideonsLawkeeper.java +++ b/Mage.Sets/src/mage/cards/g/GideonsLawkeeper.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class GideonsLawkeeper extends CardImpl { public GideonsLawkeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GiftOfImmortality.java b/Mage.Sets/src/mage/cards/g/GiftOfImmortality.java index 2722cd935ac..3360917aea6 100644 --- a/Mage.Sets/src/mage/cards/g/GiftOfImmortality.java +++ b/Mage.Sets/src/mage/cards/g/GiftOfImmortality.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class GiftOfImmortality extends CardImpl { public GiftOfImmortality(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GiftOfOrzhova.java b/Mage.Sets/src/mage/cards/g/GiftOfOrzhova.java index 5255bae6d2c..8348ffbe965 100644 --- a/Mage.Sets/src/mage/cards/g/GiftOfOrzhova.java +++ b/Mage.Sets/src/mage/cards/g/GiftOfOrzhova.java @@ -51,7 +51,7 @@ public class GiftOfOrzhova extends CardImpl { public GiftOfOrzhova(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W/B}{W/B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GiftOfParadise.java b/Mage.Sets/src/mage/cards/g/GiftOfParadise.java index e40d070e69c..db024014daf 100644 --- a/Mage.Sets/src/mage/cards/g/GiftOfParadise.java +++ b/Mage.Sets/src/mage/cards/g/GiftOfParadise.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -57,7 +58,7 @@ public class GiftOfParadise extends CardImpl { public GiftOfParadise(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GiftOfTheDeity.java b/Mage.Sets/src/mage/cards/g/GiftOfTheDeity.java index c5d608304bb..331ea077c92 100644 --- a/Mage.Sets/src/mage/cards/g/GiftOfTheDeity.java +++ b/Mage.Sets/src/mage/cards/g/GiftOfTheDeity.java @@ -45,6 +45,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -58,7 +59,7 @@ public class GiftOfTheDeity extends CardImpl { public GiftOfTheDeity(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{B/G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/g/GiftedAetherborn.java b/Mage.Sets/src/mage/cards/g/GiftedAetherborn.java index 0f4f5caa1ea..6bea148e694 100644 --- a/Mage.Sets/src/mage/cards/g/GiftedAetherborn.java +++ b/Mage.Sets/src/mage/cards/g/GiftedAetherborn.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class GiftedAetherborn extends CardImpl { public GiftedAetherborn(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{B}"); - this.subtype.add("Aetherborn"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.AETHERBORN); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GiftedInitiate.java b/Mage.Sets/src/mage/cards/g/GiftedInitiate.java index 67542f27787..87d77c133f0 100644 --- a/Mage.Sets/src/mage/cards/g/GiftedInitiate.java +++ b/Mage.Sets/src/mage/cards/g/GiftedInitiate.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MeditateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -48,8 +49,8 @@ public class GiftedInitiate extends CardImpl { public GiftedInitiate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Jedi"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.JEDI); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/Gigantiform.java b/Mage.Sets/src/mage/cards/g/Gigantiform.java index 014304dd3aa..a10b190a98b 100644 --- a/Mage.Sets/src/mage/cards/g/Gigantiform.java +++ b/Mage.Sets/src/mage/cards/g/Gigantiform.java @@ -61,7 +61,7 @@ public class Gigantiform extends CardImpl { public Gigantiform(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{G}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Kicker {4} this.addAbility(new KickerAbility("{4}")); diff --git a/Mage.Sets/src/mage/cards/g/Gigantomancer.java b/Mage.Sets/src/mage/cards/g/Gigantomancer.java index b6b2db03b9d..5b03b50d5ec 100644 --- a/Mage.Sets/src/mage/cards/g/Gigantomancer.java +++ b/Mage.Sets/src/mage/cards/g/Gigantomancer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -49,8 +50,8 @@ public class Gigantomancer extends CardImpl { public Gigantomancer (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{7}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/Gigantoplasm.java b/Mage.Sets/src/mage/cards/g/Gigantoplasm.java index 88b0490353d..e3f8abbf7d9 100644 --- a/Mage.Sets/src/mage/cards/g/Gigantoplasm.java +++ b/Mage.Sets/src/mage/cards/g/Gigantoplasm.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SubLayer; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class Gigantoplasm extends CardImpl { public Gigantoplasm(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/g/Gigapede.java b/Mage.Sets/src/mage/cards/g/Gigapede.java index 3d9c841cbb1..9d284245448 100644 --- a/Mage.Sets/src/mage/cards/g/Gigapede.java +++ b/Mage.Sets/src/mage/cards/g/Gigapede.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; @@ -50,7 +51,7 @@ public class Gigapede extends CardImpl { public Gigapede(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(6); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GildedCerodon.java b/Mage.Sets/src/mage/cards/g/GildedCerodon.java index b38438b6cc0..99a4a873829 100644 --- a/Mage.Sets/src/mage/cards/g/GildedCerodon.java +++ b/Mage.Sets/src/mage/cards/g/GildedCerodon.java @@ -1,108 +1,108 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.g; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.AttacksTriggeredAbility; -import mage.abilities.condition.Condition; -import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.combat.CantBlockTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.filter.FilterCard; -import mage.filter.FilterPermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.game.Game; -import mage.players.Player; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author jeffwadsworth - */ -public class GildedCerodon extends CardImpl { - - private static final String rule = "Whenever {this} attacks, if you control a Desert or there is a Desert card in your graveyard, target creature can't block this turn."; - - public GildedCerodon(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); - - this.subtype.add("Beast"); - - this.power = new MageInt(4); - this.toughness = new MageInt(4); - - // Whenever Gilded Cerodon attacks, if you control a Desert or there is a Desert card in your graveyard, target creature can't block this turn. - Ability ability = new ConditionalTriggeredAbility(new AttacksTriggeredAbility(new CantBlockTargetEffect(Duration.EndOfTurn), false), new GildedCerodonCondition(), rule); - ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability); - - } - - public GildedCerodon(final GildedCerodon card) { - super(card); - } - - @Override - public GildedCerodon copy() { - return new GildedCerodon(this); - } -} - -class GildedCerodonCondition implements Condition { - - private static final FilterPermanent filter = new FilterPermanent(); - private static final FilterCard filter2 = new FilterCard(); - - static { - filter.add(new SubtypePredicate(SubType.DESERT)); - filter2.add(new SubtypePredicate(SubType.DESERT)); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null - && !game.getBattlefield().getAllActivePermanents(filter, source.getControllerId(), game).isEmpty() - || controller.getGraveyard().count(filter2, game) > 0) { - return true; - } - return false; - } - - @Override - public String toString() { - return "if you control a Desert or there is a Desert card in your graveyard"; - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.g; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.condition.Condition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.common.combat.CantBlockTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.filter.FilterCard; +import mage.filter.FilterPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.Game; +import mage.players.Player; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author jeffwadsworth + */ +public class GildedCerodon extends CardImpl { + + private static final String rule = "Whenever {this} attacks, if you control a Desert or there is a Desert card in your graveyard, target creature can't block this turn."; + + public GildedCerodon(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); + + this.subtype.add(SubType.BEAST); + + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // Whenever Gilded Cerodon attacks, if you control a Desert or there is a Desert card in your graveyard, target creature can't block this turn. + Ability ability = new ConditionalTriggeredAbility(new AttacksTriggeredAbility(new CantBlockTargetEffect(Duration.EndOfTurn), false), new GildedCerodonCondition(), rule); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + + } + + public GildedCerodon(final GildedCerodon card) { + super(card); + } + + @Override + public GildedCerodon copy() { + return new GildedCerodon(this); + } +} + +class GildedCerodonCondition implements Condition { + + private static final FilterPermanent filter = new FilterPermanent(); + private static final FilterCard filter2 = new FilterCard(); + + static { + filter.add(new SubtypePredicate(SubType.DESERT)); + filter2.add(new SubtypePredicate(SubType.DESERT)); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null + && !game.getBattlefield().getAllActivePermanents(filter, source.getControllerId(), game).isEmpty() + || controller.getGraveyard().count(filter2, game) > 0) { + return true; + } + return false; + } + + @Override + public String toString() { + return "if you control a Desert or there is a Desert card in your graveyard"; + } + +} diff --git a/Mage.Sets/src/mage/cards/g/GildedDrake.java b/Mage.Sets/src/mage/cards/g/GildedDrake.java index be6951537f4..cace6876be4 100644 --- a/Mage.Sets/src/mage/cards/g/GildedDrake.java +++ b/Mage.Sets/src/mage/cards/g/GildedDrake.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -62,7 +63,7 @@ public class GildedDrake extends CardImpl { public GildedDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GilderBairn.java b/Mage.Sets/src/mage/cards/g/GilderBairn.java index bab59c1fbd0..0fadbc07bbe 100644 --- a/Mage.Sets/src/mage/cards/g/GilderBairn.java +++ b/Mage.Sets/src/mage/cards/g/GilderBairn.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.Counter; @@ -52,7 +53,7 @@ public class GilderBairn extends CardImpl { public GilderBairn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G/U}{G/U}"); - this.subtype.add("Ouphe"); + this.subtype.add(SubType.OUPHE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GiltLeafAmbush.java b/Mage.Sets/src/mage/cards/g/GiltLeafAmbush.java index dcd2788c705..bf3a92b7ba1 100644 --- a/Mage.Sets/src/mage/cards/g/GiltLeafAmbush.java +++ b/Mage.Sets/src/mage/cards/g/GiltLeafAmbush.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.game.Game; @@ -54,7 +55,7 @@ public class GiltLeafAmbush extends CardImpl { public GiltLeafAmbush(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{2}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); // Create two 1/1 green Elf Warrior creature tokens into play. Clash with an opponent. If you win, those creatures gain deathtouch until end of turn this.getSpellAbility().addEffect(new GiltLeafAmbushCreateTokenEffect()); diff --git a/Mage.Sets/src/mage/cards/g/GiltLeafArchdruid.java b/Mage.Sets/src/mage/cards/g/GiltLeafArchdruid.java index 3eeed9d14de..ac375927a73 100644 --- a/Mage.Sets/src/mage/cards/g/GiltLeafArchdruid.java +++ b/Mage.Sets/src/mage/cards/g/GiltLeafArchdruid.java @@ -63,8 +63,8 @@ public class GiltLeafArchdruid extends CardImpl { public GiltLeafArchdruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GiltLeafSeer.java b/Mage.Sets/src/mage/cards/g/GiltLeafSeer.java index 97859cbe0d5..40e51be8470 100644 --- a/Mage.Sets/src/mage/cards/g/GiltLeafSeer.java +++ b/Mage.Sets/src/mage/cards/g/GiltLeafSeer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.LookLibraryControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class GiltLeafSeer extends CardImpl { public GiltLeafSeer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GiltLeafWinnower.java b/Mage.Sets/src/mage/cards/g/GiltLeafWinnower.java index 01cb0d60537..ccd3ff2cbaf 100644 --- a/Mage.Sets/src/mage/cards/g/GiltLeafWinnower.java +++ b/Mage.Sets/src/mage/cards/g/GiltLeafWinnower.java @@ -60,8 +60,8 @@ public class GiltLeafWinnower extends CardImpl { public GiltLeafWinnower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GiltspireAvenger.java b/Mage.Sets/src/mage/cards/g/GiltspireAvenger.java index dbd2dc9637b..06bfe359794 100644 --- a/Mage.Sets/src/mage/cards/g/GiltspireAvenger.java +++ b/Mage.Sets/src/mage/cards/g/GiltspireAvenger.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ExaltedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.game.Game; @@ -54,8 +55,8 @@ public class GiltspireAvenger extends CardImpl { public GiltspireAvenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}{W}{U}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GisaAndGeralf.java b/Mage.Sets/src/mage/cards/g/GisaAndGeralf.java index 1aec0799de4..99b0dca375f 100644 --- a/Mage.Sets/src/mage/cards/g/GisaAndGeralf.java +++ b/Mage.Sets/src/mage/cards/g/GisaAndGeralf.java @@ -59,8 +59,8 @@ public class GisaAndGeralf extends CardImpl { public GisaAndGeralf(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GiselaBladeOfGoldnight.java b/Mage.Sets/src/mage/cards/g/GiselaBladeOfGoldnight.java index c8882e07bba..7556ea36dea 100644 --- a/Mage.Sets/src/mage/cards/g/GiselaBladeOfGoldnight.java +++ b/Mage.Sets/src/mage/cards/g/GiselaBladeOfGoldnight.java @@ -50,7 +50,7 @@ public class GiselaBladeOfGoldnight extends CardImpl { public GiselaBladeOfGoldnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GiselaTheBrokenBlade.java b/Mage.Sets/src/mage/cards/g/GiselaTheBrokenBlade.java index 529a1016dc4..07e7a25f335 100644 --- a/Mage.Sets/src/mage/cards/g/GiselaTheBrokenBlade.java +++ b/Mage.Sets/src/mage/cards/g/GiselaTheBrokenBlade.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.b.BriselaVoiceOfNightmares; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Rarity; import mage.constants.SuperType; import mage.constants.TargetController; @@ -53,8 +54,8 @@ public class GiselaTheBrokenBlade extends CardImpl { public GiselaTheBrokenBlade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Angel"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ANGEL); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GishathSunsAvatar.java b/Mage.Sets/src/mage/cards/g/GishathSunsAvatar.java index d1df78de6d0..8fbb575e149 100644 --- a/Mage.Sets/src/mage/cards/g/GishathSunsAvatar.java +++ b/Mage.Sets/src/mage/cards/g/GishathSunsAvatar.java @@ -64,8 +64,8 @@ public class GishathSunsAvatar extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{R}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dinosaur"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.DINOSAUR); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(7); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/g/GlacialCrasher.java b/Mage.Sets/src/mage/cards/g/GlacialCrasher.java index 2f810560e40..db8f858d5a3 100644 --- a/Mage.Sets/src/mage/cards/g/GlacialCrasher.java +++ b/Mage.Sets/src/mage/cards/g/GlacialCrasher.java @@ -52,7 +52,7 @@ public class GlacialCrasher extends CardImpl { public GlacialCrasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GlacialStalker.java b/Mage.Sets/src/mage/cards/g/GlacialStalker.java index 94336d1021f..72767418e92 100644 --- a/Mage.Sets/src/mage/cards/g/GlacialStalker.java +++ b/Mage.Sets/src/mage/cards/g/GlacialStalker.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GlacialStalker extends CardImpl { public GlacialStalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GlacialWall.java b/Mage.Sets/src/mage/cards/g/GlacialWall.java index bb26c70ed49..46ad492d7ba 100644 --- a/Mage.Sets/src/mage/cards/g/GlacialWall.java +++ b/Mage.Sets/src/mage/cards/g/GlacialWall.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class GlacialWall extends CardImpl { public GlacialWall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/g/GladeGnarr.java b/Mage.Sets/src/mage/cards/g/GladeGnarr.java index ca91dda24a9..a6be0355791 100644 --- a/Mage.Sets/src/mage/cards/g/GladeGnarr.java +++ b/Mage.Sets/src/mage/cards/g/GladeGnarr.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -52,7 +53,7 @@ public class GladeGnarr extends CardImpl { public GladeGnarr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GladeWatcher.java b/Mage.Sets/src/mage/cards/g/GladeWatcher.java index 2657406267b..8f44492647a 100644 --- a/Mage.Sets/src/mage/cards/g/GladeWatcher.java +++ b/Mage.Sets/src/mage/cards/g/GladeWatcher.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class GladeWatcher extends CardImpl { public GladeWatcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GladecoverScout.java b/Mage.Sets/src/mage/cards/g/GladecoverScout.java index fa3196b5dea..566820b1905 100644 --- a/Mage.Sets/src/mage/cards/g/GladecoverScout.java +++ b/Mage.Sets/src/mage/cards/g/GladecoverScout.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -42,8 +43,8 @@ public class GladecoverScout extends CardImpl { public GladecoverScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GladehartCavalry.java b/Mage.Sets/src/mage/cards/g/GladehartCavalry.java index 8335c7afea9..09a824ac788 100644 --- a/Mage.Sets/src/mage/cards/g/GladehartCavalry.java +++ b/Mage.Sets/src/mage/cards/g/GladehartCavalry.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SupportAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -51,8 +52,8 @@ public class GladehartCavalry extends CardImpl { public GladehartCavalry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/g/GlamerSpinners.java b/Mage.Sets/src/mage/cards/g/GlamerSpinners.java index 3f1f3209778..5e113645623 100644 --- a/Mage.Sets/src/mage/cards/g/GlamerSpinners.java +++ b/Mage.Sets/src/mage/cards/g/GlamerSpinners.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -58,8 +59,8 @@ public class GlamerSpinners extends CardImpl { public GlamerSpinners(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W/U}"); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/Glarewielder.java b/Mage.Sets/src/mage/cards/g/Glarewielder.java index 6b2098bafa4..cedd15b166e 100644 --- a/Mage.Sets/src/mage/cards/g/Glarewielder.java +++ b/Mage.Sets/src/mage/cards/g/Glarewielder.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class Glarewielder extends CardImpl { public Glarewielder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GlaringAegis.java b/Mage.Sets/src/mage/cards/g/GlaringAegis.java index 28d8d38a13f..70cdb503435 100644 --- a/Mage.Sets/src/mage/cards/g/GlaringAegis.java +++ b/Mage.Sets/src/mage/cards/g/GlaringAegis.java @@ -57,7 +57,7 @@ public class GlaringAegis extends CardImpl { public GlaringAegis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GlassAsp.java b/Mage.Sets/src/mage/cards/g/GlassAsp.java index f25907f7a47..2f5b8784269 100644 --- a/Mage.Sets/src/mage/cards/g/GlassAsp.java +++ b/Mage.Sets/src/mage/cards/g/GlassAsp.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.UnlessPaysDelayedEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; /** @@ -46,7 +47,7 @@ public class GlassAsp extends CardImpl { public GlassAsp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GlassGolem.java b/Mage.Sets/src/mage/cards/g/GlassGolem.java index 390317805a3..83a95ef278b 100644 --- a/Mage.Sets/src/mage/cards/g/GlassGolem.java +++ b/Mage.Sets/src/mage/cards/g/GlassGolem.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class GlassGolem extends CardImpl { public GlassGolem (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(6); this.toughness = new MageInt(2); } diff --git a/Mage.Sets/src/mage/cards/g/GlassblowersPuzzleknot.java b/Mage.Sets/src/mage/cards/g/GlassblowersPuzzleknot.java index 89d91a2c031..f0beb42c9ab 100644 --- a/Mage.Sets/src/mage/cards/g/GlassblowersPuzzleknot.java +++ b/Mage.Sets/src/mage/cards/g/GlassblowersPuzzleknot.java @@ -1,77 +1,77 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.g; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; -import mage.abilities.effects.keyword.ScryEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; - -/** - * - * @author emerald000 - */ -public class GlassblowersPuzzleknot extends CardImpl { - - public GlassblowersPuzzleknot(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - - // When Glassblower's Puzzleknot enters the battlefield, scry 2, then you get {E}{E}. - Effect scryEffect = new ScryEffect(2); - scryEffect.setText("scry 2"); - Ability ability = new EntersBattlefieldTriggeredAbility(scryEffect); - Effect energyEffect = new GetEnergyCountersControllerEffect(2); - energyEffect.setText(", then you get {E}{E}"); - ability.addEffect(energyEffect); - this.addAbility(ability); - - // {2}{U}, Sacrifice Glassblower's Puzzleknot: Scry 2, then you get {E}{E}. - ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, scryEffect, new ManaCostsImpl<>("{2}{U}")); - ability.addCost(new SacrificeSourceCost()); - ability.addEffect(energyEffect); - this.addAbility(ability); - } - - public GlassblowersPuzzleknot(final GlassblowersPuzzleknot card) { - super(card); - } - - @Override - public GlassblowersPuzzleknot copy() { - return new GlassblowersPuzzleknot(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.g; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; +import mage.abilities.effects.keyword.ScryEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; + +/** + * + * @author emerald000 + */ +public class GlassblowersPuzzleknot extends CardImpl { + + public GlassblowersPuzzleknot(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); + + // When Glassblower's Puzzleknot enters the battlefield, scry 2, then you get {E}{E}. + Effect scryEffect = new ScryEffect(2); + scryEffect.setText("scry 2"); + Ability ability = new EntersBattlefieldTriggeredAbility(scryEffect); + Effect energyEffect = new GetEnergyCountersControllerEffect(2); + energyEffect.setText(", then you get {E}{E}"); + ability.addEffect(energyEffect); + this.addAbility(ability); + + // {2}{U}, Sacrifice Glassblower's Puzzleknot: Scry 2, then you get {E}{E}. + ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, scryEffect, new ManaCostsImpl<>("{2}{U}")); + ability.addCost(new SacrificeSourceCost()); + ability.addEffect(energyEffect); + this.addAbility(ability); + } + + public GlassblowersPuzzleknot(final GlassblowersPuzzleknot card) { + super(card); + } + + @Override + public GlassblowersPuzzleknot copy() { + return new GlassblowersPuzzleknot(this); + } +} diff --git a/Mage.Sets/src/mage/cards/g/GlassdustHulk.java b/Mage.Sets/src/mage/cards/g/GlassdustHulk.java index 0236c0e15ac..0d9beee3257 100644 --- a/Mage.Sets/src/mage/cards/g/GlassdustHulk.java +++ b/Mage.Sets/src/mage/cards/g/GlassdustHulk.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.FilterPermanent; @@ -60,7 +61,7 @@ public class GlassdustHulk extends CardImpl { public GlassdustHulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{W}{U}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GlazeFiend.java b/Mage.Sets/src/mage/cards/g/GlazeFiend.java index fc7598a6c8b..4f5739ef116 100644 --- a/Mage.Sets/src/mage/cards/g/GlazeFiend.java +++ b/Mage.Sets/src/mage/cards/g/GlazeFiend.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterArtifactPermanent; @@ -55,7 +56,7 @@ public class GlazeFiend extends CardImpl { public GlazeFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{B}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GleamOfAuthority.java b/Mage.Sets/src/mage/cards/g/GleamOfAuthority.java index 3aa800f52bd..75f1d0d9123 100644 --- a/Mage.Sets/src/mage/cards/g/GleamOfAuthority.java +++ b/Mage.Sets/src/mage/cards/g/GleamOfAuthority.java @@ -59,7 +59,7 @@ public class GleamOfAuthority extends CardImpl { public GleamOfAuthority(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/Gleancrawler.java b/Mage.Sets/src/mage/cards/g/Gleancrawler.java index 17c2ddf2059..dee75f9b761 100644 --- a/Mage.Sets/src/mage/cards/g/Gleancrawler.java +++ b/Mage.Sets/src/mage/cards/g/Gleancrawler.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.InfoEffect; import mage.abilities.keyword.TrampleAbility; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class Gleancrawler extends CardImpl { public Gleancrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B/G}{B/G}{B/G}"); - this.subtype.add("Insect"); - this.subtype.add("Horror"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.HORROR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/g/GlenElendraArchmage.java b/Mage.Sets/src/mage/cards/g/GlenElendraArchmage.java index 5d6161e8646..3962d79804b 100644 --- a/Mage.Sets/src/mage/cards/g/GlenElendraArchmage.java +++ b/Mage.Sets/src/mage/cards/g/GlenElendraArchmage.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.PersistAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -59,8 +60,8 @@ public class GlenElendraArchmage extends CardImpl { public GlenElendraArchmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GlenElendraLiege.java b/Mage.Sets/src/mage/cards/g/GlenElendraLiege.java index 50f5f868b39..53cbc928632 100644 --- a/Mage.Sets/src/mage/cards/g/GlenElendraLiege.java +++ b/Mage.Sets/src/mage/cards/g/GlenElendraLiege.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -57,8 +58,8 @@ public class GlenElendraLiege extends CardImpl { public GlenElendraLiege(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U/B}{U/B}{U/B}"); - this.subtype.add("Faerie"); - this.subtype.add("Knight"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GlenElendraPranksters.java b/Mage.Sets/src/mage/cards/g/GlenElendraPranksters.java index e7cfdfaa03a..3a12d76299c 100644 --- a/Mage.Sets/src/mage/cards/g/GlenElendraPranksters.java +++ b/Mage.Sets/src/mage/cards/g/GlenElendraPranksters.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -48,8 +49,8 @@ public class GlenElendraPranksters extends CardImpl { public GlenElendraPranksters(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GlidingLicid.java b/Mage.Sets/src/mage/cards/g/GlidingLicid.java index 0619a12975c..e96e59d88c1 100644 --- a/Mage.Sets/src/mage/cards/g/GlidingLicid.java +++ b/Mage.Sets/src/mage/cards/g/GlidingLicid.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class GlidingLicid extends CardImpl { public GlidingLicid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Licid"); + this.subtype.add(SubType.LICID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GlimmerdustNap.java b/Mage.Sets/src/mage/cards/g/GlimmerdustNap.java index 0485158d79c..80950f0b430 100644 --- a/Mage.Sets/src/mage/cards/g/GlimmerdustNap.java +++ b/Mage.Sets/src/mage/cards/g/GlimmerdustNap.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -56,7 +57,7 @@ public class GlimmerdustNap extends CardImpl { public GlimmerdustNap(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant tapped creature diff --git a/Mage.Sets/src/mage/cards/g/GlimmeringAngel.java b/Mage.Sets/src/mage/cards/g/GlimmeringAngel.java index 56612281bb3..d13fcc320d0 100644 --- a/Mage.Sets/src/mage/cards/g/GlimmeringAngel.java +++ b/Mage.Sets/src/mage/cards/g/GlimmeringAngel.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class GlimmeringAngel extends CardImpl { public GlimmeringAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GlimmerpointStag.java b/Mage.Sets/src/mage/cards/g/GlimmerpointStag.java index b43a8c46cbb..18408fe6880 100644 --- a/Mage.Sets/src/mage/cards/g/GlimmerpointStag.java +++ b/Mage.Sets/src/mage/cards/g/GlimmerpointStag.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -63,7 +64,7 @@ public class GlimmerpointStag extends CardImpl { public GlimmerpointStag(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Elk"); + this.subtype.add(SubType.ELK); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GlintEyeNephilim.java b/Mage.Sets/src/mage/cards/g/GlintEyeNephilim.java index 29d9b317ed5..532ebb61ad7 100644 --- a/Mage.Sets/src/mage/cards/g/GlintEyeNephilim.java +++ b/Mage.Sets/src/mage/cards/g/GlintEyeNephilim.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class GlintEyeNephilim extends CardImpl { public GlintEyeNephilim(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}{R}{G}"); - this.subtype.add("Nephilim"); + this.subtype.add(SubType.NEPHILIM); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GlintHawk.java b/Mage.Sets/src/mage/cards/g/GlintHawk.java index 36fc5e4bec0..ef80a561a0f 100644 --- a/Mage.Sets/src/mage/cards/g/GlintHawk.java +++ b/Mage.Sets/src/mage/cards/g/GlintHawk.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -54,7 +55,7 @@ public class GlintHawk extends CardImpl { public GlintHawk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GlintHawkIdol.java b/Mage.Sets/src/mage/cards/g/GlintHawkIdol.java index 3388aa72d7a..da486204491 100644 --- a/Mage.Sets/src/mage/cards/g/GlintHawkIdol.java +++ b/Mage.Sets/src/mage/cards/g/GlintHawkIdol.java @@ -83,7 +83,7 @@ class GlintHawkIdolToken extends Token { super("", "2/2 Bird artifact creature with flying"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Bird"); + subtype.add(SubType.BIRD); power = new MageInt(2); toughness = new MageInt(2); addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/g/GlintNestCrane.java b/Mage.Sets/src/mage/cards/g/GlintNestCrane.java index 4261ffcaf2c..5689101c07d 100644 --- a/Mage.Sets/src/mage/cards/g/GlintNestCrane.java +++ b/Mage.Sets/src/mage/cards/g/GlintNestCrane.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -54,7 +55,7 @@ public class GlintNestCrane extends CardImpl { public GlintNestCrane(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GlintSleeveArtisan.java b/Mage.Sets/src/mage/cards/g/GlintSleeveArtisan.java index c82f28a8e2f..bf57293c067 100644 --- a/Mage.Sets/src/mage/cards/g/GlintSleeveArtisan.java +++ b/Mage.Sets/src/mage/cards/g/GlintSleeveArtisan.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FabricateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GlintSleeveArtisan extends CardImpl { public GlintSleeveArtisan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Dwarf"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GlintSleeveSiphoner.java b/Mage.Sets/src/mage/cards/g/GlintSleeveSiphoner.java index 8b1d885e022..826eda15049 100644 --- a/Mage.Sets/src/mage/cards/g/GlintSleeveSiphoner.java +++ b/Mage.Sets/src/mage/cards/g/GlintSleeveSiphoner.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -53,8 +54,8 @@ public class GlintSleeveSiphoner extends CardImpl { public GlintSleeveSiphoner(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GlintwingInvoker.java b/Mage.Sets/src/mage/cards/g/GlintwingInvoker.java index de5259cfa34..0d447f8df84 100644 --- a/Mage.Sets/src/mage/cards/g/GlintwingInvoker.java +++ b/Mage.Sets/src/mage/cards/g/GlintwingInvoker.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,9 +51,9 @@ public class GlintwingInvoker extends CardImpl { public GlintwingInvoker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GlissaSunseeker.java b/Mage.Sets/src/mage/cards/g/GlissaSunseeker.java index 5d60571b4c1..11c68921bb9 100644 --- a/Mage.Sets/src/mage/cards/g/GlissaSunseeker.java +++ b/Mage.Sets/src/mage/cards/g/GlissaSunseeker.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class GlissaSunseeker extends CardImpl { public GlissaSunseeker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GlissaTheTraitor.java b/Mage.Sets/src/mage/cards/g/GlissaTheTraitor.java index 9e21942cb8c..26ba2fb15ac 100644 --- a/Mage.Sets/src/mage/cards/g/GlissaTheTraitor.java +++ b/Mage.Sets/src/mage/cards/g/GlissaTheTraitor.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterCard; @@ -56,8 +57,8 @@ public class GlissaTheTraitor extends CardImpl { public GlissaTheTraitor (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.ELF); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GlissasCourier.java b/Mage.Sets/src/mage/cards/g/GlissasCourier.java index 81c30752328..db2bad5d040 100644 --- a/Mage.Sets/src/mage/cards/g/GlissasCourier.java +++ b/Mage.Sets/src/mage/cards/g/GlissasCourier.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MountainwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GlissasCourier extends CardImpl { public GlissasCourier (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GlistenerElf.java b/Mage.Sets/src/mage/cards/g/GlistenerElf.java index 5b6fafd4ca4..2d0cd99d808 100644 --- a/Mage.Sets/src/mage/cards/g/GlistenerElf.java +++ b/Mage.Sets/src/mage/cards/g/GlistenerElf.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GlistenerElf extends CardImpl { public GlistenerElf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GlisteningOil.java b/Mage.Sets/src/mage/cards/g/GlisteningOil.java index 9529dfd1e71..122feba70d4 100644 --- a/Mage.Sets/src/mage/cards/g/GlisteningOil.java +++ b/Mage.Sets/src/mage/cards/g/GlisteningOil.java @@ -55,7 +55,7 @@ public class GlisteningOil extends CardImpl { public GlisteningOil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/g/Glitterfang.java b/Mage.Sets/src/mage/cards/g/Glitterfang.java index 029dc6208be..e26e16f3daf 100644 --- a/Mage.Sets/src/mage/cards/g/Glitterfang.java +++ b/Mage.Sets/src/mage/cards/g/Glitterfang.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,7 +46,7 @@ public class Glitterfang extends CardImpl { public Glitterfang(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GloomSurgeon.java b/Mage.Sets/src/mage/cards/g/GloomSurgeon.java index e6550f29d25..00a4ca41e09 100644 --- a/Mage.Sets/src/mage/cards/g/GloomSurgeon.java +++ b/Mage.Sets/src/mage/cards/g/GloomSurgeon.java @@ -35,6 +35,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class GloomSurgeon extends CardImpl { public GloomSurgeon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/Gloomdrifter.java b/Mage.Sets/src/mage/cards/g/Gloomdrifter.java index 4bf7fdccbe7..ee872f4c743 100644 --- a/Mage.Sets/src/mage/cards/g/Gloomdrifter.java +++ b/Mage.Sets/src/mage/cards/g/Gloomdrifter.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -62,8 +63,8 @@ public class Gloomdrifter extends CardImpl { public Gloomdrifter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Minion"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.MINION); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/Gloomhunter.java b/Mage.Sets/src/mage/cards/g/Gloomhunter.java index bf453e9bfa1..674ee933aca 100644 --- a/Mage.Sets/src/mage/cards/g/Gloomhunter.java +++ b/Mage.Sets/src/mage/cards/g/Gloomhunter.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class Gloomhunter extends CardImpl { public Gloomhunter (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Bat"); + this.subtype.add(SubType.BAT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/Gloomwidow.java b/Mage.Sets/src/mage/cards/g/Gloomwidow.java index 12dc2d702a1..d6e91a5f025 100644 --- a/Mage.Sets/src/mage/cards/g/Gloomwidow.java +++ b/Mage.Sets/src/mage/cards/g/Gloomwidow.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class Gloomwidow extends CardImpl { public Gloomwidow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/Glory.java b/Mage.Sets/src/mage/cards/g/Glory.java index 6419d72adc4..cfcbec2b522 100644 --- a/Mage.Sets/src/mage/cards/g/Glory.java +++ b/Mage.Sets/src/mage/cards/g/Glory.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -49,7 +50,7 @@ public class Glory extends CardImpl { public Glory(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Incarnation"); + this.subtype.add(SubType.INCARNATION); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GloryBoundInitiate.java b/Mage.Sets/src/mage/cards/g/GloryBoundInitiate.java index cb00e8d7b0b..6aafc34105a 100644 --- a/Mage.Sets/src/mage/cards/g/GloryBoundInitiate.java +++ b/Mage.Sets/src/mage/cards/g/GloryBoundInitiate.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -49,8 +50,8 @@ public class GloryBoundInitiate extends CardImpl { public GloryBoundInitiate(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GlorySeeker.java b/Mage.Sets/src/mage/cards/g/GlorySeeker.java index 4568ce41994..1806f7a1680 100644 --- a/Mage.Sets/src/mage/cards/g/GlorySeeker.java +++ b/Mage.Sets/src/mage/cards/g/GlorySeeker.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GlorySeeker extends CardImpl { public GlorySeeker (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/Glorybringer.java b/Mage.Sets/src/mage/cards/g/Glorybringer.java index c8f0e9a6f0f..f69964e97bd 100644 --- a/Mage.Sets/src/mage/cards/g/Glorybringer.java +++ b/Mage.Sets/src/mage/cards/g/Glorybringer.java @@ -62,7 +62,7 @@ public class Glorybringer extends CardImpl { public Glorybringer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GloryscaleViashino.java b/Mage.Sets/src/mage/cards/g/GloryscaleViashino.java index d186df38e91..1c05281808f 100644 --- a/Mage.Sets/src/mage/cards/g/GloryscaleViashino.java +++ b/Mage.Sets/src/mage/cards/g/GloryscaleViashino.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.MulticoloredPredicate; @@ -53,8 +54,8 @@ public class GloryscaleViashino extends CardImpl { public GloryscaleViashino (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}{W}"); - this.subtype.add("Viashino"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GloweringRogon.java b/Mage.Sets/src/mage/cards/g/GloweringRogon.java index 42373913e13..bd46bdf1c33 100644 --- a/Mage.Sets/src/mage/cards/g/GloweringRogon.java +++ b/Mage.Sets/src/mage/cards/g/GloweringRogon.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.AmplifyAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GloweringRogon extends CardImpl { public GloweringRogon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/Glowrider.java b/Mage.Sets/src/mage/cards/g/Glowrider.java index 21b3f2c7b5f..530d3be270e 100644 --- a/Mage.Sets/src/mage/cards/g/Glowrider.java +++ b/Mage.Sets/src/mage/cards/g/Glowrider.java @@ -49,8 +49,8 @@ public class Glowrider extends CardImpl { public Glowrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GluttonousCyclops.java b/Mage.Sets/src/mage/cards/g/GluttonousCyclops.java index 3f69e793b96..4f732dceace 100644 --- a/Mage.Sets/src/mage/cards/g/GluttonousCyclops.java +++ b/Mage.Sets/src/mage/cards/g/GluttonousCyclops.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.MonstrosityAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class GluttonousCyclops extends CardImpl { public GluttonousCyclops(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Cyclops"); + this.subtype.add(SubType.CYCLOPS); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GluttonousSlime.java b/Mage.Sets/src/mage/cards/g/GluttonousSlime.java index c1b7d664fb3..6d8e7681c89 100644 --- a/Mage.Sets/src/mage/cards/g/GluttonousSlime.java +++ b/Mage.Sets/src/mage/cards/g/GluttonousSlime.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class GluttonousSlime extends CardImpl { public GluttonousSlime(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Ooze"); + this.subtype.add(SubType.OOZE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GluttonousZombie.java b/Mage.Sets/src/mage/cards/g/GluttonousZombie.java index 2925e4494d6..9798dfebc42 100644 --- a/Mage.Sets/src/mage/cards/g/GluttonousZombie.java +++ b/Mage.Sets/src/mage/cards/g/GluttonousZombie.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class GluttonousZombie extends CardImpl { public GluttonousZombie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GlyphKeeper.java b/Mage.Sets/src/mage/cards/g/GlyphKeeper.java index 081b797baec..b99153d9a52 100644 --- a/Mage.Sets/src/mage/cards/g/GlyphKeeper.java +++ b/Mage.Sets/src/mage/cards/g/GlyphKeeper.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -54,7 +55,7 @@ public class GlyphKeeper extends CardImpl { public GlyphKeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GnarledMass.java b/Mage.Sets/src/mage/cards/g/GnarledMass.java index 587c1c84a1a..81aa13de2d7 100644 --- a/Mage.Sets/src/mage/cards/g/GnarledMass.java +++ b/Mage.Sets/src/mage/cards/g/GnarledMass.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class GnarledMass extends CardImpl { public GnarledMass(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GnarledScarhide.java b/Mage.Sets/src/mage/cards/g/GnarledScarhide.java index 9a16eee3ecf..afe83006e8c 100644 --- a/Mage.Sets/src/mage/cards/g/GnarledScarhide.java +++ b/Mage.Sets/src/mage/cards/g/GnarledScarhide.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class GnarledScarhide extends CardImpl { public GnarledScarhide(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{B}"); - this.subtype.add("Minotaur"); + this.subtype.add(SubType.MINOTAUR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GnarlidPack.java b/Mage.Sets/src/mage/cards/g/GnarlidPack.java index 34af0830f0e..3048a81c00a 100644 --- a/Mage.Sets/src/mage/cards/g/GnarlidPack.java +++ b/Mage.Sets/src/mage/cards/g/GnarlidPack.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MultikickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -46,7 +47,7 @@ public class GnarlidPack extends CardImpl { public GnarlidPack(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GnarlrootTrapper.java b/Mage.Sets/src/mage/cards/g/GnarlrootTrapper.java index 8eb55a52c0c..1f54f8ff189 100644 --- a/Mage.Sets/src/mage/cards/g/GnarlrootTrapper.java +++ b/Mage.Sets/src/mage/cards/g/GnarlrootTrapper.java @@ -70,8 +70,8 @@ public class GnarlrootTrapper extends CardImpl { public GnarlrootTrapper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GnarlwoodDryad.java b/Mage.Sets/src/mage/cards/g/GnarlwoodDryad.java index 28b6619c963..993fff2a29d 100644 --- a/Mage.Sets/src/mage/cards/g/GnarlwoodDryad.java +++ b/Mage.Sets/src/mage/cards/g/GnarlwoodDryad.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class GnarlwoodDryad extends CardImpl { public GnarlwoodDryad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Dryad"); - this.subtype.add("Horror"); + this.subtype.add(SubType.DRYAD); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GnatAlleyCreeper.java b/Mage.Sets/src/mage/cards/g/GnatAlleyCreeper.java index 50d340c11ef..9fe23cf8af1 100644 --- a/Mage.Sets/src/mage/cards/g/GnatAlleyCreeper.java +++ b/Mage.Sets/src/mage/cards/g/GnatAlleyCreeper.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -53,8 +54,8 @@ public class GnatAlleyCreeper extends CardImpl { public GnatAlleyCreeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GnatMiser.java b/Mage.Sets/src/mage/cards/g/GnatMiser.java index fc45ed0df62..29b0e8e2a0f 100644 --- a/Mage.Sets/src/mage/cards/g/GnatMiser.java +++ b/Mage.Sets/src/mage/cards/g/GnatMiser.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.MaximumHandSizeControllerEffect. import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class GnatMiser extends CardImpl { public GnatMiser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Rat"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/Gnathosaur.java b/Mage.Sets/src/mage/cards/g/Gnathosaur.java index 7ed4b2d594f..b2d043e6f21 100644 --- a/Mage.Sets/src/mage/cards/g/Gnathosaur.java +++ b/Mage.Sets/src/mage/cards/g/Gnathosaur.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -56,7 +57,7 @@ public class Gnathosaur extends CardImpl { public Gnathosaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GnawingZombie.java b/Mage.Sets/src/mage/cards/g/GnawingZombie.java index a43b14afe29..6ec00a39109 100644 --- a/Mage.Sets/src/mage/cards/g/GnawingZombie.java +++ b/Mage.Sets/src/mage/cards/g/GnawingZombie.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; import mage.target.common.TargetControlledCreaturePermanent; @@ -50,7 +51,7 @@ public class GnawingZombie extends CardImpl { public GnawingZombie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/Goatnapper.java b/Mage.Sets/src/mage/cards/g/Goatnapper.java index 90936071f28..dd0e2dba9a6 100644 --- a/Mage.Sets/src/mage/cards/g/Goatnapper.java +++ b/Mage.Sets/src/mage/cards/g/Goatnapper.java @@ -58,8 +58,8 @@ public class Goatnapper extends CardImpl { public Goatnapper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GobblingOoze.java b/Mage.Sets/src/mage/cards/g/GobblingOoze.java index 38233634b84..c380e4aee5e 100644 --- a/Mage.Sets/src/mage/cards/g/GobblingOoze.java +++ b/Mage.Sets/src/mage/cards/g/GobblingOoze.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.StaticFilters; @@ -50,7 +51,7 @@ public class GobblingOoze extends CardImpl { public GobblingOoze(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); - this.subtype.add("Ooze"); + this.subtype.add(SubType.OOZE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GobhobblerRats.java b/Mage.Sets/src/mage/cards/g/GobhobblerRats.java index 77333a1ba06..76ec6cdd07f 100644 --- a/Mage.Sets/src/mage/cards/g/GobhobblerRats.java +++ b/Mage.Sets/src/mage/cards/g/GobhobblerRats.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class GobhobblerRats extends CardImpl { public GobhobblerRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{R}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinArchaeologist.java b/Mage.Sets/src/mage/cards/g/GoblinArchaeologist.java index 9ed3358eedb..488700f2489 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinArchaeologist.java +++ b/Mage.Sets/src/mage/cards/g/GoblinArchaeologist.java @@ -16,6 +16,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -31,8 +32,8 @@ public class GoblinArchaeologist extends CardImpl { public GoblinArchaeologist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinArsonist.java b/Mage.Sets/src/mage/cards/g/GoblinArsonist.java index f357c31f8ac..ad0e68fefcb 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinArsonist.java +++ b/Mage.Sets/src/mage/cards/g/GoblinArsonist.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; /** @@ -45,8 +46,8 @@ public class GoblinArsonist extends CardImpl { public GoblinArsonist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinArtillery.java b/Mage.Sets/src/mage/cards/g/GoblinArtillery.java index 7128cd1295e..1668e5e3d1b 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinArtillery.java +++ b/Mage.Sets/src/mage/cards/g/GoblinArtillery.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class GoblinArtillery extends CardImpl { public GoblinArtillery(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GoblinArtisans.java b/Mage.Sets/src/mage/cards/g/GoblinArtisans.java index b078845e029..8c5e249696b 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinArtisans.java +++ b/Mage.Sets/src/mage/cards/g/GoblinArtisans.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -62,8 +63,8 @@ public class GoblinArtisans extends CardImpl { public GoblinArtisans(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinAssassin.java b/Mage.Sets/src/mage/cards/g/GoblinAssassin.java index a5d4cc1311e..5f76c8f0320 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinAssassin.java +++ b/Mage.Sets/src/mage/cards/g/GoblinAssassin.java @@ -54,8 +54,8 @@ public class GoblinAssassin extends CardImpl { public GoblinAssassin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinBalloonBrigade.java b/Mage.Sets/src/mage/cards/g/GoblinBalloonBrigade.java index dc3119925c9..45a3c6e26fe 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinBalloonBrigade.java +++ b/Mage.Sets/src/mage/cards/g/GoblinBalloonBrigade.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class GoblinBalloonBrigade extends CardImpl { public GoblinBalloonBrigade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinBangchuckers.java b/Mage.Sets/src/mage/cards/g/GoblinBangchuckers.java index b737295789c..b2de386b84a 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinBangchuckers.java +++ b/Mage.Sets/src/mage/cards/g/GoblinBangchuckers.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,8 +52,8 @@ public class GoblinBangchuckers extends CardImpl { public GoblinBangchuckers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinBattleJester.java b/Mage.Sets/src/mage/cards/g/GoblinBattleJester.java index 6d0577d9eb9..c50c8653a26 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinBattleJester.java +++ b/Mage.Sets/src/mage/cards/g/GoblinBattleJester.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.CantBlockTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -55,7 +56,7 @@ public class GoblinBattleJester extends CardImpl { public GoblinBattleJester(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinBerserker.java b/Mage.Sets/src/mage/cards/g/GoblinBerserker.java index 6136799bd13..8f7136f1704 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinBerserker.java +++ b/Mage.Sets/src/mage/cards/g/GoblinBerserker.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class GoblinBerserker extends CardImpl { public GoblinBerserker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinBrawler.java b/Mage.Sets/src/mage/cards/g/GoblinBrawler.java index 0e085dee1e0..1e939ee4fc3 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinBrawler.java +++ b/Mage.Sets/src/mage/cards/g/GoblinBrawler.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class GoblinBrawler extends CardImpl { public GoblinBrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinBrigand.java b/Mage.Sets/src/mage/cards/g/GoblinBrigand.java index 77b17115f76..1377c79e56c 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinBrigand.java +++ b/Mage.Sets/src/mage/cards/g/GoblinBrigand.java @@ -33,6 +33,7 @@ import mage.abilities.common.AttacksEachTurnStaticAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GoblinBrigand extends CardImpl { public GoblinBrigand(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinBully.java b/Mage.Sets/src/mage/cards/g/GoblinBully.java index 2d9acb14b73..4ed750fd9db 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinBully.java +++ b/Mage.Sets/src/mage/cards/g/GoblinBully.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class GoblinBully extends CardImpl { public GoblinBully(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinBushwhacker.java b/Mage.Sets/src/mage/cards/g/GoblinBushwhacker.java index ac6c7839b21..f98ac39ade9 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinBushwhacker.java +++ b/Mage.Sets/src/mage/cards/g/GoblinBushwhacker.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -49,8 +50,8 @@ public class GoblinBushwhacker extends CardImpl { public GoblinBushwhacker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinCadets.java b/Mage.Sets/src/mage/cards/g/GoblinCadets.java index 7aab7cd068c..281d5bf4091 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinCadets.java +++ b/Mage.Sets/src/mage/cards/g/GoblinCadets.java @@ -47,7 +47,7 @@ public class GoblinCadets extends CardImpl { public GoblinCadets(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinCavaliers.java b/Mage.Sets/src/mage/cards/g/GoblinCavaliers.java index 504a4a53f6a..87573becadc 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinCavaliers.java +++ b/Mage.Sets/src/mage/cards/g/GoblinCavaliers.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class GoblinCavaliers extends CardImpl { public GoblinCavaliers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinCaves.java b/Mage.Sets/src/mage/cards/g/GoblinCaves.java index fd91e053e3f..cea705ca57e 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinCaves.java +++ b/Mage.Sets/src/mage/cards/g/GoblinCaves.java @@ -53,7 +53,7 @@ public class GoblinCaves extends CardImpl { public GoblinCaves(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GoblinChariot.java b/Mage.Sets/src/mage/cards/g/GoblinChariot.java index ed73e9e96bd..66bd1cecbec 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinChariot.java +++ b/Mage.Sets/src/mage/cards/g/GoblinChariot.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GoblinChariot extends CardImpl { public GoblinChariot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinChieftain.java b/Mage.Sets/src/mage/cards/g/GoblinChieftain.java index 2b15368cdff..672e651c455 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinChieftain.java +++ b/Mage.Sets/src/mage/cards/g/GoblinChieftain.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -50,7 +51,7 @@ public class GoblinChieftain extends CardImpl { public GoblinChieftain(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinChirurgeon.java b/Mage.Sets/src/mage/cards/g/GoblinChirurgeon.java index 70ddd4cbae8..4fb6a138422 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinChirurgeon.java +++ b/Mage.Sets/src/mage/cards/g/GoblinChirurgeon.java @@ -50,8 +50,8 @@ public class GoblinChirurgeon extends CardImpl { public GoblinChirurgeon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinClearcutter.java b/Mage.Sets/src/mage/cards/g/GoblinClearcutter.java index 27b2530789b..0c4b0143549 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinClearcutter.java +++ b/Mage.Sets/src/mage/cards/g/GoblinClearcutter.java @@ -64,7 +64,7 @@ public class GoblinClearcutter extends CardImpl { public GoblinClearcutter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GoblinCohort.java b/Mage.Sets/src/mage/cards/g/GoblinCohort.java index ce4b7c5533f..8f16f6b9961 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinCohort.java +++ b/Mage.Sets/src/mage/cards/g/GoblinCohort.java @@ -35,6 +35,7 @@ import mage.abilities.effects.RestrictionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -49,8 +50,8 @@ public class GoblinCohort extends CardImpl { public GoblinCohort(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinCommando.java b/Mage.Sets/src/mage/cards/g/GoblinCommando.java index 6028ccc9dfb..7dba905b8a8 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinCommando.java +++ b/Mage.Sets/src/mage/cards/g/GoblinCommando.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -45,7 +46,7 @@ public class GoblinCommando extends CardImpl { public GoblinCommando(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinDarkDwellers.java b/Mage.Sets/src/mage/cards/g/GoblinDarkDwellers.java index 99788b033d2..31b558779ce 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinDarkDwellers.java +++ b/Mage.Sets/src/mage/cards/g/GoblinDarkDwellers.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Outcome; @@ -66,7 +67,7 @@ public class GoblinDarkDwellers extends CardImpl { public GoblinDarkDwellers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GoblinDeathraiders.java b/Mage.Sets/src/mage/cards/g/GoblinDeathraiders.java index 67474a2638a..af90b941122 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinDeathraiders.java +++ b/Mage.Sets/src/mage/cards/g/GoblinDeathraiders.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GoblinDeathraiders extends CardImpl { public GoblinDeathraiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinDiggingTeam.java b/Mage.Sets/src/mage/cards/g/GoblinDiggingTeam.java index 6b09a8f92d1..eedc2d43b92 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinDiggingTeam.java +++ b/Mage.Sets/src/mage/cards/g/GoblinDiggingTeam.java @@ -56,7 +56,7 @@ public class GoblinDiggingTeam extends CardImpl { public GoblinDiggingTeam(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinDiplomats.java b/Mage.Sets/src/mage/cards/g/GoblinDiplomats.java index e9f16f655de..107131ae4f7 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinDiplomats.java +++ b/Mage.Sets/src/mage/cards/g/GoblinDiplomats.java @@ -36,6 +36,7 @@ import mage.abilities.effects.RequirementEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -49,7 +50,7 @@ public class GoblinDiplomats extends CardImpl { public GoblinDiplomats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinDirigible.java b/Mage.Sets/src/mage/cards/g/GoblinDirigible.java index e676c1a9495..be3afc6da86 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinDirigible.java +++ b/Mage.Sets/src/mage/cards/g/GoblinDirigible.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class GoblinDirigible extends CardImpl { public GoblinDirigible(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GoblinDynamo.java b/Mage.Sets/src/mage/cards/g/GoblinDynamo.java index f7b047658dd..889ebeff62a 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinDynamo.java +++ b/Mage.Sets/src/mage/cards/g/GoblinDynamo.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class GoblinDynamo extends CardImpl { public GoblinDynamo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GoblinElectromancer.java b/Mage.Sets/src/mage/cards/g/GoblinElectromancer.java index 84b75f51184..4ac64f03caf 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinElectromancer.java +++ b/Mage.Sets/src/mage/cards/g/GoblinElectromancer.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; @@ -55,8 +56,8 @@ public class GoblinElectromancer extends CardImpl { public GoblinElectromancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinEliteInfantry.java b/Mage.Sets/src/mage/cards/g/GoblinEliteInfantry.java index c71ea10830e..84694d65181 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinEliteInfantry.java +++ b/Mage.Sets/src/mage/cards/g/GoblinEliteInfantry.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,8 +45,8 @@ public class GoblinEliteInfantry extends CardImpl { public GoblinEliteInfantry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinFireFiend.java b/Mage.Sets/src/mage/cards/g/GoblinFireFiend.java index cbfa9591a76..9e86eab09dd 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinFireFiend.java +++ b/Mage.Sets/src/mage/cards/g/GoblinFireFiend.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class GoblinFireFiend extends CardImpl { public GoblinFireFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinFirebug.java b/Mage.Sets/src/mage/cards/g/GoblinFirebug.java index e2cbf5d66d7..9dee0228e26 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinFirebug.java +++ b/Mage.Sets/src/mage/cards/g/GoblinFirebug.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; /** @@ -44,7 +45,7 @@ public class GoblinFirebug extends CardImpl { public GoblinFirebug(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinFireslinger.java b/Mage.Sets/src/mage/cards/g/GoblinFireslinger.java index 092d70475de..d417c1ac96a 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinFireslinger.java +++ b/Mage.Sets/src/mage/cards/g/GoblinFireslinger.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -47,8 +48,8 @@ public class GoblinFireslinger extends CardImpl { public GoblinFireslinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinFirestarter.java b/Mage.Sets/src/mage/cards/g/GoblinFirestarter.java index 6311f7d6661..7f0afb2fe7f 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinFirestarter.java +++ b/Mage.Sets/src/mage/cards/g/GoblinFirestarter.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,7 +49,7 @@ public class GoblinFirestarter extends CardImpl { public GoblinFirestarter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinFlectomancer.java b/Mage.Sets/src/mage/cards/g/GoblinFlectomancer.java index e8c7b47edc0..e2993c0d9cb 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinFlectomancer.java +++ b/Mage.Sets/src/mage/cards/g/GoblinFlectomancer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.ChooseNewTargetsTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterInstantOrSorcerySpell; import mage.target.TargetSpell; @@ -49,8 +50,8 @@ public class GoblinFlectomancer extends CardImpl { public GoblinFlectomancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinFlotilla.java b/Mage.Sets/src/mage/cards/g/GoblinFlotilla.java index e8ebd078bb3..31673be49dc 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinFlotilla.java +++ b/Mage.Sets/src/mage/cards/g/GoblinFlotilla.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; @@ -51,7 +52,7 @@ public class GoblinFlotilla extends CardImpl { public GoblinFlotilla(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinFreerunner.java b/Mage.Sets/src/mage/cards/g/GoblinFreerunner.java index 729c0325141..a35e8f22c78 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinFreerunner.java +++ b/Mage.Sets/src/mage/cards/g/GoblinFreerunner.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.SurgeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,9 +44,9 @@ public class GoblinFreerunner extends CardImpl { public GoblinFreerunner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); - this.subtype.add("Ally"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ALLY); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinGardener.java b/Mage.Sets/src/mage/cards/g/GoblinGardener.java index 0885514f8da..82d042824c3 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinGardener.java +++ b/Mage.Sets/src/mage/cards/g/GoblinGardener.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetLandPermanent; /** @@ -46,7 +47,7 @@ public class GoblinGardener extends CardImpl { public GoblinGardener(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinGaveleer.java b/Mage.Sets/src/mage/cards/g/GoblinGaveleer.java index e208a693868..c68e16118ea 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinGaveleer.java +++ b/Mage.Sets/src/mage/cards/g/GoblinGaveleer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class GoblinGaveleer extends CardImpl { public GoblinGaveleer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinGeneral.java b/Mage.Sets/src/mage/cards/g/GoblinGeneral.java index 1dd8687f41b..05c8f161c41 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinGeneral.java +++ b/Mage.Sets/src/mage/cards/g/GoblinGeneral.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; @@ -45,8 +46,8 @@ public class GoblinGeneral extends CardImpl { public GoblinGeneral(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinGlider.java b/Mage.Sets/src/mage/cards/g/GoblinGlider.java index 02ba4b7c09a..5b0824b84e3 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinGlider.java +++ b/Mage.Sets/src/mage/cards/g/GoblinGlider.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GoblinGlider extends CardImpl { public GoblinGlider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinGloryChaser.java b/Mage.Sets/src/mage/cards/g/GoblinGloryChaser.java index 18891f770b7..d63dd615c17 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinGloryChaser.java +++ b/Mage.Sets/src/mage/cards/g/GoblinGloryChaser.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.RenownAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class GoblinGloryChaser extends CardImpl { public GoblinGloryChaser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinGoon.java b/Mage.Sets/src/mage/cards/g/GoblinGoon.java index 4f077ebd6c8..817d09611bc 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinGoon.java +++ b/Mage.Sets/src/mage/cards/g/GoblinGoon.java @@ -35,6 +35,7 @@ import mage.abilities.effects.RestrictionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -50,8 +51,8 @@ public class GoblinGoon extends CardImpl { public GoblinGoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/g/GoblinGrappler.java b/Mage.Sets/src/mage/cards/g/GoblinGrappler.java index 51715f4b530..77c1914d31d 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinGrappler.java +++ b/Mage.Sets/src/mage/cards/g/GoblinGrappler.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ProvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class GoblinGrappler extends CardImpl { public GoblinGrappler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinGrenadiers.java b/Mage.Sets/src/mage/cards/g/GoblinGrenadiers.java index 9f3e699093c..cea2cb9d8ed 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinGrenadiers.java +++ b/Mage.Sets/src/mage/cards/g/GoblinGrenadiers.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DoIfCostPaid; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetLandPermanent; @@ -49,7 +50,7 @@ public class GoblinGrenadiers extends CardImpl { public GoblinGrenadiers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinGuide.java b/Mage.Sets/src/mage/cards/g/GoblinGuide.java index b9609893181..29d74310545 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinGuide.java +++ b/Mage.Sets/src/mage/cards/g/GoblinGuide.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.HasteAbility; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -54,8 +55,8 @@ public class GoblinGuide extends CardImpl { public GoblinGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Scout"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinHeelcutter.java b/Mage.Sets/src/mage/cards/g/GoblinHeelcutter.java index 90e3d7c92e0..71276fe015f 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinHeelcutter.java +++ b/Mage.Sets/src/mage/cards/g/GoblinHeelcutter.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -47,8 +48,8 @@ public class GoblinHeelcutter extends CardImpl { public GoblinHeelcutter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinHero.java b/Mage.Sets/src/mage/cards/g/GoblinHero.java index 7dff5724981..6f77876f967 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinHero.java +++ b/Mage.Sets/src/mage/cards/g/GoblinHero.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class GoblinHero extends CardImpl { public GoblinHero(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinKaboomist.java b/Mage.Sets/src/mage/cards/g/GoblinKaboomist.java index 09f16621573..a214ef02086 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinKaboomist.java +++ b/Mage.Sets/src/mage/cards/g/GoblinKaboomist.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.game.Game; @@ -51,8 +52,8 @@ public class GoblinKaboomist extends CardImpl { public GoblinKaboomist(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinKing.java b/Mage.Sets/src/mage/cards/g/GoblinKing.java index cf366241012..66f139a5250 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinKing.java +++ b/Mage.Sets/src/mage/cards/g/GoblinKing.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MountainwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -49,7 +50,7 @@ public class GoblinKing extends CardImpl { public GoblinKing(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinLackey.java b/Mage.Sets/src/mage/cards/g/GoblinLackey.java index 1067ad692a2..f937117f0ad 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinLackey.java +++ b/Mage.Sets/src/mage/cards/g/GoblinLackey.java @@ -52,7 +52,7 @@ public class GoblinLackey extends CardImpl { public GoblinLackey(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinLegionnaire.java b/Mage.Sets/src/mage/cards/g/GoblinLegionnaire.java index b406e706f37..cd3c43e80b5 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinLegionnaire.java +++ b/Mage.Sets/src/mage/cards/g/GoblinLegionnaire.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class GoblinLegionnaire extends CardImpl { public GoblinLegionnaire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{W}"); - this.subtype.add("Goblin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinLookout.java b/Mage.Sets/src/mage/cards/g/GoblinLookout.java index 87d3b557925..22c84498a41 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinLookout.java +++ b/Mage.Sets/src/mage/cards/g/GoblinLookout.java @@ -59,7 +59,7 @@ public class GoblinLookout extends CardImpl { public GoblinLookout(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinMarshal.java b/Mage.Sets/src/mage/cards/g/GoblinMarshal.java index 7af33b214c1..4b8b4d302ee 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinMarshal.java +++ b/Mage.Sets/src/mage/cards/g/GoblinMarshal.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.GoblinToken; /** @@ -46,8 +47,8 @@ public class GoblinMarshal extends CardImpl { public GoblinMarshal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GoblinMasons.java b/Mage.Sets/src/mage/cards/g/GoblinMasons.java index 39e5c833094..80e02c5cb4d 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinMasons.java +++ b/Mage.Sets/src/mage/cards/g/GoblinMasons.java @@ -54,7 +54,7 @@ public class GoblinMasons extends CardImpl { public GoblinMasons(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinMatron.java b/Mage.Sets/src/mage/cards/g/GoblinMatron.java index 1ea58b524d4..8bdf08c6544 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinMatron.java +++ b/Mage.Sets/src/mage/cards/g/GoblinMatron.java @@ -53,7 +53,7 @@ public class GoblinMatron extends CardImpl { public GoblinMatron(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinMedics.java b/Mage.Sets/src/mage/cards/g/GoblinMedics.java index e1fdd72a6c6..a3a1cb6b133 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinMedics.java +++ b/Mage.Sets/src/mage/cards/g/GoblinMedics.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; /** @@ -45,8 +46,8 @@ public class GoblinMedics extends CardImpl { public GoblinMedics(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinMountaineer.java b/Mage.Sets/src/mage/cards/g/GoblinMountaineer.java index 8249211e2dc..f8dd9b9050b 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinMountaineer.java +++ b/Mage.Sets/src/mage/cards/g/GoblinMountaineer.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MountainwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class GoblinMountaineer extends CardImpl { public GoblinMountaineer (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Scout"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinMutant.java b/Mage.Sets/src/mage/cards/g/GoblinMutant.java index a4475309e0d..81a01f7a775 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinMutant.java +++ b/Mage.Sets/src/mage/cards/g/GoblinMutant.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -61,8 +62,8 @@ public class GoblinMutant extends CardImpl { public GoblinMutant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GoblinOutlander.java b/Mage.Sets/src/mage/cards/g/GoblinOutlander.java index 2a3c5aca77c..7a0704fd3f6 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinOutlander.java +++ b/Mage.Sets/src/mage/cards/g/GoblinOutlander.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class GoblinOutlander extends CardImpl { public GoblinOutlander(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Scout"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinPatrol.java b/Mage.Sets/src/mage/cards/g/GoblinPatrol.java index 72891e55a2b..1ed585acfff 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinPatrol.java +++ b/Mage.Sets/src/mage/cards/g/GoblinPatrol.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GoblinPatrol extends CardImpl { public GoblinPatrol(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinPiker.java b/Mage.Sets/src/mage/cards/g/GoblinPiker.java index eada94914ad..dbd40b533ea 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinPiker.java +++ b/Mage.Sets/src/mage/cards/g/GoblinPiker.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GoblinPiker extends CardImpl { public GoblinPiker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinPiledriver.java b/Mage.Sets/src/mage/cards/g/GoblinPiledriver.java index 1295e7096f3..97b34fbc38b 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinPiledriver.java +++ b/Mage.Sets/src/mage/cards/g/GoblinPiledriver.java @@ -59,8 +59,8 @@ public class GoblinPiledriver extends CardImpl { public GoblinPiledriver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinPyromancer.java b/Mage.Sets/src/mage/cards/g/GoblinPyromancer.java index a9e460b84ab..b8a71039553 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinPyromancer.java +++ b/Mage.Sets/src/mage/cards/g/GoblinPyromancer.java @@ -57,8 +57,8 @@ public class GoblinPyromancer extends CardImpl { public GoblinPyromancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinRabblemaster.java b/Mage.Sets/src/mage/cards/g/GoblinRabblemaster.java index 2cdc58b2592..6ab00da64ab 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinRabblemaster.java +++ b/Mage.Sets/src/mage/cards/g/GoblinRabblemaster.java @@ -67,8 +67,8 @@ public class GoblinRabblemaster extends CardImpl { public GoblinRabblemaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinRacketeer.java b/Mage.Sets/src/mage/cards/g/GoblinRacketeer.java index c08e55657d1..4445a2d8f79 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinRacketeer.java +++ b/Mage.Sets/src/mage/cards/g/GoblinRacketeer.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.GoadTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; import mage.game.Game; @@ -51,8 +52,8 @@ public class GoblinRacketeer extends CardImpl { public GoblinRacketeer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinRaider.java b/Mage.Sets/src/mage/cards/g/GoblinRaider.java index 75a39002823..1a16ff6c92a 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinRaider.java +++ b/Mage.Sets/src/mage/cards/g/GoblinRaider.java @@ -33,6 +33,7 @@ import mage.abilities.common.CantBlockAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GoblinRaider extends CardImpl { public GoblinRaider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinRazerunners.java b/Mage.Sets/src/mage/cards/g/GoblinRazerunners.java index 358beb0ff74..9b0398b985f 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinRazerunners.java +++ b/Mage.Sets/src/mage/cards/g/GoblinRazerunners.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledLandPermanent; @@ -58,8 +59,8 @@ public class GoblinRazerunners extends CardImpl { public GoblinRazerunners (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GoblinRecruiter.java b/Mage.Sets/src/mage/cards/g/GoblinRecruiter.java index d286872bf88..1a0e005e4cc 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinRecruiter.java +++ b/Mage.Sets/src/mage/cards/g/GoblinRecruiter.java @@ -53,7 +53,7 @@ public class GoblinRecruiter extends CardImpl { public GoblinRecruiter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinReplica.java b/Mage.Sets/src/mage/cards/g/GoblinReplica.java index 13ba293f321..8161e8e072e 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinReplica.java +++ b/Mage.Sets/src/mage/cards/g/GoblinReplica.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -56,7 +57,7 @@ public class GoblinReplica extends CardImpl { public GoblinReplica(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{3}{R}")); diff --git a/Mage.Sets/src/mage/cards/g/GoblinRingleader.java b/Mage.Sets/src/mage/cards/g/GoblinRingleader.java index 7036c20cbaa..f62d672e045 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinRingleader.java +++ b/Mage.Sets/src/mage/cards/g/GoblinRingleader.java @@ -54,7 +54,7 @@ public class GoblinRingleader extends CardImpl { public GoblinRingleader(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinRoughrider.java b/Mage.Sets/src/mage/cards/g/GoblinRoughrider.java index ea2bffad23d..890e60e763b 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinRoughrider.java +++ b/Mage.Sets/src/mage/cards/g/GoblinRoughrider.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GoblinRoughrider extends CardImpl { public GoblinRoughrider (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Knight"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.KNIGHT); this.color.setRed(true); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinRuinblaster.java b/Mage.Sets/src/mage/cards/g/GoblinRuinblaster.java index c500204f6ba..f42c1ff93fb 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinRuinblaster.java +++ b/Mage.Sets/src/mage/cards/g/GoblinRuinblaster.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetNonBasicLandPermanent; /** @@ -50,8 +51,8 @@ public class GoblinRuinblaster extends CardImpl { public GoblinRuinblaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinSettler.java b/Mage.Sets/src/mage/cards/g/GoblinSettler.java index 529915b2bbb..cd007830517 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinSettler.java +++ b/Mage.Sets/src/mage/cards/g/GoblinSettler.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetLandPermanent; /** @@ -45,7 +46,7 @@ public class GoblinSettler extends CardImpl { public GoblinSettler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinSharpshooter.java b/Mage.Sets/src/mage/cards/g/GoblinSharpshooter.java index 9102875ff6a..211c1d81ccb 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinSharpshooter.java +++ b/Mage.Sets/src/mage/cards/g/GoblinSharpshooter.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -51,7 +52,7 @@ public class GoblinSharpshooter extends CardImpl { public GoblinSharpshooter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinShortcutter.java b/Mage.Sets/src/mage/cards/g/GoblinShortcutter.java index 1c3d60ed12e..34d27463d09 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinShortcutter.java +++ b/Mage.Sets/src/mage/cards/g/GoblinShortcutter.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantBlockTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -46,8 +47,8 @@ public class GoblinShortcutter extends CardImpl { public GoblinShortcutter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Scout"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinShrine.java b/Mage.Sets/src/mage/cards/g/GoblinShrine.java index e0ad3013dcc..bba9f70d00a 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinShrine.java +++ b/Mage.Sets/src/mage/cards/g/GoblinShrine.java @@ -68,7 +68,7 @@ public class GoblinShrine extends CardImpl { public GoblinShrine(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GoblinSkyRaider.java b/Mage.Sets/src/mage/cards/g/GoblinSkyRaider.java index 10d1a363e51..c913f680054 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinSkyRaider.java +++ b/Mage.Sets/src/mage/cards/g/GoblinSkyRaider.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GoblinSkyRaider extends CardImpl { public GoblinSkyRaider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinSkycutter.java b/Mage.Sets/src/mage/cards/g/GoblinSkycutter.java index c43f5b17d78..16147bfc0f0 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinSkycutter.java +++ b/Mage.Sets/src/mage/cards/g/GoblinSkycutter.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -59,8 +60,8 @@ public class GoblinSkycutter extends CardImpl { public GoblinSkycutter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinSledder.java b/Mage.Sets/src/mage/cards/g/GoblinSledder.java index fa1a11cc9e0..2c247cd989c 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinSledder.java +++ b/Mage.Sets/src/mage/cards/g/GoblinSledder.java @@ -58,7 +58,7 @@ public class GoblinSledder extends CardImpl { public GoblinSledder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinSnowman.java b/Mage.Sets/src/mage/cards/g/GoblinSnowman.java index 3e24c11aeb2..bb9ea0649fd 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinSnowman.java +++ b/Mage.Sets/src/mage/cards/g/GoblinSnowman.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.PreventCombatDamageToSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterAttackingCreature; @@ -54,7 +55,7 @@ public class GoblinSnowman extends CardImpl { public GoblinSnowman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinSoothsayer.java b/Mage.Sets/src/mage/cards/g/GoblinSoothsayer.java index b22d8979589..fd560f1d6e9 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinSoothsayer.java +++ b/Mage.Sets/src/mage/cards/g/GoblinSoothsayer.java @@ -64,8 +64,8 @@ public class GoblinSoothsayer extends CardImpl { public GoblinSoothsayer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinSpelunkers.java b/Mage.Sets/src/mage/cards/g/GoblinSpelunkers.java index f0fbfdc0678..1f663e31920 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinSpelunkers.java +++ b/Mage.Sets/src/mage/cards/g/GoblinSpelunkers.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.MountainwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GoblinSpelunkers extends CardImpl { public GoblinSpelunkers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinSpy.java b/Mage.Sets/src/mage/cards/g/GoblinSpy.java index a3462e7b6e3..f72bd32bddf 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinSpy.java +++ b/Mage.Sets/src/mage/cards/g/GoblinSpy.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.PlayWithTheTopCardRevealedEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -44,8 +45,8 @@ public class GoblinSpy extends CardImpl { public GoblinSpy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinSpymaster.java b/Mage.Sets/src/mage/cards/g/GoblinSpymaster.java index c82cca951d2..cd4448de52a 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinSpymaster.java +++ b/Mage.Sets/src/mage/cards/g/GoblinSpymaster.java @@ -50,8 +50,8 @@ public class GoblinSpymaster extends CardImpl { public GoblinSpymaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinStriker.java b/Mage.Sets/src/mage/cards/g/GoblinStriker.java index 04ccbdfe96b..d26540b8f3b 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinStriker.java +++ b/Mage.Sets/src/mage/cards/g/GoblinStriker.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class GoblinStriker extends CardImpl { public GoblinStriker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinSwineRider.java b/Mage.Sets/src/mage/cards/g/GoblinSwineRider.java index b2cda8071ad..28c954a59ab 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinSwineRider.java +++ b/Mage.Sets/src/mage/cards/g/GoblinSwineRider.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterAttackingOrBlockingCreature; /** @@ -44,7 +45,7 @@ public class GoblinSwineRider extends CardImpl { public GoblinSwineRider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinTaskmaster.java b/Mage.Sets/src/mage/cards/g/GoblinTaskmaster.java index 5e1ffdfe3d6..ef93d186ba7 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinTaskmaster.java +++ b/Mage.Sets/src/mage/cards/g/GoblinTaskmaster.java @@ -58,7 +58,7 @@ public class GoblinTaskmaster extends CardImpl { public GoblinTaskmaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinTestPilot.java b/Mage.Sets/src/mage/cards/g/GoblinTestPilot.java index e0125233edc..247d7a51d1d 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinTestPilot.java +++ b/Mage.Sets/src/mage/cards/g/GoblinTestPilot.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.Target; import mage.target.common.TargetCreatureOrPlayer; @@ -49,9 +50,9 @@ public class GoblinTestPilot extends CardImpl { public GoblinTestPilot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Pilot"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.PILOT); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinTinkerer.java b/Mage.Sets/src/mage/cards/g/GoblinTinkerer.java index 6bd70ac464c..f12b67014e7 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinTinkerer.java +++ b/Mage.Sets/src/mage/cards/g/GoblinTinkerer.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -53,8 +54,8 @@ public class GoblinTinkerer extends CardImpl { public GoblinTinkerer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinTunneler.java b/Mage.Sets/src/mage/cards/g/GoblinTunneler.java index 51823c744eb..faf3f434a0b 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinTunneler.java +++ b/Mage.Sets/src/mage/cards/g/GoblinTunneler.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -57,8 +58,8 @@ public class GoblinTunneler extends CardImpl { public GoblinTunneler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinTurncoat.java b/Mage.Sets/src/mage/cards/g/GoblinTurncoat.java index 4e3cb371b20..214fd862be3 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinTurncoat.java +++ b/Mage.Sets/src/mage/cards/g/GoblinTurncoat.java @@ -56,8 +56,8 @@ public class GoblinTurncoat extends CardImpl { public GoblinTurncoat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinVandal.java b/Mage.Sets/src/mage/cards/g/GoblinVandal.java index 4b41cd7c31a..0f35d9b0820 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinVandal.java +++ b/Mage.Sets/src/mage/cards/g/GoblinVandal.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.AssignNoCombatDamageSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -59,8 +60,8 @@ public class GoblinVandal extends CardImpl { public GoblinVandal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinWarBuggy.java b/Mage.Sets/src/mage/cards/g/GoblinWarBuggy.java index 9e8ffb278ee..32a5a9bb0dc 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinWarBuggy.java +++ b/Mage.Sets/src/mage/cards/g/GoblinWarBuggy.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class GoblinWarBuggy extends CardImpl { public GoblinWarBuggy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinWarPaint.java b/Mage.Sets/src/mage/cards/g/GoblinWarPaint.java index 518191a5282..69b6013ca71 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinWarPaint.java +++ b/Mage.Sets/src/mage/cards/g/GoblinWarPaint.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -53,7 +54,7 @@ public class GoblinWarPaint extends CardImpl { public GoblinWarPaint(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/g/GoblinWarWagon.java b/Mage.Sets/src/mage/cards/g/GoblinWarWagon.java index b076fa4e56c..a16fd044800 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinWarWagon.java +++ b/Mage.Sets/src/mage/cards/g/GoblinWarWagon.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class GoblinWarWagon extends CardImpl { public GoblinWarWagon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Juggernaut"); + this.subtype.add(SubType.JUGGERNAUT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GoblinWarchief.java b/Mage.Sets/src/mage/cards/g/GoblinWarchief.java index 849c64cd939..2d79eade952 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinWarchief.java +++ b/Mage.Sets/src/mage/cards/g/GoblinWarchief.java @@ -59,8 +59,8 @@ public class GoblinWarchief extends CardImpl { public GoblinWarchief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinWardriver.java b/Mage.Sets/src/mage/cards/g/GoblinWardriver.java index dd730b63cc7..5b6bbc18e26 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinWardriver.java +++ b/Mage.Sets/src/mage/cards/g/GoblinWardriver.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.BattleCryAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class GoblinWardriver extends CardImpl { public GoblinWardriver (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoblinWelder.java b/Mage.Sets/src/mage/cards/g/GoblinWelder.java index 3d163027188..646f298948b 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinWelder.java +++ b/Mage.Sets/src/mage/cards/g/GoblinWelder.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterArtifactCard; @@ -55,8 +56,8 @@ public class GoblinWelder extends CardImpl { public GoblinWelder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinWizard.java b/Mage.Sets/src/mage/cards/g/GoblinWizard.java index 71d4a16844a..755c51e88bc 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinWizard.java +++ b/Mage.Sets/src/mage/cards/g/GoblinWizard.java @@ -64,8 +64,8 @@ public class GoblinWizard extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); this.rarity = Rarity.RARE; - this.subtype.add("Goblin"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoblinsOfTheFlarg.java b/Mage.Sets/src/mage/cards/g/GoblinsOfTheFlarg.java index 38033ea0e97..5e217e9f2cc 100644 --- a/Mage.Sets/src/mage/cards/g/GoblinsOfTheFlarg.java +++ b/Mage.Sets/src/mage/cards/g/GoblinsOfTheFlarg.java @@ -53,8 +53,8 @@ public class GoblinsOfTheFlarg extends CardImpl { public GoblinsOfTheFlarg(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GodFavoredGeneral.java b/Mage.Sets/src/mage/cards/g/GodFavoredGeneral.java index 96f61d8c6ae..18e71fe7452 100644 --- a/Mage.Sets/src/mage/cards/g/GodFavoredGeneral.java +++ b/Mage.Sets/src/mage/cards/g/GodFavoredGeneral.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.InspiredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.GodFavoredGeneralSoldierToken; /** @@ -46,8 +47,8 @@ public class GodFavoredGeneral extends CardImpl { public GodFavoredGeneral(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GodPharaohsFaithful.java b/Mage.Sets/src/mage/cards/g/GodPharaohsFaithful.java index 43028a4b0fd..3f11c73617a 100644 --- a/Mage.Sets/src/mage/cards/g/GodPharaohsFaithful.java +++ b/Mage.Sets/src/mage/cards/g/GodPharaohsFaithful.java @@ -1,73 +1,74 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.g; - -import java.util.UUID; -import mage.MageInt; -import mage.ObjectColor; -import mage.abilities.common.SpellCastControllerTriggeredAbility; -import mage.abilities.effects.common.GainLifeEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.FilterSpell; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.ColorPredicate; - -/** - * - * @author emerald000 - */ -public class GodPharaohsFaithful extends CardImpl { - - private static final FilterSpell filter = new FilterSpell("a blue, black or red spell"); - static { - filter.add(Predicates.or(new ColorPredicate(ObjectColor.BLUE), new ColorPredicate(ObjectColor.BLACK), new ColorPredicate(ObjectColor.RED))); - } - - public GodPharaohsFaithful(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}"); - - this.subtype.add("Human"); - this.subtype.add("Wizard"); - this.power = new MageInt(0); - this.toughness = new MageInt(4); - - // Whenever you cast a blue, black or red spell, you gain 1 life. - this.addAbility(new SpellCastControllerTriggeredAbility(new GainLifeEffect(1), filter, false)); - } - - public GodPharaohsFaithful(final GodPharaohsFaithful card) { - super(card); - } - - @Override - public GodPharaohsFaithful copy() { - return new GodPharaohsFaithful(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.g; + +import java.util.UUID; +import mage.MageInt; +import mage.ObjectColor; +import mage.abilities.common.SpellCastControllerTriggeredAbility; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.FilterSpell; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.ColorPredicate; + +/** + * + * @author emerald000 + */ +public class GodPharaohsFaithful extends CardImpl { + + private static final FilterSpell filter = new FilterSpell("a blue, black or red spell"); + static { + filter.add(Predicates.or(new ColorPredicate(ObjectColor.BLUE), new ColorPredicate(ObjectColor.BLACK), new ColorPredicate(ObjectColor.RED))); + } + + public GodPharaohsFaithful(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(0); + this.toughness = new MageInt(4); + + // Whenever you cast a blue, black or red spell, you gain 1 life. + this.addAbility(new SpellCastControllerTriggeredAbility(new GainLifeEffect(1), filter, false)); + } + + public GodPharaohsFaithful(final GodPharaohsFaithful card) { + super(card); + } + + @Override + public GodPharaohsFaithful copy() { + return new GodPharaohsFaithful(this); + } +} diff --git a/Mage.Sets/src/mage/cards/g/GodheadOfAwe.java b/Mage.Sets/src/mage/cards/g/GodheadOfAwe.java index 1ff3e3541aa..1526f1791de 100644 --- a/Mage.Sets/src/mage/cards/g/GodheadOfAwe.java +++ b/Mage.Sets/src/mage/cards/g/GodheadOfAwe.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -57,8 +58,8 @@ public class GodheadOfAwe extends CardImpl { public GodheadOfAwe(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W/U}{W/U}{W/U}{W/U}{W/U}"); - this.subtype.add("Spirit"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GodhunterOctopus.java b/Mage.Sets/src/mage/cards/g/GodhunterOctopus.java index 20ab963c612..0b96005bece 100644 --- a/Mage.Sets/src/mage/cards/g/GodhunterOctopus.java +++ b/Mage.Sets/src/mage/cards/g/GodhunterOctopus.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CantAttackUnlessDefenderControllsPer import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -56,7 +57,7 @@ public class GodhunterOctopus extends CardImpl { public GodhunterOctopus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Octopus"); + this.subtype.add(SubType.OCTOPUS); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GodlessShrine.java b/Mage.Sets/src/mage/cards/g/GodlessShrine.java index f2cff2b36a5..56280937680 100644 --- a/Mage.Sets/src/mage/cards/g/GodlessShrine.java +++ b/Mage.Sets/src/mage/cards/g/GodlessShrine.java @@ -37,6 +37,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class GodlessShrine extends CardImpl { public GodlessShrine (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},null); - this.subtype.add("Plains"); - this.subtype.add("Swamp"); + this.subtype.add(SubType.PLAINS); + this.subtype.add(SubType.SWAMP); this.addAbility(new WhiteManaAbility()); this.addAbility(new BlackManaAbility()); this.addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new PayLifeCost(2)), "you may pay 2 life. If you don't, Godless Shrine enters the battlefield tapped")); diff --git a/Mage.Sets/src/mage/cards/g/GodoBanditWarlord.java b/Mage.Sets/src/mage/cards/g/GodoBanditWarlord.java index d50ca31fdd3..0cc73b3cb0b 100644 --- a/Mage.Sets/src/mage/cards/g/GodoBanditWarlord.java +++ b/Mage.Sets/src/mage/cards/g/GodoBanditWarlord.java @@ -69,8 +69,8 @@ public class GodoBanditWarlord extends CardImpl { public GodoBanditWarlord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Barbarian"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BARBARIAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GodosIrregulars.java b/Mage.Sets/src/mage/cards/g/GodosIrregulars.java index 1aeeb8e9903..9feacc74f68 100644 --- a/Mage.Sets/src/mage/cards/g/GodosIrregulars.java +++ b/Mage.Sets/src/mage/cards/g/GodosIrregulars.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.BlockingAttackerIdPredicate; @@ -49,8 +50,8 @@ public class GodosIrregulars extends CardImpl { public GodosIrregulars(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/Godsend.java b/Mage.Sets/src/mage/cards/g/Godsend.java index 9581b518b5e..580494ee006 100644 --- a/Mage.Sets/src/mage/cards/g/Godsend.java +++ b/Mage.Sets/src/mage/cards/g/Godsend.java @@ -65,7 +65,7 @@ public class Godsend extends CardImpl { public Godsend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +3/+3. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 3, Duration.WhileOnBattlefield))); diff --git a/Mage.Sets/src/mage/cards/g/Godsire.java b/Mage.Sets/src/mage/cards/g/Godsire.java index 938b99c8a7f..76bcf5f3ec6 100644 --- a/Mage.Sets/src/mage/cards/g/Godsire.java +++ b/Mage.Sets/src/mage/cards/g/Godsire.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.GodSireBeastToken; @@ -47,7 +48,7 @@ public class Godsire extends CardImpl { public Godsire(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{G}{G}{W}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/g/Godtoucher.java b/Mage.Sets/src/mage/cards/g/Godtoucher.java index a9e88fdbf53..1f077b3d024 100644 --- a/Mage.Sets/src/mage/cards/g/Godtoucher.java +++ b/Mage.Sets/src/mage/cards/g/Godtoucher.java @@ -37,6 +37,7 @@ import mage.abilities.effects.PreventionEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class Godtoucher extends CardImpl { public Godtoucher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GodtrackerOfJund.java b/Mage.Sets/src/mage/cards/g/GodtrackerOfJund.java index 91703767e3f..3c300ec4642 100644 --- a/Mage.Sets/src/mage/cards/g/GodtrackerOfJund.java +++ b/Mage.Sets/src/mage/cards/g/GodtrackerOfJund.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.counters.CounterType; @@ -56,8 +57,8 @@ public class GodtrackerOfJund extends CardImpl { public GodtrackerOfJund(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); diff --git a/Mage.Sets/src/mage/cards/g/GohamDjinn.java b/Mage.Sets/src/mage/cards/g/GohamDjinn.java index 69122228cae..52670942375 100644 --- a/Mage.Sets/src/mage/cards/g/GohamDjinn.java +++ b/Mage.Sets/src/mage/cards/g/GohamDjinn.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class GohamDjinn extends CardImpl { public GohamDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{B}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GoldForgedSentinel.java b/Mage.Sets/src/mage/cards/g/GoldForgedSentinel.java index 03529ec53d8..075126de393 100644 --- a/Mage.Sets/src/mage/cards/g/GoldForgedSentinel.java +++ b/Mage.Sets/src/mage/cards/g/GoldForgedSentinel.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class GoldForgedSentinel extends CardImpl { public GoldForgedSentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Chimera"); + this.subtype.add(SubType.CHIMERA); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GoldMyr.java b/Mage.Sets/src/mage/cards/g/GoldMyr.java index ba5d68e30ac..19f8b628462 100644 --- a/Mage.Sets/src/mage/cards/g/GoldMyr.java +++ b/Mage.Sets/src/mage/cards/g/GoldMyr.java @@ -34,6 +34,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GoldMyr extends CardImpl { public GoldMyr (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(new WhiteManaAbility()); diff --git a/Mage.Sets/src/mage/cards/g/GoldenBear.java b/Mage.Sets/src/mage/cards/g/GoldenBear.java index 39ca9922bc8..930d9c10aef 100644 --- a/Mage.Sets/src/mage/cards/g/GoldenBear.java +++ b/Mage.Sets/src/mage/cards/g/GoldenBear.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class GoldenBear extends CardImpl { public GoldenBear(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Bear"); + this.subtype.add(SubType.BEAR); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GoldenHind.java b/Mage.Sets/src/mage/cards/g/GoldenHind.java index 2f629db8fd9..6461a839b02 100644 --- a/Mage.Sets/src/mage/cards/g/GoldenHind.java +++ b/Mage.Sets/src/mage/cards/g/GoldenHind.java @@ -33,6 +33,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class GoldenHind extends CardImpl { public GoldenHind(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elk"); + this.subtype.add(SubType.ELK); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoldenglowMoth.java b/Mage.Sets/src/mage/cards/g/GoldenglowMoth.java index 6cf1af85bdd..5cfb2096828 100644 --- a/Mage.Sets/src/mage/cards/g/GoldenglowMoth.java +++ b/Mage.Sets/src/mage/cards/g/GoldenglowMoth.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class GoldenglowMoth extends CardImpl { public GoldenglowMoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoldenhideOx.java b/Mage.Sets/src/mage/cards/g/GoldenhideOx.java index b9b489604d1..05cf71f0163 100644 --- a/Mage.Sets/src/mage/cards/g/GoldenhideOx.java +++ b/Mage.Sets/src/mage/cards/g/GoldenhideOx.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.MustBeBlockedByAtLeastOneTargetEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -46,7 +47,7 @@ public class GoldenhideOx extends CardImpl { public GoldenhideOx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{5}{G}"); - this.subtype.add("Ox"); + this.subtype.add(SubType.OX); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GoldmeadowDodger.java b/Mage.Sets/src/mage/cards/g/GoldmeadowDodger.java index 1e1b4a2290b..e14cd8654c6 100644 --- a/Mage.Sets/src/mage/cards/g/GoldmeadowDodger.java +++ b/Mage.Sets/src/mage/cards/g/GoldmeadowDodger.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; @@ -53,8 +54,8 @@ public class GoldmeadowDodger extends CardImpl { public GoldmeadowDodger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoldmeadowHarrier.java b/Mage.Sets/src/mage/cards/g/GoldmeadowHarrier.java index d0a7f440941..7492916ddd0 100644 --- a/Mage.Sets/src/mage/cards/g/GoldmeadowHarrier.java +++ b/Mage.Sets/src/mage/cards/g/GoldmeadowHarrier.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class GoldmeadowHarrier extends CardImpl { public GoldmeadowHarrier (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoldmeadowLookout.java b/Mage.Sets/src/mage/cards/g/GoldmeadowLookout.java index 9a925176cac..792b65ef03f 100644 --- a/Mage.Sets/src/mage/cards/g/GoldmeadowLookout.java +++ b/Mage.Sets/src/mage/cards/g/GoldmeadowLookout.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.GoldmeadowHarrierToken; @@ -49,8 +50,8 @@ public class GoldmeadowLookout extends CardImpl { public GoldmeadowLookout(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoldmeadowStalwart.java b/Mage.Sets/src/mage/cards/g/GoldmeadowStalwart.java index 8cff0405bee..73ee2b12732 100644 --- a/Mage.Sets/src/mage/cards/g/GoldmeadowStalwart.java +++ b/Mage.Sets/src/mage/cards/g/GoldmeadowStalwart.java @@ -53,8 +53,8 @@ public class GoldmeadowStalwart extends CardImpl { public GoldmeadowStalwart(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoldnightCastigator.java b/Mage.Sets/src/mage/cards/g/GoldnightCastigator.java index 8ac451994ea..9411b61bbfd 100644 --- a/Mage.Sets/src/mage/cards/g/GoldnightCastigator.java +++ b/Mage.Sets/src/mage/cards/g/GoldnightCastigator.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class GoldnightCastigator extends CardImpl { public GoldnightCastigator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/g/GoldnightCommander.java b/Mage.Sets/src/mage/cards/g/GoldnightCommander.java index c660f321b7f..56f03170be5 100644 --- a/Mage.Sets/src/mage/cards/g/GoldnightCommander.java +++ b/Mage.Sets/src/mage/cards/g/GoldnightCommander.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -45,9 +46,9 @@ public class GoldnightCommander extends CardImpl { public GoldnightCommander(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoldnightRedeemer.java b/Mage.Sets/src/mage/cards/g/GoldnightRedeemer.java index cfadb2b101d..633c5ec444b 100644 --- a/Mage.Sets/src/mage/cards/g/GoldnightRedeemer.java +++ b/Mage.Sets/src/mage/cards/g/GoldnightRedeemer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -54,7 +55,7 @@ public class GoldnightRedeemer extends CardImpl { public GoldnightRedeemer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GolemArtisan.java b/Mage.Sets/src/mage/cards/g/GolemArtisan.java index 0511f654361..8647d6ede6c 100644 --- a/Mage.Sets/src/mage/cards/g/GolemArtisan.java +++ b/Mage.Sets/src/mage/cards/g/GolemArtisan.java @@ -46,6 +46,7 @@ import mage.cards.CardSetInfo; import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -62,7 +63,7 @@ public class GolemArtisan extends CardImpl { public GolemArtisan(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GolemSkinGauntlets.java b/Mage.Sets/src/mage/cards/g/GolemSkinGauntlets.java index 4add2a0d10b..a4814fed05b 100644 --- a/Mage.Sets/src/mage/cards/g/GolemSkinGauntlets.java +++ b/Mage.Sets/src/mage/cards/g/GolemSkinGauntlets.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class GolemSkinGauntlets extends CardImpl { public GolemSkinGauntlets(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(new GolemSkinGauntletsAttachedCount(), new StaticValue(0), Duration.WhileOnBattlefield))); this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2))); diff --git a/Mage.Sets/src/mage/cards/g/GolgariBrownscale.java b/Mage.Sets/src/mage/cards/g/GolgariBrownscale.java index 85fe9f3120c..2c546fbc934 100644 --- a/Mage.Sets/src/mage/cards/g/GolgariBrownscale.java +++ b/Mage.Sets/src/mage/cards/g/GolgariBrownscale.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DredgeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class GolgariBrownscale extends CardImpl { public GolgariBrownscale(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GolgariDecoy.java b/Mage.Sets/src/mage/cards/g/GolgariDecoy.java index 73847b195b5..b9edac6a7b4 100644 --- a/Mage.Sets/src/mage/cards/g/GolgariDecoy.java +++ b/Mage.Sets/src/mage/cards/g/GolgariDecoy.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ScavengeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class GolgariDecoy extends CardImpl { public GolgariDecoy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GolgariGraveTroll.java b/Mage.Sets/src/mage/cards/g/GolgariGraveTroll.java index 65ff855217c..0f2570e33e6 100644 --- a/Mage.Sets/src/mage/cards/g/GolgariGraveTroll.java +++ b/Mage.Sets/src/mage/cards/g/GolgariGraveTroll.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.DredgeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -57,8 +58,8 @@ public class GolgariGraveTroll extends CardImpl { public GolgariGraveTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Troll"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.TROLL); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/g/GolgariGuildmage.java b/Mage.Sets/src/mage/cards/g/GolgariGuildmage.java index 1bc7c7b59b9..2398c625ffe 100644 --- a/Mage.Sets/src/mage/cards/g/GolgariGuildmage.java +++ b/Mage.Sets/src/mage/cards/g/GolgariGuildmage.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreatureCard; @@ -54,8 +55,8 @@ public class GolgariGuildmage extends CardImpl { public GolgariGuildmage (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B/G}{B/G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GolgariKeyrune.java b/Mage.Sets/src/mage/cards/g/GolgariKeyrune.java index cf26b5ae5b4..830bdad8e9c 100644 --- a/Mage.Sets/src/mage/cards/g/GolgariKeyrune.java +++ b/Mage.Sets/src/mage/cards/g/GolgariKeyrune.java @@ -38,6 +38,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -74,7 +75,7 @@ public class GolgariKeyrune extends CardImpl { cardType.add(CardType.CREATURE); color.setGreen(true); color.setBlack(true); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); power = new MageInt(2); toughness = new MageInt(2); this.addAbility(DeathtouchAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/g/GolgariLonglegs.java b/Mage.Sets/src/mage/cards/g/GolgariLonglegs.java index ef2e4b1f9a1..3f631fc0771 100644 --- a/Mage.Sets/src/mage/cards/g/GolgariLonglegs.java +++ b/Mage.Sets/src/mage/cards/g/GolgariLonglegs.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class GolgariLonglegs extends CardImpl { public GolgariLonglegs(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B/G}{B/G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GolgariRotwurm.java b/Mage.Sets/src/mage/cards/g/GolgariRotwurm.java index dfc5ce12717..2f0ded16b8d 100644 --- a/Mage.Sets/src/mage/cards/g/GolgariRotwurm.java +++ b/Mage.Sets/src/mage/cards/g/GolgariRotwurm.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -50,8 +51,8 @@ public class GolgariRotwurm extends CardImpl { public GolgariRotwurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{G}"); - this.subtype.add("Zombie"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WURM); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GolgariThug.java b/Mage.Sets/src/mage/cards/g/GolgariThug.java index 02d95dcc5af..242c6260476 100644 --- a/Mage.Sets/src/mage/cards/g/GolgariThug.java +++ b/Mage.Sets/src/mage/cards/g/GolgariThug.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DredgeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.target.common.TargetCardInYourGraveyard; @@ -54,8 +55,8 @@ public class GolgariThug extends CardImpl { public GolgariThug(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoliathBeetle.java b/Mage.Sets/src/mage/cards/g/GoliathBeetle.java index 0fa29f339f6..6425a636ea5 100644 --- a/Mage.Sets/src/mage/cards/g/GoliathBeetle.java +++ b/Mage.Sets/src/mage/cards/g/GoliathBeetle.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class GoliathBeetle extends CardImpl { public GoliathBeetle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GoliathSphinx.java b/Mage.Sets/src/mage/cards/g/GoliathSphinx.java index 86e6f88446d..79412133e27 100644 --- a/Mage.Sets/src/mage/cards/g/GoliathSphinx.java +++ b/Mage.Sets/src/mage/cards/g/GoliathSphinx.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GoliathSphinx extends CardImpl { public GoliathSphinx (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(8); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/g/GoliathSpider.java b/Mage.Sets/src/mage/cards/g/GoliathSpider.java index d9183937d33..04124252850 100644 --- a/Mage.Sets/src/mage/cards/g/GoliathSpider.java +++ b/Mage.Sets/src/mage/cards/g/GoliathSpider.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class GoliathSpider extends CardImpl { public GoliathSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(7); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/g/Gomazoa.java b/Mage.Sets/src/mage/cards/g/Gomazoa.java index b7ef22b2c84..0d8bc788fe1 100644 --- a/Mage.Sets/src/mage/cards/g/Gomazoa.java +++ b/Mage.Sets/src/mage/cards/g/Gomazoa.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.WatcherScope; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class Gomazoa extends CardImpl { public Gomazoa(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Jellyfish"); + this.subtype.add(SubType.JELLYFISH); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GontiLordOfLuxury.java b/Mage.Sets/src/mage/cards/g/GontiLordOfLuxury.java index a18b694b0b8..328db4a1803 100644 --- a/Mage.Sets/src/mage/cards/g/GontiLordOfLuxury.java +++ b/Mage.Sets/src/mage/cards/g/GontiLordOfLuxury.java @@ -63,8 +63,8 @@ public class GontiLordOfLuxury extends CardImpl { public GontiLordOfLuxury(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Aetherborn"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.AETHERBORN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GoreHouseChainwalker.java b/Mage.Sets/src/mage/cards/g/GoreHouseChainwalker.java index 70556358169..3254084ba92 100644 --- a/Mage.Sets/src/mage/cards/g/GoreHouseChainwalker.java +++ b/Mage.Sets/src/mage/cards/g/GoreHouseChainwalker.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.UnleashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GoreHouseChainwalker extends CardImpl { public GoreHouseChainwalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoreSwine.java b/Mage.Sets/src/mage/cards/g/GoreSwine.java index ef17a5cf028..bf3364d156e 100644 --- a/Mage.Sets/src/mage/cards/g/GoreSwine.java +++ b/Mage.Sets/src/mage/cards/g/GoreSwine.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class GoreSwine extends CardImpl { public GoreSwine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Boar"); + this.subtype.add(SubType.BOAR); this.power = new MageInt(4); this.toughness = new MageInt(1); } diff --git a/Mage.Sets/src/mage/cards/g/GoreVassal.java b/Mage.Sets/src/mage/cards/g/GoreVassal.java index 8a2f7738fb4..475f5d5c387 100644 --- a/Mage.Sets/src/mage/cards/g/GoreVassal.java +++ b/Mage.Sets/src/mage/cards/g/GoreVassal.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class GoreVassal extends CardImpl { public GoreVassal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GorehornMinotaurs.java b/Mage.Sets/src/mage/cards/g/GorehornMinotaurs.java index 8b5fc560ac1..3212e0ba53a 100644 --- a/Mage.Sets/src/mage/cards/g/GorehornMinotaurs.java +++ b/Mage.Sets/src/mage/cards/g/GorehornMinotaurs.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.BloodthirstAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GorehornMinotaurs extends CardImpl { public GorehornMinotaurs(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GoretuskFirebeast.java b/Mage.Sets/src/mage/cards/g/GoretuskFirebeast.java index d3e6da65121..aff052e1ab9 100644 --- a/Mage.Sets/src/mage/cards/g/GoretuskFirebeast.java +++ b/Mage.Sets/src/mage/cards/g/GoretuskFirebeast.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -45,9 +46,9 @@ public class GoretuskFirebeast extends CardImpl { public GoretuskFirebeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Boar"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.BOAR); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GorgerWurm.java b/Mage.Sets/src/mage/cards/g/GorgerWurm.java index 1056606ff79..cf6f5b3000b 100644 --- a/Mage.Sets/src/mage/cards/g/GorgerWurm.java +++ b/Mage.Sets/src/mage/cards/g/GorgerWurm.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.DevourAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GorgerWurm extends CardImpl { public GorgerWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GorgonFlail.java b/Mage.Sets/src/mage/cards/g/GorgonFlail.java index 64409d8a9f4..43acd3fc4d1 100644 --- a/Mage.Sets/src/mage/cards/g/GorgonFlail.java +++ b/Mage.Sets/src/mage/cards/g/GorgonFlail.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class GorgonFlail extends CardImpl { public GorgonFlail(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(DeathtouchAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/g/GorgonRecluse.java b/Mage.Sets/src/mage/cards/g/GorgonRecluse.java index fda81d4cb08..b12a05f9c49 100644 --- a/Mage.Sets/src/mage/cards/g/GorgonRecluse.java +++ b/Mage.Sets/src/mage/cards/g/GorgonRecluse.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.MadnessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -58,7 +59,7 @@ public class GorgonRecluse extends CardImpl { public GorgonRecluse(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}"); - this.subtype.add("Gorgon"); + this.subtype.add(SubType.GORGON); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GorgonsHead.java b/Mage.Sets/src/mage/cards/g/GorgonsHead.java index 01d263ade53..3188daa4d79 100644 --- a/Mage.Sets/src/mage/cards/g/GorgonsHead.java +++ b/Mage.Sets/src/mage/cards/g/GorgonsHead.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class GorgonsHead extends CardImpl { public GorgonsHead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has deathtouch. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(DeathtouchAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/g/GorillaBerserkers.java b/Mage.Sets/src/mage/cards/g/GorillaBerserkers.java index 0e7945d28ec..6862b37de78 100644 --- a/Mage.Sets/src/mage/cards/g/GorillaBerserkers.java +++ b/Mage.Sets/src/mage/cards/g/GorillaBerserkers.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class GorillaBerserkers extends CardImpl { public GorillaBerserkers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Ape"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.APE); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GorillaChieftain.java b/Mage.Sets/src/mage/cards/g/GorillaChieftain.java index 87a38ec3956..86c7b44b0a4 100644 --- a/Mage.Sets/src/mage/cards/g/GorillaChieftain.java +++ b/Mage.Sets/src/mage/cards/g/GorillaChieftain.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class GorillaChieftain extends CardImpl { public GorillaChieftain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Ape"); + this.subtype.add(SubType.APE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GorillaPack.java b/Mage.Sets/src/mage/cards/g/GorillaPack.java index 9eb27397f94..d82ff45891a 100644 --- a/Mage.Sets/src/mage/cards/g/GorillaPack.java +++ b/Mage.Sets/src/mage/cards/g/GorillaPack.java @@ -49,7 +49,7 @@ public class GorillaPack extends CardImpl { public GorillaPack(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Ape"); + this.subtype.add(SubType.APE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GorillaShaman.java b/Mage.Sets/src/mage/cards/g/GorillaShaman.java index 2f66fc9fcbe..fd7b5bc985c 100644 --- a/Mage.Sets/src/mage/cards/g/GorillaShaman.java +++ b/Mage.Sets/src/mage/cards/g/GorillaShaman.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; @@ -56,8 +57,8 @@ public class GorillaShaman extends CardImpl { public GorillaShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Ape"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.APE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GorillaTitan.java b/Mage.Sets/src/mage/cards/g/GorillaTitan.java index ee2c8ef3738..4806542fe99 100644 --- a/Mage.Sets/src/mage/cards/g/GorillaTitan.java +++ b/Mage.Sets/src/mage/cards/g/GorillaTitan.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class GorillaTitan extends CardImpl { public GorillaTitan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Ape"); + this.subtype.add(SubType.APE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GorillaWarrior.java b/Mage.Sets/src/mage/cards/g/GorillaWarrior.java index 82d0c53627e..f3c3ba24f16 100644 --- a/Mage.Sets/src/mage/cards/g/GorillaWarrior.java +++ b/Mage.Sets/src/mage/cards/g/GorillaWarrior.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GorillaWarrior extends CardImpl { public GorillaWarrior (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Ape"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.APE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GoringCeratops.java b/Mage.Sets/src/mage/cards/g/GoringCeratops.java index 0a05aa811d2..9d7b378700f 100644 --- a/Mage.Sets/src/mage/cards/g/GoringCeratops.java +++ b/Mage.Sets/src/mage/cards/g/GoringCeratops.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; @@ -49,7 +50,7 @@ public class GoringCeratops extends CardImpl { public GoringCeratops(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}{W}"); - this.subtype.add("Dinosaur"); + this.subtype.add(SubType.DINOSAUR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GossamerPhantasm.java b/Mage.Sets/src/mage/cards/g/GossamerPhantasm.java index 280d997d4c3..5771bc16382 100644 --- a/Mage.Sets/src/mage/cards/g/GossamerPhantasm.java +++ b/Mage.Sets/src/mage/cards/g/GossamerPhantasm.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class GossamerPhantasm extends CardImpl { public GossamerPhantasm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GracebladeArtisan.java b/Mage.Sets/src/mage/cards/g/GracebladeArtisan.java index 218afdd85b0..a4d50f7e2eb 100644 --- a/Mage.Sets/src/mage/cards/g/GracebladeArtisan.java +++ b/Mage.Sets/src/mage/cards/g/GracebladeArtisan.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class GracebladeArtisan extends CardImpl { public GracebladeArtisan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GracefulAdept.java b/Mage.Sets/src/mage/cards/g/GracefulAdept.java index caceeaf3bd9..fd8c4e5daef 100644 --- a/Mage.Sets/src/mage/cards/g/GracefulAdept.java +++ b/Mage.Sets/src/mage/cards/g/GracefulAdept.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.MaximumHandSizeControllerEffect. import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class GracefulAdept extends CardImpl { public GracefulAdept(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GracefulAntelope.java b/Mage.Sets/src/mage/cards/g/GracefulAntelope.java index 31384ee670f..d05f1044d47 100644 --- a/Mage.Sets/src/mage/cards/g/GracefulAntelope.java +++ b/Mage.Sets/src/mage/cards/g/GracefulAntelope.java @@ -50,7 +50,7 @@ public class GracefulAntelope extends CardImpl { public GracefulAntelope(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Antelope"); + this.subtype.add(SubType.ANTELOPE); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GracefulCat.java b/Mage.Sets/src/mage/cards/g/GracefulCat.java index 7980497b0da..69f7b9abd39 100644 --- a/Mage.Sets/src/mage/cards/g/GracefulCat.java +++ b/Mage.Sets/src/mage/cards/g/GracefulCat.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,7 +47,7 @@ public class GracefulCat extends CardImpl { public GracefulCat(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GrafMole.java b/Mage.Sets/src/mage/cards/g/GrafMole.java index 050fa143b1c..aaf0b6e78bf 100644 --- a/Mage.Sets/src/mage/cards/g/GrafMole.java +++ b/Mage.Sets/src/mage/cards/g/GrafMole.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -47,8 +48,8 @@ public class GrafMole extends CardImpl { public GrafMole(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Mole"); - this.subtype.add("Beast"); + this.subtype.add(SubType.MOLE); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GrafRats.java b/Mage.Sets/src/mage/cards/g/GrafRats.java index 991160c0001..4792cc5fd7a 100644 --- a/Mage.Sets/src/mage/cards/g/GrafRats.java +++ b/Mage.Sets/src/mage/cards/g/GrafRats.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.c.ChitteringHost; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Rarity; import mage.constants.TargetController; @@ -48,7 +49,7 @@ public class GrafRats extends CardImpl { public GrafRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GraftedExoskeleton.java b/Mage.Sets/src/mage/cards/g/GraftedExoskeleton.java index 9ad0c63db44..9f505348c77 100644 --- a/Mage.Sets/src/mage/cards/g/GraftedExoskeleton.java +++ b/Mage.Sets/src/mage/cards/g/GraftedExoskeleton.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class GraftedExoskeleton extends CardImpl { public GraftedExoskeleton(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+2 and has infect. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(InfectAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/g/GraftedWargear.java b/Mage.Sets/src/mage/cards/g/GraftedWargear.java index d3194e1de83..ed24eb5a89b 100644 --- a/Mage.Sets/src/mage/cards/g/GraftedWargear.java +++ b/Mage.Sets/src/mage/cards/g/GraftedWargear.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class GraftedWargear extends CardImpl { public GraftedWargear(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +3/+2. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 2))); diff --git a/Mage.Sets/src/mage/cards/g/GrandAbolisher.java b/Mage.Sets/src/mage/cards/g/GrandAbolisher.java index df26b49d403..2eec9adc1a5 100644 --- a/Mage.Sets/src/mage/cards/g/GrandAbolisher.java +++ b/Mage.Sets/src/mage/cards/g/GrandAbolisher.java @@ -36,6 +36,7 @@ import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class GrandAbolisher extends CardImpl { public GrandAbolisher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GrandArbiterAugustinIV.java b/Mage.Sets/src/mage/cards/g/GrandArbiterAugustinIV.java index c91e672fbda..cb9efb4234d 100644 --- a/Mage.Sets/src/mage/cards/g/GrandArbiterAugustinIV.java +++ b/Mage.Sets/src/mage/cards/g/GrandArbiterAugustinIV.java @@ -59,8 +59,8 @@ public class GrandArbiterAugustinIV extends CardImpl { public GrandArbiterAugustinIV(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GrandArchitect.java b/Mage.Sets/src/mage/cards/g/GrandArchitect.java index 2d492873c0a..8432486c0ab 100644 --- a/Mage.Sets/src/mage/cards/g/GrandArchitect.java +++ b/Mage.Sets/src/mage/cards/g/GrandArchitect.java @@ -69,8 +69,8 @@ public class GrandArchitect extends CardImpl { public GrandArchitect(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GrandMoffTarkin.java b/Mage.Sets/src/mage/cards/g/GrandMoffTarkin.java index 4b0232a594b..2dc8e873ccb 100644 --- a/Mage.Sets/src/mage/cards/g/GrandMoffTarkin.java +++ b/Mage.Sets/src/mage/cards/g/GrandMoffTarkin.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class GrandMoffTarkin extends CardImpl { public GrandMoffTarkin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GrandmotherSengir.java b/Mage.Sets/src/mage/cards/g/GrandmotherSengir.java index 844ec416020..f16364cd88d 100644 --- a/Mage.Sets/src/mage/cards/g/GrandmotherSengir.java +++ b/Mage.Sets/src/mage/cards/g/GrandmotherSengir.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class GrandmotherSengir extends CardImpl { public GrandmotherSengir(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GrangerGuildmage.java b/Mage.Sets/src/mage/cards/g/GrangerGuildmage.java index 5ef84eb0b5b..c5cdbce2748 100644 --- a/Mage.Sets/src/mage/cards/g/GrangerGuildmage.java +++ b/Mage.Sets/src/mage/cards/g/GrangerGuildmage.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -53,8 +54,8 @@ public class GrangerGuildmage extends CardImpl { public GrangerGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GraniteGargoyle.java b/Mage.Sets/src/mage/cards/g/GraniteGargoyle.java index 994d4ca8c10..fe6f118a169 100644 --- a/Mage.Sets/src/mage/cards/g/GraniteGargoyle.java +++ b/Mage.Sets/src/mage/cards/g/GraniteGargoyle.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class GraniteGargoyle extends CardImpl { public GraniteGargoyle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Gargoyle"); + this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GraniteGrip.java b/Mage.Sets/src/mage/cards/g/GraniteGrip.java index b87be149843..d834234b9a0 100644 --- a/Mage.Sets/src/mage/cards/g/GraniteGrip.java +++ b/Mage.Sets/src/mage/cards/g/GraniteGrip.java @@ -57,7 +57,7 @@ public class GraniteGrip extends CardImpl { public GraniteGrip(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/g/GraniticTitan.java b/Mage.Sets/src/mage/cards/g/GraniticTitan.java index 92810fc34da..22fd617fe8d 100644 --- a/Mage.Sets/src/mage/cards/g/GraniticTitan.java +++ b/Mage.Sets/src/mage/cards/g/GraniticTitan.java @@ -8,12 +8,13 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; public class GraniticTitan extends CardImpl { public GraniticTitan(UUID ownerId, CardSetInfo cardSetInfo){ super(ownerId, cardSetInfo, new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(5); toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GrapeshotCatapult.java b/Mage.Sets/src/mage/cards/g/GrapeshotCatapult.java index f8d715a5c13..e3a70e97499 100644 --- a/Mage.Sets/src/mage/cards/g/GrapeshotCatapult.java +++ b/Mage.Sets/src/mage/cards/g/GrapeshotCatapult.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -56,7 +57,7 @@ public class GrapeshotCatapult extends CardImpl { public GrapeshotCatapult(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GrapplerSpider.java b/Mage.Sets/src/mage/cards/g/GrapplerSpider.java index f092f589bf8..c5888ffb732 100644 --- a/Mage.Sets/src/mage/cards/g/GrapplerSpider.java +++ b/Mage.Sets/src/mage/cards/g/GrapplerSpider.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GrapplerSpider extends CardImpl { public GrapplerSpider (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.color.setGreen(true); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GrapplingHook.java b/Mage.Sets/src/mage/cards/g/GrapplingHook.java index 1ed16470e0f..54065b22996 100644 --- a/Mage.Sets/src/mage/cards/g/GrapplingHook.java +++ b/Mage.Sets/src/mage/cards/g/GrapplingHook.java @@ -51,7 +51,7 @@ public class GrapplingHook extends CardImpl { public GrapplingHook(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has double strike. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(DoubleStrikeAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/g/GraspOfTheHieromancer.java b/Mage.Sets/src/mage/cards/g/GraspOfTheHieromancer.java index 7abb17e3e68..cab1e73f0f7 100644 --- a/Mage.Sets/src/mage/cards/g/GraspOfTheHieromancer.java +++ b/Mage.Sets/src/mage/cards/g/GraspOfTheHieromancer.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class GraspOfTheHieromancer extends CardImpl { public GraspOfTheHieromancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GraspingDunes.java b/Mage.Sets/src/mage/cards/g/GraspingDunes.java index afbbb355cd5..9771c12c811 100644 --- a/Mage.Sets/src/mage/cards/g/GraspingDunes.java +++ b/Mage.Sets/src/mage/cards/g/GraspingDunes.java @@ -1,76 +1,77 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.g; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.ActivateAsSorceryActivatedAbility; -import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.abilities.mana.ColorlessManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author jeffwadsworth - */ -public class GraspingDunes extends CardImpl { - - public GraspingDunes(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - - this.subtype.add("Desert"); - - // {T}: Add {C} to your mana pool. - this.addAbility(new ColorlessManaAbility()); - - // {1}, {T}, Sacrifice Grasping Dunes: Put a -1/-1 counter on target creature. Activate this ability only any time you could cast a sorcery. - Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.M1M1.createInstance()), new ManaCostsImpl("{1}")); - ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeSourceCost()); - ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability); - - } - - public GraspingDunes(final GraspingDunes card) { - super(card); - } - - @Override - public GraspingDunes copy() { - return new GraspingDunes(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.g; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.ActivateAsSorceryActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.mana.ColorlessManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author jeffwadsworth + */ +public class GraspingDunes extends CardImpl { + + public GraspingDunes(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + this.subtype.add(SubType.DESERT); + + // {T}: Add {C} to your mana pool. + this.addAbility(new ColorlessManaAbility()); + + // {1}, {T}, Sacrifice Grasping Dunes: Put a -1/-1 counter on target creature. Activate this ability only any time you could cast a sorcery. + Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.M1M1.createInstance()), new ManaCostsImpl("{1}")); + ability.addCost(new TapSourceCost()); + ability.addCost(new SacrificeSourceCost()); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + + } + + public GraspingDunes(final GraspingDunes card) { + super(card); + } + + @Override + public GraspingDunes copy() { + return new GraspingDunes(this); + } +} diff --git a/Mage.Sets/src/mage/cards/g/GrasslandCrusader.java b/Mage.Sets/src/mage/cards/g/GrasslandCrusader.java index 31af29807d2..39031d19de1 100644 --- a/Mage.Sets/src/mage/cards/g/GrasslandCrusader.java +++ b/Mage.Sets/src/mage/cards/g/GrasslandCrusader.java @@ -58,9 +58,9 @@ public class GrasslandCrusader extends CardImpl { public GrasslandCrusader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GraveBramble.java b/Mage.Sets/src/mage/cards/g/GraveBramble.java index 9706ef4786d..93d54e96211 100644 --- a/Mage.Sets/src/mage/cards/g/GraveBramble.java +++ b/Mage.Sets/src/mage/cards/g/GraveBramble.java @@ -53,7 +53,7 @@ public class GraveBramble extends CardImpl { public GraveBramble(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Plant"); + this.subtype.add(SubType.PLANT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GraveDefiler.java b/Mage.Sets/src/mage/cards/g/GraveDefiler.java index 628a7455b1c..2df5dba5ddd 100644 --- a/Mage.Sets/src/mage/cards/g/GraveDefiler.java +++ b/Mage.Sets/src/mage/cards/g/GraveDefiler.java @@ -56,7 +56,7 @@ public class GraveDefiler extends CardImpl { public GraveDefiler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GraveRobbers.java b/Mage.Sets/src/mage/cards/g/GraveRobbers.java index 57933c75986..3178cd6e033 100644 --- a/Mage.Sets/src/mage/cards/g/GraveRobbers.java +++ b/Mage.Sets/src/mage/cards/g/GraveRobbers.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterArtifactCard; import mage.target.common.TargetCardInGraveyard; @@ -50,8 +51,8 @@ public class GraveRobbers extends CardImpl { public GraveRobbers(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GraveScrabbler.java b/Mage.Sets/src/mage/cards/g/GraveScrabbler.java index b21fed93bc1..ccb3b459e75 100644 --- a/Mage.Sets/src/mage/cards/g/GraveScrabbler.java +++ b/Mage.Sets/src/mage/cards/g/GraveScrabbler.java @@ -14,6 +14,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.game.Game; import mage.target.common.TargetCardInGraveyard; @@ -22,7 +23,7 @@ public class GraveScrabbler extends CardImpl { public GraveScrabbler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GraveServitude.java b/Mage.Sets/src/mage/cards/g/GraveServitude.java index 60d917cd8c6..604c6a04391 100644 --- a/Mage.Sets/src/mage/cards/g/GraveServitude.java +++ b/Mage.Sets/src/mage/cards/g/GraveServitude.java @@ -52,7 +52,7 @@ public class GraveServitude extends CardImpl { public GraveServitude(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // You may cast Grave Servitude as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. this.addAbility(new SimpleStaticAbility(Zone.ALL, new CastAsThoughItHadFlashSourceEffect(Duration.EndOfGame))); diff --git a/Mage.Sets/src/mage/cards/g/GraveShellScarab.java b/Mage.Sets/src/mage/cards/g/GraveShellScarab.java index 3725dea164a..ff944163471 100644 --- a/Mage.Sets/src/mage/cards/g/GraveShellScarab.java +++ b/Mage.Sets/src/mage/cards/g/GraveShellScarab.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DredgeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class GraveShellScarab extends CardImpl { public GraveShellScarab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{G}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GraveSifter.java b/Mage.Sets/src/mage/cards/g/GraveSifter.java index 5e571c03810..df5c373f73e 100644 --- a/Mage.Sets/src/mage/cards/g/GraveSifter.java +++ b/Mage.Sets/src/mage/cards/g/GraveSifter.java @@ -57,8 +57,8 @@ public class GraveSifter extends CardImpl { public GraveSifter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Elemental"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/g/GraveTitan.java b/Mage.Sets/src/mage/cards/g/GraveTitan.java index fb8e7b2de3b..5595709b33a 100644 --- a/Mage.Sets/src/mage/cards/g/GraveTitan.java +++ b/Mage.Sets/src/mage/cards/g/GraveTitan.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.ZombieToken; /** @@ -45,7 +46,7 @@ public class GraveTitan extends CardImpl { public GraveTitan(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/g/GravebaneZombie.java b/Mage.Sets/src/mage/cards/g/GravebaneZombie.java index 28758bd6549..e75b37cace8 100644 --- a/Mage.Sets/src/mage/cards/g/GravebaneZombie.java +++ b/Mage.Sets/src/mage/cards/g/GravebaneZombie.java @@ -35,6 +35,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class GravebaneZombie extends CardImpl { public GravebaneZombie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GravebladeMarauder.java b/Mage.Sets/src/mage/cards/g/GravebladeMarauder.java index 197968846e5..00ac88abfa4 100644 --- a/Mage.Sets/src/mage/cards/g/GravebladeMarauder.java +++ b/Mage.Sets/src/mage/cards/g/GravebladeMarauder.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterCreatureCard; import mage.game.Game; @@ -49,8 +50,8 @@ public class GravebladeMarauder extends CardImpl { public GravebladeMarauder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GravebornMuse.java b/Mage.Sets/src/mage/cards/g/GravebornMuse.java index daf49fb367f..fe13ffc6751 100644 --- a/Mage.Sets/src/mage/cards/g/GravebornMuse.java +++ b/Mage.Sets/src/mage/cards/g/GravebornMuse.java @@ -55,8 +55,8 @@ public class GravebornMuse extends CardImpl { public GravebornMuse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/Gravecrawler.java b/Mage.Sets/src/mage/cards/g/Gravecrawler.java index e54a6c7ecfa..3b5fb152d53 100644 --- a/Mage.Sets/src/mage/cards/g/Gravecrawler.java +++ b/Mage.Sets/src/mage/cards/g/Gravecrawler.java @@ -49,7 +49,7 @@ public class Gravecrawler extends CardImpl { public Gravecrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/Gravedigger.java b/Mage.Sets/src/mage/cards/g/Gravedigger.java index d18ae21063a..0147ecc0faf 100644 --- a/Mage.Sets/src/mage/cards/g/Gravedigger.java +++ b/Mage.Sets/src/mage/cards/g/Gravedigger.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInYourGraveyard; @@ -47,7 +48,7 @@ public class Gravedigger extends CardImpl { public Gravedigger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/Gravegouger.java b/Mage.Sets/src/mage/cards/g/Gravegouger.java index 01d53eea372..0f7864bc800 100644 --- a/Mage.Sets/src/mage/cards/g/Gravegouger.java +++ b/Mage.Sets/src/mage/cards/g/Gravegouger.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnFromExileForSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.target.common.TargetCardInASingleGraveyard; @@ -50,8 +51,8 @@ public class Gravegouger extends CardImpl { public Gravegouger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Nightmare"); - this.subtype.add("Horror"); + this.subtype.add(SubType.NIGHTMARE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GravelSlinger.java b/Mage.Sets/src/mage/cards/g/GravelSlinger.java index 9b5517b14a4..22f6fd8a625 100644 --- a/Mage.Sets/src/mage/cards/g/GravelSlinger.java +++ b/Mage.Sets/src/mage/cards/g/GravelSlinger.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterAttackingOrBlockingCreature; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class GravelSlinger extends CardImpl { public GravelSlinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GravelgillAxeshark.java b/Mage.Sets/src/mage/cards/g/GravelgillAxeshark.java index ab16e099004..60e9d904768 100644 --- a/Mage.Sets/src/mage/cards/g/GravelgillAxeshark.java +++ b/Mage.Sets/src/mage/cards/g/GravelgillAxeshark.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.PersistAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GravelgillAxeshark extends CardImpl { public GravelgillAxeshark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U/B}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GravelgillDuo.java b/Mage.Sets/src/mage/cards/g/GravelgillDuo.java index 76a09baa127..bb51e40bc51 100644 --- a/Mage.Sets/src/mage/cards/g/GravelgillDuo.java +++ b/Mage.Sets/src/mage/cards/g/GravelgillDuo.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,9 +58,9 @@ public class GravelgillDuo extends CardImpl { public GravelgillDuo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U/B}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GravenAbomination.java b/Mage.Sets/src/mage/cards/g/GravenAbomination.java index f5ab49b21ba..a4cf6bc27a4 100644 --- a/Mage.Sets/src/mage/cards/g/GravenAbomination.java +++ b/Mage.Sets/src/mage/cards/g/GravenAbomination.java @@ -1,93 +1,94 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.g; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.AttacksTriggeredAbility; -import mage.abilities.effects.common.ExileTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.FilterCard; -import mage.filter.predicate.other.OwnerIdPredicate; -import mage.game.Game; -import mage.players.Player; -import mage.target.common.TargetCardInGraveyard; - -/** - * - * @author jeffwadsworth - */ -public class GravenAbomination extends CardImpl { - - private final UUID originalId; - - private final static String rule = "Whenever {this} attacks, exile target card from defending player's graveyard."; - - public GravenAbomination(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); - - this.subtype.add("Horror"); - this.power = new MageInt(3); - this.toughness = new MageInt(1); - - // Whenever Graven Abomination attacks, exile target card from defending player's graveyard. - Ability ability = new AttacksTriggeredAbility(new ExileTargetEffect(), false, rule); - ability.addTarget(new TargetCardInGraveyard()); - this.addAbility(ability); - originalId = ability.getOriginalId(); - - } - - @Override - public void adjustTargets(Ability ability, Game game) { - UUID gravenAbominationId = ability.getSourceId(); - FilterCard filter = new FilterCard("target card from defending player's graveyard"); - if (ability.getOriginalId().equals(originalId)) { - UUID defendingPlayerId = game.getCombat().getDefendingPlayerId(gravenAbominationId, game); - Player defendingPlayer = game.getPlayer(defendingPlayerId); - if (defendingPlayer != null) { - filter.add(new OwnerIdPredicate(defendingPlayerId)); - ability.getTargets().clear(); - ability.getTargets().add(new TargetCardInGraveyard(filter)); - } - } - } - - public GravenAbomination(final GravenAbomination card) { - super(card); - this.originalId = card.originalId; - } - - @Override - public GravenAbomination copy() { - return new GravenAbomination(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.g; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.effects.common.ExileTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.FilterCard; +import mage.filter.predicate.other.OwnerIdPredicate; +import mage.game.Game; +import mage.players.Player; +import mage.target.common.TargetCardInGraveyard; + +/** + * + * @author jeffwadsworth + */ +public class GravenAbomination extends CardImpl { + + private final UUID originalId; + + private final static String rule = "Whenever {this} attacks, exile target card from defending player's graveyard."; + + public GravenAbomination(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); + + this.subtype.add(SubType.HORROR); + this.power = new MageInt(3); + this.toughness = new MageInt(1); + + // Whenever Graven Abomination attacks, exile target card from defending player's graveyard. + Ability ability = new AttacksTriggeredAbility(new ExileTargetEffect(), false, rule); + ability.addTarget(new TargetCardInGraveyard()); + this.addAbility(ability); + originalId = ability.getOriginalId(); + + } + + @Override + public void adjustTargets(Ability ability, Game game) { + UUID gravenAbominationId = ability.getSourceId(); + FilterCard filter = new FilterCard("target card from defending player's graveyard"); + if (ability.getOriginalId().equals(originalId)) { + UUID defendingPlayerId = game.getCombat().getDefendingPlayerId(gravenAbominationId, game); + Player defendingPlayer = game.getPlayer(defendingPlayerId); + if (defendingPlayer != null) { + filter.add(new OwnerIdPredicate(defendingPlayerId)); + ability.getTargets().clear(); + ability.getTargets().add(new TargetCardInGraveyard(filter)); + } + } + } + + public GravenAbomination(final GravenAbomination card) { + super(card); + this.originalId = card.originalId; + } + + @Override + public GravenAbomination copy() { + return new GravenAbomination(this); + } +} diff --git a/Mage.Sets/src/mage/cards/g/GravenDominator.java b/Mage.Sets/src/mage/cards/g/GravenDominator.java index dbc7e61c6ac..6ecb7b99714 100644 --- a/Mage.Sets/src/mage/cards/g/GravenDominator.java +++ b/Mage.Sets/src/mage/cards/g/GravenDominator.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HauntAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -53,7 +54,7 @@ public class GravenDominator extends CardImpl { public GravenDominator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Gargoyle"); + this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GraverobberSpider.java b/Mage.Sets/src/mage/cards/g/GraverobberSpider.java index 01c5d92c16c..4d72b260503 100644 --- a/Mage.Sets/src/mage/cards/g/GraverobberSpider.java +++ b/Mage.Sets/src/mage/cards/g/GraverobberSpider.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -51,7 +52,7 @@ public class GraverobberSpider extends CardImpl { public GraverobberSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GravespawnSovereign.java b/Mage.Sets/src/mage/cards/g/GravespawnSovereign.java index 7c3223e67d1..a8c3d029d09 100644 --- a/Mage.Sets/src/mage/cards/g/GravespawnSovereign.java +++ b/Mage.Sets/src/mage/cards/g/GravespawnSovereign.java @@ -61,7 +61,7 @@ public class GravespawnSovereign extends CardImpl { public GravespawnSovereign(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GravetillerWurm.java b/Mage.Sets/src/mage/cards/g/GravetillerWurm.java index a08d3c96d8f..4de5743045f 100644 --- a/Mage.Sets/src/mage/cards/g/GravetillerWurm.java +++ b/Mage.Sets/src/mage/cards/g/GravetillerWurm.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -47,7 +48,7 @@ public class GravetillerWurm extends CardImpl { public GravetillerWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GravityNegator.java b/Mage.Sets/src/mage/cards/g/GravityNegator.java index 8295039662e..bcad645c712 100644 --- a/Mage.Sets/src/mage/cards/g/GravityNegator.java +++ b/Mage.Sets/src/mage/cards/g/GravityNegator.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -58,8 +59,8 @@ public class GravityNegator extends CardImpl { public GravityNegator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GrayMerchantOfAsphodel.java b/Mage.Sets/src/mage/cards/g/GrayMerchantOfAsphodel.java index 6864ac82d44..12e96452d78 100644 --- a/Mage.Sets/src/mage/cards/g/GrayMerchantOfAsphodel.java +++ b/Mage.Sets/src/mage/cards/g/GrayMerchantOfAsphodel.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Outcome; import mage.game.Game; @@ -49,7 +50,7 @@ public class GrayMerchantOfAsphodel extends CardImpl { public GrayMerchantOfAsphodel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GrayOgre.java b/Mage.Sets/src/mage/cards/g/GrayOgre.java index 883dac4c781..666df320679 100644 --- a/Mage.Sets/src/mage/cards/g/GrayOgre.java +++ b/Mage.Sets/src/mage/cards/g/GrayOgre.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class GrayOgre extends CardImpl { public GrayOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.OGRE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GraypeltHunter.java b/Mage.Sets/src/mage/cards/g/GraypeltHunter.java index 1b0c30b13ff..efbc7fcaa9a 100644 --- a/Mage.Sets/src/mage/cards/g/GraypeltHunter.java +++ b/Mage.Sets/src/mage/cards/g/GraypeltHunter.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,9 +46,9 @@ public class GraypeltHunter extends CardImpl { public GraypeltHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GrayscaledGharial.java b/Mage.Sets/src/mage/cards/g/GrayscaledGharial.java index b68da285e73..6ce01926714 100644 --- a/Mage.Sets/src/mage/cards/g/GrayscaledGharial.java +++ b/Mage.Sets/src/mage/cards/g/GrayscaledGharial.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GrayscaledGharial extends CardImpl { public GrayscaledGharial (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Crocodile"); + this.subtype.add(SubType.CROCODILE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GrazingGladehart.java b/Mage.Sets/src/mage/cards/g/GrazingGladehart.java index db706d13616..3b12e2bbe80 100644 --- a/Mage.Sets/src/mage/cards/g/GrazingGladehart.java +++ b/Mage.Sets/src/mage/cards/g/GrazingGladehart.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GrazingGladehart extends CardImpl { public GrazingGladehart(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Antelope"); + this.subtype.add(SubType.ANTELOPE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GrazingKelpie.java b/Mage.Sets/src/mage/cards/g/GrazingKelpie.java index 0be2a4c5615..a143ff626b7 100644 --- a/Mage.Sets/src/mage/cards/g/GrazingKelpie.java +++ b/Mage.Sets/src/mage/cards/g/GrazingKelpie.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.PersistAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCardInGraveyard; @@ -50,7 +51,7 @@ public class GrazingKelpie extends CardImpl { public GrazingKelpie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G/U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GreatHart.java b/Mage.Sets/src/mage/cards/g/GreatHart.java index 47d57675ef4..bade0beb8ac 100644 --- a/Mage.Sets/src/mage/cards/g/GreatHart.java +++ b/Mage.Sets/src/mage/cards/g/GreatHart.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class GreatHart extends CardImpl { public GreatHart(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Elk"); + this.subtype.add(SubType.ELK); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GreatHornKrushok.java b/Mage.Sets/src/mage/cards/g/GreatHornKrushok.java index e5c61922567..925423aa8d5 100644 --- a/Mage.Sets/src/mage/cards/g/GreatHornKrushok.java +++ b/Mage.Sets/src/mage/cards/g/GreatHornKrushok.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class GreatHornKrushok extends CardImpl { public GreatHornKrushok(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(5); } diff --git a/Mage.Sets/src/mage/cards/g/GreatOakGuardian.java b/Mage.Sets/src/mage/cards/g/GreatOakGuardian.java index 4ebdd46afd0..9446172a307 100644 --- a/Mage.Sets/src/mage/cards/g/GreatOakGuardian.java +++ b/Mage.Sets/src/mage/cards/g/GreatOakGuardian.java @@ -55,7 +55,7 @@ public class GreatOakGuardian extends CardImpl { public GreatOakGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GreatSableStag.java b/Mage.Sets/src/mage/cards/g/GreatSableStag.java index 70d7cbf134b..9b8fe22828f 100644 --- a/Mage.Sets/src/mage/cards/g/GreatSableStag.java +++ b/Mage.Sets/src/mage/cards/g/GreatSableStag.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class GreatSableStag extends CardImpl { public GreatSableStag(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Elk"); + this.subtype.add(SubType.ELK); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GreatWhale.java b/Mage.Sets/src/mage/cards/g/GreatWhale.java index 8b4cce91f7f..61ba5c826dc 100644 --- a/Mage.Sets/src/mage/cards/g/GreatWhale.java +++ b/Mage.Sets/src/mage/cards/g/GreatWhale.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.UntapLandsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GreatWhale extends CardImpl { public GreatWhale(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Whale"); + this.subtype.add(SubType.WHALE); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GreatbowDoyen.java b/Mage.Sets/src/mage/cards/g/GreatbowDoyen.java index 5eb45056488..435c572c9f2 100644 --- a/Mage.Sets/src/mage/cards/g/GreatbowDoyen.java +++ b/Mage.Sets/src/mage/cards/g/GreatbowDoyen.java @@ -62,8 +62,8 @@ public class GreatbowDoyen extends CardImpl { public GreatbowDoyen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GreaterBasilisk.java b/Mage.Sets/src/mage/cards/g/GreaterBasilisk.java index 6045494c6f7..9de48155490 100644 --- a/Mage.Sets/src/mage/cards/g/GreaterBasilisk.java +++ b/Mage.Sets/src/mage/cards/g/GreaterBasilisk.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GreaterBasilisk extends CardImpl { public GreaterBasilisk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Basilisk"); + this.subtype.add(SubType.BASILISK); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GreaterForgeling.java b/Mage.Sets/src/mage/cards/g/GreaterForgeling.java index a6431008d96..9d1cf6378b2 100644 --- a/Mage.Sets/src/mage/cards/g/GreaterForgeling.java +++ b/Mage.Sets/src/mage/cards/g/GreaterForgeling.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class GreaterForgeling extends CardImpl { public GreaterForgeling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GreaterGargadon.java b/Mage.Sets/src/mage/cards/g/GreaterGargadon.java index 0550cb68393..d7f6fd5b345 100644 --- a/Mage.Sets/src/mage/cards/g/GreaterGargadon.java +++ b/Mage.Sets/src/mage/cards/g/GreaterGargadon.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledPermanent; @@ -56,7 +57,7 @@ public class GreaterGargadon extends CardImpl { public GreaterGargadon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{9}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(9); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/g/GreaterHarvester.java b/Mage.Sets/src/mage/cards/g/GreaterHarvester.java index eaf4cef0169..929b56a5ef8 100644 --- a/Mage.Sets/src/mage/cards/g/GreaterHarvester.java +++ b/Mage.Sets/src/mage/cards/g/GreaterHarvester.java @@ -14,6 +14,7 @@ import mage.abilities.effects.common.SacrificeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -43,7 +44,7 @@ public class GreaterHarvester extends CardImpl { public GreaterHarvester(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/g/GreaterKraytDragon.java b/Mage.Sets/src/mage/cards/g/GreaterKraytDragon.java index 8142e3b7b63..eeee4e0c3e0 100644 --- a/Mage.Sets/src/mage/cards/g/GreaterKraytDragon.java +++ b/Mage.Sets/src/mage/cards/g/GreaterKraytDragon.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -48,7 +49,7 @@ public class GreaterKraytDragon extends CardImpl { public GreaterKraytDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{G}{W}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/g/GreaterMossdog.java b/Mage.Sets/src/mage/cards/g/GreaterMossdog.java index 2b91bb49377..cfd8ba56f7d 100644 --- a/Mage.Sets/src/mage/cards/g/GreaterMossdog.java +++ b/Mage.Sets/src/mage/cards/g/GreaterMossdog.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DredgeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GreaterMossdog extends CardImpl { public GreaterMossdog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Hound"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.HOUND); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GreaterSandwurm.java b/Mage.Sets/src/mage/cards/g/GreaterSandwurm.java index 55a0e079584..2c59da4235c 100644 --- a/Mage.Sets/src/mage/cards/g/GreaterSandwurm.java +++ b/Mage.Sets/src/mage/cards/g/GreaterSandwurm.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; @@ -56,7 +57,7 @@ public class GreaterSandwurm extends CardImpl { public GreaterSandwurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/g/GreaterStoneSpirit.java b/Mage.Sets/src/mage/cards/g/GreaterStoneSpirit.java index 8e4f9cdbb1e..1f3702f52ad 100644 --- a/Mage.Sets/src/mage/cards/g/GreaterStoneSpirit.java +++ b/Mage.Sets/src/mage/cards/g/GreaterStoneSpirit.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -61,8 +62,8 @@ public class GreaterStoneSpirit extends CardImpl { public GreaterStoneSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/Greatsword.java b/Mage.Sets/src/mage/cards/g/Greatsword.java index d41085d15d5..1041f7d2559 100644 --- a/Mage.Sets/src/mage/cards/g/Greatsword.java +++ b/Mage.Sets/src/mage/cards/g/Greatsword.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class Greatsword extends CardImpl { public Greatsword(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 0))); this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(3))); } diff --git a/Mage.Sets/src/mage/cards/g/Greedo.java b/Mage.Sets/src/mage/cards/g/Greedo.java index be945e10b6a..a7d5c81e6fe 100644 --- a/Mage.Sets/src/mage/cards/g/Greedo.java +++ b/Mage.Sets/src/mage/cards/g/Greedo.java @@ -61,8 +61,8 @@ public class Greedo extends CardImpl { public Greedo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Rodian"); - this.subtype.add("Hunter"); + this.subtype.add(SubType.RODIAN); + this.subtype.add(SubType.HUNTER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GreelMindRaker.java b/Mage.Sets/src/mage/cards/g/GreelMindRaker.java index 702454ffbba..668f5f307de 100644 --- a/Mage.Sets/src/mage/cards/g/GreelMindRaker.java +++ b/Mage.Sets/src/mage/cards/g/GreelMindRaker.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterCard; @@ -55,8 +56,8 @@ public class GreelMindRaker extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Horror"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HORROR); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GreelsCaress.java b/Mage.Sets/src/mage/cards/g/GreelsCaress.java index 2ad1e4688e2..a9957886e89 100644 --- a/Mage.Sets/src/mage/cards/g/GreelsCaress.java +++ b/Mage.Sets/src/mage/cards/g/GreelsCaress.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class GreelsCaress extends CardImpl { public GreelsCaress(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/g/GreenScarab.java b/Mage.Sets/src/mage/cards/g/GreenScarab.java index bc037930362..eec5731a310 100644 --- a/Mage.Sets/src/mage/cards/g/GreenScarab.java +++ b/Mage.Sets/src/mage/cards/g/GreenScarab.java @@ -63,7 +63,7 @@ public class GreenScarab extends CardImpl { public GreenScarab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GreenWard.java b/Mage.Sets/src/mage/cards/g/GreenWard.java index 657c1232397..e4707817184 100644 --- a/Mage.Sets/src/mage/cards/g/GreenWard.java +++ b/Mage.Sets/src/mage/cards/g/GreenWard.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -60,7 +61,7 @@ public class GreenWard extends CardImpl { public GreenWard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GreenbeltRampager.java b/Mage.Sets/src/mage/cards/g/GreenbeltRampager.java index 155229c81d5..e7f78f9695f 100644 --- a/Mage.Sets/src/mage/cards/g/GreenbeltRampager.java +++ b/Mage.Sets/src/mage/cards/g/GreenbeltRampager.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -51,7 +52,7 @@ public class GreenbeltRampager extends CardImpl { public GreenbeltRampager(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GreenhiltTrainee.java b/Mage.Sets/src/mage/cards/g/GreenhiltTrainee.java index b64e17bc5a4..541d8d887b8 100644 --- a/Mage.Sets/src/mage/cards/g/GreenhiltTrainee.java +++ b/Mage.Sets/src/mage/cards/g/GreenhiltTrainee.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -53,8 +54,8 @@ public class GreenhiltTrainee extends CardImpl { public GreenhiltTrainee (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/Greenseeker.java b/Mage.Sets/src/mage/cards/g/Greenseeker.java index b95ea6b0237..9f0a7e6ece9 100644 --- a/Mage.Sets/src/mage/cards/g/Greenseeker.java +++ b/Mage.Sets/src/mage/cards/g/Greenseeker.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -51,8 +52,8 @@ public class Greenseeker extends CardImpl { public Greenseeker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GreensideWatcher.java b/Mage.Sets/src/mage/cards/g/GreensideWatcher.java index fbde6d43f31..da021269317 100644 --- a/Mage.Sets/src/mage/cards/g/GreensideWatcher.java +++ b/Mage.Sets/src/mage/cards/g/GreensideWatcher.java @@ -55,8 +55,8 @@ public class GreensideWatcher extends CardImpl { public GreensideWatcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GreenwardenOfMurasa.java b/Mage.Sets/src/mage/cards/g/GreenwardenOfMurasa.java index 54eb44fa38a..26bf8fa207f 100644 --- a/Mage.Sets/src/mage/cards/g/GreenwardenOfMurasa.java +++ b/Mage.Sets/src/mage/cards/g/GreenwardenOfMurasa.java @@ -42,6 +42,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -56,7 +57,7 @@ public class GreenwardenOfMurasa extends CardImpl { public GreenwardenOfMurasa(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GreenweaverDruid.java b/Mage.Sets/src/mage/cards/g/GreenweaverDruid.java index 40e04acc5e0..4a6038bc8db 100644 --- a/Mage.Sets/src/mage/cards/g/GreenweaverDruid.java +++ b/Mage.Sets/src/mage/cards/g/GreenweaverDruid.java @@ -35,6 +35,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class GreenweaverDruid extends CardImpl { public GreenweaverDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GreenwheelLiberator.java b/Mage.Sets/src/mage/cards/g/GreenwheelLiberator.java index 7660b787a28..2920d98359a 100644 --- a/Mage.Sets/src/mage/cards/g/GreenwheelLiberator.java +++ b/Mage.Sets/src/mage/cards/g/GreenwheelLiberator.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.watchers.common.RevoltWatcher; @@ -48,8 +49,8 @@ public class GreenwheelLiberator extends CardImpl { public GreenwheelLiberator(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GremlinInfestation.java b/Mage.Sets/src/mage/cards/g/GremlinInfestation.java index 6aae9b9f781..9b1aa50b4aa 100644 --- a/Mage.Sets/src/mage/cards/g/GremlinInfestation.java +++ b/Mage.Sets/src/mage/cards/g/GremlinInfestation.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.game.permanent.token.GremlinToken; @@ -54,7 +55,7 @@ public class GremlinInfestation extends CardImpl { public GremlinInfestation(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact TargetPermanent auraTarget = new TargetArtifactPermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GrenzoDungeonWarden.java b/Mage.Sets/src/mage/cards/g/GrenzoDungeonWarden.java index 0ad0e219e57..18b16527eac 100644 --- a/Mage.Sets/src/mage/cards/g/GrenzoDungeonWarden.java +++ b/Mage.Sets/src/mage/cards/g/GrenzoDungeonWarden.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class GrenzoDungeonWarden extends CardImpl { public GrenzoDungeonWarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{X}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GrenzoHavocRaiser.java b/Mage.Sets/src/mage/cards/g/GrenzoHavocRaiser.java index 60786e5e2e6..ed3818b390a 100644 --- a/Mage.Sets/src/mage/cards/g/GrenzoHavocRaiser.java +++ b/Mage.Sets/src/mage/cards/g/GrenzoHavocRaiser.java @@ -45,6 +45,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.ManaType; import mage.constants.Outcome; @@ -73,8 +74,8 @@ public class GrenzoHavocRaiser extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GrenzosCutthroat.java b/Mage.Sets/src/mage/cards/g/GrenzosCutthroat.java index 836ee24689e..a28997cb2b6 100644 --- a/Mage.Sets/src/mage/cards/g/GrenzosCutthroat.java +++ b/Mage.Sets/src/mage/cards/g/GrenzosCutthroat.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class GrenzosCutthroat extends CardImpl { public GrenzosCutthroat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GridMonitor.java b/Mage.Sets/src/mage/cards/g/GridMonitor.java index bc2aee4dd2e..3ddaf2e2ff7 100644 --- a/Mage.Sets/src/mage/cards/g/GridMonitor.java +++ b/Mage.Sets/src/mage/cards/g/GridMonitor.java @@ -36,6 +36,7 @@ import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class GridMonitor extends CardImpl { public GridMonitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/g/GriefTyrant.java b/Mage.Sets/src/mage/cards/g/GriefTyrant.java index 180849399b7..a85815bff45 100644 --- a/Mage.Sets/src/mage/cards/g/GriefTyrant.java +++ b/Mage.Sets/src/mage/cards/g/GriefTyrant.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -51,7 +52,7 @@ public class GriefTyrant extends CardImpl { public GriefTyrant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B/R}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/g/GriffinDreamfinder.java b/Mage.Sets/src/mage/cards/g/GriffinDreamfinder.java index e34fbf8bd4c..cd65bc29ed1 100644 --- a/Mage.Sets/src/mage/cards/g/GriffinDreamfinder.java +++ b/Mage.Sets/src/mage/cards/g/GriffinDreamfinder.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.target.common.TargetCardInYourGraveyard; @@ -54,7 +55,7 @@ public class GriffinDreamfinder extends CardImpl { public GriffinDreamfinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GriffinGuide.java b/Mage.Sets/src/mage/cards/g/GriffinGuide.java index dc31ae3ab0a..ee322eefa95 100644 --- a/Mage.Sets/src/mage/cards/g/GriffinGuide.java +++ b/Mage.Sets/src/mage/cards/g/GriffinGuide.java @@ -52,7 +52,7 @@ public class GriffinGuide extends CardImpl { public GriffinGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GriffinProtector.java b/Mage.Sets/src/mage/cards/g/GriffinProtector.java index 407c39d775d..1e221190957 100644 --- a/Mage.Sets/src/mage/cards/g/GriffinProtector.java +++ b/Mage.Sets/src/mage/cards/g/GriffinProtector.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -47,7 +48,7 @@ public class GriffinProtector extends CardImpl { public GriffinProtector(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GriffinRider.java b/Mage.Sets/src/mage/cards/g/GriffinRider.java index 39162574287..e3a417e9814 100644 --- a/Mage.Sets/src/mage/cards/g/GriffinRider.java +++ b/Mage.Sets/src/mage/cards/g/GriffinRider.java @@ -61,8 +61,8 @@ public class GriffinRider extends CardImpl { public GriffinRider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.color.setWhite(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GriffinSentinel.java b/Mage.Sets/src/mage/cards/g/GriffinSentinel.java index 522b9cf4e22..88f0b4b0a43 100644 --- a/Mage.Sets/src/mage/cards/g/GriffinSentinel.java +++ b/Mage.Sets/src/mage/cards/g/GriffinSentinel.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -43,7 +44,7 @@ public class GriffinSentinel extends CardImpl { public GriffinSentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.addAbility(FlyingAbility.getInstance()); this.addAbility(VigilanceAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/g/GriftersBlade.java b/Mage.Sets/src/mage/cards/g/GriftersBlade.java index 856be7a4e94..b9c867bb2ac 100644 --- a/Mage.Sets/src/mage/cards/g/GriftersBlade.java +++ b/Mage.Sets/src/mage/cards/g/GriftersBlade.java @@ -1,118 +1,119 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.g; - -import java.util.UUID; -import mage.MageObject; -import mage.abilities.Ability; -import mage.abilities.common.AsEntersBattlefieldAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.continuous.BoostEquippedEffect; -import mage.abilities.keyword.EquipAbility; -import mage.abilities.keyword.FlashAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.common.TargetControlledCreaturePermanent; - -/** - * - * @author LevelX2 - */ -public class GriftersBlade extends CardImpl { - - public GriftersBlade(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); - - this.subtype.add("Equipment"); - - // Flash - this.addAbility(FlashAbility.getInstance()); - - // As Grifter's Blade enters the battlefield, choose a creature you control it could be attached to. If you do, it enters the battlefield attached to that creature. - this.addAbility(new AsEntersBattlefieldAbility(new GriftersBladeChooseCreatureEffect(Outcome.BoostCreature))); - - // Equipped creature gets +1/+1. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1))); - - // Equip {1} - this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1))); - - } - - public GriftersBlade(final GriftersBlade card) { - super(card); - } - - @Override - public GriftersBlade copy() { - return new GriftersBlade(this); - } -} - -class GriftersBladeChooseCreatureEffect extends OneShotEffect { - - public GriftersBladeChooseCreatureEffect(Outcome outcome) { - super(outcome); - this.staticText = "choose a creature you control it could be attached to. If you do, it enters the battlefield attached to that creature"; - } - - public GriftersBladeChooseCreatureEffect(final GriftersBladeChooseCreatureEffect effect) { - super(effect); - } - - @Override - public GriftersBladeChooseCreatureEffect copy() { - return new GriftersBladeChooseCreatureEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - MageObject mageObject = game.getPermanentEntering(source.getSourceId()); - if (controller != null && mageObject != null) { - TargetControlledCreaturePermanent target = new TargetControlledCreaturePermanent(); - target.setNotTarget(true); - if (controller.choose(this.outcome, target, source.getSourceId(), game)) { - Permanent attachToCreature = game.getPermanent(target.getFirstTarget()); - if (attachToCreature != null) { - attachToCreature.addAttachment(mageObject.getId(), game); - } - } - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.g; + +import java.util.UUID; +import mage.MageObject; +import mage.abilities.Ability; +import mage.abilities.common.AsEntersBattlefieldAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.continuous.BoostEquippedEffect; +import mage.abilities.keyword.EquipAbility; +import mage.abilities.keyword.FlashAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetControlledCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class GriftersBlade extends CardImpl { + + public GriftersBlade(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); + + this.subtype.add(SubType.EQUIPMENT); + + // Flash + this.addAbility(FlashAbility.getInstance()); + + // As Grifter's Blade enters the battlefield, choose a creature you control it could be attached to. If you do, it enters the battlefield attached to that creature. + this.addAbility(new AsEntersBattlefieldAbility(new GriftersBladeChooseCreatureEffect(Outcome.BoostCreature))); + + // Equipped creature gets +1/+1. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1))); + + // Equip {1} + this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1))); + + } + + public GriftersBlade(final GriftersBlade card) { + super(card); + } + + @Override + public GriftersBlade copy() { + return new GriftersBlade(this); + } +} + +class GriftersBladeChooseCreatureEffect extends OneShotEffect { + + public GriftersBladeChooseCreatureEffect(Outcome outcome) { + super(outcome); + this.staticText = "choose a creature you control it could be attached to. If you do, it enters the battlefield attached to that creature"; + } + + public GriftersBladeChooseCreatureEffect(final GriftersBladeChooseCreatureEffect effect) { + super(effect); + } + + @Override + public GriftersBladeChooseCreatureEffect copy() { + return new GriftersBladeChooseCreatureEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + MageObject mageObject = game.getPermanentEntering(source.getSourceId()); + if (controller != null && mageObject != null) { + TargetControlledCreaturePermanent target = new TargetControlledCreaturePermanent(); + target.setNotTarget(true); + if (controller.choose(this.outcome, target, source.getSourceId(), game)) { + Permanent attachToCreature = game.getPermanent(target.getFirstTarget()); + if (attachToCreature != null) { + attachToCreature.addAttachment(mageObject.getId(), game); + } + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/g/GrimFlayer.java b/Mage.Sets/src/mage/cards/g/GrimFlayer.java index c72ef0bed15..dca28bd5039 100644 --- a/Mage.Sets/src/mage/cards/g/GrimFlayer.java +++ b/Mage.Sets/src/mage/cards/g/GrimFlayer.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterCard; @@ -53,8 +54,8 @@ public class GrimFlayer extends CardImpl { public GrimFlayer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GrimGuardian.java b/Mage.Sets/src/mage/cards/g/GrimGuardian.java index f1d2fd399dd..36d78bb51de 100644 --- a/Mage.Sets/src/mage/cards/g/GrimGuardian.java +++ b/Mage.Sets/src/mage/cards/g/GrimGuardian.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.LoseLifeOpponentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GrimGuardian extends CardImpl { public GrimGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GrimHaruspex.java b/Mage.Sets/src/mage/cards/g/GrimHaruspex.java index b8c5d4372e2..3b00ad9100a 100644 --- a/Mage.Sets/src/mage/cards/g/GrimHaruspex.java +++ b/Mage.Sets/src/mage/cards/g/GrimHaruspex.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -59,8 +60,8 @@ public class GrimHaruspex extends CardImpl { public GrimHaruspex(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GrimLavamancer.java b/Mage.Sets/src/mage/cards/g/GrimLavamancer.java index 19a8681579c..b38a2b3e7ae 100644 --- a/Mage.Sets/src/mage/cards/g/GrimLavamancer.java +++ b/Mage.Sets/src/mage/cards/g/GrimLavamancer.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.filter.FilterCard; @@ -52,8 +53,8 @@ public class GrimLavamancer extends CardImpl { public GrimLavamancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GrimPoppet.java b/Mage.Sets/src/mage/cards/g/GrimPoppet.java index 7c25f31ac49..9ea36ebc92f 100644 --- a/Mage.Sets/src/mage/cards/g/GrimPoppet.java +++ b/Mage.Sets/src/mage/cards/g/GrimPoppet.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -58,7 +59,7 @@ public class GrimPoppet extends CardImpl { public GrimPoppet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GrimRoustabout.java b/Mage.Sets/src/mage/cards/g/GrimRoustabout.java index a0a2911b426..17a2ff91dd6 100644 --- a/Mage.Sets/src/mage/cards/g/GrimRoustabout.java +++ b/Mage.Sets/src/mage/cards/g/GrimRoustabout.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.UnleashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class GrimRoustabout extends CardImpl { public GrimRoustabout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Skeleton"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.SKELETON); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GrimStrider.java b/Mage.Sets/src/mage/cards/g/GrimStrider.java index 273f53fda99..68f10048e27 100644 --- a/Mage.Sets/src/mage/cards/g/GrimStrider.java +++ b/Mage.Sets/src/mage/cards/g/GrimStrider.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class GrimStrider extends CardImpl { public GrimStrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/g/GrimclawBats.java b/Mage.Sets/src/mage/cards/g/GrimclawBats.java index 669a440c301..49332c57bcf 100644 --- a/Mage.Sets/src/mage/cards/g/GrimclawBats.java +++ b/Mage.Sets/src/mage/cards/g/GrimclawBats.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class GrimclawBats extends CardImpl { public GrimclawBats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Bat"); + this.subtype.add(SubType.BAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GrimgrinCorpseBorn.java b/Mage.Sets/src/mage/cards/g/GrimgrinCorpseBorn.java index 42717ea0afe..d0b56be7d79 100644 --- a/Mage.Sets/src/mage/cards/g/GrimgrinCorpseBorn.java +++ b/Mage.Sets/src/mage/cards/g/GrimgrinCorpseBorn.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.counters.CounterType; @@ -62,8 +63,8 @@ public class GrimgrinCorpseBorn extends CardImpl { public GrimgrinCorpseBorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GrimoireThief.java b/Mage.Sets/src/mage/cards/g/GrimoireThief.java index 213be68ec1c..47e0db88f08 100644 --- a/Mage.Sets/src/mage/cards/g/GrimoireThief.java +++ b/Mage.Sets/src/mage/cards/g/GrimoireThief.java @@ -61,8 +61,8 @@ public class GrimoireThief extends CardImpl { public GrimoireThief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GrinningDemon.java b/Mage.Sets/src/mage/cards/g/GrinningDemon.java index 8ac9858356a..ebf0cda68c5 100644 --- a/Mage.Sets/src/mage/cards/g/GrinningDemon.java +++ b/Mage.Sets/src/mage/cards/g/GrinningDemon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -46,7 +47,7 @@ public class GrinningDemon extends CardImpl { public GrinningDemon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/g/GrinningIgnus.java b/Mage.Sets/src/mage/cards/g/GrinningIgnus.java index 225cc96eb2a..ae0828bbc3d 100644 --- a/Mage.Sets/src/mage/cards/g/GrinningIgnus.java +++ b/Mage.Sets/src/mage/cards/g/GrinningIgnus.java @@ -37,6 +37,7 @@ import mage.abilities.mana.ActivateAsSorceryManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class GrinningIgnus extends CardImpl { public GrinningIgnus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/Griselbrand.java b/Mage.Sets/src/mage/cards/g/Griselbrand.java index 24bc5958290..a4adbd6a739 100644 --- a/Mage.Sets/src/mage/cards/g/Griselbrand.java +++ b/Mage.Sets/src/mage/cards/g/Griselbrand.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class Griselbrand extends CardImpl { public Griselbrand(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/g/GrislyAnglerfish.java b/Mage.Sets/src/mage/cards/g/GrislyAnglerfish.java index 798d4254dde..9b4daf1d1de 100644 --- a/Mage.Sets/src/mage/cards/g/GrislyAnglerfish.java +++ b/Mage.Sets/src/mage/cards/g/GrislyAnglerfish.java @@ -36,6 +36,7 @@ import mage.abilities.effects.RequirementEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -49,8 +50,8 @@ public class GrislyAnglerfish extends CardImpl { public GrislyAnglerfish(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Eldrazi"); - this.subtype.add("Fish"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.FISH); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GrislySurvivor.java b/Mage.Sets/src/mage/cards/g/GrislySurvivor.java index 4460e10db92..203f0f250a4 100644 --- a/Mage.Sets/src/mage/cards/g/GrislySurvivor.java +++ b/Mage.Sets/src/mage/cards/g/GrislySurvivor.java @@ -1,65 +1,66 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.g; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.CycleOrDiscardControllerTriggeredAbility; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; - -/** - * - * @author ciaccona007 - */ -public class GrislySurvivor extends CardImpl { - - public GrislySurvivor(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); - this.power = new MageInt(2); - this.toughness = new MageInt(3); - - // Whenever you cycle or discard a card, Grisly Survivor gets +2/+0 until end of turn. - addAbility(new CycleOrDiscardControllerTriggeredAbility(new BoostSourceEffect(2,0,Duration.EndOfTurn))); - } - - public GrislySurvivor(final GrislySurvivor card) { - super(card); - } - - @Override - public GrislySurvivor copy() { - return new GrislySurvivor(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.g; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.CycleOrDiscardControllerTriggeredAbility; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; + +/** + * + * @author ciaccona007 + */ +public class GrislySurvivor extends CardImpl { + + public GrislySurvivor(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); + + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Whenever you cycle or discard a card, Grisly Survivor gets +2/+0 until end of turn. + addAbility(new CycleOrDiscardControllerTriggeredAbility(new BoostSourceEffect(2,0,Duration.EndOfTurn))); + } + + public GrislySurvivor(final GrislySurvivor card) { + super(card); + } + + @Override + public GrislySurvivor copy() { + return new GrislySurvivor(this); + } +} diff --git a/Mage.Sets/src/mage/cards/g/GrislyTransformation.java b/Mage.Sets/src/mage/cards/g/GrislyTransformation.java index 621c23740cf..62d9ab52163 100644 --- a/Mage.Sets/src/mage/cards/g/GrislyTransformation.java +++ b/Mage.Sets/src/mage/cards/g/GrislyTransformation.java @@ -50,7 +50,7 @@ public class GrislyTransformation extends CardImpl { public GrislyTransformation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/g/GristleGrinner.java b/Mage.Sets/src/mage/cards/g/GristleGrinner.java index cb96fad59f4..c7279357812 100644 --- a/Mage.Sets/src/mage/cards/g/GristleGrinner.java +++ b/Mage.Sets/src/mage/cards/g/GristleGrinner.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class GristleGrinner extends CardImpl { public GristleGrinner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/Gristleback.java b/Mage.Sets/src/mage/cards/g/Gristleback.java index a63ef91af5f..c0a83dd7c35 100644 --- a/Mage.Sets/src/mage/cards/g/Gristleback.java +++ b/Mage.Sets/src/mage/cards/g/Gristleback.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.BloodthirstAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class Gristleback extends CardImpl { public Gristleback(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Boar"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BOAR); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GrixisBattlemage.java b/Mage.Sets/src/mage/cards/g/GrixisBattlemage.java index c0cfd8cd42c..7f8e7af34a4 100644 --- a/Mage.Sets/src/mage/cards/g/GrixisBattlemage.java +++ b/Mage.Sets/src/mage/cards/g/GrixisBattlemage.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.combat.CantBlockTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class GrixisBattlemage extends CardImpl { public GrixisBattlemage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GrixisGrimblade.java b/Mage.Sets/src/mage/cards/g/GrixisGrimblade.java index 2423bd3aa5d..39e638c25b3 100644 --- a/Mage.Sets/src/mage/cards/g/GrixisGrimblade.java +++ b/Mage.Sets/src/mage/cards/g/GrixisGrimblade.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -60,8 +61,8 @@ public class GrixisGrimblade extends CardImpl { public GrixisGrimblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U/R}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WARRIOR); diff --git a/Mage.Sets/src/mage/cards/g/GrixisIllusionist.java b/Mage.Sets/src/mage/cards/g/GrixisIllusionist.java index cd2829e6638..c3a3d63d61b 100644 --- a/Mage.Sets/src/mage/cards/g/GrixisIllusionist.java +++ b/Mage.Sets/src/mage/cards/g/GrixisIllusionist.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BecomesBasicLandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -49,8 +50,8 @@ public class GrixisIllusionist extends CardImpl { public GrixisIllusionist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GrixisSlavedriver.java b/Mage.Sets/src/mage/cards/g/GrixisSlavedriver.java index 42a26885e7f..e7b93f7f175 100644 --- a/Mage.Sets/src/mage/cards/g/GrixisSlavedriver.java +++ b/Mage.Sets/src/mage/cards/g/GrixisSlavedriver.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.ZombieToken; /** @@ -46,8 +47,8 @@ public class GrixisSlavedriver extends CardImpl { public GrixisSlavedriver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Giant"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(4); this.addAbility(new LeavesBattlefieldTriggeredAbility(new CreateTokenEffect(new ZombieToken()), false)); diff --git a/Mage.Sets/src/mage/cards/g/GrixisSojourners.java b/Mage.Sets/src/mage/cards/g/GrixisSojourners.java index e1081b1b238..0afcc9b662a 100644 --- a/Mage.Sets/src/mage/cards/g/GrixisSojourners.java +++ b/Mage.Sets/src/mage/cards/g/GrixisSojourners.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.target.common.TargetCardInASingleGraveyard; @@ -49,8 +50,8 @@ public class GrixisSojourners extends CardImpl { public GrixisSojourners(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{B}{R}"); - this.subtype.add("Zombie"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.OGRE); diff --git a/Mage.Sets/src/mage/cards/g/GrizzledAngler.java b/Mage.Sets/src/mage/cards/g/GrizzledAngler.java index 0f00a5174d6..06d5cd047dd 100644 --- a/Mage.Sets/src/mage/cards/g/GrizzledAngler.java +++ b/Mage.Sets/src/mage/cards/g/GrizzledAngler.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -53,7 +54,7 @@ public class GrizzledAngler extends CardImpl { public GrizzledAngler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GrizzledLeotau.java b/Mage.Sets/src/mage/cards/g/GrizzledLeotau.java index 458c9e2ca47..8363a5da3e1 100644 --- a/Mage.Sets/src/mage/cards/g/GrizzledLeotau.java +++ b/Mage.Sets/src/mage/cards/g/GrizzledLeotau.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class GrizzledLeotau extends CardImpl { public GrizzledLeotau(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); diff --git a/Mage.Sets/src/mage/cards/g/GrizzledOutcasts.java b/Mage.Sets/src/mage/cards/g/GrizzledOutcasts.java index c15b3ab2b81..31631d9f2c9 100644 --- a/Mage.Sets/src/mage/cards/g/GrizzledOutcasts.java +++ b/Mage.Sets/src/mage/cards/g/GrizzledOutcasts.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.k.KrallenhordeWantons; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,8 +49,8 @@ public class GrizzledOutcasts extends CardImpl { public GrizzledOutcasts(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Human"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WEREWOLF); this.transformable = true; this.secondSideCardClazz = KrallenhordeWantons.class; diff --git a/Mage.Sets/src/mage/cards/g/GrizzlyBears.java b/Mage.Sets/src/mage/cards/g/GrizzlyBears.java index fa87558a054..f01ea495de3 100644 --- a/Mage.Sets/src/mage/cards/g/GrizzlyBears.java +++ b/Mage.Sets/src/mage/cards/g/GrizzlyBears.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class GrizzlyBears extends CardImpl { public GrizzlyBears(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Bear"); + this.subtype.add(SubType.BEAR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/Groffskithur.java b/Mage.Sets/src/mage/cards/g/Groffskithur.java index e84cf758478..00c3aaa9b8e 100644 --- a/Mage.Sets/src/mage/cards/g/Groffskithur.java +++ b/Mage.Sets/src/mage/cards/g/Groffskithur.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.NamePredicate; import mage.target.common.TargetCardInYourGraveyard; @@ -53,7 +54,7 @@ public class Groffskithur extends CardImpl { public Groffskithur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GrotagSiegeRunner.java b/Mage.Sets/src/mage/cards/g/GrotagSiegeRunner.java index b34b0438b7e..b637ff40232 100644 --- a/Mage.Sets/src/mage/cards/g/GrotagSiegeRunner.java +++ b/Mage.Sets/src/mage/cards/g/GrotagSiegeRunner.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -59,8 +60,8 @@ public class GrotagSiegeRunner extends CardImpl { public GrotagSiegeRunner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GrotagThrasher.java b/Mage.Sets/src/mage/cards/g/GrotagThrasher.java index f9bd2cdf601..a03ee7b8a15 100644 --- a/Mage.Sets/src/mage/cards/g/GrotagThrasher.java +++ b/Mage.Sets/src/mage/cards/g/GrotagThrasher.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CantBlockTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -45,7 +46,7 @@ public class GrotagThrasher extends CardImpl { public GrotagThrasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GrotesqueHybrid.java b/Mage.Sets/src/mage/cards/g/GrotesqueHybrid.java index d19e45098e2..74c916a226b 100644 --- a/Mage.Sets/src/mage/cards/g/GrotesqueHybrid.java +++ b/Mage.Sets/src/mage/cards/g/GrotesqueHybrid.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class GrotesqueHybrid extends CardImpl { public GrotesqueHybrid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/Groundbreaker.java b/Mage.Sets/src/mage/cards/g/Groundbreaker.java index 9d6037f89c9..4c6870841ca 100644 --- a/Mage.Sets/src/mage/cards/g/Groundbreaker.java +++ b/Mage.Sets/src/mage/cards/g/Groundbreaker.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -46,7 +47,7 @@ public class Groundbreaker extends CardImpl { public Groundbreaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/Grounded.java b/Mage.Sets/src/mage/cards/g/Grounded.java index 40d49e09c28..d25db29cebe 100644 --- a/Mage.Sets/src/mage/cards/g/Grounded.java +++ b/Mage.Sets/src/mage/cards/g/Grounded.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class Grounded extends CardImpl { public Grounded(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/g/GroundlingPouncer.java b/Mage.Sets/src/mage/cards/g/GroundlingPouncer.java index 7fbc45d40c1..41b3e883e15 100644 --- a/Mage.Sets/src/mage/cards/g/GroundlingPouncer.java +++ b/Mage.Sets/src/mage/cards/g/GroundlingPouncer.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.EffectType; import mage.constants.Zone; @@ -65,7 +66,7 @@ public class GroundlingPouncer extends CardImpl { public GroundlingPouncer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G/U}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GroundshakerSliver.java b/Mage.Sets/src/mage/cards/g/GroundshakerSliver.java index 68e51292e0b..b4e9d815615 100644 --- a/Mage.Sets/src/mage/cards/g/GroundshakerSliver.java +++ b/Mage.Sets/src/mage/cards/g/GroundshakerSliver.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -47,7 +48,7 @@ public class GroundshakerSliver extends CardImpl { public GroundshakerSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{G}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/Groundskeeper.java b/Mage.Sets/src/mage/cards/g/Groundskeeper.java index ebeac04e5a6..4b3d127ae94 100644 --- a/Mage.Sets/src/mage/cards/g/Groundskeeper.java +++ b/Mage.Sets/src/mage/cards/g/Groundskeeper.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterBasicLandCard; import mage.target.common.TargetCardInYourGraveyard; @@ -48,8 +49,8 @@ public class Groundskeeper extends CardImpl { public Groundskeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GroveOfTheGuardian.java b/Mage.Sets/src/mage/cards/g/GroveOfTheGuardian.java index 0dc31db4800..fa34c809a40 100644 --- a/Mage.Sets/src/mage/cards/g/GroveOfTheGuardian.java +++ b/Mage.Sets/src/mage/cards/g/GroveOfTheGuardian.java @@ -42,6 +42,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -91,7 +92,7 @@ public class GroveOfTheGuardian extends CardImpl { cardType.add(CardType.CREATURE); color.setGreen(true); color.setWhite(true); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); power = new MageInt(8); toughness = new MageInt(8); this.addAbility(VigilanceAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/g/GroveRumbler.java b/Mage.Sets/src/mage/cards/g/GroveRumbler.java index 5fc2d177db9..27880c8ea69 100644 --- a/Mage.Sets/src/mage/cards/g/GroveRumbler.java +++ b/Mage.Sets/src/mage/cards/g/GroveRumbler.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class GroveRumbler extends CardImpl { public GroveRumbler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GrovetenderDruids.java b/Mage.Sets/src/mage/cards/g/GrovetenderDruids.java index 51d504c9a03..b4125b10816 100644 --- a/Mage.Sets/src/mage/cards/g/GrovetenderDruids.java +++ b/Mage.Sets/src/mage/cards/g/GrovetenderDruids.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.token.GrovetenderDruidsPlantToken; @@ -51,9 +52,9 @@ public class GrovetenderDruids extends CardImpl { public GrovetenderDruids(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{W}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); - this.subtype.add("Ally"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); + this.subtype.add(SubType.ALLY); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/Grozoth.java b/Mage.Sets/src/mage/cards/g/Grozoth.java index 4ad0dec04f6..5a9aa952014 100644 --- a/Mage.Sets/src/mage/cards/g/Grozoth.java +++ b/Mage.Sets/src/mage/cards/g/Grozoth.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.abilities.keyword.TransmuteAbility; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Outcome; @@ -57,7 +58,7 @@ public class Grozoth extends CardImpl { public Grozoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{U}{U}{U}"); - this.subtype.add("Leviathan"); + this.subtype.add(SubType.LEVIATHAN); this.power = new MageInt(9); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/g/GruesomeDeformity.java b/Mage.Sets/src/mage/cards/g/GruesomeDeformity.java index e44d43591fe..262c453b288 100644 --- a/Mage.Sets/src/mage/cards/g/GruesomeDeformity.java +++ b/Mage.Sets/src/mage/cards/g/GruesomeDeformity.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class GruesomeDeformity extends CardImpl { public GruesomeDeformity(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/g/GruulGuildmage.java b/Mage.Sets/src/mage/cards/g/GruulGuildmage.java index b462e2c976a..cd35a78f787 100644 --- a/Mage.Sets/src/mage/cards/g/GruulGuildmage.java +++ b/Mage.Sets/src/mage/cards/g/GruulGuildmage.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -55,8 +56,8 @@ public class GruulGuildmage extends CardImpl { public GruulGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R/G}{R/G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GruulKeyrune.java b/Mage.Sets/src/mage/cards/g/GruulKeyrune.java index aef7e8b0789..515f2dd219e 100644 --- a/Mage.Sets/src/mage/cards/g/GruulKeyrune.java +++ b/Mage.Sets/src/mage/cards/g/GruulKeyrune.java @@ -38,6 +38,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -75,7 +76,7 @@ public class GruulKeyrune extends CardImpl { cardType.add(CardType.CREATURE); color.setRed(true); color.setGreen(true); - subtype.add("Beast"); + subtype.add(SubType.BEAST); power = new MageInt(3); toughness = new MageInt(2); this.addAbility(TrampleAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/g/GruulNodorog.java b/Mage.Sets/src/mage/cards/g/GruulNodorog.java index 3ce6d14bbcb..961d2d966b6 100644 --- a/Mage.Sets/src/mage/cards/g/GruulNodorog.java +++ b/Mage.Sets/src/mage/cards/g/GruulNodorog.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class GruulNodorog extends CardImpl { public GruulNodorog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GruulRagebeast.java b/Mage.Sets/src/mage/cards/g/GruulRagebeast.java index 77c4f2b1b9c..b2f9c291f69 100644 --- a/Mage.Sets/src/mage/cards/g/GruulRagebeast.java +++ b/Mage.Sets/src/mage/cards/g/GruulRagebeast.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -62,7 +63,7 @@ public class GruulRagebeast extends CardImpl { public GruulRagebeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{R}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/g/GruulScrapper.java b/Mage.Sets/src/mage/cards/g/GruulScrapper.java index c2de880a2dc..a3c45542ff6 100644 --- a/Mage.Sets/src/mage/cards/g/GruulScrapper.java +++ b/Mage.Sets/src/mage/cards/g/GruulScrapper.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.watchers.common.ManaSpentToCastWatcher; @@ -49,8 +50,8 @@ public class GruulScrapper extends CardImpl { public GruulScrapper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GruulWarPlow.java b/Mage.Sets/src/mage/cards/g/GruulWarPlow.java index fd27a0f0b42..c48adefaa9d 100644 --- a/Mage.Sets/src/mage/cards/g/GruulWarPlow.java +++ b/Mage.Sets/src/mage/cards/g/GruulWarPlow.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -74,7 +75,7 @@ class GruulWarPlowToken extends Token { super("Juggernaut", "4/4 Juggernaut artifact creature"); cardType.add(CardType.CREATURE); cardType.add(CardType.ARTIFACT); - subtype.add("Juggernaut"); + subtype.add(SubType.JUGGERNAUT); power = new MageInt(4); toughness = new MageInt(4); } diff --git a/Mage.Sets/src/mage/cards/g/GryffVanguard.java b/Mage.Sets/src/mage/cards/g/GryffVanguard.java index 815a4d58f56..5b676e45781 100644 --- a/Mage.Sets/src/mage/cards/g/GryffVanguard.java +++ b/Mage.Sets/src/mage/cards/g/GryffVanguard.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class GryffVanguard extends CardImpl { public GryffVanguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GryffsBoon.java b/Mage.Sets/src/mage/cards/g/GryffsBoon.java index 702e577977e..171fc5c0637 100644 --- a/Mage.Sets/src/mage/cards/g/GryffsBoon.java +++ b/Mage.Sets/src/mage/cards/g/GryffsBoon.java @@ -56,7 +56,7 @@ public class GryffsBoon extends CardImpl { public GryffsBoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GuanYuSaintedWarrior.java b/Mage.Sets/src/mage/cards/g/GuanYuSaintedWarrior.java index 89dff96fee7..a4500b9f304 100644 --- a/Mage.Sets/src/mage/cards/g/GuanYuSaintedWarrior.java +++ b/Mage.Sets/src/mage/cards/g/GuanYuSaintedWarrior.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -46,9 +47,9 @@ public class GuanYuSaintedWarrior extends CardImpl { public GuanYuSaintedWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GuardDuty.java b/Mage.Sets/src/mage/cards/g/GuardDuty.java index 4409b9d111c..34b8948bf0c 100644 --- a/Mage.Sets/src/mage/cards/g/GuardDuty.java +++ b/Mage.Sets/src/mage/cards/g/GuardDuty.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -52,7 +53,7 @@ public class GuardDuty extends CardImpl { public GuardDuty (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GuardGomazoa.java b/Mage.Sets/src/mage/cards/g/GuardGomazoa.java index 0ad19da71d3..d74d4dd210e 100644 --- a/Mage.Sets/src/mage/cards/g/GuardGomazoa.java +++ b/Mage.Sets/src/mage/cards/g/GuardGomazoa.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class GuardGomazoa extends CardImpl { public GuardGomazoa(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Jellyfish"); + this.subtype.add(SubType.JELLYFISH); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GuardianAutomaton.java b/Mage.Sets/src/mage/cards/g/GuardianAutomaton.java index 9adf862bda9..b1e724a2ac4 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianAutomaton.java +++ b/Mage.Sets/src/mage/cards/g/GuardianAutomaton.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class GuardianAutomaton extends CardImpl { public GuardianAutomaton(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GuardianBeast.java b/Mage.Sets/src/mage/cards/g/GuardianBeast.java index d22497cbd54..6039bb1e289 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianBeast.java +++ b/Mage.Sets/src/mage/cards/g/GuardianBeast.java @@ -71,7 +71,7 @@ public class GuardianBeast extends CardImpl { public GuardianBeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GuardianIdol.java b/Mage.Sets/src/mage/cards/g/GuardianIdol.java index e4c23920098..13e0f88aaee 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianIdol.java +++ b/Mage.Sets/src/mage/cards/g/GuardianIdol.java @@ -37,6 +37,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -74,7 +75,7 @@ class GuardianIdolGolemToken extends Token { super("Golem", "2/2 Golem artifact creature token"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Golem"); + subtype.add(SubType.GOLEM); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage.Sets/src/mage/cards/g/GuardianLions.java b/Mage.Sets/src/mage/cards/g/GuardianLions.java index 79b79a6c1a6..a1ec8bf518f 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianLions.java +++ b/Mage.Sets/src/mage/cards/g/GuardianLions.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class GuardianLions extends CardImpl { public GuardianLions(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(1); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/g/GuardianOfCloverdell.java b/Mage.Sets/src/mage/cards/g/GuardianOfCloverdell.java index a120b848b86..15be302352d 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianOfCloverdell.java +++ b/Mage.Sets/src/mage/cards/g/GuardianOfCloverdell.java @@ -61,8 +61,8 @@ public class GuardianOfCloverdell extends CardImpl { public GuardianOfCloverdell(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GuardianOfPilgrims.java b/Mage.Sets/src/mage/cards/g/GuardianOfPilgrims.java index 9427a8be5cc..741ae00c3d8 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianOfPilgrims.java +++ b/Mage.Sets/src/mage/cards/g/GuardianOfPilgrims.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -45,8 +46,8 @@ public class GuardianOfPilgrims extends CardImpl { public GuardianOfPilgrims(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Spirit"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GuardianOfSolitude.java b/Mage.Sets/src/mage/cards/g/GuardianOfSolitude.java index 61ef6d9c271..eb01d6288cf 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianOfSolitude.java +++ b/Mage.Sets/src/mage/cards/g/GuardianOfSolitude.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class GuardianOfSolitude extends CardImpl { public GuardianOfSolitude(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GuardianOfTazeem.java b/Mage.Sets/src/mage/cards/g/GuardianOfTazeem.java index 27427e6bca7..64996b3853d 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianOfTazeem.java +++ b/Mage.Sets/src/mage/cards/g/GuardianOfTazeem.java @@ -62,7 +62,7 @@ public class GuardianOfTazeem extends CardImpl { public GuardianOfTazeem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GuardianOfTheAges.java b/Mage.Sets/src/mage/cards/g/GuardianOfTheAges.java index 0f53216b5af..6a56a11e704 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianOfTheAges.java +++ b/Mage.Sets/src/mage/cards/g/GuardianOfTheAges.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; @@ -53,7 +54,7 @@ import mage.game.permanent.Permanent; public class GuardianOfTheAges extends CardImpl { public GuardianOfTheAges(UUID ownerId, CardSetInfo setInfo){ super(ownerId,setInfo,new CardType[]{CardType.CREATURE,CardType.ARTIFACT},"{7}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/g/GuardianOfTheGateless.java b/Mage.Sets/src/mage/cards/g/GuardianOfTheGateless.java index 2326d53179b..1f51f2ae2bf 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianOfTheGateless.java +++ b/Mage.Sets/src/mage/cards/g/GuardianOfTheGateless.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class GuardianOfTheGateless extends CardImpl { public GuardianOfTheGateless(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GuardianOfTheGreatConduit.java b/Mage.Sets/src/mage/cards/g/GuardianOfTheGreatConduit.java index d198fae7a20..f85962c599f 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianOfTheGreatConduit.java +++ b/Mage.Sets/src/mage/cards/g/GuardianOfTheGreatConduit.java @@ -63,7 +63,7 @@ public class GuardianOfTheGreatConduit extends CardImpl { public GuardianOfTheGreatConduit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GuardianOfTheGuildpact.java b/Mage.Sets/src/mage/cards/g/GuardianOfTheGuildpact.java index 7ee04b64b0b..00168cbba01 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianOfTheGuildpact.java +++ b/Mage.Sets/src/mage/cards/g/GuardianOfTheGuildpact.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.MonocoloredPredicate; @@ -50,7 +51,7 @@ public class GuardianOfTheGuildpact extends CardImpl { public GuardianOfTheGuildpact(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GuardianOfVituGhazi.java b/Mage.Sets/src/mage/cards/g/GuardianOfVituGhazi.java index 75f22af91d2..a81372fbea1 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianOfVituGhazi.java +++ b/Mage.Sets/src/mage/cards/g/GuardianOfVituGhazi.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class GuardianOfVituGhazi extends CardImpl { public GuardianOfVituGhazi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/g/GuardianSeraph.java b/Mage.Sets/src/mage/cards/g/GuardianSeraph.java index 47170ad7c0f..193560c24cb 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianSeraph.java +++ b/Mage.Sets/src/mage/cards/g/GuardianSeraph.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -49,7 +50,7 @@ public class GuardianSeraph extends CardImpl { public GuardianSeraph(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GuardianShieldBearer.java b/Mage.Sets/src/mage/cards/g/GuardianShieldBearer.java index 22f57a3f622..7543ac20cf1 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianShieldBearer.java +++ b/Mage.Sets/src/mage/cards/g/GuardianShieldBearer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -56,8 +57,8 @@ public class GuardianShieldBearer extends CardImpl { public GuardianShieldBearer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GuardianZendikon.java b/Mage.Sets/src/mage/cards/g/GuardianZendikon.java index 4476cfcb629..8401aec9cdd 100644 --- a/Mage.Sets/src/mage/cards/g/GuardianZendikon.java +++ b/Mage.Sets/src/mage/cards/g/GuardianZendikon.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class GuardianZendikon extends CardImpl { public GuardianZendikon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land @@ -91,7 +92,7 @@ class WallToken extends Token { super("", "2/6 white wall creature with defender"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Wall"); + subtype.add(SubType.WALL); power = new MageInt(2); toughness = new MageInt(6); this.addAbility(DefenderAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/g/GuardiansMagemark.java b/Mage.Sets/src/mage/cards/g/GuardiansMagemark.java index 61927282527..9255cb069b9 100644 --- a/Mage.Sets/src/mage/cards/g/GuardiansMagemark.java +++ b/Mage.Sets/src/mage/cards/g/GuardiansMagemark.java @@ -57,7 +57,7 @@ public class GuardiansMagemark extends CardImpl { public GuardiansMagemark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/g/GuardiansOfAkrasa.java b/Mage.Sets/src/mage/cards/g/GuardiansOfAkrasa.java index 508811276cd..b83ee0cdc1e 100644 --- a/Mage.Sets/src/mage/cards/g/GuardiansOfAkrasa.java +++ b/Mage.Sets/src/mage/cards/g/GuardiansOfAkrasa.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ExaltedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class GuardiansOfAkrasa extends CardImpl { public GuardiansOfAkrasa (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GuardiansOfMeletis.java b/Mage.Sets/src/mage/cards/g/GuardiansOfMeletis.java index 77255a04457..f21d9775cff 100644 --- a/Mage.Sets/src/mage/cards/g/GuardiansOfMeletis.java +++ b/Mage.Sets/src/mage/cards/g/GuardiansOfMeletis.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class GuardiansOfMeletis extends CardImpl { public GuardiansOfMeletis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(0); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/g/GudulLurker.java b/Mage.Sets/src/mage/cards/g/GudulLurker.java index 77aacb4f30f..d0d2fb45321 100644 --- a/Mage.Sets/src/mage/cards/g/GudulLurker.java +++ b/Mage.Sets/src/mage/cards/g/GudulLurker.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class GudulLurker extends CardImpl { public GudulLurker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Salamander"); + this.subtype.add(SubType.SALAMANDER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GuildscornWard.java b/Mage.Sets/src/mage/cards/g/GuildscornWard.java index 691d657aaef..ee076e6fb1f 100644 --- a/Mage.Sets/src/mage/cards/g/GuildscornWard.java +++ b/Mage.Sets/src/mage/cards/g/GuildscornWard.java @@ -56,7 +56,7 @@ public class GuildscornWard extends CardImpl { public GuildscornWard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/Guile.java b/Mage.Sets/src/mage/cards/g/Guile.java index 21e6d4bf06a..33c35bd6b3a 100644 --- a/Mage.Sets/src/mage/cards/g/Guile.java +++ b/Mage.Sets/src/mage/cards/g/Guile.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class Guile extends CardImpl { public Guile(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}{U}"); - this.subtype.add("Elemental"); - this.subtype.add("Incarnation"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.INCARNATION); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/g/Guiltfeeder.java b/Mage.Sets/src/mage/cards/g/Guiltfeeder.java index 6b869f8faee..c9f737e1709 100644 --- a/Mage.Sets/src/mage/cards/g/Guiltfeeder.java +++ b/Mage.Sets/src/mage/cards/g/Guiltfeeder.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class Guiltfeeder extends CardImpl { public Guiltfeeder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GuiltyConscience.java b/Mage.Sets/src/mage/cards/g/GuiltyConscience.java index bdcf893bc0c..eee1b27f83c 100644 --- a/Mage.Sets/src/mage/cards/g/GuiltyConscience.java +++ b/Mage.Sets/src/mage/cards/g/GuiltyConscience.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class GuiltyConscience extends CardImpl { public GuiltyConscience(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GuiseOfFire.java b/Mage.Sets/src/mage/cards/g/GuiseOfFire.java index d260e428cc0..259c716386f 100644 --- a/Mage.Sets/src/mage/cards/g/GuiseOfFire.java +++ b/Mage.Sets/src/mage/cards/g/GuiseOfFire.java @@ -48,7 +48,7 @@ public class GuiseOfFire extends CardImpl { public GuiseOfFire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/g/GulfSquid.java b/Mage.Sets/src/mage/cards/g/GulfSquid.java index 19fa89291c1..33a457a835b 100644 --- a/Mage.Sets/src/mage/cards/g/GulfSquid.java +++ b/Mage.Sets/src/mage/cards/g/GulfSquid.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.TapAllTargetPlayerControlsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.TargetPlayer; @@ -46,8 +47,8 @@ public class GulfSquid extends CardImpl { public GulfSquid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Squid"); - this.subtype.add("Beast"); + this.subtype.add(SubType.SQUID); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/Guma.java b/Mage.Sets/src/mage/cards/g/Guma.java index f1e4c1a63a8..4c18ea316bf 100644 --- a/Mage.Sets/src/mage/cards/g/Guma.java +++ b/Mage.Sets/src/mage/cards/g/Guma.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class Guma extends CardImpl { public Guma(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/Gundark.java b/Mage.Sets/src/mage/cards/g/Gundark.java index 9be8054e71e..fa7881bd45f 100644 --- a/Mage.Sets/src/mage/cards/g/Gundark.java +++ b/Mage.Sets/src/mage/cards/g/Gundark.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MonstrosityAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,7 +47,7 @@ public class Gundark extends CardImpl { public Gundark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GunganCaptain.java b/Mage.Sets/src/mage/cards/g/GunganCaptain.java index 683feea880b..836a33429ac 100644 --- a/Mage.Sets/src/mage/cards/g/GunganCaptain.java +++ b/Mage.Sets/src/mage/cards/g/GunganCaptain.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class GunganCaptain extends CardImpl { public GunganCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Gungan"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GUNGAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GurmagAngler.java b/Mage.Sets/src/mage/cards/g/GurmagAngler.java index d25de200642..4a65221c25e 100644 --- a/Mage.Sets/src/mage/cards/g/GurmagAngler.java +++ b/Mage.Sets/src/mage/cards/g/GurmagAngler.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DelveAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class GurmagAngler extends CardImpl { public GurmagAngler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Fish"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.FISH); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GurmagDrowner.java b/Mage.Sets/src/mage/cards/g/GurmagDrowner.java index 2db41a75d25..e7bd738fa80 100644 --- a/Mage.Sets/src/mage/cards/g/GurmagDrowner.java +++ b/Mage.Sets/src/mage/cards/g/GurmagDrowner.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.ExploitAbility; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -51,8 +52,8 @@ public class GurmagDrowner extends CardImpl { public GurmagDrowner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Naga"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GurmagSwiftwing.java b/Mage.Sets/src/mage/cards/g/GurmagSwiftwing.java index 6c83f6555e6..707115e5299 100644 --- a/Mage.Sets/src/mage/cards/g/GurmagSwiftwing.java +++ b/Mage.Sets/src/mage/cards/g/GurmagSwiftwing.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class GurmagSwiftwing extends CardImpl { public GurmagSwiftwing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Bat"); + this.subtype.add(SubType.BAT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GustSkimmer.java b/Mage.Sets/src/mage/cards/g/GustSkimmer.java index 3ec5efa5c82..4e5c9acea4e 100644 --- a/Mage.Sets/src/mage/cards/g/GustSkimmer.java +++ b/Mage.Sets/src/mage/cards/g/GustSkimmer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class GustSkimmer extends CardImpl { public GustSkimmer (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(1); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{U}"))); diff --git a/Mage.Sets/src/mage/cards/g/GustWalker.java b/Mage.Sets/src/mage/cards/g/GustWalker.java index 3734b0c311d..be7b0fe9e4f 100644 --- a/Mage.Sets/src/mage/cards/g/GustWalker.java +++ b/Mage.Sets/src/mage/cards/g/GustWalker.java @@ -1,75 +1,76 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.g; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.BecomesExertSourceTriggeredAbility; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; -import mage.abilities.keyword.ExertAbility; -import mage.abilities.keyword.FlyingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; - -/** - * - * @author Styxo - */ -public class GustWalker extends CardImpl { - - public GustWalker(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - - this.subtype.add("Human"); - this.subtype.add("Wizard"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // You may exert Gust Walker as it attacks. When you do, it gets +1/+1 and gains flying until end of turn. - Effect effect = new BoostSourceEffect(1, 1, Duration.EndOfTurn); - effect.setText("it gets +1/+1"); - BecomesExertSourceTriggeredAbility ability = new BecomesExertSourceTriggeredAbility(effect); - effect = new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn); - effect.setText("and gains flying until end of turn"); - ability.addEffect(effect); - this.addAbility(new ExertAbility(ability)); - } - - public GustWalker(final GustWalker card) { - super(card); - } - - @Override - public GustWalker copy() { - return new GustWalker(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.g; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.BecomesExertSourceTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.keyword.ExertAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; + +/** + * + * @author Styxo + */ +public class GustWalker extends CardImpl { + + public GustWalker(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // You may exert Gust Walker as it attacks. When you do, it gets +1/+1 and gains flying until end of turn. + Effect effect = new BoostSourceEffect(1, 1, Duration.EndOfTurn); + effect.setText("it gets +1/+1"); + BecomesExertSourceTriggeredAbility ability = new BecomesExertSourceTriggeredAbility(effect); + effect = new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn); + effect.setText("and gains flying until end of turn"); + ability.addEffect(effect); + this.addAbility(new ExertAbility(ability)); + } + + public GustWalker(final GustWalker card) { + super(card); + } + + @Override + public GustWalker copy() { + return new GustWalker(this); + } +} diff --git a/Mage.Sets/src/mage/cards/g/GustcloakCavalier.java b/Mage.Sets/src/mage/cards/g/GustcloakCavalier.java index 79220e0ff9f..e09e59319c9 100644 --- a/Mage.Sets/src/mage/cards/g/GustcloakCavalier.java +++ b/Mage.Sets/src/mage/cards/g/GustcloakCavalier.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlankingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -50,8 +51,8 @@ public class GustcloakCavalier extends CardImpl { public GustcloakCavalier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GustcloakHarrier.java b/Mage.Sets/src/mage/cards/g/GustcloakHarrier.java index 4d8b409c26a..fc126900cc5 100644 --- a/Mage.Sets/src/mage/cards/g/GustcloakHarrier.java +++ b/Mage.Sets/src/mage/cards/g/GustcloakHarrier.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,8 +48,8 @@ public class GustcloakHarrier extends CardImpl { public GustcloakHarrier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GustcloakRunner.java b/Mage.Sets/src/mage/cards/g/GustcloakRunner.java index 0b548c5fe59..492f45c81c0 100644 --- a/Mage.Sets/src/mage/cards/g/GustcloakRunner.java +++ b/Mage.Sets/src/mage/cards/g/GustcloakRunner.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class GustcloakRunner extends CardImpl { public GustcloakRunner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GustcloakSavior.java b/Mage.Sets/src/mage/cards/g/GustcloakSavior.java index 40771391a17..3ab4b8408bc 100644 --- a/Mage.Sets/src/mage/cards/g/GustcloakSavior.java +++ b/Mage.Sets/src/mage/cards/g/GustcloakSavior.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -56,8 +57,8 @@ public class GustcloakSavior extends CardImpl { public GustcloakSavior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GustcloakSentinel.java b/Mage.Sets/src/mage/cards/g/GustcloakSentinel.java index 5a5883f0cd2..e206b10dee3 100644 --- a/Mage.Sets/src/mage/cards/g/GustcloakSentinel.java +++ b/Mage.Sets/src/mage/cards/g/GustcloakSentinel.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class GustcloakSentinel extends CardImpl { public GustcloakSentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GustcloakSkirmisher.java b/Mage.Sets/src/mage/cards/g/GustcloakSkirmisher.java index d07a9272644..900a57bae5d 100644 --- a/Mage.Sets/src/mage/cards/g/GustcloakSkirmisher.java +++ b/Mage.Sets/src/mage/cards/g/GustcloakSkirmisher.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,8 +48,8 @@ public class GustcloakSkirmisher extends CardImpl { public GustcloakSkirmisher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/g/GustriderExuberant.java b/Mage.Sets/src/mage/cards/g/GustriderExuberant.java index 6c35dd99f1f..e78dbe6fdd9 100644 --- a/Mage.Sets/src/mage/cards/g/GustriderExuberant.java +++ b/Mage.Sets/src/mage/cards/g/GustriderExuberant.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class GustriderExuberant extends CardImpl { public GustriderExuberant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GutlessGhoul.java b/Mage.Sets/src/mage/cards/g/GutlessGhoul.java index ca391e4e3c0..122a06b0bde 100644 --- a/Mage.Sets/src/mage/cards/g/GutlessGhoul.java +++ b/Mage.Sets/src/mage/cards/g/GutlessGhoul.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -51,7 +52,7 @@ public class GutlessGhoul extends CardImpl { public GutlessGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); this.addSuperType(SuperType.SNOW); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GutterSkulk.java b/Mage.Sets/src/mage/cards/g/GutterSkulk.java index 33cab3e89da..d0195cea075 100644 --- a/Mage.Sets/src/mage/cards/g/GutterSkulk.java +++ b/Mage.Sets/src/mage/cards/g/GutterSkulk.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class GutterSkulk extends CardImpl { public GutterSkulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Rat"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.RAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/Guttersnipe.java b/Mage.Sets/src/mage/cards/g/Guttersnipe.java index d9fb8022d48..cb5c32b282d 100644 --- a/Mage.Sets/src/mage/cards/g/Guttersnipe.java +++ b/Mage.Sets/src/mage/cards/g/Guttersnipe.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamagePlayersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -56,8 +57,8 @@ public class Guttersnipe extends CardImpl { public Guttersnipe (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GutwrencherOni.java b/Mage.Sets/src/mage/cards/g/GutwrencherOni.java index fed9056fbac..fe42b35e822 100644 --- a/Mage.Sets/src/mage/cards/g/GutwrencherOni.java +++ b/Mage.Sets/src/mage/cards/g/GutwrencherOni.java @@ -58,8 +58,8 @@ public class GutwrencherOni extends CardImpl { public GutwrencherOni(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Demon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DEMON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GuulDrazAssassin.java b/Mage.Sets/src/mage/cards/g/GuulDrazAssassin.java index dc07373f912..17f66ee1b26 100644 --- a/Mage.Sets/src/mage/cards/g/GuulDrazAssassin.java +++ b/Mage.Sets/src/mage/cards/g/GuulDrazAssassin.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -54,8 +55,8 @@ public class GuulDrazAssassin extends LevelerCard { public GuulDrazAssassin (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.ASSASSIN); this.color.setBlack(true); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GuulDrazOverseer.java b/Mage.Sets/src/mage/cards/g/GuulDrazOverseer.java index 3009451876e..405eabc139a 100644 --- a/Mage.Sets/src/mage/cards/g/GuulDrazOverseer.java +++ b/Mage.Sets/src/mage/cards/g/GuulDrazOverseer.java @@ -49,7 +49,7 @@ public class GuulDrazOverseer extends CardImpl { public GuulDrazOverseer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/g/GuulDrazSpecter.java b/Mage.Sets/src/mage/cards/g/GuulDrazSpecter.java index 45ae3c8cd04..c9b676597a4 100644 --- a/Mage.Sets/src/mage/cards/g/GuulDrazSpecter.java +++ b/Mage.Sets/src/mage/cards/g/GuulDrazSpecter.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -54,7 +55,7 @@ public class GuulDrazSpecter extends CardImpl { public GuulDrazSpecter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}"); - this.subtype.add("Specter"); + this.subtype.add(SubType.SPECTER); this.color.setBlack(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GuulDrazVampire.java b/Mage.Sets/src/mage/cards/g/GuulDrazVampire.java index 23aa351266b..8eb4be5cdf0 100644 --- a/Mage.Sets/src/mage/cards/g/GuulDrazVampire.java +++ b/Mage.Sets/src/mage/cards/g/GuulDrazVampire.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class GuulDrazVampire extends CardImpl { public GuulDrazVampire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.ROGUE); this.color.setBlack(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/g/GwafaHazidProfiteer.java b/Mage.Sets/src/mage/cards/g/GwafaHazidProfiteer.java index ee0975160d4..8ea4c2f0629 100644 --- a/Mage.Sets/src/mage/cards/g/GwafaHazidProfiteer.java +++ b/Mage.Sets/src/mage/cards/g/GwafaHazidProfiteer.java @@ -62,8 +62,8 @@ public class GwafaHazidProfiteer extends CardImpl { public GwafaHazidProfiteer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GwendlynDiCorci.java b/Mage.Sets/src/mage/cards/g/GwendlynDiCorci.java index dbdfb5714af..b5e5aa88fbc 100644 --- a/Mage.Sets/src/mage/cards/g/GwendlynDiCorci.java +++ b/Mage.Sets/src/mage/cards/g/GwendlynDiCorci.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -50,8 +51,8 @@ public class GwendlynDiCorci extends CardImpl { public GwendlynDiCorci(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}{B}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/g/GwyllionHedgeMage.java b/Mage.Sets/src/mage/cards/g/GwyllionHedgeMage.java index e41cb4afa66..60f6534efcc 100644 --- a/Mage.Sets/src/mage/cards/g/GwyllionHedgeMage.java +++ b/Mage.Sets/src/mage/cards/g/GwyllionHedgeMage.java @@ -66,8 +66,8 @@ public class GwyllionHedgeMage extends CardImpl { public GwyllionHedgeMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W/B}"); - this.subtype.add("Hag"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HAG); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/g/GyreSage.java b/Mage.Sets/src/mage/cards/g/GyreSage.java index 03362bd3ff9..43ab4978b95 100644 --- a/Mage.Sets/src/mage/cards/g/GyreSage.java +++ b/Mage.Sets/src/mage/cards/g/GyreSage.java @@ -37,6 +37,7 @@ package mage.cards.g; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -47,8 +48,8 @@ public class GyreSage extends CardImpl { public GyreSage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HaakonStromgaldScourge.java b/Mage.Sets/src/mage/cards/h/HaakonStromgaldScourge.java index cf1151ef9bd..85d1b276fa1 100644 --- a/Mage.Sets/src/mage/cards/h/HaakonStromgaldScourge.java +++ b/Mage.Sets/src/mage/cards/h/HaakonStromgaldScourge.java @@ -52,8 +52,8 @@ public class HaakonStromgaldScourge extends CardImpl { public HaakonStromgaldScourge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HaazdaExonerator.java b/Mage.Sets/src/mage/cards/h/HaazdaExonerator.java index 59607448e2a..83a05a3d9f5 100644 --- a/Mage.Sets/src/mage/cards/h/HaazdaExonerator.java +++ b/Mage.Sets/src/mage/cards/h/HaazdaExonerator.java @@ -57,8 +57,8 @@ public class HaazdaExonerator extends CardImpl { public HaazdaExonerator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HaazdaShieldMate.java b/Mage.Sets/src/mage/cards/h/HaazdaShieldMate.java index 615e3420684..18ac054bd03 100644 --- a/Mage.Sets/src/mage/cards/h/HaazdaShieldMate.java +++ b/Mage.Sets/src/mage/cards/h/HaazdaShieldMate.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class HaazdaShieldMate extends CardImpl { public HaazdaShieldMate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HaazdaSnareSquad.java b/Mage.Sets/src/mage/cards/h/HaazdaSnareSquad.java index e5fb1f46ed0..8173802a671 100644 --- a/Mage.Sets/src/mage/cards/h/HaazdaSnareSquad.java +++ b/Mage.Sets/src/mage/cards/h/HaazdaSnareSquad.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -59,8 +60,8 @@ public class HaazdaSnareSquad extends CardImpl { public HaazdaSnareSquad (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HadaFreeblade.java b/Mage.Sets/src/mage/cards/h/HadaFreeblade.java index 28f51c21d38..e6e316c67ff 100644 --- a/Mage.Sets/src/mage/cards/h/HadaFreeblade.java +++ b/Mage.Sets/src/mage/cards/h/HadaFreeblade.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -44,9 +45,9 @@ public class HadaFreeblade extends CardImpl { public HadaFreeblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ALLY); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HadaSpyPatrol.java b/Mage.Sets/src/mage/cards/h/HadaSpyPatrol.java index fd5de3b9731..542383aa7e7 100644 --- a/Mage.Sets/src/mage/cards/h/HadaSpyPatrol.java +++ b/Mage.Sets/src/mage/cards/h/HadaSpyPatrol.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -49,8 +50,8 @@ public class HadaSpyPatrol extends LevelerCard { public HadaSpyPatrol(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.color.setBlue(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HagHedgeMage.java b/Mage.Sets/src/mage/cards/h/HagHedgeMage.java index cd7985f1e2f..fd4e6efce07 100644 --- a/Mage.Sets/src/mage/cards/h/HagHedgeMage.java +++ b/Mage.Sets/src/mage/cards/h/HagHedgeMage.java @@ -65,8 +65,8 @@ public class HagHedgeMage extends CardImpl { public HagHedgeMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B/G}"); - this.subtype.add("Hag"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HAG); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HagraCrocodile.java b/Mage.Sets/src/mage/cards/h/HagraCrocodile.java index 21def9fd029..f79074ad2ef 100644 --- a/Mage.Sets/src/mage/cards/h/HagraCrocodile.java +++ b/Mage.Sets/src/mage/cards/h/HagraCrocodile.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class HagraCrocodile extends CardImpl { public HagraCrocodile(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Crocodile"); + this.subtype.add(SubType.CROCODILE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HagraDiabolist.java b/Mage.Sets/src/mage/cards/h/HagraDiabolist.java index 72af0535ac0..49aa2cf3558 100644 --- a/Mage.Sets/src/mage/cards/h/HagraDiabolist.java +++ b/Mage.Sets/src/mage/cards/h/HagraDiabolist.java @@ -58,9 +58,9 @@ public class HagraDiabolist extends CardImpl { public HagraDiabolist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Ogre"); - this.subtype.add("Shaman"); - this.subtype.add("Ally"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.SHAMAN); + this.subtype.add(SubType.ALLY); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HagraSharpshooter.java b/Mage.Sets/src/mage/cards/h/HagraSharpshooter.java index c5ea6116326..ac7436e3729 100644 --- a/Mage.Sets/src/mage/cards/h/HagraSharpshooter.java +++ b/Mage.Sets/src/mage/cards/h/HagraSharpshooter.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,9 +49,9 @@ public class HagraSharpshooter extends CardImpl { public HagraSharpshooter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Assassin"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HakimLoreweaver.java b/Mage.Sets/src/mage/cards/h/HakimLoreweaver.java index 760b9bbc0b2..1e0edfe2d0a 100644 --- a/Mage.Sets/src/mage/cards/h/HakimLoreweaver.java +++ b/Mage.Sets/src/mage/cards/h/HakimLoreweaver.java @@ -1,190 +1,190 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.condition.Condition; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DestroyAllEffect; -import mage.abilities.keyword.FlyingAbility; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.PhaseStep; -import mage.constants.SubType; -import mage.constants.SuperType; -import mage.constants.Zone; -import mage.filter.FilterCard; -import mage.filter.FilterPermanent; -import mage.filter.predicate.mageobject.CardIdPredicate; -import mage.filter.predicate.mageobject.CardTypePredicate; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.filter.predicate.other.AuraCardCanAttachToPermanentId; -import mage.filter.predicate.permanent.AttachedToPredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.Target; -import mage.target.common.TargetCardInYourGraveyard; - -/** - * - * @author jeffwadsworth - */ -public class HakimLoreweaver extends CardImpl { - - private final static String rule = "Return target Aura card from your graveyard to the battlefield attached to Hakim, Loreweaver. Activate this ability only during your upkeep and only if Hakim isn't enchanted."; - UUID originalId; - - public HakimLoreweaver(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - - addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); - this.power = new MageInt(2); - this.toughness = new MageInt(4); - - // Flying - this.addAbility(FlyingAbility.getInstance()); - - // {U}{U}: Return target Aura card from your graveyard to the battlefield attached to Hakim, Loreweaver. Activate this ability only during your upkeep and only if Hakim isn't enchanted. - Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new HakimLoreweaverEffect(), new ManaCostsImpl("{U}{U}"), new HakimLoreweaverCondition(), rule); - ability.addTarget(new TargetCardInYourGraveyard()); - originalId = ability.getOriginalId(); - this.addAbility(ability); - - // {U}{U}, {tap}: Destroy all Auras attached to Hakim. - FilterPermanent filterAurasOnHakim = new FilterPermanent("Auras attached to Hakim"); - filterAurasOnHakim.add(new CardTypePredicate(CardType.ENCHANTMENT)); - filterAurasOnHakim.add(new SubtypePredicate(SubType.AURA)); - FilterPermanent filterSourceId = new FilterPermanent(); - filterSourceId.add(new CardIdPredicate(this.getId())); - filterAurasOnHakim.add(new AttachedToPredicate(filterSourceId)); - Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyAllEffect(filterAurasOnHakim), new ManaCostsImpl("{U}{U}")); - ability2.addCost(new TapSourceCost()); - this.addAbility(ability2); - - } - - @Override - public void adjustTargets(Ability ability, Game game) { - if (ability.getOriginalId().equals(originalId)) { - Player controller = game.getPlayer(ability.getControllerId()); - if (controller != null) { - ability.getTargets().clear(); - FilterCard filterAuraCard = new FilterCard("target Aura card from your graveyard"); - filterAuraCard.add(new CardTypePredicate(CardType.ENCHANTMENT)); - filterAuraCard.add(new SubtypePredicate(SubType.AURA)); - filterAuraCard.add(new AuraCardCanAttachToPermanentId(ability.getSourceId())); - TargetCardInYourGraveyard target = new TargetCardInYourGraveyard(filterAuraCard); - ability.addTarget(target); - } - } - - } - - public HakimLoreweaver(final HakimLoreweaver card) { - super(card); - this.originalId = card.originalId; - } - - @Override - public HakimLoreweaver copy() { - return new HakimLoreweaver(this); - } -} - -class HakimLoreweaverEffect extends OneShotEffect { - - public HakimLoreweaverEffect() { - super(Outcome.Benefit); - this.staticText = "Return target Aura card from your graveyard to the battlefield attached to {this}. Activate this ability only during your upkeep and only if Hakim isn't enchanted"; - } - - public HakimLoreweaverEffect(final HakimLoreweaverEffect effect) { - super(effect); - } - - @Override - public HakimLoreweaverEffect copy() { - return new HakimLoreweaverEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - Permanent hakimLoreweaver = game.getPermanent(source.getSourceId()); - Card targetAuraCard = game.getCard(source.getFirstTarget()); - if (controller != null - && hakimLoreweaver != null - && controller.canRespond() - && targetAuraCard != null) { - Target target = targetAuraCard.getSpellAbility().getTargets().get(0); - if (target != null) { - game.getState().setValue("attachTo:" + targetAuraCard.getId(), hakimLoreweaver); - controller.moveCards(targetAuraCard, Zone.BATTLEFIELD, source, game); - return hakimLoreweaver.addAttachment(targetAuraCard.getId(), game); - } - } - return false; - } -} - -class HakimLoreweaverCondition implements Condition { - - static private final FilterPermanent auras = new FilterPermanent(); - - static { - auras.add(new CardTypePredicate(CardType.ENCHANTMENT)); - } - - @Override - public boolean apply(Game game, Ability source) { - Permanent hakimLoreweaver = game.getPermanent(source.getSourceId()); - if (hakimLoreweaver != null) { - for (Permanent permanent : game.getBattlefield().getAllActivePermanents(auras, game)) { - if (permanent != null - && hakimLoreweaver.getAttachments().contains(permanent.getId())) { - return false; - } - } - return PhaseStep.UPKEEP == game.getStep().getType() - && game.getActivePlayerId().equals(source.getControllerId()); - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.condition.Condition; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DestroyAllEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.PhaseStep; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.FilterPermanent; +import mage.filter.predicate.mageobject.CardIdPredicate; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.predicate.other.AuraCardCanAttachToPermanentId; +import mage.filter.predicate.permanent.AttachedToPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.Target; +import mage.target.common.TargetCardInYourGraveyard; + +/** + * + * @author jeffwadsworth + */ +public class HakimLoreweaver extends CardImpl { + + private final static String rule = "Return target Aura card from your graveyard to the battlefield attached to Hakim, Loreweaver. Activate this ability only during your upkeep and only if Hakim isn't enchanted."; + UUID originalId; + + public HakimLoreweaver(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); + + addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(2); + this.toughness = new MageInt(4); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // {U}{U}: Return target Aura card from your graveyard to the battlefield attached to Hakim, Loreweaver. Activate this ability only during your upkeep and only if Hakim isn't enchanted. + Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new HakimLoreweaverEffect(), new ManaCostsImpl("{U}{U}"), new HakimLoreweaverCondition(), rule); + ability.addTarget(new TargetCardInYourGraveyard()); + originalId = ability.getOriginalId(); + this.addAbility(ability); + + // {U}{U}, {tap}: Destroy all Auras attached to Hakim. + FilterPermanent filterAurasOnHakim = new FilterPermanent("Auras attached to Hakim"); + filterAurasOnHakim.add(new CardTypePredicate(CardType.ENCHANTMENT)); + filterAurasOnHakim.add(new SubtypePredicate(SubType.AURA)); + FilterPermanent filterSourceId = new FilterPermanent(); + filterSourceId.add(new CardIdPredicate(this.getId())); + filterAurasOnHakim.add(new AttachedToPredicate(filterSourceId)); + Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyAllEffect(filterAurasOnHakim), new ManaCostsImpl("{U}{U}")); + ability2.addCost(new TapSourceCost()); + this.addAbility(ability2); + + } + + @Override + public void adjustTargets(Ability ability, Game game) { + if (ability.getOriginalId().equals(originalId)) { + Player controller = game.getPlayer(ability.getControllerId()); + if (controller != null) { + ability.getTargets().clear(); + FilterCard filterAuraCard = new FilterCard("target Aura card from your graveyard"); + filterAuraCard.add(new CardTypePredicate(CardType.ENCHANTMENT)); + filterAuraCard.add(new SubtypePredicate(SubType.AURA)); + filterAuraCard.add(new AuraCardCanAttachToPermanentId(ability.getSourceId())); + TargetCardInYourGraveyard target = new TargetCardInYourGraveyard(filterAuraCard); + ability.addTarget(target); + } + } + + } + + public HakimLoreweaver(final HakimLoreweaver card) { + super(card); + this.originalId = card.originalId; + } + + @Override + public HakimLoreweaver copy() { + return new HakimLoreweaver(this); + } +} + +class HakimLoreweaverEffect extends OneShotEffect { + + public HakimLoreweaverEffect() { + super(Outcome.Benefit); + this.staticText = "Return target Aura card from your graveyard to the battlefield attached to {this}. Activate this ability only during your upkeep and only if Hakim isn't enchanted"; + } + + public HakimLoreweaverEffect(final HakimLoreweaverEffect effect) { + super(effect); + } + + @Override + public HakimLoreweaverEffect copy() { + return new HakimLoreweaverEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + Permanent hakimLoreweaver = game.getPermanent(source.getSourceId()); + Card targetAuraCard = game.getCard(source.getFirstTarget()); + if (controller != null + && hakimLoreweaver != null + && controller.canRespond() + && targetAuraCard != null) { + Target target = targetAuraCard.getSpellAbility().getTargets().get(0); + if (target != null) { + game.getState().setValue("attachTo:" + targetAuraCard.getId(), hakimLoreweaver); + controller.moveCards(targetAuraCard, Zone.BATTLEFIELD, source, game); + return hakimLoreweaver.addAttachment(targetAuraCard.getId(), game); + } + } + return false; + } +} + +class HakimLoreweaverCondition implements Condition { + + static private final FilterPermanent auras = new FilterPermanent(); + + static { + auras.add(new CardTypePredicate(CardType.ENCHANTMENT)); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent hakimLoreweaver = game.getPermanent(source.getSourceId()); + if (hakimLoreweaver != null) { + for (Permanent permanent : game.getBattlefield().getAllActivePermanents(auras, game)) { + if (permanent != null + && hakimLoreweaver.getAttachments().contains(permanent.getId())) { + return false; + } + } + return PhaseStep.UPKEEP == game.getStep().getType() + && game.getActivePlayerId().equals(source.getControllerId()); + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/h/HalamDjinn.java b/Mage.Sets/src/mage/cards/h/HalamDjinn.java index 337c546d595..1328c5a9937 100644 --- a/Mage.Sets/src/mage/cards/h/HalamDjinn.java +++ b/Mage.Sets/src/mage/cards/h/HalamDjinn.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class HalamDjinn extends CardImpl { public HalamDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{R}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/Halberdier.java b/Mage.Sets/src/mage/cards/h/Halberdier.java index c676d0dfe9a..7b4491b1b5a 100644 --- a/Mage.Sets/src/mage/cards/h/Halberdier.java +++ b/Mage.Sets/src/mage/cards/h/Halberdier.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class Halberdier extends CardImpl { public Halberdier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Barbarian"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BARBARIAN); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HalcyonGlaze.java b/Mage.Sets/src/mage/cards/h/HalcyonGlaze.java index a289374348d..c6dd8430de7 100644 --- a/Mage.Sets/src/mage/cards/h/HalcyonGlaze.java +++ b/Mage.Sets/src/mage/cards/h/HalcyonGlaze.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; import mage.game.permanent.token.Token; @@ -70,7 +71,7 @@ class HalcyonGlazeToken extends Token { HalcyonGlazeToken() { super("", "4/4 Illusion creature with flying"); cardType.add(CardType.CREATURE); - subtype.add("Illusion"); + subtype.add(SubType.ILLUSION); power = new MageInt(4); toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/h/HalimarExcavator.java b/Mage.Sets/src/mage/cards/h/HalimarExcavator.java index ac9e4e33b96..a20d9c7cef2 100644 --- a/Mage.Sets/src/mage/cards/h/HalimarExcavator.java +++ b/Mage.Sets/src/mage/cards/h/HalimarExcavator.java @@ -58,9 +58,9 @@ public class HalimarExcavator extends CardImpl { public HalimarExcavator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.subtype.add(SubType.ALLY); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HalimarTidecaller.java b/Mage.Sets/src/mage/cards/h/HalimarTidecaller.java index e720b3afcd5..af1bd02e133 100644 --- a/Mage.Sets/src/mage/cards/h/HalimarTidecaller.java +++ b/Mage.Sets/src/mage/cards/h/HalimarTidecaller.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterCard; @@ -64,9 +65,9 @@ public class HalimarTidecaller extends CardImpl { public HalimarTidecaller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HalimarWavewatch.java b/Mage.Sets/src/mage/cards/h/HalimarWavewatch.java index bca24be1166..12c84f43764 100644 --- a/Mage.Sets/src/mage/cards/h/HalimarWavewatch.java +++ b/Mage.Sets/src/mage/cards/h/HalimarWavewatch.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -48,8 +49,8 @@ public class HalimarWavewatch extends LevelerCard { public HalimarWavewatch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.color.setBlue(true); this.power = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/h/HallowedFountain.java b/Mage.Sets/src/mage/cards/h/HallowedFountain.java index c8e5802f527..1b6a81552a2 100644 --- a/Mage.Sets/src/mage/cards/h/HallowedFountain.java +++ b/Mage.Sets/src/mage/cards/h/HallowedFountain.java @@ -37,6 +37,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class HallowedFountain extends CardImpl { public HallowedFountain (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},null); - this.subtype.add("Plains"); - this.subtype.add("Island"); + this.subtype.add(SubType.PLAINS); + this.subtype.add(SubType.ISLAND); this.addAbility(new WhiteManaAbility()); this.addAbility(new BlueManaAbility()); this.addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new PayLifeCost(2)), "you may pay 2 life. If you don't, Hallowed Fountain enters the battlefield tapped")); diff --git a/Mage.Sets/src/mage/cards/h/HallowedHealer.java b/Mage.Sets/src/mage/cards/h/HallowedHealer.java index a5dcba51997..853b507b6ba 100644 --- a/Mage.Sets/src/mage/cards/h/HallowedHealer.java +++ b/Mage.Sets/src/mage/cards/h/HallowedHealer.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -52,8 +53,8 @@ public class HallowedHealer extends CardImpl { public HallowedHealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HallowedSpiritkeeper.java b/Mage.Sets/src/mage/cards/h/HallowedSpiritkeeper.java index db632a988a7..13195d023a3 100644 --- a/Mage.Sets/src/mage/cards/h/HallowedSpiritkeeper.java +++ b/Mage.Sets/src/mage/cards/h/HallowedSpiritkeeper.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.game.permanent.token.SpiritWhiteToken; @@ -48,7 +49,7 @@ public class HallowedSpiritkeeper extends CardImpl { public HallowedSpiritkeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HaloHunter.java b/Mage.Sets/src/mage/cards/h/HaloHunter.java index 1f1b9755e5d..02ee0dbf510 100644 --- a/Mage.Sets/src/mage/cards/h/HaloHunter.java +++ b/Mage.Sets/src/mage/cards/h/HaloHunter.java @@ -55,7 +55,7 @@ public class HaloHunter extends CardImpl { public HaloHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(6); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HamletCaptain.java b/Mage.Sets/src/mage/cards/h/HamletCaptain.java index 6a66aaf1014..9ac4b0e87b3 100644 --- a/Mage.Sets/src/mage/cards/h/HamletCaptain.java +++ b/Mage.Sets/src/mage/cards/h/HamletCaptain.java @@ -53,8 +53,8 @@ public class HamletCaptain extends CardImpl { public HamletCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HamletbackGoliath.java b/Mage.Sets/src/mage/cards/h/HamletbackGoliath.java index 8739c60d5ce..9d5092fd7b1 100644 --- a/Mage.Sets/src/mage/cards/h/HamletbackGoliath.java +++ b/Mage.Sets/src/mage/cards/h/HamletbackGoliath.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -53,8 +54,8 @@ public class HamletbackGoliath extends CardImpl { public HamletbackGoliath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/h/HammerMage.java b/Mage.Sets/src/mage/cards/h/HammerMage.java index d2bfad3ca34..13805e64d74 100644 --- a/Mage.Sets/src/mage/cards/h/HammerMage.java +++ b/Mage.Sets/src/mage/cards/h/HammerMage.java @@ -38,6 +38,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class HammerMage extends CardImpl { public HammerMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HammerOfRuin.java b/Mage.Sets/src/mage/cards/h/HammerOfRuin.java index 9bcc37db29b..5af5d8c6f52 100644 --- a/Mage.Sets/src/mage/cards/h/HammerOfRuin.java +++ b/Mage.Sets/src/mage/cards/h/HammerOfRuin.java @@ -59,7 +59,7 @@ public class HammerOfRuin extends CardImpl { public HammerOfRuin (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+0. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 0))); diff --git a/Mage.Sets/src/mage/cards/h/HammerfistGiant.java b/Mage.Sets/src/mage/cards/h/HammerfistGiant.java index 9e3768cd179..ec8413a8176 100644 --- a/Mage.Sets/src/mage/cards/h/HammerfistGiant.java +++ b/Mage.Sets/src/mage/cards/h/HammerfistGiant.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -55,8 +56,8 @@ public class HammerfistGiant extends CardImpl { public HammerfistGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/Hammerhand.java b/Mage.Sets/src/mage/cards/h/Hammerhand.java index 2c89daf918d..6eccc4e9a2d 100644 --- a/Mage.Sets/src/mage/cards/h/Hammerhand.java +++ b/Mage.Sets/src/mage/cards/h/Hammerhand.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class Hammerhand extends CardImpl { public Hammerhand(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/h/HammerheadShark.java b/Mage.Sets/src/mage/cards/h/HammerheadShark.java index b9083c2ac2e..c638c1153d8 100644 --- a/Mage.Sets/src/mage/cards/h/HammerheadShark.java +++ b/Mage.Sets/src/mage/cards/h/HammerheadShark.java @@ -46,7 +46,7 @@ public class HammerheadShark extends CardImpl { public HammerheadShark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Fish"); + this.subtype.add(SubType.FISH); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HammerheimDeadeye.java b/Mage.Sets/src/mage/cards/h/HammerheimDeadeye.java index 1b65c39da86..1b80635f2a7 100644 --- a/Mage.Sets/src/mage/cards/h/HammerheimDeadeye.java +++ b/Mage.Sets/src/mage/cards/h/HammerheimDeadeye.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; import mage.target.Target; @@ -55,8 +56,8 @@ public class HammerheimDeadeye extends CardImpl { public HammerheimDeadeye(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HanSolo.java b/Mage.Sets/src/mage/cards/h/HanSolo.java index 4a2d38e89f3..5fc30658fc0 100644 --- a/Mage.Sets/src/mage/cards/h/HanSolo.java +++ b/Mage.Sets/src/mage/cards/h/HanSolo.java @@ -59,8 +59,8 @@ public class HanSolo extends CardImpl { public HanSolo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HanaKami.java b/Mage.Sets/src/mage/cards/h/HanaKami.java index 2b16e7090f5..e951508c6ec 100644 --- a/Mage.Sets/src/mage/cards/h/HanaKami.java +++ b/Mage.Sets/src/mage/cards/h/HanaKami.java @@ -57,7 +57,7 @@ public class HanaKami extends CardImpl { public HanaKami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HandOfCruelty.java b/Mage.Sets/src/mage/cards/h/HandOfCruelty.java index 10ed8678d94..7699e8be923 100644 --- a/Mage.Sets/src/mage/cards/h/HandOfCruelty.java +++ b/Mage.Sets/src/mage/cards/h/HandOfCruelty.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class HandOfCruelty extends CardImpl { public HandOfCruelty(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HandOfEmrakul.java b/Mage.Sets/src/mage/cards/h/HandOfEmrakul.java index 2a9c7829066..044a0e0d7d0 100644 --- a/Mage.Sets/src/mage/cards/h/HandOfEmrakul.java +++ b/Mage.Sets/src/mage/cards/h/HandOfEmrakul.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.AnnihilatorAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.NamePredicate; import mage.target.common.TargetControlledPermanent; @@ -53,7 +54,7 @@ public class HandOfEmrakul extends CardImpl { public HandOfEmrakul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{9}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/h/HandOfHonor.java b/Mage.Sets/src/mage/cards/h/HandOfHonor.java index 82fc5043e31..3a05ec60741 100644 --- a/Mage.Sets/src/mage/cards/h/HandOfHonor.java +++ b/Mage.Sets/src/mage/cards/h/HandOfHonor.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author anonymous @@ -43,8 +44,8 @@ public class HandOfHonor extends CardImpl { public HandOfHonor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HandOfJustice.java b/Mage.Sets/src/mage/cards/h/HandOfJustice.java index f9fe68567d5..eba96bdd620 100644 --- a/Mage.Sets/src/mage/cards/h/HandOfJustice.java +++ b/Mage.Sets/src/mage/cards/h/HandOfJustice.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -61,7 +62,7 @@ public class HandOfJustice extends CardImpl { public HandOfJustice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(2); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/h/HandOfSilumgar.java b/Mage.Sets/src/mage/cards/h/HandOfSilumgar.java index d6401fab8f9..94b25ea97c2 100644 --- a/Mage.Sets/src/mage/cards/h/HandOfSilumgar.java +++ b/Mage.Sets/src/mage/cards/h/HandOfSilumgar.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class HandOfSilumgar extends CardImpl { public HandOfSilumgar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HandOfThePraetors.java b/Mage.Sets/src/mage/cards/h/HandOfThePraetors.java index 518e791fa9b..fe94655a459 100644 --- a/Mage.Sets/src/mage/cards/h/HandOfThePraetors.java +++ b/Mage.Sets/src/mage/cards/h/HandOfThePraetors.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterSpell; @@ -63,7 +64,7 @@ public class HandOfThePraetors extends CardImpl { public HandOfThePraetors (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HangarbackWalker.java b/Mage.Sets/src/mage/cards/h/HangarbackWalker.java index 2e9a1cc2239..b58bd63b1d1 100644 --- a/Mage.Sets/src/mage/cards/h/HangarbackWalker.java +++ b/Mage.Sets/src/mage/cards/h/HangarbackWalker.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.permanent.token.ThopterColorlessToken; @@ -54,7 +55,7 @@ public class HangarbackWalker extends CardImpl { public HangarbackWalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{X}{X}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/h/Hankyu.java b/Mage.Sets/src/mage/cards/h/Hankyu.java index 0dcc4d008c2..4e5fd9c14b7 100644 --- a/Mage.Sets/src/mage/cards/h/Hankyu.java +++ b/Mage.Sets/src/mage/cards/h/Hankyu.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -58,7 +59,7 @@ public class Hankyu extends CardImpl { public Hankyu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); /* Equipped creature has "{T}: Put an aim counter on Hankyu" and */ SimpleActivatedAbility ability1 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new HankyuAddCounterEffect(this.getId()), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/h/HannaShipsNavigator.java b/Mage.Sets/src/mage/cards/h/HannaShipsNavigator.java index 37b864cd3fd..8d927725661 100644 --- a/Mage.Sets/src/mage/cards/h/HannaShipsNavigator.java +++ b/Mage.Sets/src/mage/cards/h/HannaShipsNavigator.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.constants.Zone; @@ -62,8 +63,8 @@ public class HannaShipsNavigator extends CardImpl { public HannaShipsNavigator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HanweirGarrison.java b/Mage.Sets/src/mage/cards/h/HanweirGarrison.java index acb1cd7567f..b91654c870b 100644 --- a/Mage.Sets/src/mage/cards/h/HanweirGarrison.java +++ b/Mage.Sets/src/mage/cards/h/HanweirGarrison.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.InfoEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.RedHumanToken; @@ -47,8 +48,8 @@ public class HanweirGarrison extends CardImpl { public HanweirGarrison(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HanweirLancer.java b/Mage.Sets/src/mage/cards/h/HanweirLancer.java index 6e660197623..2b801e7f852 100644 --- a/Mage.Sets/src/mage/cards/h/HanweirLancer.java +++ b/Mage.Sets/src/mage/cards/h/HanweirLancer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class HanweirLancer extends CardImpl { public HanweirLancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HanweirMilitiaCaptain.java b/Mage.Sets/src/mage/cards/h/HanweirMilitiaCaptain.java index a09d880a284..72120b760eb 100644 --- a/Mage.Sets/src/mage/cards/h/HanweirMilitiaCaptain.java +++ b/Mage.Sets/src/mage/cards/h/HanweirMilitiaCaptain.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.w.WestvaleCultLeader; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; @@ -52,8 +53,8 @@ public class HanweirMilitiaCaptain extends CardImpl { public HanweirMilitiaCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HanweirTheWrithingTownship.java b/Mage.Sets/src/mage/cards/h/HanweirTheWrithingTownship.java index 3b2ca87b2d1..d3270036d69 100644 --- a/Mage.Sets/src/mage/cards/h/HanweirTheWrithingTownship.java +++ b/Mage.Sets/src/mage/cards/h/HanweirTheWrithingTownship.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardSetInfo; import mage.cards.MeldCard; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.game.permanent.token.EldraziHorrorToken; @@ -47,8 +48,8 @@ public class HanweirTheWrithingTownship extends MeldCard { public HanweirTheWrithingTownship(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, ""); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Eldrazi"); - this.subtype.add("Ooze"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.OOZE); this.power = new MageInt(7); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HanweirWatchkeep.java b/Mage.Sets/src/mage/cards/h/HanweirWatchkeep.java index e3f91d128fb..005fbbd114f 100644 --- a/Mage.Sets/src/mage/cards/h/HanweirWatchkeep.java +++ b/Mage.Sets/src/mage/cards/h/HanweirWatchkeep.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.b.BaneOfHanweir; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -49,9 +50,9 @@ public class HanweirWatchkeep extends CardImpl { public HanweirWatchkeep(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.WEREWOLF); this.transformable = true; this.secondSideCardClazz = BaneOfHanweir.class; diff --git a/Mage.Sets/src/mage/cards/h/HapatraVizierOfPoisons.java b/Mage.Sets/src/mage/cards/h/HapatraVizierOfPoisons.java index 79eee4b62ac..2d63496710a 100644 --- a/Mage.Sets/src/mage/cards/h/HapatraVizierOfPoisons.java +++ b/Mage.Sets/src/mage/cards/h/HapatraVizierOfPoisons.java @@ -1,124 +1,125 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SuperType; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.permanent.Permanent; -import mage.game.permanent.token.DeathtouchSnakeToken; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class HapatraVizierOfPoisons extends CardImpl { - - public HapatraVizierOfPoisons(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{G}"); - - addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Whenever Hapatra, Vizier of Poisons deals combat damage to a player, you may put a -1/-1 counter on target creature. - Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new AddCountersTargetEffect(CounterType.M1M1.createInstance()), true); - ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability); - - // Whenever you put one or more -1/-1 counters on a creature, create a 1/1 green Snake creature token with deathtouch. - this.addAbility(new HapatraVizierOfPoisonsTriggeredAbility(new CreateTokenEffect(new DeathtouchSnakeToken()), false)); - - } - - public HapatraVizierOfPoisons(final HapatraVizierOfPoisons card) { - super(card); - } - - @Override - public HapatraVizierOfPoisons copy() { - return new HapatraVizierOfPoisons(this); - } -} - -class HapatraVizierOfPoisonsTriggeredAbility extends TriggeredAbilityImpl { - - public HapatraVizierOfPoisonsTriggeredAbility(Effect effect, boolean optional) { - super(Zone.BATTLEFIELD, effect, optional); - } - - public HapatraVizierOfPoisonsTriggeredAbility(HapatraVizierOfPoisonsTriggeredAbility ability) { - super(ability); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.COUNTERS_ADDED; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - if (event.getData().equals(CounterType.M1M1.getName()) - && controllerId.equals(game.getControllerId(event.getSourceId()))) { - Permanent permanent = game.getPermanentOrLKIBattlefield(event.getTargetId()); - if (permanent == null) { - permanent = game.getPermanentEntering(event.getTargetId()); - } - return (permanent != null - && permanent.isCreature()); - } - return false; - - } - - @Override - public HapatraVizierOfPoisonsTriggeredAbility copy() { - return new HapatraVizierOfPoisonsTriggeredAbility(this); - } - - @Override - public String getRule() { - return "Whenever you put one or more -1/-1 counters on a creature, " + super.getRule(); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; +import mage.game.permanent.token.DeathtouchSnakeToken; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class HapatraVizierOfPoisons extends CardImpl { + + public HapatraVizierOfPoisons(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{G}"); + + addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Whenever Hapatra, Vizier of Poisons deals combat damage to a player, you may put a -1/-1 counter on target creature. + Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new AddCountersTargetEffect(CounterType.M1M1.createInstance()), true); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + + // Whenever you put one or more -1/-1 counters on a creature, create a 1/1 green Snake creature token with deathtouch. + this.addAbility(new HapatraVizierOfPoisonsTriggeredAbility(new CreateTokenEffect(new DeathtouchSnakeToken()), false)); + + } + + public HapatraVizierOfPoisons(final HapatraVizierOfPoisons card) { + super(card); + } + + @Override + public HapatraVizierOfPoisons copy() { + return new HapatraVizierOfPoisons(this); + } +} + +class HapatraVizierOfPoisonsTriggeredAbility extends TriggeredAbilityImpl { + + public HapatraVizierOfPoisonsTriggeredAbility(Effect effect, boolean optional) { + super(Zone.BATTLEFIELD, effect, optional); + } + + public HapatraVizierOfPoisonsTriggeredAbility(HapatraVizierOfPoisonsTriggeredAbility ability) { + super(ability); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.COUNTERS_ADDED; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getData().equals(CounterType.M1M1.getName()) + && controllerId.equals(game.getControllerId(event.getSourceId()))) { + Permanent permanent = game.getPermanentOrLKIBattlefield(event.getTargetId()); + if (permanent == null) { + permanent = game.getPermanentEntering(event.getTargetId()); + } + return (permanent != null + && permanent.isCreature()); + } + return false; + + } + + @Override + public HapatraVizierOfPoisonsTriggeredAbility copy() { + return new HapatraVizierOfPoisonsTriggeredAbility(this); + } + + @Override + public String getRule() { + return "Whenever you put one or more -1/-1 counters on a creature, " + super.getRule(); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HaplessResearcher.java b/Mage.Sets/src/mage/cards/h/HaplessResearcher.java index 7147470dd34..e44ee7ea5d2 100644 --- a/Mage.Sets/src/mage/cards/h/HaplessResearcher.java +++ b/Mage.Sets/src/mage/cards/h/HaplessResearcher.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class HaplessResearcher extends CardImpl { public HaplessResearcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HarabazDruid.java b/Mage.Sets/src/mage/cards/h/HarabazDruid.java index 75ad52d1ec0..4e456780d1f 100644 --- a/Mage.Sets/src/mage/cards/h/HarabazDruid.java +++ b/Mage.Sets/src/mage/cards/h/HarabazDruid.java @@ -53,9 +53,9 @@ public class HarabazDruid extends CardImpl { public HarabazDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); + this.subtype.add(SubType.ALLY); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HarbingerOfNight.java b/Mage.Sets/src/mage/cards/h/HarbingerOfNight.java index 3c062f20cf2..bd318a65d8a 100644 --- a/Mage.Sets/src/mage/cards/h/HarbingerOfNight.java +++ b/Mage.Sets/src/mage/cards/h/HarbingerOfNight.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -47,7 +48,7 @@ public class HarbingerOfNight extends CardImpl { public HarbingerOfNight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HarbingerOfSpring.java b/Mage.Sets/src/mage/cards/h/HarbingerOfSpring.java index 351a09fb6de..0d5ffc8ad01 100644 --- a/Mage.Sets/src/mage/cards/h/HarbingerOfSpring.java +++ b/Mage.Sets/src/mage/cards/h/HarbingerOfSpring.java @@ -52,7 +52,7 @@ public class HarbingerOfSpring extends CardImpl { public HarbingerOfSpring(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HarbingerOfTheHunt.java b/Mage.Sets/src/mage/cards/h/HarbingerOfTheHunt.java index 9658eaa3f47..fda9b47135a 100644 --- a/Mage.Sets/src/mage/cards/h/HarbingerOfTheHunt.java +++ b/Mage.Sets/src/mage/cards/h/HarbingerOfTheHunt.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -59,7 +60,7 @@ public class HarbingerOfTheHunt extends CardImpl { public HarbingerOfTheHunt(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{G}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HarbingerOfTheTides.java b/Mage.Sets/src/mage/cards/h/HarbingerOfTheTides.java index d5d617f046d..ca60f7928c2 100644 --- a/Mage.Sets/src/mage/cards/h/HarbingerOfTheTides.java +++ b/Mage.Sets/src/mage/cards/h/HarbingerOfTheTides.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -58,8 +59,8 @@ public class HarbingerOfTheTides extends CardImpl { public HarbingerOfTheTides(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HarborBandit.java b/Mage.Sets/src/mage/cards/h/HarborBandit.java index 8209cc44e56..4dc458279f5 100644 --- a/Mage.Sets/src/mage/cards/h/HarborBandit.java +++ b/Mage.Sets/src/mage/cards/h/HarborBandit.java @@ -60,8 +60,8 @@ public class HarborBandit extends CardImpl { public HarborBandit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.color.setBlack(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HarborSerpent.java b/Mage.Sets/src/mage/cards/h/HarborSerpent.java index afeb7a9b873..6f09e87b0bf 100644 --- a/Mage.Sets/src/mage/cards/h/HarborSerpent.java +++ b/Mage.Sets/src/mage/cards/h/HarborSerpent.java @@ -52,7 +52,7 @@ public class HarborSerpent extends CardImpl { public HarborSerpent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HardenedBerserker.java b/Mage.Sets/src/mage/cards/h/HardenedBerserker.java index f8ddd497bc4..080faf805ea 100644 --- a/Mage.Sets/src/mage/cards/h/HardenedBerserker.java +++ b/Mage.Sets/src/mage/cards/h/HardenedBerserker.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.cost.CostModificationEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.CostModificationType; import mage.constants.Duration; import mage.constants.Outcome; @@ -51,8 +52,8 @@ public class HardenedBerserker extends CardImpl { public HardenedBerserker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HarmattanEfreet.java b/Mage.Sets/src/mage/cards/h/HarmattanEfreet.java index 14bbcebc8c0..d4b176d8537 100644 --- a/Mage.Sets/src/mage/cards/h/HarmattanEfreet.java +++ b/Mage.Sets/src/mage/cards/h/HarmattanEfreet.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class HarmattanEfreet extends CardImpl { public HarmattanEfreet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Efreet"); + this.subtype.add(SubType.EFREET); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HarmonicSliver.java b/Mage.Sets/src/mage/cards/h/HarmonicSliver.java index 393353e2b2f..fa650b2983c 100644 --- a/Mage.Sets/src/mage/cards/h/HarmonicSliver.java +++ b/Mage.Sets/src/mage/cards/h/HarmonicSliver.java @@ -59,7 +59,7 @@ public class HarmonicSliver extends CardImpl { public HarmonicSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HarpoonSniper.java b/Mage.Sets/src/mage/cards/h/HarpoonSniper.java index e9b876a0cd9..efc29f96575 100644 --- a/Mage.Sets/src/mage/cards/h/HarpoonSniper.java +++ b/Mage.Sets/src/mage/cards/h/HarpoonSniper.java @@ -59,8 +59,8 @@ public class HarpoonSniper extends CardImpl { public HarpoonSniper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Merfolk"); - this.subtype.add("Archer"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HarrierGriffin.java b/Mage.Sets/src/mage/cards/h/HarrierGriffin.java index 0ad48bed6ba..bce47a4d4d4 100644 --- a/Mage.Sets/src/mage/cards/h/HarrierGriffin.java +++ b/Mage.Sets/src/mage/cards/h/HarrierGriffin.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class HarrierGriffin extends CardImpl { public HarrierGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HarrierNaga.java b/Mage.Sets/src/mage/cards/h/HarrierNaga.java index 4754f898068..c51a1d7252c 100644 --- a/Mage.Sets/src/mage/cards/h/HarrierNaga.java +++ b/Mage.Sets/src/mage/cards/h/HarrierNaga.java @@ -1,59 +1,60 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.MageInt; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author ciaccona007 - */ -public class HarrierNaga extends CardImpl { - - public HarrierNaga(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - - this.subtype.add("Naga"); - this.subtype.add("Warrior"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - } - - public HarrierNaga(final HarrierNaga card) { - super(card); - } - - @Override - public HarrierNaga copy() { - return new HarrierNaga(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.MageInt; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author ciaccona007 + */ +public class HarrierNaga extends CardImpl { + + public HarrierNaga(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); + + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + } + + public HarrierNaga(final HarrierNaga card) { + super(card); + } + + @Override + public HarrierNaga copy() { + return new HarrierNaga(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HarshDeceiver.java b/Mage.Sets/src/mage/cards/h/HarshDeceiver.java index 899595c4189..6debef53fae 100644 --- a/Mage.Sets/src/mage/cards/h/HarshDeceiver.java +++ b/Mage.Sets/src/mage/cards/h/HarshDeceiver.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class HarshDeceiver extends CardImpl { public HarshDeceiver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HarshMentor.java b/Mage.Sets/src/mage/cards/h/HarshMentor.java index b12f48fbe8d..5deb5e80ad0 100644 --- a/Mage.Sets/src/mage/cards/h/HarshMentor.java +++ b/Mage.Sets/src/mage/cards/h/HarshMentor.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -54,8 +55,8 @@ public class HarshMentor extends CardImpl { public HarshMentor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HaruOnna.java b/Mage.Sets/src/mage/cards/h/HaruOnna.java index a30c6299e17..c5a8ab1469e 100644 --- a/Mage.Sets/src/mage/cards/h/HaruOnna.java +++ b/Mage.Sets/src/mage/cards/h/HaruOnna.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; /** @@ -46,7 +47,7 @@ public class HaruOnna extends CardImpl { public HaruOnna(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HarvestGwyllion.java b/Mage.Sets/src/mage/cards/h/HarvestGwyllion.java index 0432e1792df..080bb56c89e 100644 --- a/Mage.Sets/src/mage/cards/h/HarvestGwyllion.java +++ b/Mage.Sets/src/mage/cards/h/HarvestGwyllion.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class HarvestGwyllion extends CardImpl { public HarvestGwyllion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W/B}{W/B}"); - this.subtype.add("Hag"); + this.subtype.add(SubType.HAG); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HarvestHand.java b/Mage.Sets/src/mage/cards/h/HarvestHand.java index a62c27fb76b..db847383447 100644 --- a/Mage.Sets/src/mage/cards/h/HarvestHand.java +++ b/Mage.Sets/src/mage/cards/h/HarvestHand.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.s.ScroungedScythe; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class HarvestHand extends CardImpl { public HarvestHand(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HarvestWurm.java b/Mage.Sets/src/mage/cards/h/HarvestWurm.java index feeb1087a67..aa7e3ef1d55 100644 --- a/Mage.Sets/src/mage/cards/h/HarvestWurm.java +++ b/Mage.Sets/src/mage/cards/h/HarvestWurm.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCardInYourGraveyard; @@ -47,7 +48,7 @@ public class HarvestWurm extends CardImpl { public HarvestWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HarvesterDruid.java b/Mage.Sets/src/mage/cards/h/HarvesterDruid.java index 2b2f07bf5b8..7d88f211ba3 100644 --- a/Mage.Sets/src/mage/cards/h/HarvesterDruid.java +++ b/Mage.Sets/src/mage/cards/h/HarvesterDruid.java @@ -33,6 +33,7 @@ import mage.abilities.mana.AnyColorLandsProduceManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -43,8 +44,8 @@ public class HarvesterDruid extends CardImpl { public HarvesterDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HarvesterOfSouls.java b/Mage.Sets/src/mage/cards/h/HarvesterOfSouls.java index be848556fb4..6dcceed3a99 100644 --- a/Mage.Sets/src/mage/cards/h/HarvesterOfSouls.java +++ b/Mage.Sets/src/mage/cards/h/HarvesterOfSouls.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.permanent.AnotherPredicate; @@ -54,7 +55,7 @@ public class HarvesterOfSouls extends CardImpl { public HarvesterOfSouls(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HarvesterTroll.java b/Mage.Sets/src/mage/cards/h/HarvesterTroll.java index b81347f41a8..ad4414ef64c 100644 --- a/Mage.Sets/src/mage/cards/h/HarvesterTroll.java +++ b/Mage.Sets/src/mage/cards/h/HarvesterTroll.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; @@ -56,7 +57,7 @@ public class HarvesterTroll extends CardImpl { public HarvesterTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Troll"); + this.subtype.add(SubType.TROLL); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HarvestguardAlseids.java b/Mage.Sets/src/mage/cards/h/HarvestguardAlseids.java index 729ff361edb..20cc6ec90db 100644 --- a/Mage.Sets/src/mage/cards/h/HarvestguardAlseids.java +++ b/Mage.Sets/src/mage/cards/h/HarvestguardAlseids.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -46,7 +47,7 @@ public class HarvestguardAlseids extends CardImpl { public HarvestguardAlseids(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{W}"); - this.subtype.add("Nymph"); + this.subtype.add(SubType.NYMPH); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HashepOasis.java b/Mage.Sets/src/mage/cards/h/HashepOasis.java index c1da7b1a3a6..0ddba4a7989 100644 --- a/Mage.Sets/src/mage/cards/h/HashepOasis.java +++ b/Mage.Sets/src/mage/cards/h/HashepOasis.java @@ -62,7 +62,7 @@ public class HashepOasis extends CardImpl { public HashepOasis(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Desert"); + this.subtype.add(SubType.DESERT); // {t}: Add {C} to your mana pool. addAbility(new ColorlessManaAbility()); diff --git a/Mage.Sets/src/mage/cards/h/HasranOgress.java b/Mage.Sets/src/mage/cards/h/HasranOgress.java index 9086ea61432..d0669f18e78 100644 --- a/Mage.Sets/src/mage/cards/h/HasranOgress.java +++ b/Mage.Sets/src/mage/cards/h/HasranOgress.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -50,7 +51,7 @@ public class HasranOgress extends CardImpl { public HasranOgress(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.OGRE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HatchetBully.java b/Mage.Sets/src/mage/cards/h/HatchetBully.java index 84787a811af..df412ac14e8 100644 --- a/Mage.Sets/src/mage/cards/h/HatchetBully.java +++ b/Mage.Sets/src/mage/cards/h/HatchetBully.java @@ -39,6 +39,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -57,8 +58,8 @@ public class HatchetBully extends CardImpl { public HatchetBully(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HateWeaver.java b/Mage.Sets/src/mage/cards/h/HateWeaver.java index e3557c93475..f584155e60e 100644 --- a/Mage.Sets/src/mage/cards/h/HateWeaver.java +++ b/Mage.Sets/src/mage/cards/h/HateWeaver.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -60,8 +61,8 @@ public class HateWeaver extends CardImpl { public HateWeaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/Hateflayer.java b/Mage.Sets/src/mage/cards/h/Hateflayer.java index dae8ad8a69a..6450c5785c9 100644 --- a/Mage.Sets/src/mage/cards/h/Hateflayer.java +++ b/Mage.Sets/src/mage/cards/h/Hateflayer.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -50,7 +51,7 @@ public class Hateflayer extends CardImpl { public Hateflayer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HauntedAngel.java b/Mage.Sets/src/mage/cards/h/HauntedAngel.java index 81678aeb7d9..60a2810b31c 100644 --- a/Mage.Sets/src/mage/cards/h/HauntedAngel.java +++ b/Mage.Sets/src/mage/cards/h/HauntedAngel.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.token.HauntedAngelToken; @@ -50,7 +51,7 @@ public class HauntedAngel extends CardImpl { public HauntedAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HauntedCadaver.java b/Mage.Sets/src/mage/cards/h/HauntedCadaver.java index 3da9e8e6bf7..0699c215451 100644 --- a/Mage.Sets/src/mage/cards/h/HauntedCadaver.java +++ b/Mage.Sets/src/mage/cards/h/HauntedCadaver.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,7 +48,7 @@ public class HauntedCadaver extends CardImpl { public HauntedCadaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HauntedCloak.java b/Mage.Sets/src/mage/cards/h/HauntedCloak.java index d4d0508e8b9..a938b37a2a4 100644 --- a/Mage.Sets/src/mage/cards/h/HauntedCloak.java +++ b/Mage.Sets/src/mage/cards/h/HauntedCloak.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class HauntedCloak extends CardImpl { public HauntedCloak(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has vigilance, trample, and haste. Effect effect = new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.EQUIPMENT); diff --git a/Mage.Sets/src/mage/cards/h/HauntedDead.java b/Mage.Sets/src/mage/cards/h/HauntedDead.java index 49f5cd58454..8e4e2abf511 100644 --- a/Mage.Sets/src/mage/cards/h/HauntedDead.java +++ b/Mage.Sets/src/mage/cards/h/HauntedDead.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.game.permanent.token.SpiritWhiteToken; @@ -52,7 +53,7 @@ public class HauntedDead extends CardImpl { public HauntedDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HauntedGuardian.java b/Mage.Sets/src/mage/cards/h/HauntedGuardian.java index 98cff90b4b0..80cab5d9092 100644 --- a/Mage.Sets/src/mage/cards/h/HauntedGuardian.java +++ b/Mage.Sets/src/mage/cards/h/HauntedGuardian.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class HauntedGuardian extends CardImpl { public HauntedGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HauntedPlateMail.java b/Mage.Sets/src/mage/cards/h/HauntedPlateMail.java index 31725db8e42..0bd7fd330b0 100644 --- a/Mage.Sets/src/mage/cards/h/HauntedPlateMail.java +++ b/Mage.Sets/src/mage/cards/h/HauntedPlateMail.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Outcome; @@ -55,7 +56,7 @@ public class HauntedPlateMail extends CardImpl { public HauntedPlateMail(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +4/+4. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(4, 4))); @@ -87,7 +88,7 @@ class HauntedPlateMailToken extends Token { super("Spirit", "4/4 Spirit artifact creature that's no longer an Equipment"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(4); toughness = new MageInt(4); } diff --git a/Mage.Sets/src/mage/cards/h/HaunterOfNightveil.java b/Mage.Sets/src/mage/cards/h/HaunterOfNightveil.java index f58409d8fd5..c026173052a 100644 --- a/Mage.Sets/src/mage/cards/h/HaunterOfNightveil.java +++ b/Mage.Sets/src/mage/cards/h/HaunterOfNightveil.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostOpponentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -45,7 +46,7 @@ public class HaunterOfNightveil extends CardImpl { public HaunterOfNightveil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HavengulLich.java b/Mage.Sets/src/mage/cards/h/HavengulLich.java index e52f632b646..9bfe17d21e2 100644 --- a/Mage.Sets/src/mage/cards/h/HavengulLich.java +++ b/Mage.Sets/src/mage/cards/h/HavengulLich.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -65,8 +66,8 @@ public class HavengulLich extends CardImpl { public HavengulLich(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HavengulRunebinder.java b/Mage.Sets/src/mage/cards/h/HavengulRunebinder.java index 0a6173e4594..74b68560d06 100644 --- a/Mage.Sets/src/mage/cards/h/HavengulRunebinder.java +++ b/Mage.Sets/src/mage/cards/h/HavengulRunebinder.java @@ -62,8 +62,8 @@ public class HavengulRunebinder extends CardImpl { public HavengulRunebinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HavengulSkaab.java b/Mage.Sets/src/mage/cards/h/HavengulSkaab.java index 68d0a3826f6..cba977e67b1 100644 --- a/Mage.Sets/src/mage/cards/h/HavengulSkaab.java +++ b/Mage.Sets/src/mage/cards/h/HavengulSkaab.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -50,8 +51,8 @@ public class HavengulSkaab extends CardImpl { public HavengulSkaab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HavengulVampire.java b/Mage.Sets/src/mage/cards/h/HavengulVampire.java index 4c01b69d573..2bc0c549ea1 100644 --- a/Mage.Sets/src/mage/cards/h/HavengulVampire.java +++ b/Mage.Sets/src/mage/cards/h/HavengulVampire.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,7 +46,7 @@ public class HavengulVampire extends CardImpl { public HavengulVampire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HavenwoodWurm.java b/Mage.Sets/src/mage/cards/h/HavenwoodWurm.java index 338037cbe4a..26e2d18b191 100644 --- a/Mage.Sets/src/mage/cards/h/HavenwoodWurm.java +++ b/Mage.Sets/src/mage/cards/h/HavenwoodWurm.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class HavenwoodWurm extends CardImpl { public HavenwoodWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/h/HavocDemon.java b/Mage.Sets/src/mage/cards/h/HavocDemon.java index ec3102afee5..c7fd339a415 100644 --- a/Mage.Sets/src/mage/cards/h/HavocDemon.java +++ b/Mage.Sets/src/mage/cards/h/HavocDemon.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class HavocDemon extends CardImpl { public HavocDemon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HavocSower.java b/Mage.Sets/src/mage/cards/h/HavocSower.java index 9c434dc61f7..d06022831b1 100644 --- a/Mage.Sets/src/mage/cards/h/HavocSower.java +++ b/Mage.Sets/src/mage/cards/h/HavocSower.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class HavocSower extends CardImpl { public HavocSower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HawkeaterMoth.java b/Mage.Sets/src/mage/cards/h/HawkeaterMoth.java index e1d72855536..a028644207e 100644 --- a/Mage.Sets/src/mage/cards/h/HawkeaterMoth.java +++ b/Mage.Sets/src/mage/cards/h/HawkeaterMoth.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class HawkeaterMoth extends CardImpl { public HawkeaterMoth (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HazardTrooper.java b/Mage.Sets/src/mage/cards/h/HazardTrooper.java index ec5b6f79ac1..f6dad5883f0 100644 --- a/Mage.Sets/src/mage/cards/h/HazardTrooper.java +++ b/Mage.Sets/src/mage/cards/h/HazardTrooper.java @@ -1,77 +1,77 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; -import mage.abilities.keyword.IntimidateAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; - -/** - * - * @author Styxo - */ -public class HazardTrooper extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Trooper creatures"); - - static { - filter.add(new SubtypePredicate(SubType.TROOPER)); - } - - public HazardTrooper(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cyborg"); - this.subtype.add("Trooper"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // Trooper creatures you control have intimidate. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(IntimidateAbility.getInstance(), Duration.WhileOnBattlefield, filter, false))); - - } - - public HazardTrooper(final HazardTrooper card) { - super(card); - } - - @Override - public HazardTrooper copy() { - return new HazardTrooper(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.IntimidateAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; + +/** + * + * @author Styxo + */ +public class HazardTrooper extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Trooper creatures"); + + static { + filter.add(new SubtypePredicate(SubType.TROOPER)); + } + + public HazardTrooper(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CYBORG); + this.subtype.add(SubType.TROOPER); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Trooper creatures you control have intimidate. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(IntimidateAbility.getInstance(), Duration.WhileOnBattlefield, filter, false))); + + } + + public HazardTrooper(final HazardTrooper card) { + super(card); + } + + @Override + public HazardTrooper copy() { + return new HazardTrooper(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HazeFrog.java b/Mage.Sets/src/mage/cards/h/HazeFrog.java index 0fe94611b51..fdffcdb4b7e 100644 --- a/Mage.Sets/src/mage/cards/h/HazeFrog.java +++ b/Mage.Sets/src/mage/cards/h/HazeFrog.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.game.Game; import mage.game.events.DamageEvent; @@ -50,7 +51,7 @@ public class HazeFrog extends CardImpl { public HazeFrog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Frog"); + this.subtype.add(SubType.FROG); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HazeriderDrake.java b/Mage.Sets/src/mage/cards/h/HazeriderDrake.java index 936cbddb41e..d047b6e7e0b 100644 --- a/Mage.Sets/src/mage/cards/h/HazeriderDrake.java +++ b/Mage.Sets/src/mage/cards/h/HazeriderDrake.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class HazeriderDrake extends CardImpl { public HazeriderDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HazezonTamar.java b/Mage.Sets/src/mage/cards/h/HazezonTamar.java index de4b97b579a..b51dea533fc 100644 --- a/Mage.Sets/src/mage/cards/h/HazezonTamar.java +++ b/Mage.Sets/src/mage/cards/h/HazezonTamar.java @@ -68,8 +68,8 @@ public class HazezonTamar extends CardImpl { public HazezonTamar(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HazoretTheFervent.java b/Mage.Sets/src/mage/cards/h/HazoretTheFervent.java index e27c5eef16c..962a0346f51 100644 --- a/Mage.Sets/src/mage/cards/h/HazoretTheFervent.java +++ b/Mage.Sets/src/mage/cards/h/HazoretTheFervent.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.TargetController; @@ -59,7 +60,7 @@ public class HazoretTheFervent extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HazyHomunculus.java b/Mage.Sets/src/mage/cards/h/HazyHomunculus.java index 33a824e0e62..3bc28e3cf3b 100644 --- a/Mage.Sets/src/mage/cards/h/HazyHomunculus.java +++ b/Mage.Sets/src/mage/cards/h/HazyHomunculus.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.common.FilterLandPermanent; @@ -57,8 +58,8 @@ public class HazyHomunculus extends CardImpl { public HazyHomunculus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Homunculus"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.HOMUNCULUS); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HeWhoHungers.java b/Mage.Sets/src/mage/cards/h/HeWhoHungers.java index 845a5042f24..8c882c88d61 100644 --- a/Mage.Sets/src/mage/cards/h/HeWhoHungers.java +++ b/Mage.Sets/src/mage/cards/h/HeWhoHungers.java @@ -67,7 +67,7 @@ public class HeWhoHungers extends CardImpl { public HeWhoHungers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HeadHunting.java b/Mage.Sets/src/mage/cards/h/HeadHunting.java index 9be52b9d519..fbf076891e2 100644 --- a/Mage.Sets/src/mage/cards/h/HeadHunting.java +++ b/Mage.Sets/src/mage/cards/h/HeadHunting.java @@ -1,68 +1,68 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.effects.common.LoseLifeOpponentsEffect; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.counters.CounterType; -import mage.target.common.TargetOpponentsCreaturePermanent; - -/** - * - * @author Styxo - */ -public class HeadHunting extends CardImpl { - - public HeadHunting(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{B}"); - - // Put a bounty counter on target creature an opponent controls. - this.getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent()); - this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance())); - - // Each opponent loses 1 life. - this.getSpellAbility().addEffect(new LoseLifeOpponentsEffect(1)); - - // Draw a card. - this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); - } - - public HeadHunting(final HeadHunting card) { - super(card); - } - - @Override - public HeadHunting copy() { - return new HeadHunting(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.LoseLifeOpponentsEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.counters.CounterType; +import mage.target.common.TargetOpponentsCreaturePermanent; + +/** + * + * @author Styxo + */ +public class HeadHunting extends CardImpl { + + public HeadHunting(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{B}"); + + // Put a bounty counter on target creature an opponent controls. + this.getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent()); + this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance())); + + // Each opponent loses 1 life. + this.getSpellAbility().addEffect(new LoseLifeOpponentsEffect(1)); + + // Draw a card. + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); + } + + public HeadHunting(final HeadHunting card) { + super(card); + } + + @Override + public HeadHunting copy() { + return new HeadHunting(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/Headhunter.java b/Mage.Sets/src/mage/cards/h/Headhunter.java index 16d0fa4fa95..c8197402810 100644 --- a/Mage.Sets/src/mage/cards/h/Headhunter.java +++ b/Mage.Sets/src/mage/cards/h/Headhunter.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class Headhunter extends CardImpl { public Headhunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HeadlessHorseman.java b/Mage.Sets/src/mage/cards/h/HeadlessHorseman.java index cde3a469bb2..a68dec8c00c 100644 --- a/Mage.Sets/src/mage/cards/h/HeadlessHorseman.java +++ b/Mage.Sets/src/mage/cards/h/HeadlessHorseman.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class HeadlessHorseman extends CardImpl { public HeadlessHorseman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HeadlessSkaab.java b/Mage.Sets/src/mage/cards/h/HeadlessSkaab.java index 86ad9657423..385aa312abd 100644 --- a/Mage.Sets/src/mage/cards/h/HeadlessSkaab.java +++ b/Mage.Sets/src/mage/cards/h/HeadlessSkaab.java @@ -34,6 +34,7 @@ import mage.abilities.costs.common.ExileFromGraveCost; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInYourGraveyard; @@ -45,8 +46,8 @@ public class HeadlessSkaab extends CardImpl { public HeadlessSkaab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/h/HeadwaterSentries.java b/Mage.Sets/src/mage/cards/h/HeadwaterSentries.java index 26b86e7e65a..2d75bd73c86 100644 --- a/Mage.Sets/src/mage/cards/h/HeadwaterSentries.java +++ b/Mage.Sets/src/mage/cards/h/HeadwaterSentries.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class HeadwaterSentries extends CardImpl { public HeadwaterSentries(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(5); } diff --git a/Mage.Sets/src/mage/cards/h/HealerOfThePride.java b/Mage.Sets/src/mage/cards/h/HealerOfThePride.java index 42a0dca5f64..026611d152a 100644 --- a/Mage.Sets/src/mage/cards/h/HealerOfThePride.java +++ b/Mage.Sets/src/mage/cards/h/HealerOfThePride.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -45,8 +46,8 @@ public class HealerOfThePride extends CardImpl { public HealerOfThePride(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HealersHeaddress.java b/Mage.Sets/src/mage/cards/h/HealersHeaddress.java index df9dd0825c6..32d74de446b 100644 --- a/Mage.Sets/src/mage/cards/h/HealersHeaddress.java +++ b/Mage.Sets/src/mage/cards/h/HealersHeaddress.java @@ -44,6 +44,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class HealersHeaddress extends CardImpl { public HealersHeaddress(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +0/+2 and has "{tap}: Prevent the next 1 damage that would be dealt to target creature or player this turn." Ability gainAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PreventDamageToTargetEffect(Duration.EndOfTurn, 1), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/h/HeapDoll.java b/Mage.Sets/src/mage/cards/h/HeapDoll.java index ae1d72ae9fe..d7c713f81a3 100644 --- a/Mage.Sets/src/mage/cards/h/HeapDoll.java +++ b/Mage.Sets/src/mage/cards/h/HeapDoll.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCardInGraveyard; @@ -46,7 +47,7 @@ public class HeapDoll extends CardImpl { public HeapDoll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HeartOfLight.java b/Mage.Sets/src/mage/cards/h/HeartOfLight.java index d30734bf5fb..cbddc79849a 100644 --- a/Mage.Sets/src/mage/cards/h/HeartOfLight.java +++ b/Mage.Sets/src/mage/cards/h/HeartOfLight.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class HeartOfLight extends CardImpl { public HeartOfLight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/h/HeartPiercerBow.java b/Mage.Sets/src/mage/cards/h/HeartPiercerBow.java index 50a8f356a82..3980aa45145 100644 --- a/Mage.Sets/src/mage/cards/h/HeartPiercerBow.java +++ b/Mage.Sets/src/mage/cards/h/HeartPiercerBow.java @@ -36,6 +36,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -52,7 +53,7 @@ public class HeartPiercerBow extends CardImpl { public HeartPiercerBow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Whenever equipped creature attacks, Heart-Piercer Bow deals 1 damage to target creature defending player controls. this.addAbility(new HeartPiercerBowAbility()); diff --git a/Mage.Sets/src/mage/cards/h/HeartPiercerManticore.java b/Mage.Sets/src/mage/cards/h/HeartPiercerManticore.java index 0ec3b29b516..745c124ccb7 100644 --- a/Mage.Sets/src/mage/cards/h/HeartPiercerManticore.java +++ b/Mage.Sets/src/mage/cards/h/HeartPiercerManticore.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.EmbalmAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -62,7 +63,7 @@ public class HeartPiercerManticore extends CardImpl { public HeartPiercerManticore(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}"); - this.subtype.add("Manticore"); + this.subtype.add(SubType.MANTICORE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HeartSliver.java b/Mage.Sets/src/mage/cards/h/HeartSliver.java index 9caf59d6597..41f11e35c9b 100644 --- a/Mage.Sets/src/mage/cards/h/HeartSliver.java +++ b/Mage.Sets/src/mage/cards/h/HeartSliver.java @@ -54,7 +54,7 @@ public class HeartSliver extends CardImpl { public HeartSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HeartWarden.java b/Mage.Sets/src/mage/cards/h/HeartWarden.java index 6b10b70a1fe..bb1f941da81 100644 --- a/Mage.Sets/src/mage/cards/h/HeartWarden.java +++ b/Mage.Sets/src/mage/cards/h/HeartWarden.java @@ -38,6 +38,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,8 +49,8 @@ public class HeartWarden extends CardImpl { public HeartWarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HearthKami.java b/Mage.Sets/src/mage/cards/h/HearthKami.java index 023712920dc..f9b6d38f2a7 100644 --- a/Mage.Sets/src/mage/cards/h/HearthKami.java +++ b/Mage.Sets/src/mage/cards/h/HearthKami.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; @@ -54,7 +55,7 @@ public class HearthKami extends CardImpl { public HearthKami(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HearthcageGiant.java b/Mage.Sets/src/mage/cards/h/HearthcageGiant.java index 227515f3a45..9ed75757bb2 100644 --- a/Mage.Sets/src/mage/cards/h/HearthcageGiant.java +++ b/Mage.Sets/src/mage/cards/h/HearthcageGiant.java @@ -64,8 +64,8 @@ public class HearthcageGiant extends CardImpl { public HearthcageGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{R}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HearthfireHobgoblin.java b/Mage.Sets/src/mage/cards/h/HearthfireHobgoblin.java index 395a7252ebe..f7a8f29c996 100644 --- a/Mage.Sets/src/mage/cards/h/HearthfireHobgoblin.java +++ b/Mage.Sets/src/mage/cards/h/HearthfireHobgoblin.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class HearthfireHobgoblin extends CardImpl { public HearthfireHobgoblin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R/W}{R/W}{R/W}"); - this.subtype.add("Goblin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HeartlashCinder.java b/Mage.Sets/src/mage/cards/h/HeartlashCinder.java index 9d1c891f1e2..0606066095f 100644 --- a/Mage.Sets/src/mage/cards/h/HeartlashCinder.java +++ b/Mage.Sets/src/mage/cards/h/HeartlashCinder.java @@ -42,6 +42,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterControlledPermanent; import mage.game.Game; @@ -55,8 +56,8 @@ public class HeartlashCinder extends CardImpl { public HeartlashCinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HeartlessHidetsugu.java b/Mage.Sets/src/mage/cards/h/HeartlessHidetsugu.java index 90ab60360e7..901a50b6696 100644 --- a/Mage.Sets/src/mage/cards/h/HeartlessHidetsugu.java +++ b/Mage.Sets/src/mage/cards/h/HeartlessHidetsugu.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class HeartlessHidetsugu extends CardImpl { public HeartlessHidetsugu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Ogre"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/Heartmender.java b/Mage.Sets/src/mage/cards/h/Heartmender.java index 05b9db5c38e..1c3a6dda5a1 100644 --- a/Mage.Sets/src/mage/cards/h/Heartmender.java +++ b/Mage.Sets/src/mage/cards/h/Heartmender.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.PersistAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.counters.Counter; @@ -52,7 +53,7 @@ public class Heartmender extends CardImpl { public Heartmender(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G/W}{G/W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/Heartseeker.java b/Mage.Sets/src/mage/cards/h/Heartseeker.java index 5fd6d89de9e..498bccc1e0b 100644 --- a/Mage.Sets/src/mage/cards/h/Heartseeker.java +++ b/Mage.Sets/src/mage/cards/h/Heartseeker.java @@ -53,7 +53,7 @@ public class Heartseeker extends CardImpl { public Heartseeker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+1 and has "{tap}, Unattach Heartseeker: Destroy target creature." Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 1, Duration.WhileOnBattlefield)); diff --git a/Mage.Sets/src/mage/cards/h/HeartstabberMosquito.java b/Mage.Sets/src/mage/cards/h/HeartstabberMosquito.java index cbcf75456a9..4575eec3daa 100644 --- a/Mage.Sets/src/mage/cards/h/HeartstabberMosquito.java +++ b/Mage.Sets/src/mage/cards/h/HeartstabberMosquito.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -48,7 +49,7 @@ public class HeartstabberMosquito extends CardImpl { public HeartstabberMosquito(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HeartwoodDryad.java b/Mage.Sets/src/mage/cards/h/HeartwoodDryad.java index d7c1440b480..50e42752e62 100644 --- a/Mage.Sets/src/mage/cards/h/HeartwoodDryad.java +++ b/Mage.Sets/src/mage/cards/h/HeartwoodDryad.java @@ -36,6 +36,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class HeartwoodDryad extends CardImpl { public HeartwoodDryad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HeartwoodGiant.java b/Mage.Sets/src/mage/cards/h/HeartwoodGiant.java index c8423952c8e..1b9dafabae1 100644 --- a/Mage.Sets/src/mage/cards/h/HeartwoodGiant.java +++ b/Mage.Sets/src/mage/cards/h/HeartwoodGiant.java @@ -58,7 +58,7 @@ public class HeartwoodGiant extends CardImpl { public HeartwoodGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HeartwoodStoryteller.java b/Mage.Sets/src/mage/cards/h/HeartwoodStoryteller.java index ad7bd8b2238..3803b02b64c 100644 --- a/Mage.Sets/src/mage/cards/h/HeartwoodStoryteller.java +++ b/Mage.Sets/src/mage/cards/h/HeartwoodStoryteller.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -53,7 +54,7 @@ public class HeartwoodStoryteller extends CardImpl { public HeartwoodStoryteller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HeartwoodTreefolk.java b/Mage.Sets/src/mage/cards/h/HeartwoodTreefolk.java index b1c84332611..3078b7d745e 100644 --- a/Mage.Sets/src/mage/cards/h/HeartwoodTreefolk.java +++ b/Mage.Sets/src/mage/cards/h/HeartwoodTreefolk.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class HeartwoodTreefolk extends CardImpl { public HeartwoodTreefolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HeavyArbalest.java b/Mage.Sets/src/mage/cards/h/HeavyArbalest.java index 23b3b114f55..5296ca5f8be 100644 --- a/Mage.Sets/src/mage/cards/h/HeavyArbalest.java +++ b/Mage.Sets/src/mage/cards/h/HeavyArbalest.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.PhaseStep; @@ -59,7 +60,7 @@ public class HeavyArbalest extends CardImpl { public HeavyArbalest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature doesn't untap during its controller's untap step. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new HeavyArbalestEffect())); diff --git a/Mage.Sets/src/mage/cards/h/HeavyBallista.java b/Mage.Sets/src/mage/cards/h/HeavyBallista.java index dc9f3953e15..31df971b461 100644 --- a/Mage.Sets/src/mage/cards/h/HeavyBallista.java +++ b/Mage.Sets/src/mage/cards/h/HeavyBallista.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetAttackingOrBlockingCreature; @@ -47,8 +48,8 @@ public class HeavyBallista extends CardImpl { public HeavyBallista(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HeavyInfantry.java b/Mage.Sets/src/mage/cards/h/HeavyInfantry.java index 773baa3cb29..e094d443c2d 100644 --- a/Mage.Sets/src/mage/cards/h/HeavyInfantry.java +++ b/Mage.Sets/src/mage/cards/h/HeavyInfantry.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -54,8 +55,8 @@ public class HeavyInfantry extends CardImpl { public HeavyInfantry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HeavyMattock.java b/Mage.Sets/src/mage/cards/h/HeavyMattock.java index 8ff7345d5f4..232a0db4c27 100644 --- a/Mage.Sets/src/mage/cards/h/HeavyMattock.java +++ b/Mage.Sets/src/mage/cards/h/HeavyMattock.java @@ -51,7 +51,7 @@ public class HeavyMattock extends CardImpl { public HeavyMattock(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1))); diff --git a/Mage.Sets/src/mage/cards/h/HeavyTrooper.java b/Mage.Sets/src/mage/cards/h/HeavyTrooper.java index d4cf4c21500..714c207862d 100644 --- a/Mage.Sets/src/mage/cards/h/HeavyTrooper.java +++ b/Mage.Sets/src/mage/cards/h/HeavyTrooper.java @@ -1,74 +1,74 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.continuous.BoostControlledEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; - -/** - * - * @author Styxo - */ -public class HeavyTrooper extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Trooper creatures"); - - static { - filter.add(new SubtypePredicate(SubType.TROOPER)); - } - - public HeavyTrooper(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Trooper"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Trooper creatures you control get +0/+1. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield, filter, false))); - } - - public HeavyTrooper(final HeavyTrooper card) { - super(card); - } - - @Override - public HeavyTrooper copy() { - return new HeavyTrooper(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; + +/** + * + * @author Styxo + */ +public class HeavyTrooper extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Trooper creatures"); + + static { + filter.add(new SubtypePredicate(SubType.TROOPER)); + } + + public HeavyTrooper(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.TROOPER); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Trooper creatures you control get +0/+1. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(0, 1, Duration.WhileOnBattlefield, filter, false))); + } + + public HeavyTrooper(final HeavyTrooper card) { + super(card); + } + + @Override + public HeavyTrooper copy() { + return new HeavyTrooper(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HecklingFiends.java b/Mage.Sets/src/mage/cards/h/HecklingFiends.java index 82ab5b7ca51..e9e4fdc127c 100644 --- a/Mage.Sets/src/mage/cards/h/HecklingFiends.java +++ b/Mage.Sets/src/mage/cards/h/HecklingFiends.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.AttacksIfAbleTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class HecklingFiends extends CardImpl { public HecklingFiends(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HedgeTroll.java b/Mage.Sets/src/mage/cards/h/HedgeTroll.java index 757f53be4f3..6b54bc51472 100644 --- a/Mage.Sets/src/mage/cards/h/HedgeTroll.java +++ b/Mage.Sets/src/mage/cards/h/HedgeTroll.java @@ -56,8 +56,8 @@ public class HedgeTroll extends CardImpl { public HedgeTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Troll"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.TROLL); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HedronBlade.java b/Mage.Sets/src/mage/cards/h/HedronBlade.java index 22269b9a7a1..0f47c1405d7 100644 --- a/Mage.Sets/src/mage/cards/h/HedronBlade.java +++ b/Mage.Sets/src/mage/cards/h/HedronBlade.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class HedronBlade extends CardImpl { public HedronBlade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1))); diff --git a/Mage.Sets/src/mage/cards/h/HedronCrab.java b/Mage.Sets/src/mage/cards/h/HedronCrab.java index ea01a22ca36..fb162980448 100644 --- a/Mage.Sets/src/mage/cards/h/HedronCrab.java +++ b/Mage.Sets/src/mage/cards/h/HedronCrab.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -44,7 +45,7 @@ public class HedronCrab extends CardImpl { public HedronCrab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Crab"); + this.subtype.add(SubType.CRAB); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HedronCrawler.java b/Mage.Sets/src/mage/cards/h/HedronCrawler.java index db97f0df7e4..8337f171133 100644 --- a/Mage.Sets/src/mage/cards/h/HedronCrawler.java +++ b/Mage.Sets/src/mage/cards/h/HedronCrawler.java @@ -33,6 +33,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class HedronCrawler extends CardImpl { public HedronCrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HedronFieldPurists.java b/Mage.Sets/src/mage/cards/h/HedronFieldPurists.java index fc5851309d4..0f16e1febf7 100644 --- a/Mage.Sets/src/mage/cards/h/HedronFieldPurists.java +++ b/Mage.Sets/src/mage/cards/h/HedronFieldPurists.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -54,8 +55,8 @@ public class HedronFieldPurists extends LevelerCard { public HedronFieldPurists(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.color.setWhite(true); this.power = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/h/HedronMatrix.java b/Mage.Sets/src/mage/cards/h/HedronMatrix.java index 99950ef20dc..73a4e04461f 100644 --- a/Mage.Sets/src/mage/cards/h/HedronMatrix.java +++ b/Mage.Sets/src/mage/cards/h/HedronMatrix.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -53,7 +54,7 @@ public class HedronMatrix extends CardImpl { public HedronMatrix (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(4))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new HedronMatrixEffect())); } diff --git a/Mage.Sets/src/mage/cards/h/HedronRover.java b/Mage.Sets/src/mage/cards/h/HedronRover.java index 9068bdbb938..a60a8060fa5 100644 --- a/Mage.Sets/src/mage/cards/h/HedronRover.java +++ b/Mage.Sets/src/mage/cards/h/HedronRover.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class HedronRover extends CardImpl { public HedronRover (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(new LandfallAbility(new BoostSourceEffect(2, 2, Duration.EndOfTurn), false)); diff --git a/Mage.Sets/src/mage/cards/h/HedronScrabbler.java b/Mage.Sets/src/mage/cards/h/HedronScrabbler.java index f4892afd25d..1bb3b5aa36c 100644 --- a/Mage.Sets/src/mage/cards/h/HedronScrabbler.java +++ b/Mage.Sets/src/mage/cards/h/HedronScrabbler.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class HedronScrabbler extends CardImpl { public HedronScrabbler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HeedTheMists.java b/Mage.Sets/src/mage/cards/h/HeedTheMists.java index 2f7110ba605..5134c17ca4c 100644 --- a/Mage.Sets/src/mage/cards/h/HeedTheMists.java +++ b/Mage.Sets/src/mage/cards/h/HeedTheMists.java @@ -34,6 +34,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -47,7 +48,7 @@ public class HeedTheMists extends CardImpl { public HeedTheMists(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{U}{U}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Put the top card of your library into your graveyard, then draw cards equal to that card's converted mana cost. diff --git a/Mage.Sets/src/mage/cards/h/HeedlessOne.java b/Mage.Sets/src/mage/cards/h/HeedlessOne.java index eef539dc683..d2442fa93f0 100644 --- a/Mage.Sets/src/mage/cards/h/HeedlessOne.java +++ b/Mage.Sets/src/mage/cards/h/HeedlessOne.java @@ -56,8 +56,8 @@ public class HeedlessOne extends CardImpl { public HeedlessOne(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/h/HeidarRimewindMaster.java b/Mage.Sets/src/mage/cards/h/HeidarRimewindMaster.java index d8f26157487..822f87b4e32 100644 --- a/Mage.Sets/src/mage/cards/h/HeidarRimewindMaster.java +++ b/Mage.Sets/src/mage/cards/h/HeidarRimewindMaster.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class HeidarRimewindMaster extends CardImpl { public HeidarRimewindMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HeirOfFalkenrath.java b/Mage.Sets/src/mage/cards/h/HeirOfFalkenrath.java index 2f2aedba5a5..b46c1906421 100644 --- a/Mage.Sets/src/mage/cards/h/HeirOfFalkenrath.java +++ b/Mage.Sets/src/mage/cards/h/HeirOfFalkenrath.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class HeirOfFalkenrath extends CardImpl { public HeirOfFalkenrath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HeirOfTheWilds.java b/Mage.Sets/src/mage/cards/h/HeirOfTheWilds.java index 66c1b778a89..0b78fed34f6 100644 --- a/Mage.Sets/src/mage/cards/h/HeirOfTheWilds.java +++ b/Mage.Sets/src/mage/cards/h/HeirOfTheWilds.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -48,8 +49,8 @@ public class HeirOfTheWilds extends CardImpl { public HeirOfTheWilds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HeirToTheNight.java b/Mage.Sets/src/mage/cards/h/HeirToTheNight.java index 4e7a135d29f..17fb353f54e 100644 --- a/Mage.Sets/src/mage/cards/h/HeirToTheNight.java +++ b/Mage.Sets/src/mage/cards/h/HeirToTheNight.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class HeirToTheNight extends CardImpl { public HeirToTheNight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Vampire"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(3); this.toughness = new MageInt(2); this.color.setBlack(true); diff --git a/Mage.Sets/src/mage/cards/h/HeirsOfStromkirk.java b/Mage.Sets/src/mage/cards/h/HeirsOfStromkirk.java index bbbd47cead1..43d47b9071a 100644 --- a/Mage.Sets/src/mage/cards/h/HeirsOfStromkirk.java +++ b/Mage.Sets/src/mage/cards/h/HeirsOfStromkirk.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,7 +46,7 @@ public class HeirsOfStromkirk extends CardImpl { public HeirsOfStromkirk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HekmaSentinels.java b/Mage.Sets/src/mage/cards/h/HekmaSentinels.java index bd6bed738c7..c99fcda9407 100644 --- a/Mage.Sets/src/mage/cards/h/HekmaSentinels.java +++ b/Mage.Sets/src/mage/cards/h/HekmaSentinels.java @@ -1,65 +1,66 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.CycleOrDiscardControllerTriggeredAbility; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; - -/** - * - * @author Styxo - */ -public class HekmaSentinels extends CardImpl { - - public HekmaSentinels(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.power = new MageInt(2); - this.toughness = new MageInt(3); - - // Whenever you cycle or discard a card, Hekma Sentinels gets +1/+1 until end of turn. - this.addAbility(new CycleOrDiscardControllerTriggeredAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn))); - } - - public HekmaSentinels(final HekmaSentinels card) { - super(card); - } - - @Override - public HekmaSentinels copy() { - return new HekmaSentinels(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.CycleOrDiscardControllerTriggeredAbility; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; + +/** + * + * @author Styxo + */ +public class HekmaSentinels extends CardImpl { + + public HekmaSentinels(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Whenever you cycle or discard a card, Hekma Sentinels gets +1/+1 until end of turn. + this.addAbility(new CycleOrDiscardControllerTriggeredAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn))); + } + + public HekmaSentinels(final HekmaSentinels card) { + super(card); + } + + @Override + public HekmaSentinels copy() { + return new HekmaSentinels(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HeliodGodOfTheSun.java b/Mage.Sets/src/mage/cards/h/HeliodGodOfTheSun.java index 09453d133b3..32a5ccc015f 100644 --- a/Mage.Sets/src/mage/cards/h/HeliodGodOfTheSun.java +++ b/Mage.Sets/src/mage/cards/h/HeliodGodOfTheSun.java @@ -54,7 +54,7 @@ public class HeliodGodOfTheSun extends CardImpl { public HeliodGodOfTheSun(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{3}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/h/HeliodsEmissary.java b/Mage.Sets/src/mage/cards/h/HeliodsEmissary.java index 65c4cacb354..5da7c23ad38 100644 --- a/Mage.Sets/src/mage/cards/h/HeliodsEmissary.java +++ b/Mage.Sets/src/mage/cards/h/HeliodsEmissary.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -61,7 +62,7 @@ public class HeliodsEmissary extends CardImpl { public HeliodsEmissary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{3}{W}"); - this.subtype.add("Elk"); + this.subtype.add(SubType.ELK); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HeliodsPilgrim.java b/Mage.Sets/src/mage/cards/h/HeliodsPilgrim.java index 24de8d6381d..0668f940678 100644 --- a/Mage.Sets/src/mage/cards/h/HeliodsPilgrim.java +++ b/Mage.Sets/src/mage/cards/h/HeliodsPilgrim.java @@ -55,8 +55,8 @@ public class HeliodsPilgrim extends CardImpl { public HeliodsPilgrim(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/Helionaut.java b/Mage.Sets/src/mage/cards/h/Helionaut.java index e0dd9a18733..19e1deb3978 100644 --- a/Mage.Sets/src/mage/cards/h/Helionaut.java +++ b/Mage.Sets/src/mage/cards/h/Helionaut.java @@ -37,6 +37,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class Helionaut extends CardImpl { public Helionaut(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HeliumSquirter.java b/Mage.Sets/src/mage/cards/h/HeliumSquirter.java index fecb3823cf2..8fad0ada4be 100644 --- a/Mage.Sets/src/mage/cards/h/HeliumSquirter.java +++ b/Mage.Sets/src/mage/cards/h/HeliumSquirter.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.GraftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -58,8 +59,8 @@ public class HeliumSquirter extends CardImpl { public HeliumSquirter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Beast"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.BEAST); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/h/HellBentRaider.java b/Mage.Sets/src/mage/cards/h/HellBentRaider.java index 50afeec8bef..9b35381becb 100644 --- a/Mage.Sets/src/mage/cards/h/HellBentRaider.java +++ b/Mage.Sets/src/mage/cards/h/HellBentRaider.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class HellBentRaider extends CardImpl { public HellBentRaider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Barbarian"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BARBARIAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HellcarverDemon.java b/Mage.Sets/src/mage/cards/h/HellcarverDemon.java index 130af457606..1032ae1f699 100644 --- a/Mage.Sets/src/mage/cards/h/HellcarverDemon.java +++ b/Mage.Sets/src/mage/cards/h/HellcarverDemon.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class HellcarverDemon extends CardImpl { public HellcarverDemon(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/h/Helldozer.java b/Mage.Sets/src/mage/cards/h/Helldozer.java index ca170bc8d7c..ab85df4c087 100644 --- a/Mage.Sets/src/mage/cards/h/Helldozer.java +++ b/Mage.Sets/src/mage/cards/h/Helldozer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,8 +52,8 @@ public class Helldozer extends CardImpl { public Helldozer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Giant"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.GIANT); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HellfireMongrel.java b/Mage.Sets/src/mage/cards/h/HellfireMongrel.java index c0efe596d43..b9d589a6d3b 100644 --- a/Mage.Sets/src/mage/cards/h/HellfireMongrel.java +++ b/Mage.Sets/src/mage/cards/h/HellfireMongrel.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; @@ -50,8 +51,8 @@ public class HellfireMongrel extends CardImpl { public HellfireMongrel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Hound"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.HOUND); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HellholeFlailer.java b/Mage.Sets/src/mage/cards/h/HellholeFlailer.java index e45beac47cd..a649adf8c5c 100644 --- a/Mage.Sets/src/mage/cards/h/HellholeFlailer.java +++ b/Mage.Sets/src/mage/cards/h/HellholeFlailer.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.UnleashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -50,8 +51,8 @@ public class HellholeFlailer extends CardImpl { public HellholeFlailer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); diff --git a/Mage.Sets/src/mage/cards/h/HellholeRats.java b/Mage.Sets/src/mage/cards/h/HellholeRats.java index 17f2435f71f..2830a93812c 100644 --- a/Mage.Sets/src/mage/cards/h/HellholeRats.java +++ b/Mage.Sets/src/mage/cards/h/HellholeRats.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -51,7 +52,7 @@ public class HellholeRats extends CardImpl { public HellholeRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{R}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HellkiteCharger.java b/Mage.Sets/src/mage/cards/h/HellkiteCharger.java index 373b46ca1de..ce8862d4d2f 100644 --- a/Mage.Sets/src/mage/cards/h/HellkiteCharger.java +++ b/Mage.Sets/src/mage/cards/h/HellkiteCharger.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TurnPhase; import mage.filter.common.FilterAttackingCreature; @@ -55,7 +56,7 @@ public class HellkiteCharger extends CardImpl { public HellkiteCharger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HellkiteHatchling.java b/Mage.Sets/src/mage/cards/h/HellkiteHatchling.java index 68a36c1814f..a595cef323b 100644 --- a/Mage.Sets/src/mage/cards/h/HellkiteHatchling.java +++ b/Mage.Sets/src/mage/cards/h/HellkiteHatchling.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class HellkiteHatchling extends CardImpl { public HellkiteHatchling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HellkiteIgniter.java b/Mage.Sets/src/mage/cards/h/HellkiteIgniter.java index 8850d97a1de..a8186bbf521 100644 --- a/Mage.Sets/src/mage/cards/h/HellkiteIgniter.java +++ b/Mage.Sets/src/mage/cards/h/HellkiteIgniter.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class HellkiteIgniter extends CardImpl { public HellkiteIgniter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HellkiteOverlord.java b/Mage.Sets/src/mage/cards/h/HellkiteOverlord.java index 49b150b8bec..ac880e3d99a 100644 --- a/Mage.Sets/src/mage/cards/h/HellkiteOverlord.java +++ b/Mage.Sets/src/mage/cards/h/HellkiteOverlord.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class HellkiteOverlord extends CardImpl { public HellkiteOverlord (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{R}{R}{G}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/h/HellkiteTyrant.java b/Mage.Sets/src/mage/cards/h/HellkiteTyrant.java index fd4b9dc1e18..b8ef07cd060 100644 --- a/Mage.Sets/src/mage/cards/h/HellkiteTyrant.java +++ b/Mage.Sets/src/mage/cards/h/HellkiteTyrant.java @@ -45,6 +45,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Layer; @@ -67,7 +68,7 @@ public class HellkiteTyrant extends CardImpl { public HellkiteTyrant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HellraiserGoblin.java b/Mage.Sets/src/mage/cards/h/HellraiserGoblin.java index 4b3a75976c5..20a3074e6a6 100644 --- a/Mage.Sets/src/mage/cards/h/HellraiserGoblin.java +++ b/Mage.Sets/src/mage/cards/h/HellraiserGoblin.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -55,8 +56,8 @@ public class HellraiserGoblin extends CardImpl { public HellraiserGoblin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/Hellrider.java b/Mage.Sets/src/mage/cards/h/Hellrider.java index ee690b7c1bc..8afaea91ead 100644 --- a/Mage.Sets/src/mage/cards/h/Hellrider.java +++ b/Mage.Sets/src/mage/cards/h/Hellrider.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -50,7 +51,7 @@ public class Hellrider extends CardImpl { public Hellrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HellsCaretaker.java b/Mage.Sets/src/mage/cards/h/HellsCaretaker.java index bd9a503d6ff..428ed7b6eb5 100644 --- a/Mage.Sets/src/mage/cards/h/HellsCaretaker.java +++ b/Mage.Sets/src/mage/cards/h/HellsCaretaker.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -52,7 +53,7 @@ public class HellsCaretaker extends CardImpl { public HellsCaretaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HellsThunder.java b/Mage.Sets/src/mage/cards/h/HellsThunder.java index 8f78678c455..72a3544ced1 100644 --- a/Mage.Sets/src/mage/cards/h/HellsThunder.java +++ b/Mage.Sets/src/mage/cards/h/HellsThunder.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.events.GameEvent.EventType; /** @@ -49,7 +50,7 @@ public class HellsThunder extends CardImpl { public HellsThunder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HellsparkElemental.java b/Mage.Sets/src/mage/cards/h/HellsparkElemental.java index 613caedf539..d6509e55660 100644 --- a/Mage.Sets/src/mage/cards/h/HellsparkElemental.java +++ b/Mage.Sets/src/mage/cards/h/HellsparkElemental.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.events.GameEvent.EventType; @@ -49,7 +50,7 @@ public class HellsparkElemental extends CardImpl { public HellsparkElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HelmOfKaldra.java b/Mage.Sets/src/mage/cards/h/HelmOfKaldra.java index 16f560c3541..309d21d56f6 100644 --- a/Mage.Sets/src/mage/cards/h/HelmOfKaldra.java +++ b/Mage.Sets/src/mage/cards/h/HelmOfKaldra.java @@ -70,7 +70,7 @@ public class HelmOfKaldra extends CardImpl { public HelmOfKaldra(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has first strike, trample, and haste. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT)); diff --git a/Mage.Sets/src/mage/cards/h/HelmOfTheGhastlord.java b/Mage.Sets/src/mage/cards/h/HelmOfTheGhastlord.java index bda3b70f134..b145e71cba5 100644 --- a/Mage.Sets/src/mage/cards/h/HelmOfTheGhastlord.java +++ b/Mage.Sets/src/mage/cards/h/HelmOfTheGhastlord.java @@ -44,6 +44,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -57,7 +58,7 @@ public class HelmOfTheGhastlord extends CardImpl { public HelmOfTheGhastlord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U/B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/h/HelmOfTheGods.java b/Mage.Sets/src/mage/cards/h/HelmOfTheGods.java index 74980691130..1d0878e68b3 100644 --- a/Mage.Sets/src/mage/cards/h/HelmOfTheGods.java +++ b/Mage.Sets/src/mage/cards/h/HelmOfTheGods.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class HelmOfTheGods extends CardImpl { public HelmOfTheGods(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+1 for each enchantment you control. PermanentsOnBattlefieldCount countEnchantments = new PermanentsOnBattlefieldCount(new FilterEnchantmentPermanent(filter)); diff --git a/Mage.Sets/src/mage/cards/h/HematiteGolem.java b/Mage.Sets/src/mage/cards/h/HematiteGolem.java index 86f1ec6a848..85fa91a299e 100644 --- a/Mage.Sets/src/mage/cards/h/HematiteGolem.java +++ b/Mage.Sets/src/mage/cards/h/HematiteGolem.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class HematiteGolem extends CardImpl { public HematiteGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HenchfiendOfUkor.java b/Mage.Sets/src/mage/cards/h/HenchfiendOfUkor.java index 66e70edb1da..5cc44ae2c8f 100644 --- a/Mage.Sets/src/mage/cards/h/HenchfiendOfUkor.java +++ b/Mage.Sets/src/mage/cards/h/HenchfiendOfUkor.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class HenchfiendOfUkor extends CardImpl { public HenchfiendOfUkor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.OGRE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HengeGuardian.java b/Mage.Sets/src/mage/cards/h/HengeGuardian.java index 425d609c9c9..4dc33ef5248 100644 --- a/Mage.Sets/src/mage/cards/h/HengeGuardian.java +++ b/Mage.Sets/src/mage/cards/h/HengeGuardian.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class HengeGuardian extends CardImpl { public HengeGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Dragon"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.DRAGON); + this.subtype.add(SubType.WURM); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfAnafenza.java b/Mage.Sets/src/mage/cards/h/HeraldOfAnafenza.java index eec92a6fe3d..29ad93d933b 100644 --- a/Mage.Sets/src/mage/cards/h/HeraldOfAnafenza.java +++ b/Mage.Sets/src/mage/cards/h/HeraldOfAnafenza.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.OutlastAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -50,8 +51,8 @@ public class HeraldOfAnafenza extends CardImpl { public HeraldOfAnafenza(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfAnguish.java b/Mage.Sets/src/mage/cards/h/HeraldOfAnguish.java index 00a42ce34d4..88aedd53231 100644 --- a/Mage.Sets/src/mage/cards/h/HeraldOfAnguish.java +++ b/Mage.Sets/src/mage/cards/h/HeraldOfAnguish.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.ImproviseAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class HeraldOfAnguish extends CardImpl { public HeraldOfAnguish(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfDromoka.java b/Mage.Sets/src/mage/cards/h/HeraldOfDromoka.java index 43ed2077b0d..598c457eab9 100644 --- a/Mage.Sets/src/mage/cards/h/HeraldOfDromoka.java +++ b/Mage.Sets/src/mage/cards/h/HeraldOfDromoka.java @@ -59,8 +59,8 @@ public class HeraldOfDromoka extends CardImpl { public HeraldOfDromoka(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfKozilek.java b/Mage.Sets/src/mage/cards/h/HeraldOfKozilek.java index a881ddbd067..f04b62b8103 100644 --- a/Mage.Sets/src/mage/cards/h/HeraldOfKozilek.java +++ b/Mage.Sets/src/mage/cards/h/HeraldOfKozilek.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.ColorlessPredicate; @@ -53,8 +54,8 @@ public class HeraldOfKozilek extends CardImpl { public HeraldOfKozilek(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{R}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfLeshrac.java b/Mage.Sets/src/mage/cards/h/HeraldOfLeshrac.java index b3b2365e916..a04f5f36820 100644 --- a/Mage.Sets/src/mage/cards/h/HeraldOfLeshrac.java +++ b/Mage.Sets/src/mage/cards/h/HeraldOfLeshrac.java @@ -1,177 +1,178 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.LeavesBattlefieldTriggeredAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.Cost; -import mage.abilities.costs.CostImpl; -import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.effects.ContinuousEffect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.abilities.effects.common.continuous.GainControlTargetEffect; -import mage.abilities.keyword.CumulativeUpkeepAbility; -import mage.abilities.keyword.FlyingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.filter.FilterPermanent; -import mage.filter.common.FilterControlledLandPermanent; -import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.other.OwnerIdPredicate; -import mage.filter.predicate.other.OwnerPredicate; -import mage.filter.predicate.permanent.ControllerIdPredicate; -import mage.filter.predicate.permanent.ControllerPredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.target.Target; -import mage.target.TargetPermanent; -import mage.target.targetpointer.FixedTarget; - -/** - * - * @author emerald000 - */ -public class HeraldOfLeshrac extends CardImpl { - - private static final FilterPermanent filter = new FilterControlledLandPermanent("land you control but don't own"); - static { - filter.add(new OwnerPredicate(TargetController.NOT_YOU)); - } - - public HeraldOfLeshrac(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{B}"); - - this.subtype.add("Avatar"); - this.power = new MageInt(2); - this.toughness = new MageInt(4); - - // Flying - this.addAbility(FlyingAbility.getInstance()); - - // Cumulative upkeep-Gain control of a land you don't control. - this.addAbility(new CumulativeUpkeepAbility(new HeraldOfLeshracCumulativeCost())); - - // Herald of Leshrac gets +1/+1 for each land you control but don't own. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), new PermanentsOnBattlefieldCount(filter), Duration.WhileOnBattlefield))); - - // When Herald of Leshrac leaves the battlefield, each player gains control of each land he or she owns that you control. - this.addAbility(new LeavesBattlefieldTriggeredAbility(new HeraldOfLeshracLeavesEffect(), false)); - } - - public HeraldOfLeshrac(final HeraldOfLeshrac card) { - super(card); - } - - @Override - public HeraldOfLeshrac copy() { - return new HeraldOfLeshrac(this); - } -} - -class HeraldOfLeshracCumulativeCost extends CostImpl { - - private static final FilterPermanent filter = new FilterLandPermanent("land you don't control"); - static { - filter.add(new ControllerPredicate(TargetController.NOT_YOU)); - } - - HeraldOfLeshracCumulativeCost() { - this.text = "Gain control of a land you don't control"; - } - - HeraldOfLeshracCumulativeCost(final HeraldOfLeshracCumulativeCost cost) { - super(cost); - } - - @Override - public boolean pay(Ability ability, Game game, UUID sourceId, UUID controllerId, boolean noMana, Cost costToPay) { - Target target = new TargetPermanent(filter); - if (target.choose(Outcome.GainControl, controllerId, sourceId, game)) { - ContinuousEffect effect = new GainControlTargetEffect(Duration.EndOfGame); - effect.setTargetPointer(new FixedTarget(target.getFirstTarget())); - game.addEffect(effect, ability); - game.applyEffects(); - paid = true; - } - return paid; - } - - @Override - public boolean canPay(Ability ability, UUID sourceId, UUID controllerId, Game game) { - return game.getBattlefield().contains(filter, controllerId, game, 1); - } - - @Override - public HeraldOfLeshracCumulativeCost copy() { - return new HeraldOfLeshracCumulativeCost(this); - } -} - -class HeraldOfLeshracLeavesEffect extends OneShotEffect { - - HeraldOfLeshracLeavesEffect() { - super(Outcome.Detriment); - this.staticText = "each player gains control of each land he or she owns that you control"; - } - - HeraldOfLeshracLeavesEffect(final HeraldOfLeshracLeavesEffect effect) { - super(effect); - } - - @Override - public HeraldOfLeshracLeavesEffect copy() { - return new HeraldOfLeshracLeavesEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - for (UUID playerId : game.getState().getPlayersInRange(source.getControllerId(), game)) { - if (playerId.equals(source.getControllerId())) { - continue; - } - FilterPermanent filter = new FilterLandPermanent(); - filter.add(new OwnerIdPredicate(playerId)); - filter.add(new ControllerIdPredicate(source.getControllerId())); - for (Permanent permanent : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game)) { - ContinuousEffect effect = new GainControlTargetEffect(Duration.EndOfGame, playerId); - effect.setTargetPointer(new FixedTarget(permanent.getId())); - game.addEffect(effect, source); - } - } - return true; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.LeavesBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.Cost; +import mage.abilities.costs.CostImpl; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.ContinuousEffect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.effects.common.continuous.GainControlTargetEffect; +import mage.abilities.keyword.CumulativeUpkeepAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterControlledLandPermanent; +import mage.filter.common.FilterLandPermanent; +import mage.filter.predicate.other.OwnerIdPredicate; +import mage.filter.predicate.other.OwnerPredicate; +import mage.filter.predicate.permanent.ControllerIdPredicate; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.target.Target; +import mage.target.TargetPermanent; +import mage.target.targetpointer.FixedTarget; + +/** + * + * @author emerald000 + */ +public class HeraldOfLeshrac extends CardImpl { + + private static final FilterPermanent filter = new FilterControlledLandPermanent("land you control but don't own"); + static { + filter.add(new OwnerPredicate(TargetController.NOT_YOU)); + } + + public HeraldOfLeshrac(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{B}"); + + this.subtype.add(SubType.AVATAR); + this.power = new MageInt(2); + this.toughness = new MageInt(4); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Cumulative upkeep-Gain control of a land you don't control. + this.addAbility(new CumulativeUpkeepAbility(new HeraldOfLeshracCumulativeCost())); + + // Herald of Leshrac gets +1/+1 for each land you control but don't own. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(new PermanentsOnBattlefieldCount(filter), new PermanentsOnBattlefieldCount(filter), Duration.WhileOnBattlefield))); + + // When Herald of Leshrac leaves the battlefield, each player gains control of each land he or she owns that you control. + this.addAbility(new LeavesBattlefieldTriggeredAbility(new HeraldOfLeshracLeavesEffect(), false)); + } + + public HeraldOfLeshrac(final HeraldOfLeshrac card) { + super(card); + } + + @Override + public HeraldOfLeshrac copy() { + return new HeraldOfLeshrac(this); + } +} + +class HeraldOfLeshracCumulativeCost extends CostImpl { + + private static final FilterPermanent filter = new FilterLandPermanent("land you don't control"); + static { + filter.add(new ControllerPredicate(TargetController.NOT_YOU)); + } + + HeraldOfLeshracCumulativeCost() { + this.text = "Gain control of a land you don't control"; + } + + HeraldOfLeshracCumulativeCost(final HeraldOfLeshracCumulativeCost cost) { + super(cost); + } + + @Override + public boolean pay(Ability ability, Game game, UUID sourceId, UUID controllerId, boolean noMana, Cost costToPay) { + Target target = new TargetPermanent(filter); + if (target.choose(Outcome.GainControl, controllerId, sourceId, game)) { + ContinuousEffect effect = new GainControlTargetEffect(Duration.EndOfGame); + effect.setTargetPointer(new FixedTarget(target.getFirstTarget())); + game.addEffect(effect, ability); + game.applyEffects(); + paid = true; + } + return paid; + } + + @Override + public boolean canPay(Ability ability, UUID sourceId, UUID controllerId, Game game) { + return game.getBattlefield().contains(filter, controllerId, game, 1); + } + + @Override + public HeraldOfLeshracCumulativeCost copy() { + return new HeraldOfLeshracCumulativeCost(this); + } +} + +class HeraldOfLeshracLeavesEffect extends OneShotEffect { + + HeraldOfLeshracLeavesEffect() { + super(Outcome.Detriment); + this.staticText = "each player gains control of each land he or she owns that you control"; + } + + HeraldOfLeshracLeavesEffect(final HeraldOfLeshracLeavesEffect effect) { + super(effect); + } + + @Override + public HeraldOfLeshracLeavesEffect copy() { + return new HeraldOfLeshracLeavesEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + for (UUID playerId : game.getState().getPlayersInRange(source.getControllerId(), game)) { + if (playerId.equals(source.getControllerId())) { + continue; + } + FilterPermanent filter = new FilterLandPermanent(); + filter.add(new OwnerIdPredicate(playerId)); + filter.add(new ControllerIdPredicate(source.getControllerId())); + for (Permanent permanent : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game)) { + ContinuousEffect effect = new GainControlTargetEffect(Duration.EndOfGame, playerId); + effect.setTargetPointer(new FixedTarget(permanent.getId())); + game.addEffect(effect, source); + } + } + return true; + } +} diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfSecretStreams.java b/Mage.Sets/src/mage/cards/h/HeraldOfSecretStreams.java index 1f7d16589c1..b05d2cab397 100644 --- a/Mage.Sets/src/mage/cards/h/HeraldOfSecretStreams.java +++ b/Mage.Sets/src/mage/cards/h/HeraldOfSecretStreams.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -55,8 +56,8 @@ public class HeraldOfSecretStreams extends CardImpl { public HeraldOfSecretStreams(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfSerra.java b/Mage.Sets/src/mage/cards/h/HeraldOfSerra.java index d5a5cc459d0..c3505419a2f 100644 --- a/Mage.Sets/src/mage/cards/h/HeraldOfSerra.java +++ b/Mage.Sets/src/mage/cards/h/HeraldOfSerra.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class HeraldOfSerra extends CardImpl { public HeraldOfSerra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfTheFair.java b/Mage.Sets/src/mage/cards/h/HeraldOfTheFair.java index 7a0d19444de..80be5265f4e 100644 --- a/Mage.Sets/src/mage/cards/h/HeraldOfTheFair.java +++ b/Mage.Sets/src/mage/cards/h/HeraldOfTheFair.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetControlledCreaturePermanent; @@ -46,7 +47,7 @@ public class HeraldOfTheFair extends CardImpl { public HeraldOfTheFair(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfTheHost.java b/Mage.Sets/src/mage/cards/h/HeraldOfTheHost.java index cbf8068e59d..59b3434f157 100644 --- a/Mage.Sets/src/mage/cards/h/HeraldOfTheHost.java +++ b/Mage.Sets/src/mage/cards/h/HeraldOfTheHost.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class HeraldOfTheHost extends CardImpl { public HeraldOfTheHost(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfThePantheon.java b/Mage.Sets/src/mage/cards/h/HeraldOfThePantheon.java index 428d9e1de61..6c31a6de0a8 100644 --- a/Mage.Sets/src/mage/cards/h/HeraldOfThePantheon.java +++ b/Mage.Sets/src/mage/cards/h/HeraldOfThePantheon.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.FilterSpell; @@ -57,8 +58,8 @@ public class HeraldOfThePantheon extends CardImpl { public HeraldOfThePantheon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfTorment.java b/Mage.Sets/src/mage/cards/h/HeraldOfTorment.java index 8102c0c5aa6..938c723ee44 100644 --- a/Mage.Sets/src/mage/cards/h/HeraldOfTorment.java +++ b/Mage.Sets/src/mage/cards/h/HeraldOfTorment.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class HeraldOfTorment extends CardImpl { public HeraldOfTorment(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HeraldOfWar.java b/Mage.Sets/src/mage/cards/h/HeraldOfWar.java index 81bf874dba8..853e0b7bbd5 100644 --- a/Mage.Sets/src/mage/cards/h/HeraldOfWar.java +++ b/Mage.Sets/src/mage/cards/h/HeraldOfWar.java @@ -52,7 +52,7 @@ public class HeraldOfWar extends CardImpl { public HeraldOfWar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HerdGnarr.java b/Mage.Sets/src/mage/cards/h/HerdGnarr.java index 1197003d9a8..0bf680e245b 100644 --- a/Mage.Sets/src/mage/cards/h/HerdGnarr.java +++ b/Mage.Sets/src/mage/cards/h/HerdGnarr.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; @@ -53,7 +54,7 @@ public class HerdGnarr extends CardImpl { public HerdGnarr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HerdchaserDragon.java b/Mage.Sets/src/mage/cards/h/HerdchaserDragon.java index 34a845e1d4e..5e3579d7103 100644 --- a/Mage.Sets/src/mage/cards/h/HerdchaserDragon.java +++ b/Mage.Sets/src/mage/cards/h/HerdchaserDragon.java @@ -59,7 +59,7 @@ public class HerdchaserDragon extends CardImpl { public HerdchaserDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HeritageDruid.java b/Mage.Sets/src/mage/cards/h/HeritageDruid.java index ece03c40ebc..c3a419a43fd 100644 --- a/Mage.Sets/src/mage/cards/h/HeritageDruid.java +++ b/Mage.Sets/src/mage/cards/h/HeritageDruid.java @@ -57,8 +57,8 @@ public class HeritageDruid extends CardImpl { public HeritageDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HermeticStudy.java b/Mage.Sets/src/mage/cards/h/HermeticStudy.java index 29982b34956..b1284707c46 100644 --- a/Mage.Sets/src/mage/cards/h/HermeticStudy.java +++ b/Mage.Sets/src/mage/cards/h/HermeticStudy.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class HermeticStudy extends CardImpl { public HermeticStudy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/h/HermitDruid.java b/Mage.Sets/src/mage/cards/h/HermitDruid.java index 87cd74a24ff..940ea218aeb 100644 --- a/Mage.Sets/src/mage/cards/h/HermitDruid.java +++ b/Mage.Sets/src/mage/cards/h/HermitDruid.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.RevealCardsFromLibraryUntilEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -49,8 +50,8 @@ public class HermitDruid extends CardImpl { public HermitDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HermitOfTheNatterknolls.java b/Mage.Sets/src/mage/cards/h/HermitOfTheNatterknolls.java index 7575a6c6a84..a632f6b5751 100644 --- a/Mage.Sets/src/mage/cards/h/HermitOfTheNatterknolls.java +++ b/Mage.Sets/src/mage/cards/h/HermitOfTheNatterknolls.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.l.LoneWolfOfTheNatterknolls; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.FilterSpell; @@ -53,8 +54,8 @@ public class HermitOfTheNatterknolls extends CardImpl { public HermitOfTheNatterknolls(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HeroOfBladehold.java b/Mage.Sets/src/mage/cards/h/HeroOfBladehold.java index 67debf92ca5..703afbdf901 100644 --- a/Mage.Sets/src/mage/cards/h/HeroOfBladehold.java +++ b/Mage.Sets/src/mage/cards/h/HeroOfBladehold.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.BattleCryAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.SoldierToken; /** @@ -45,8 +46,8 @@ public class HeroOfBladehold extends CardImpl { public HeroOfBladehold(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HeroOfGomaFada.java b/Mage.Sets/src/mage/cards/h/HeroOfGomaFada.java index 7f31aca54c9..96233fd4d1a 100644 --- a/Mage.Sets/src/mage/cards/h/HeroOfGomaFada.java +++ b/Mage.Sets/src/mage/cards/h/HeroOfGomaFada.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterControlledCreaturePermanent; @@ -47,9 +48,9 @@ public class HeroOfGomaFada extends CardImpl { public HeroOfGomaFada(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); + this.subtype.add(SubType.ALLY); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HeroOfIroas.java b/Mage.Sets/src/mage/cards/h/HeroOfIroas.java index b95601205a8..a30f1f21fe5 100644 --- a/Mage.Sets/src/mage/cards/h/HeroOfIroas.java +++ b/Mage.Sets/src/mage/cards/h/HeroOfIroas.java @@ -55,8 +55,8 @@ public class HeroOfIroas extends CardImpl { public HeroOfIroas(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HeroOfLeinaTower.java b/Mage.Sets/src/mage/cards/h/HeroOfLeinaTower.java index 04631672bf0..0acf76c40b5 100644 --- a/Mage.Sets/src/mage/cards/h/HeroOfLeinaTower.java +++ b/Mage.Sets/src/mage/cards/h/HeroOfLeinaTower.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -53,8 +54,8 @@ public class HeroOfLeinaTower extends CardImpl { public HeroOfLeinaTower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HeroOfOxidRidge.java b/Mage.Sets/src/mage/cards/h/HeroOfOxidRidge.java index b33c1b0a968..4c5fe73ec0f 100644 --- a/Mage.Sets/src/mage/cards/h/HeroOfOxidRidge.java +++ b/Mage.Sets/src/mage/cards/h/HeroOfOxidRidge.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.game.Game; import mage.game.permanent.Permanent; @@ -49,8 +50,8 @@ public class HeroOfOxidRidge extends CardImpl { public HeroOfOxidRidge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HeroesBane.java b/Mage.Sets/src/mage/cards/h/HeroesBane.java index 21db062d386..39baf77dbaf 100644 --- a/Mage.Sets/src/mage/cards/h/HeroesBane.java +++ b/Mage.Sets/src/mage/cards/h/HeroesBane.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -49,7 +50,7 @@ public class HeroesBane extends CardImpl { public HeroesBane(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/h/HeroicDefiance.java b/Mage.Sets/src/mage/cards/h/HeroicDefiance.java index 48cf3fa128d..ce4a9ed6a0f 100644 --- a/Mage.Sets/src/mage/cards/h/HeroicDefiance.java +++ b/Mage.Sets/src/mage/cards/h/HeroicDefiance.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class HeroicDefiance extends CardImpl { public HeroicDefiance(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/h/HeronsGraceChampion.java b/Mage.Sets/src/mage/cards/h/HeronsGraceChampion.java index 062a0c57d3e..d3129daac17 100644 --- a/Mage.Sets/src/mage/cards/h/HeronsGraceChampion.java +++ b/Mage.Sets/src/mage/cards/h/HeronsGraceChampion.java @@ -58,8 +58,8 @@ public class HeronsGraceChampion extends CardImpl { public HeronsGraceChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HerosBlade.java b/Mage.Sets/src/mage/cards/h/HerosBlade.java index 778aea45ee6..88b28293504 100644 --- a/Mage.Sets/src/mage/cards/h/HerosBlade.java +++ b/Mage.Sets/src/mage/cards/h/HerosBlade.java @@ -57,7 +57,7 @@ public class HerosBlade extends CardImpl { public HerosBlade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +3/+2. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 2))); diff --git a/Mage.Sets/src/mage/cards/h/HerosResolve.java b/Mage.Sets/src/mage/cards/h/HerosResolve.java index f90dd677b29..6958444e5d9 100644 --- a/Mage.Sets/src/mage/cards/h/HerosResolve.java +++ b/Mage.Sets/src/mage/cards/h/HerosResolve.java @@ -47,7 +47,7 @@ public class HerosResolve extends CardImpl { public HerosResolve(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/h/HewedStoneRetainers.java b/Mage.Sets/src/mage/cards/h/HewedStoneRetainers.java index a3375819afc..9162149b2f1 100644 --- a/Mage.Sets/src/mage/cards/h/HewedStoneRetainers.java +++ b/Mage.Sets/src/mage/cards/h/HewedStoneRetainers.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ruleModifying.CastOnlyIfYouHaveCastAnotherS import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -44,7 +45,7 @@ public class HewedStoneRetainers extends CardImpl { public HewedStoneRetainers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HexParasite.java b/Mage.Sets/src/mage/cards/h/HexParasite.java index e57539bbf17..4e6ee90f6a3 100644 --- a/Mage.Sets/src/mage/cards/h/HexParasite.java +++ b/Mage.Sets/src/mage/cards/h/HexParasite.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class HexParasite extends CardImpl { public HexParasite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HexplateGolem.java b/Mage.Sets/src/mage/cards/h/HexplateGolem.java index 57c0824bdba..fce93af4e7b 100644 --- a/Mage.Sets/src/mage/cards/h/HexplateGolem.java +++ b/Mage.Sets/src/mage/cards/h/HexplateGolem.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class HexplateGolem extends CardImpl { public HexplateGolem (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(5); this.toughness = new MageInt(7); } diff --git a/Mage.Sets/src/mage/cards/h/HibernationSliver.java b/Mage.Sets/src/mage/cards/h/HibernationSliver.java index 8711f199d5d..168760dc7e3 100644 --- a/Mage.Sets/src/mage/cards/h/HibernationSliver.java +++ b/Mage.Sets/src/mage/cards/h/HibernationSliver.java @@ -52,7 +52,7 @@ public class HibernationSliver extends CardImpl { public HibernationSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HiddenAncients.java b/Mage.Sets/src/mage/cards/h/HiddenAncients.java index c06782ef745..f4c4e79309e 100644 --- a/Mage.Sets/src/mage/cards/h/HiddenAncients.java +++ b/Mage.Sets/src/mage/cards/h/HiddenAncients.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.StaticFilters; @@ -82,7 +83,7 @@ class HiddenAncientsTreefolk extends Token { public HiddenAncientsTreefolk() { super("Treefolk", "5/5 Treefolk creature"); cardType.add(CardType.CREATURE); - subtype.add("Treefolk"); + subtype.add(SubType.TREEFOLK); power = new MageInt(5); toughness = new MageInt(5); } diff --git a/Mage.Sets/src/mage/cards/h/HiddenDragonslayer.java b/Mage.Sets/src/mage/cards/h/HiddenDragonslayer.java index 2c4dea54600..98b3fcec851 100644 --- a/Mage.Sets/src/mage/cards/h/HiddenDragonslayer.java +++ b/Mage.Sets/src/mage/cards/h/HiddenDragonslayer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -60,8 +61,8 @@ public class HiddenDragonslayer extends CardImpl { public HiddenDragonslayer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HiddenGibbons.java b/Mage.Sets/src/mage/cards/h/HiddenGibbons.java index 3f22244325f..7902b148749 100644 --- a/Mage.Sets/src/mage/cards/h/HiddenGibbons.java +++ b/Mage.Sets/src/mage/cards/h/HiddenGibbons.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.StaticFilters; @@ -82,7 +83,7 @@ class HiddenGibbonsApe extends Token { public HiddenGibbonsApe() { super("Ape", "4/4 Ape creature"); cardType.add(CardType.CREATURE); - subtype.add("Ape"); + subtype.add(SubType.APE); power = new MageInt(4); toughness = new MageInt(4); } diff --git a/Mage.Sets/src/mage/cards/h/HiddenGuerrillas.java b/Mage.Sets/src/mage/cards/h/HiddenGuerrillas.java index dcf74336f21..ad43c6217b1 100644 --- a/Mage.Sets/src/mage/cards/h/HiddenGuerrillas.java +++ b/Mage.Sets/src/mage/cards/h/HiddenGuerrillas.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; import mage.filter.common.FilterArtifactSpell; @@ -76,7 +77,7 @@ class HiddenGuerrillasSoldier extends Token { public HiddenGuerrillasSoldier() { super("Soldier", "5/3 Soldier creature with trample"); cardType.add(CardType.CREATURE); - subtype.add("Soldier"); + subtype.add(SubType.SOLDIER); power = new MageInt(5); toughness = new MageInt(3); this.addAbility(TrampleAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/h/HiddenHerbalists.java b/Mage.Sets/src/mage/cards/h/HiddenHerbalists.java index c6f29e0b074..0fb3cc18fc1 100644 --- a/Mage.Sets/src/mage/cards/h/HiddenHerbalists.java +++ b/Mage.Sets/src/mage/cards/h/HiddenHerbalists.java @@ -1,74 +1,75 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.MageInt; -import mage.Mana; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.condition.common.RevoltCondition; -import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.BasicManaEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.watchers.common.RevoltWatcher; - -/** - * - * @author Styxo - */ -public class HiddenHerbalists extends CardImpl { - - public HiddenHerbalists(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - - this.subtype.add("Human"); - this.subtype.add("Druid"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Revolt &mdash When Hidden Herbalists enters the battlefield, if a permanent you controlled left the battlefield this turn, add {G}{G} to your mana pool; - this.addAbility( - new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility( - new BasicManaEffect(Mana.GreenMana(2)), false), RevoltCondition.instance, - "Revolt — When {this} enters the battlefield, if a permanent you controlled left" - + " the battlefield this turn, add {G}{G} to your mana pool."), - new RevoltWatcher() - ); - } - - public HiddenHerbalists(final HiddenHerbalists card) { - super(card); - } - - @Override - public HiddenHerbalists copy() { - return new HiddenHerbalists(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.MageInt; +import mage.Mana; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.RevoltCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.common.BasicManaEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.watchers.common.RevoltWatcher; + +/** + * + * @author Styxo + */ +public class HiddenHerbalists extends CardImpl { + + public HiddenHerbalists(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Revolt &mdash When Hidden Herbalists enters the battlefield, if a permanent you controlled left the battlefield this turn, add {G}{G} to your mana pool; + this.addAbility( + new ConditionalTriggeredAbility(new EntersBattlefieldTriggeredAbility( + new BasicManaEffect(Mana.GreenMana(2)), false), RevoltCondition.instance, + "Revolt — When {this} enters the battlefield, if a permanent you controlled left" + + " the battlefield this turn, add {G}{G} to your mana pool."), + new RevoltWatcher() + ); + } + + public HiddenHerbalists(final HiddenHerbalists card) { + super(card); + } + + @Override + public HiddenHerbalists copy() { + return new HiddenHerbalists(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HiddenHorror.java b/Mage.Sets/src/mage/cards/h/HiddenHorror.java index 65239ad14ee..c1805c5310b 100644 --- a/Mage.Sets/src/mage/cards/h/HiddenHorror.java +++ b/Mage.Sets/src/mage/cards/h/HiddenHorror.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInHand; @@ -46,7 +47,7 @@ public class HiddenHorror extends CardImpl { public HiddenHorror(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HiddenSpider.java b/Mage.Sets/src/mage/cards/h/HiddenSpider.java index e63dce92332..04213732d83 100644 --- a/Mage.Sets/src/mage/cards/h/HiddenSpider.java +++ b/Mage.Sets/src/mage/cards/h/HiddenSpider.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; import mage.filter.common.FilterCreatureSpell; @@ -84,7 +85,7 @@ class HiddenSpiderToken extends Token { public HiddenSpiderToken() { super("Spider", "3/5 Spider creature with reach"); cardType.add(CardType.CREATURE); - subtype.add("Spider"); + subtype.add(SubType.SPIDER); power = new MageInt(3); toughness = new MageInt(5); this.addAbility(ReachAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/h/HideousLaughter.java b/Mage.Sets/src/mage/cards/h/HideousLaughter.java index c5212c26d01..d81c2d180f0 100644 --- a/Mage.Sets/src/mage/cards/h/HideousLaughter.java +++ b/Mage.Sets/src/mage/cards/h/HideousLaughter.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SpliceOntoArcaneAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -43,7 +44,7 @@ public class HideousLaughter extends CardImpl { public HideousLaughter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{B}{B}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // All creatures get -2/-2 until end of turn. diff --git a/Mage.Sets/src/mage/cards/h/HighPriestOfPenance.java b/Mage.Sets/src/mage/cards/h/HighPriestOfPenance.java index cce5342043f..6f50c18ff61 100644 --- a/Mage.Sets/src/mage/cards/h/HighPriestOfPenance.java +++ b/Mage.Sets/src/mage/cards/h/HighPriestOfPenance.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -49,8 +50,8 @@ public class HighPriestOfPenance extends CardImpl { public HighPriestOfPenance(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HighSentinelsOfArashin.java b/Mage.Sets/src/mage/cards/h/HighSentinelsOfArashin.java index 5cd572221bb..454f81cc436 100644 --- a/Mage.Sets/src/mage/cards/h/HighSentinelsOfArashin.java +++ b/Mage.Sets/src/mage/cards/h/HighSentinelsOfArashin.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -63,8 +64,8 @@ public class HighSentinelsOfArashin extends CardImpl { public HighSentinelsOfArashin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HighbornGhoul.java b/Mage.Sets/src/mage/cards/h/HighbornGhoul.java index c11a4aad779..db025dbc05e 100644 --- a/Mage.Sets/src/mage/cards/h/HighbornGhoul.java +++ b/Mage.Sets/src/mage/cards/h/HighbornGhoul.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class HighbornGhoul extends CardImpl { public HighbornGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HighlandBerserker.java b/Mage.Sets/src/mage/cards/h/HighlandBerserker.java index 36192bd3f50..7230e3cb26d 100644 --- a/Mage.Sets/src/mage/cards/h/HighlandBerserker.java +++ b/Mage.Sets/src/mage/cards/h/HighlandBerserker.java @@ -58,9 +58,9 @@ public class HighlandBerserker extends CardImpl { public HighlandBerserker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Berserker"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HighlandGame.java b/Mage.Sets/src/mage/cards/h/HighlandGame.java index 236284e8206..976c0bc3e97 100644 --- a/Mage.Sets/src/mage/cards/h/HighlandGame.java +++ b/Mage.Sets/src/mage/cards/h/HighlandGame.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class HighlandGame extends CardImpl { public HighlandGame(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elk"); + this.subtype.add(SubType.ELK); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HighlandGiant.java b/Mage.Sets/src/mage/cards/h/HighlandGiant.java index 8d517377967..446c86a4b32 100644 --- a/Mage.Sets/src/mage/cards/h/HighlandGiant.java +++ b/Mage.Sets/src/mage/cards/h/HighlandGiant.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class HighlandGiant extends CardImpl { public HighlandGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HighspireArtisan.java b/Mage.Sets/src/mage/cards/h/HighspireArtisan.java index 66e6bc48fd9..18a2753930d 100644 --- a/Mage.Sets/src/mage/cards/h/HighspireArtisan.java +++ b/Mage.Sets/src/mage/cards/h/HighspireArtisan.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class HighspireArtisan extends CardImpl { public HighspireArtisan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HighspireMantis.java b/Mage.Sets/src/mage/cards/h/HighspireMantis.java index 6927c076068..49bf7ad4246 100644 --- a/Mage.Sets/src/mage/cards/h/HighspireMantis.java +++ b/Mage.Sets/src/mage/cards/h/HighspireMantis.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class HighspireMantis extends CardImpl { public HighspireMantis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{W}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HightideHermit.java b/Mage.Sets/src/mage/cards/h/HightideHermit.java index 877c2984e3a..dd259147c78 100644 --- a/Mage.Sets/src/mage/cards/h/HightideHermit.java +++ b/Mage.Sets/src/mage/cards/h/HightideHermit.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class HightideHermit extends CardImpl { public HightideHermit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Crab"); + this.subtype.add(SubType.CRAB); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HighwayRobber.java b/Mage.Sets/src/mage/cards/h/HighwayRobber.java index 2bc28c7dc40..1cffc4f4a63 100644 --- a/Mage.Sets/src/mage/cards/h/HighwayRobber.java +++ b/Mage.Sets/src/mage/cards/h/HighwayRobber.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetOpponent; /** @@ -46,8 +47,8 @@ public class HighwayRobber extends CardImpl { public HighwayRobber(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HigureTheStillWind.java b/Mage.Sets/src/mage/cards/h/HigureTheStillWind.java index cce7fc6090b..04ed7cd8660 100644 --- a/Mage.Sets/src/mage/cards/h/HigureTheStillWind.java +++ b/Mage.Sets/src/mage/cards/h/HigureTheStillWind.java @@ -65,8 +65,8 @@ public class HigureTheStillWind extends CardImpl { public HigureTheStillWind(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Ninja"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NINJA); addSuperType(SuperType.LEGENDARY); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HikariTwilightGuardian.java b/Mage.Sets/src/mage/cards/h/HikariTwilightGuardian.java index 88410ff7151..9ab00f0348d 100644 --- a/Mage.Sets/src/mage/cards/h/HikariTwilightGuardian.java +++ b/Mage.Sets/src/mage/cards/h/HikariTwilightGuardian.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.StaticFilters; @@ -48,7 +49,7 @@ public class HikariTwilightGuardian extends CardImpl { public HikariTwilightGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HillGiant.java b/Mage.Sets/src/mage/cards/h/HillGiant.java index 441fc13599b..b133585a89b 100644 --- a/Mage.Sets/src/mage/cards/h/HillGiant.java +++ b/Mage.Sets/src/mage/cards/h/HillGiant.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class HillGiant extends CardImpl { public HillGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HillcomberGiant.java b/Mage.Sets/src/mage/cards/h/HillcomberGiant.java index b299ad6629d..04133437de0 100644 --- a/Mage.Sets/src/mage/cards/h/HillcomberGiant.java +++ b/Mage.Sets/src/mage/cards/h/HillcomberGiant.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.MountainwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class HillcomberGiant extends CardImpl { public HillcomberGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Giant"); - this.subtype.add("Scout"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HinterlandDrake.java b/Mage.Sets/src/mage/cards/h/HinterlandDrake.java index 6cc40c4dde6..3caafdb4fd0 100644 --- a/Mage.Sets/src/mage/cards/h/HinterlandDrake.java +++ b/Mage.Sets/src/mage/cards/h/HinterlandDrake.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -48,7 +49,7 @@ public class HinterlandDrake extends CardImpl { public HinterlandDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HinterlandHermit.java b/Mage.Sets/src/mage/cards/h/HinterlandHermit.java index 475d0b42c24..f4db5cdc9f1 100644 --- a/Mage.Sets/src/mage/cards/h/HinterlandHermit.java +++ b/Mage.Sets/src/mage/cards/h/HinterlandHermit.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,8 +49,8 @@ public class HinterlandHermit extends CardImpl { public HinterlandHermit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WEREWOLF); this.transformable = true; this.secondSideCardClazz = HinterlandScourge.class; diff --git a/Mage.Sets/src/mage/cards/h/HinterlandLogger.java b/Mage.Sets/src/mage/cards/h/HinterlandLogger.java index 352bcf668de..6737ae18bd9 100644 --- a/Mage.Sets/src/mage/cards/h/HinterlandLogger.java +++ b/Mage.Sets/src/mage/cards/h/HinterlandLogger.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.t.TimberShredder; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -49,8 +50,8 @@ public class HinterlandLogger extends CardImpl { public HinterlandLogger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HinterlandScourge.java b/Mage.Sets/src/mage/cards/h/HinterlandScourge.java index d4dfb492a62..3cdac983f48 100644 --- a/Mage.Sets/src/mage/cards/h/HinterlandScourge.java +++ b/Mage.Sets/src/mage/cards/h/HinterlandScourge.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class HinterlandScourge extends CardImpl { public HinterlandScourge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.color.setRed(true); // this card is the second face of double-faced card of Hinterland Hermit diff --git a/Mage.Sets/src/mage/cards/h/HiredMuscle.java b/Mage.Sets/src/mage/cards/h/HiredMuscle.java index 16e95ee688e..d1de460eff8 100644 --- a/Mage.Sets/src/mage/cards/h/HiredMuscle.java +++ b/Mage.Sets/src/mage/cards/h/HiredMuscle.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class HiredMuscle extends CardImpl { public HiredMuscle(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); @@ -95,7 +96,7 @@ class Scarmaker extends Token { addSuperType(SuperType.LEGENDARY); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(4); toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HiredTorturer.java b/Mage.Sets/src/mage/cards/h/HiredTorturer.java index 31b8fd05768..2fa36a930b6 100644 --- a/Mage.Sets/src/mage/cards/h/HiredTorturer.java +++ b/Mage.Sets/src/mage/cards/h/HiredTorturer.java @@ -42,6 +42,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -58,8 +59,8 @@ public class HiredTorturer extends CardImpl { public HiredTorturer (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HisokaMinamoSensei.java b/Mage.Sets/src/mage/cards/h/HisokaMinamoSensei.java index 753af9c0a29..7ba8e94c274 100644 --- a/Mage.Sets/src/mage/cards/h/HisokaMinamoSensei.java +++ b/Mage.Sets/src/mage/cards/h/HisokaMinamoSensei.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -58,8 +59,8 @@ public class HisokaMinamoSensei extends CardImpl { public HisokaMinamoSensei(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HisokasGuard.java b/Mage.Sets/src/mage/cards/h/HisokasGuard.java index 5f37bc0ed52..ace3a16599c 100644 --- a/Mage.Sets/src/mage/cards/h/HisokasGuard.java +++ b/Mage.Sets/src/mage/cards/h/HisokasGuard.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -59,8 +60,8 @@ public class HisokasGuard extends CardImpl { public HisokasGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HissingIguanar.java b/Mage.Sets/src/mage/cards/h/HissingIguanar.java index 416d57ed7f0..fcc909a103d 100644 --- a/Mage.Sets/src/mage/cards/h/HissingIguanar.java +++ b/Mage.Sets/src/mage/cards/h/HissingIguanar.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -44,7 +45,7 @@ public class HissingIguanar extends CardImpl { public HissingIguanar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HissingQuagmire.java b/Mage.Sets/src/mage/cards/h/HissingQuagmire.java index ab631b852db..1b9b123d88c 100644 --- a/Mage.Sets/src/mage/cards/h/HissingQuagmire.java +++ b/Mage.Sets/src/mage/cards/h/HissingQuagmire.java @@ -40,6 +40,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -81,7 +82,7 @@ class HissingQuagmireToken extends Token { public HissingQuagmireToken() { super("", "2/2 black and green Elemental creature with deathtouch"); cardType.add(CardType.CREATURE); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); color.setBlack(true); color.setGreen(true); power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HitchclawRecluse.java b/Mage.Sets/src/mage/cards/h/HitchclawRecluse.java index fe807950b1b..4fbded4a393 100644 --- a/Mage.Sets/src/mage/cards/h/HitchclawRecluse.java +++ b/Mage.Sets/src/mage/cards/h/HitchclawRecluse.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class HitchclawRecluse extends CardImpl { public HitchclawRecluse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HivisOfTheScale.java b/Mage.Sets/src/mage/cards/h/HivisOfTheScale.java index ce04f521dec..74e8546c33f 100644 --- a/Mage.Sets/src/mage/cards/h/HivisOfTheScale.java +++ b/Mage.Sets/src/mage/cards/h/HivisOfTheScale.java @@ -1,100 +1,100 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.common.SkipUntapOptionalAbility; -import mage.abilities.condition.Condition; -import mage.abilities.condition.common.SourceMatchesFilterCondition; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalContinuousEffect; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.continuous.GainControlTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.SuperType; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.filter.FilterPermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.filter.predicate.permanent.ControllerPredicate; -import mage.filter.predicate.permanent.TappedPredicate; -import mage.target.TargetPermanent; - -/** - * - * @author jeffwadsworth - */ -public class HivisOfTheScale extends CardImpl { - - private static final FilterPermanent filter = new FilterPermanent(); - private static final FilterPermanent filterDragon = new FilterPermanent(); - private static final String rule = "Gain control of target Dragon for as long as you control Hivis and Hivis remains tapped."; - - static { - filter.add(new TappedPredicate()); - filter.add(new ControllerPredicate(TargetController.YOU)); - filterDragon.add(new SubtypePredicate(SubType.DRAGON)); - } - - public HivisOfTheScale(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); - - addSuperType(SuperType.LEGENDARY); - this.subtype.add("Viashino"); - this.subtype.add("Shaman"); - this.power = new MageInt(3); - this.toughness = new MageInt(4); - - // You may choose not to untap Hivis of the Scale during your untap step. - this.addAbility(new SkipUntapOptionalAbility()); - - // {tap}: Gain control of target Dragon for as long as you control Hivis and Hivis remains tapped. - Condition condition = new SourceMatchesFilterCondition(filter); - Effect effect = new ConditionalContinuousEffect(new GainControlTargetEffect(Duration.Custom), condition, rule); - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); - ability.addTarget(new TargetPermanent(filterDragon)); - this.addAbility(ability); - - } - - public HivisOfTheScale(final HivisOfTheScale card) { - super(card); - } - - @Override - public HivisOfTheScale copy() { - return new HivisOfTheScale(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SkipUntapOptionalAbility; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.SourceMatchesFilterCondition; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.GainControlTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.SuperType; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.filter.FilterPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.filter.predicate.permanent.TappedPredicate; +import mage.target.TargetPermanent; + +/** + * + * @author jeffwadsworth + */ +public class HivisOfTheScale extends CardImpl { + + private static final FilterPermanent filter = new FilterPermanent(); + private static final FilterPermanent filterDragon = new FilterPermanent(); + private static final String rule = "Gain control of target Dragon for as long as you control Hivis and Hivis remains tapped."; + + static { + filter.add(new TappedPredicate()); + filter.add(new ControllerPredicate(TargetController.YOU)); + filterDragon.add(new SubtypePredicate(SubType.DRAGON)); + } + + public HivisOfTheScale(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); + + addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.SHAMAN); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + // You may choose not to untap Hivis of the Scale during your untap step. + this.addAbility(new SkipUntapOptionalAbility()); + + // {tap}: Gain control of target Dragon for as long as you control Hivis and Hivis remains tapped. + Condition condition = new SourceMatchesFilterCondition(filter); + Effect effect = new ConditionalContinuousEffect(new GainControlTargetEffect(Duration.Custom), condition, rule); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); + ability.addTarget(new TargetPermanent(filterDragon)); + this.addAbility(ability); + + } + + public HivisOfTheScale(final HivisOfTheScale card) { + super(card); + } + + @Override + public HivisOfTheScale copy() { + return new HivisOfTheScale(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HixusPrisonWarden.java b/Mage.Sets/src/mage/cards/h/HixusPrisonWarden.java index acc15a42fdd..6ac2db3717f 100644 --- a/Mage.Sets/src/mage/cards/h/HixusPrisonWarden.java +++ b/Mage.Sets/src/mage/cards/h/HixusPrisonWarden.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class HixusPrisonWarden extends CardImpl { public HixusPrisonWarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HoarShade.java b/Mage.Sets/src/mage/cards/h/HoarShade.java index 0fef257f873..7bc5a3f623c 100644 --- a/Mage.Sets/src/mage/cards/h/HoarShade.java +++ b/Mage.Sets/src/mage/cards/h/HoarShade.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class HoarShade extends CardImpl { public HoarShade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Shade"); + this.subtype.add(SubType.SHADE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HoardSmelterDragon.java b/Mage.Sets/src/mage/cards/h/HoardSmelterDragon.java index 451284ff094..ca9cd332f02 100644 --- a/Mage.Sets/src/mage/cards/h/HoardSmelterDragon.java +++ b/Mage.Sets/src/mage/cards/h/HoardSmelterDragon.java @@ -59,7 +59,7 @@ public class HoardSmelterDragon extends CardImpl { public HoardSmelterDragon (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HoardingDragon.java b/Mage.Sets/src/mage/cards/h/HoardingDragon.java index 6f378c83f11..c56d42c4a15 100644 --- a/Mage.Sets/src/mage/cards/h/HoardingDragon.java +++ b/Mage.Sets/src/mage/cards/h/HoardingDragon.java @@ -41,6 +41,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterArtifactCard; @@ -58,7 +59,7 @@ public class HoardingDragon extends CardImpl { public HoardingDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/Hobble.java b/Mage.Sets/src/mage/cards/h/Hobble.java index 5057a3e611d..0104168f218 100644 --- a/Mage.Sets/src/mage/cards/h/Hobble.java +++ b/Mage.Sets/src/mage/cards/h/Hobble.java @@ -44,6 +44,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -57,7 +58,7 @@ public class Hobble extends CardImpl { public Hobble(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/h/HobgoblinDragoon.java b/Mage.Sets/src/mage/cards/h/HobgoblinDragoon.java index 5bb64139967..353efe87bc2 100644 --- a/Mage.Sets/src/mage/cards/h/HobgoblinDragoon.java +++ b/Mage.Sets/src/mage/cards/h/HobgoblinDragoon.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class HobgoblinDragoon extends CardImpl { public HobgoblinDragoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R/W}"); - this.subtype.add("Goblin"); - this.subtype.add("Knight"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HokoriDustDrinker.java b/Mage.Sets/src/mage/cards/h/HokoriDustDrinker.java index 28d3293b11f..14e6a8121ff 100644 --- a/Mage.Sets/src/mage/cards/h/HokoriDustDrinker.java +++ b/Mage.Sets/src/mage/cards/h/HokoriDustDrinker.java @@ -54,7 +54,7 @@ public class HokoriDustDrinker extends CardImpl { public HokoriDustDrinker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HollowDogs.java b/Mage.Sets/src/mage/cards/h/HollowDogs.java index bb3ae7f2301..8adcf12e9a2 100644 --- a/Mage.Sets/src/mage/cards/h/HollowDogs.java +++ b/Mage.Sets/src/mage/cards/h/HollowDogs.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,8 +45,8 @@ public class HollowDogs extends CardImpl { public HollowDogs(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Hound"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HOUND); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HollowOne.java b/Mage.Sets/src/mage/cards/h/HollowOne.java index 8c994f38b63..3232b899252 100644 --- a/Mage.Sets/src/mage/cards/h/HollowOne.java +++ b/Mage.Sets/src/mage/cards/h/HollowOne.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.CostModificationType; import mage.constants.Duration; import mage.constants.Outcome; @@ -57,7 +58,7 @@ public class HollowOne extends CardImpl { public HollowOne(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HollowSpecter.java b/Mage.Sets/src/mage/cards/h/HollowSpecter.java index 48d7f0e3563..009c4da2763 100644 --- a/Mage.Sets/src/mage/cards/h/HollowSpecter.java +++ b/Mage.Sets/src/mage/cards/h/HollowSpecter.java @@ -42,6 +42,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -58,7 +59,7 @@ public class HollowSpecter extends CardImpl { public HollowSpecter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{B}"); - this.subtype.add("Specter"); + this.subtype.add(SubType.SPECTER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HollowbornBarghest.java b/Mage.Sets/src/mage/cards/h/HollowbornBarghest.java index 596b88e39af..5fe56f264d8 100644 --- a/Mage.Sets/src/mage/cards/h/HollowbornBarghest.java +++ b/Mage.Sets/src/mage/cards/h/HollowbornBarghest.java @@ -40,6 +40,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.TargetController; @@ -59,8 +60,8 @@ public class HollowbornBarghest extends CardImpl { public HollowbornBarghest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}"); - this.subtype.add("Demon"); - this.subtype.add("Hound"); + this.subtype.add(SubType.DEMON); + this.subtype.add(SubType.HOUND); this.power = new MageInt(7); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/h/HollowhengeBeast.java b/Mage.Sets/src/mage/cards/h/HollowhengeBeast.java index 7765ed017d6..9820d32aa72 100644 --- a/Mage.Sets/src/mage/cards/h/HollowhengeBeast.java +++ b/Mage.Sets/src/mage/cards/h/HollowhengeBeast.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class HollowhengeBeast extends CardImpl { public HollowhengeBeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HollowhengeScavenger.java b/Mage.Sets/src/mage/cards/h/HollowhengeScavenger.java index da8c333aac0..c1c715273a8 100644 --- a/Mage.Sets/src/mage/cards/h/HollowhengeScavenger.java +++ b/Mage.Sets/src/mage/cards/h/HollowhengeScavenger.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -49,7 +50,7 @@ public class HollowhengeScavenger extends CardImpl { public HollowhengeScavenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); this.color.setGreen(true); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HollowhengeSpirit.java b/Mage.Sets/src/mage/cards/h/HollowhengeSpirit.java index c11b3ea54c2..33edf027120 100644 --- a/Mage.Sets/src/mage/cards/h/HollowhengeSpirit.java +++ b/Mage.Sets/src/mage/cards/h/HollowhengeSpirit.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.Target; import mage.target.common.TargetAttackingOrBlockingCreature; @@ -48,7 +49,7 @@ public class HollowhengeSpirit extends CardImpl { public HollowhengeSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/Hollowsage.java b/Mage.Sets/src/mage/cards/h/Hollowsage.java index 3db14c2ede7..8a8196fdbff 100644 --- a/Mage.Sets/src/mage/cards/h/Hollowsage.java +++ b/Mage.Sets/src/mage/cards/h/Hollowsage.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -50,8 +51,8 @@ public class Hollowsage extends CardImpl { public Hollowsage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HolyArmor.java b/Mage.Sets/src/mage/cards/h/HolyArmor.java index b8ba0fad30d..f9d6b09ff76 100644 --- a/Mage.Sets/src/mage/cards/h/HolyArmor.java +++ b/Mage.Sets/src/mage/cards/h/HolyArmor.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Outcome; @@ -53,7 +54,7 @@ public class HolyArmor extends CardImpl { public HolyArmor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/h/HolyJusticiar.java b/Mage.Sets/src/mage/cards/h/HolyJusticiar.java index 156ab4628fd..61192dfa633 100644 --- a/Mage.Sets/src/mage/cards/h/HolyJusticiar.java +++ b/Mage.Sets/src/mage/cards/h/HolyJusticiar.java @@ -52,8 +52,8 @@ public class HolyJusticiar extends CardImpl { public HolyJusticiar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HolyMantle.java b/Mage.Sets/src/mage/cards/h/HolyMantle.java index 8273414f7f2..5eeabc68ee7 100644 --- a/Mage.Sets/src/mage/cards/h/HolyMantle.java +++ b/Mage.Sets/src/mage/cards/h/HolyMantle.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class HolyMantle extends CardImpl { public HolyMantle(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/h/HolyStrength.java b/Mage.Sets/src/mage/cards/h/HolyStrength.java index 1e424c371be..18c755ad89a 100644 --- a/Mage.Sets/src/mage/cards/h/HolyStrength.java +++ b/Mage.Sets/src/mage/cards/h/HolyStrength.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class HolyStrength extends CardImpl { public HolyStrength(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/h/Homarid.java b/Mage.Sets/src/mage/cards/h/Homarid.java index 098c2aeba53..039243ea541 100644 --- a/Mage.Sets/src/mage/cards/h/Homarid.java +++ b/Mage.Sets/src/mage/cards/h/Homarid.java @@ -43,6 +43,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class Homarid extends CardImpl { public Homarid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Homarid"); + this.subtype.add(SubType.HOMARID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HomaridShaman.java b/Mage.Sets/src/mage/cards/h/HomaridShaman.java index 338de316f64..d6e1581088b 100644 --- a/Mage.Sets/src/mage/cards/h/HomaridShaman.java +++ b/Mage.Sets/src/mage/cards/h/HomaridShaman.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -56,8 +57,8 @@ public class HomaridShaman extends CardImpl { public HomaridShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Homarid"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HOMARID); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HomaridWarrior.java b/Mage.Sets/src/mage/cards/h/HomaridWarrior.java index 251ab096e11..7f57bfd64c5 100644 --- a/Mage.Sets/src/mage/cards/h/HomaridWarrior.java +++ b/Mage.Sets/src/mage/cards/h/HomaridWarrior.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class HomaridWarrior extends CardImpl { public HomaridWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Homarid"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HOMARID); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HomicidalBrute.java b/Mage.Sets/src/mage/cards/h/HomicidalBrute.java index 52505746ca3..f8810aa4ed5 100644 --- a/Mage.Sets/src/mage/cards/h/HomicidalBrute.java +++ b/Mage.Sets/src/mage/cards/h/HomicidalBrute.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.TransformSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -48,8 +49,8 @@ public class HomicidalBrute extends CardImpl { public HomicidalBrute(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Human"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MUTANT); // this card is the second face of double-faced card this.nightCard = true; diff --git a/Mage.Sets/src/mage/cards/h/HomingSliver.java b/Mage.Sets/src/mage/cards/h/HomingSliver.java index 1c789daa134..31b22230801 100644 --- a/Mage.Sets/src/mage/cards/h/HomingSliver.java +++ b/Mage.Sets/src/mage/cards/h/HomingSliver.java @@ -59,7 +59,7 @@ public class HomingSliver extends CardImpl { public HomingSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HomuraHumanAscendant.java b/Mage.Sets/src/mage/cards/h/HomuraHumanAscendant.java index 8500fdeaa53..78ab35045f6 100644 --- a/Mage.Sets/src/mage/cards/h/HomuraHumanAscendant.java +++ b/Mage.Sets/src/mage/cards/h/HomuraHumanAscendant.java @@ -64,8 +64,8 @@ public class HomuraHumanAscendant extends CardImpl { public HomuraHumanAscendant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HonedKhopesh.java b/Mage.Sets/src/mage/cards/h/HonedKhopesh.java index 58d31141657..7e3e99134d8 100644 --- a/Mage.Sets/src/mage/cards/h/HonedKhopesh.java +++ b/Mage.Sets/src/mage/cards/h/HonedKhopesh.java @@ -1,67 +1,68 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.continuous.BoostEquippedEffect; -import mage.abilities.keyword.EquipAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; - -/** - * - * @author Styxo - */ -public class HonedKhopesh extends CardImpl { - - public HonedKhopesh(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}"); - - this.subtype.add("Equipment"); - - // Equipped creature gets +1/+1. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1))); - - // Equip {1} - this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1))); - } - - public HonedKhopesh(final HonedKhopesh card) { - super(card); - } - - @Override - public HonedKhopesh copy() { - return new HonedKhopesh(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.continuous.BoostEquippedEffect; +import mage.abilities.keyword.EquipAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.constants.Zone; + +/** + * + * @author Styxo + */ +public class HonedKhopesh extends CardImpl { + + public HonedKhopesh(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}"); + + this.subtype.add(SubType.EQUIPMENT); + + // Equipped creature gets +1/+1. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1))); + + // Equip {1} + this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1))); + } + + public HonedKhopesh(final HonedKhopesh card) { + super(card); + } + + @Override + public HonedKhopesh copy() { + return new HonedKhopesh(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HonorGuard.java b/Mage.Sets/src/mage/cards/h/HonorGuard.java index 4d0f86db626..aedfd9c76db 100644 --- a/Mage.Sets/src/mage/cards/h/HonorGuard.java +++ b/Mage.Sets/src/mage/cards/h/HonorGuard.java @@ -44,8 +44,8 @@ public class HonorGuard extends CardImpl { public HonorGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HonorableScout.java b/Mage.Sets/src/mage/cards/h/HonorableScout.java index ad6caa70d9c..3322c3b8163 100644 --- a/Mage.Sets/src/mage/cards/h/HonorableScout.java +++ b/Mage.Sets/src/mage/cards/h/HonorableScout.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -56,9 +57,9 @@ public class HonorableScout extends CardImpl { public HonorableScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HonoredCropCaptain.java b/Mage.Sets/src/mage/cards/h/HonoredCropCaptain.java index a948ede3328..c7272a88919 100644 --- a/Mage.Sets/src/mage/cards/h/HonoredCropCaptain.java +++ b/Mage.Sets/src/mage/cards/h/HonoredCropCaptain.java @@ -1,67 +1,68 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.AttacksTriggeredAbility; -import mage.abilities.effects.common.continuous.BoostAllEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.filter.common.FilterAttackingCreature; - -/** - * - * @author Styxo - */ -public class HonoredCropCaptain extends CardImpl { - - public HonoredCropCaptain(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{W}"); - - this.subtype.add("Human"); - this.subtype.add("Warrior"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - - // Whenever Honored Crop-Captain attacks, other attacking creatures get +1/+0 until end of turn. - this.addAbility(new AttacksTriggeredAbility(new BoostAllEffect(1, 0, Duration.EndOfTurn, new FilterAttackingCreature(), true), false)); - - } - - public HonoredCropCaptain(final HonoredCropCaptain card) { - super(card); - } - - @Override - public HonoredCropCaptain copy() { - return new HonoredCropCaptain(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.effects.common.continuous.BoostAllEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.filter.common.FilterAttackingCreature; + +/** + * + * @author Styxo + */ +public class HonoredCropCaptain extends CardImpl { + + public HonoredCropCaptain(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{W}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // Whenever Honored Crop-Captain attacks, other attacking creatures get +1/+0 until end of turn. + this.addAbility(new AttacksTriggeredAbility(new BoostAllEffect(1, 0, Duration.EndOfTurn, new FilterAttackingCreature(), true), false)); + + } + + public HonoredCropCaptain(final HonoredCropCaptain card) { + super(card); + } + + @Override + public HonoredCropCaptain copy() { + return new HonoredCropCaptain(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HonoredHierarch.java b/Mage.Sets/src/mage/cards/h/HonoredHierarch.java index ada60bb291d..4cf11658bb4 100644 --- a/Mage.Sets/src/mage/cards/h/HonoredHierarch.java +++ b/Mage.Sets/src/mage/cards/h/HonoredHierarch.java @@ -41,6 +41,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class HonoredHierarch extends CardImpl { public HonoredHierarch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HonoredHydra.java b/Mage.Sets/src/mage/cards/h/HonoredHydra.java index b0c220e5522..5df7ccd53fb 100644 --- a/Mage.Sets/src/mage/cards/h/HonoredHydra.java +++ b/Mage.Sets/src/mage/cards/h/HonoredHydra.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class HonoredHydra extends CardImpl { public HonoredHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}"); - this.subtype.add("Snake"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/h/HoodedAssassin.java b/Mage.Sets/src/mage/cards/h/HoodedAssassin.java index 0da61fca3df..f594604cb95 100644 --- a/Mage.Sets/src/mage/cards/h/HoodedAssassin.java +++ b/Mage.Sets/src/mage/cards/h/HoodedAssassin.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.WasDealtDamageThisTurnPredicate; @@ -56,8 +57,8 @@ public class HoodedAssassin extends CardImpl { public HoodedAssassin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HoodedBrawler.java b/Mage.Sets/src/mage/cards/h/HoodedBrawler.java index b23dab89290..cc37fb0d049 100644 --- a/Mage.Sets/src/mage/cards/h/HoodedBrawler.java +++ b/Mage.Sets/src/mage/cards/h/HoodedBrawler.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ExertAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,8 +47,8 @@ public class HoodedBrawler extends CardImpl { public HoodedBrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Naga"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HoodedHorror.java b/Mage.Sets/src/mage/cards/h/HoodedHorror.java index 3be8a40567b..f8123791b26 100644 --- a/Mage.Sets/src/mage/cards/h/HoodedHorror.java +++ b/Mage.Sets/src/mage/cards/h/HoodedHorror.java @@ -35,6 +35,7 @@ import mage.abilities.effects.RestrictionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.game.Game; @@ -49,7 +50,7 @@ public class HoodedHorror extends CardImpl { public HoodedHorror(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HoodedHydra.java b/Mage.Sets/src/mage/cards/h/HoodedHydra.java index 0d7477c459e..bb64d542566 100644 --- a/Mage.Sets/src/mage/cards/h/HoodedHydra.java +++ b/Mage.Sets/src/mage/cards/h/HoodedHydra.java @@ -44,6 +44,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.permanent.token.SnakeToken; @@ -56,8 +57,8 @@ public class HoodedHydra extends CardImpl { public HoodedHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{X}{G}{G}"); - this.subtype.add("Snake"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/h/HoodedKavu.java b/Mage.Sets/src/mage/cards/h/HoodedKavu.java index d4dddede1b7..b120c0d3948 100644 --- a/Mage.Sets/src/mage/cards/h/HoodedKavu.java +++ b/Mage.Sets/src/mage/cards/h/HoodedKavu.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class HoodedKavu extends CardImpl { public HoodedKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HoofSkulkin.java b/Mage.Sets/src/mage/cards/h/HoofSkulkin.java index d9d9905e5ec..e29bc1abf0b 100644 --- a/Mage.Sets/src/mage/cards/h/HoofSkulkin.java +++ b/Mage.Sets/src/mage/cards/h/HoofSkulkin.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -56,7 +57,7 @@ public class HoofSkulkin extends CardImpl { public HoofSkulkin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HoofprintsOfTheStag.java b/Mage.Sets/src/mage/cards/h/HoofprintsOfTheStag.java index dd1e4d8468f..3328b5dcc62 100644 --- a/Mage.Sets/src/mage/cards/h/HoofprintsOfTheStag.java +++ b/Mage.Sets/src/mage/cards/h/HoofprintsOfTheStag.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.permanent.token.WhiteElementalToken; @@ -51,7 +52,7 @@ public class HoofprintsOfTheStag extends CardImpl { public HoofprintsOfTheStag(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.ENCHANTMENT}, "{1}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); // Whenever you draw a card, you may put a hoofprint counter on Hoofprints of the Stag. this.addAbility(new DrawCardControllerTriggeredAbility(new AddCountersSourceEffect(CounterType.HOOFPRINT.createInstance(1)), true)); diff --git a/Mage.Sets/src/mage/cards/h/HootingMandrills.java b/Mage.Sets/src/mage/cards/h/HootingMandrills.java index b09ef33b26e..f8635f3897f 100644 --- a/Mage.Sets/src/mage/cards/h/HootingMandrills.java +++ b/Mage.Sets/src/mage/cards/h/HootingMandrills.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class HootingMandrills extends CardImpl { public HootingMandrills(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Ape"); + this.subtype.add(SubType.APE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HopeAgainstHope.java b/Mage.Sets/src/mage/cards/h/HopeAgainstHope.java index c883b8cd08c..d06fa08ab1a 100644 --- a/Mage.Sets/src/mage/cards/h/HopeAgainstHope.java +++ b/Mage.Sets/src/mage/cards/h/HopeAgainstHope.java @@ -52,7 +52,7 @@ public class HopeAgainstHope extends CardImpl { public HopeAgainstHope(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/h/HopeOfGhirapur.java b/Mage.Sets/src/mage/cards/h/HopeOfGhirapur.java index 9dcc7bfffc7..51502d1549e 100644 --- a/Mage.Sets/src/mage/cards/h/HopeOfGhirapur.java +++ b/Mage.Sets/src/mage/cards/h/HopeOfGhirapur.java @@ -63,7 +63,7 @@ public class HopeOfGhirapur extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Thopter"); + this.subtype.add(SubType.THOPTER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HopeTender.java b/Mage.Sets/src/mage/cards/h/HopeTender.java index 492fb58d25b..b859754e53e 100644 --- a/Mage.Sets/src/mage/cards/h/HopeTender.java +++ b/Mage.Sets/src/mage/cards/h/HopeTender.java @@ -1,80 +1,81 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.ExertSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.UntapTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.target.common.TargetLandPermanent; - -/** - * - * @author ciaccona007 - */ -public class HopeTender extends CardImpl { - - public HopeTender(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - - this.subtype.add("Human"); - this.subtype.add("Druid"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // {1}, {T}: Untap target land. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new GenericManaCost(1)); - ability.addCost(new TapSourceCost()); - ability.addTarget(new TargetLandPermanent()); - this.addAbility(ability); - - // {1}, {T}, Exert Hope Tender: Untap two target lands. - ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new GenericManaCost(1)); - ability.addCost(new TapSourceCost()); - ability.addCost(new ExertSourceCost()); - ability.addTarget(new TargetLandPermanent(2)); - addAbility(ability); - } - - public HopeTender(final HopeTender card) { - super(card); - } - - @Override - public HopeTender copy() { - return new HopeTender(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.ExertSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.UntapTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.target.common.TargetLandPermanent; + +/** + * + * @author ciaccona007 + */ +public class HopeTender extends CardImpl { + + public HopeTender(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // {1}, {T}: Untap target land. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new GenericManaCost(1)); + ability.addCost(new TapSourceCost()); + ability.addTarget(new TargetLandPermanent()); + this.addAbility(ability); + + // {1}, {T}, Exert Hope Tender: Untap two target lands. + ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new GenericManaCost(1)); + ability.addCost(new TapSourceCost()); + ability.addCost(new ExertSourceCost()); + ability.addTarget(new TargetLandPermanent(2)); + addAbility(ability); + } + + public HopeTender(final HopeTender card) { + super(card); + } + + @Override + public HopeTender copy() { + return new HopeTender(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HopefulEidolon.java b/Mage.Sets/src/mage/cards/h/HopefulEidolon.java index b04f96902c4..47b56603903 100644 --- a/Mage.Sets/src/mage/cards/h/HopefulEidolon.java +++ b/Mage.Sets/src/mage/cards/h/HopefulEidolon.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class HopefulEidolon extends CardImpl { public HopefulEidolon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HordeAmbusher.java b/Mage.Sets/src/mage/cards/h/HordeAmbusher.java index cab31834685..707b73e3ab5 100644 --- a/Mage.Sets/src/mage/cards/h/HordeAmbusher.java +++ b/Mage.Sets/src/mage/cards/h/HordeAmbusher.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.ColorPredicate; @@ -60,8 +61,8 @@ public class HordeAmbusher extends CardImpl { public HordeAmbusher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HordeOfBoggarts.java b/Mage.Sets/src/mage/cards/h/HordeOfBoggarts.java index 9aead0aa2c9..06d1816e65f 100644 --- a/Mage.Sets/src/mage/cards/h/HordeOfBoggarts.java +++ b/Mage.Sets/src/mage/cards/h/HordeOfBoggarts.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -56,7 +57,7 @@ public class HordeOfBoggarts extends CardImpl { public HordeOfBoggarts(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/h/HordeOfNotions.java b/Mage.Sets/src/mage/cards/h/HordeOfNotions.java index 5a3ecb9b6d4..641dcf7b2f9 100644 --- a/Mage.Sets/src/mage/cards/h/HordeOfNotions.java +++ b/Mage.Sets/src/mage/cards/h/HordeOfNotions.java @@ -61,7 +61,7 @@ public class HordeOfNotions extends CardImpl { public HordeOfNotions(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HorizonChimera.java b/Mage.Sets/src/mage/cards/h/HorizonChimera.java index 4ea775cff88..3138b5911b5 100644 --- a/Mage.Sets/src/mage/cards/h/HorizonChimera.java +++ b/Mage.Sets/src/mage/cards/h/HorizonChimera.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class HorizonChimera extends CardImpl { public HorizonChimera(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{U}"); - this.subtype.add("Chimera"); + this.subtype.add(SubType.CHIMERA); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HorizonDrake.java b/Mage.Sets/src/mage/cards/h/HorizonDrake.java index 5fa586a0748..aca5dd5a844 100644 --- a/Mage.Sets/src/mage/cards/h/HorizonDrake.java +++ b/Mage.Sets/src/mage/cards/h/HorizonDrake.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterLandCard; /** @@ -46,7 +47,7 @@ public class HorizonDrake extends CardImpl { public HorizonDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HorizonScholar.java b/Mage.Sets/src/mage/cards/h/HorizonScholar.java index 951c15da067..fbdf144838a 100644 --- a/Mage.Sets/src/mage/cards/h/HorizonScholar.java +++ b/Mage.Sets/src/mage/cards/h/HorizonScholar.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class HorizonScholar extends CardImpl { public HorizonScholar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HorizonSeed.java b/Mage.Sets/src/mage/cards/h/HorizonSeed.java index d3b8f3f08e2..59db17dfdd4 100644 --- a/Mage.Sets/src/mage/cards/h/HorizonSeed.java +++ b/Mage.Sets/src/mage/cards/h/HorizonSeed.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.RegenerateTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCreaturePermanent; @@ -46,7 +47,7 @@ public class HorizonSeed extends CardImpl { public HorizonSeed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HornedCheetah.java b/Mage.Sets/src/mage/cards/h/HornedCheetah.java index f676767a8d6..d2fe43df2a6 100644 --- a/Mage.Sets/src/mage/cards/h/HornedCheetah.java +++ b/Mage.Sets/src/mage/cards/h/HornedCheetah.java @@ -33,6 +33,7 @@ import mage.abilities.common.DealsDamageGainLifeSourceTriggeredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class HornedCheetah extends CardImpl { public HornedCheetah(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{W}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HornedHelm.java b/Mage.Sets/src/mage/cards/h/HornedHelm.java index 5845e67aba3..53003f2bba0 100644 --- a/Mage.Sets/src/mage/cards/h/HornedHelm.java +++ b/Mage.Sets/src/mage/cards/h/HornedHelm.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -55,7 +56,7 @@ public class HornedHelm extends CardImpl { public HornedHelm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+1 and has trample. Effect effect = new BoostEquippedEffect(1, 1); diff --git a/Mage.Sets/src/mage/cards/h/HornedKavu.java b/Mage.Sets/src/mage/cards/h/HornedKavu.java index 486c8020f1c..a570ed90d8b 100644 --- a/Mage.Sets/src/mage/cards/h/HornedKavu.java +++ b/Mage.Sets/src/mage/cards/h/HornedKavu.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -54,7 +55,7 @@ public class HornedKavu extends CardImpl { public HornedKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HornedSliver.java b/Mage.Sets/src/mage/cards/h/HornedSliver.java index 8fd5d08c11a..076e6b67727 100644 --- a/Mage.Sets/src/mage/cards/h/HornedSliver.java +++ b/Mage.Sets/src/mage/cards/h/HornedSliver.java @@ -54,7 +54,7 @@ public class HornedSliver extends CardImpl { public HornedSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HornedTroll.java b/Mage.Sets/src/mage/cards/h/HornedTroll.java index 1a261974bed..217fbd84692 100644 --- a/Mage.Sets/src/mage/cards/h/HornedTroll.java +++ b/Mage.Sets/src/mage/cards/h/HornedTroll.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class HornedTroll extends CardImpl { public HornedTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Troll"); + this.subtype.add(SubType.TROLL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HornedTurtle.java b/Mage.Sets/src/mage/cards/h/HornedTurtle.java index cc6f13f6bf6..fde62036d44 100644 --- a/Mage.Sets/src/mage/cards/h/HornedTurtle.java +++ b/Mage.Sets/src/mage/cards/h/HornedTurtle.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -42,7 +43,7 @@ public class HornedTurtle extends CardImpl { public HornedTurtle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Turtle"); + this.subtype.add(SubType.TURTLE); this.power = new MageInt(1); this.toughness = new MageInt(4); } diff --git a/Mage.Sets/src/mage/cards/h/HornetCobra.java b/Mage.Sets/src/mage/cards/h/HornetCobra.java index 17a1edf7808..c8b1a5c2d2c 100644 --- a/Mage.Sets/src/mage/cards/h/HornetCobra.java +++ b/Mage.Sets/src/mage/cards/h/HornetCobra.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class HornetCobra extends CardImpl { public HornetCobra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HornetHarasser.java b/Mage.Sets/src/mage/cards/h/HornetHarasser.java index 3372ec9e722..49ea178ecba 100644 --- a/Mage.Sets/src/mage/cards/h/HornetHarasser.java +++ b/Mage.Sets/src/mage/cards/h/HornetHarasser.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -46,8 +47,8 @@ public class HornetHarasser extends CardImpl { public HornetHarasser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HornetNest.java b/Mage.Sets/src/mage/cards/h/HornetNest.java index 9665ed4aa87..aaf82d24c97 100644 --- a/Mage.Sets/src/mage/cards/h/HornetNest.java +++ b/Mage.Sets/src/mage/cards/h/HornetNest.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class HornetNest extends CardImpl { public HornetNest(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HornetQueen.java b/Mage.Sets/src/mage/cards/h/HornetQueen.java index a4136e6d153..ce7b1baa494 100644 --- a/Mage.Sets/src/mage/cards/h/HornetQueen.java +++ b/Mage.Sets/src/mage/cards/h/HornetQueen.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.HornetQueenInsectToken; /** @@ -46,7 +47,7 @@ public class HornetQueen extends CardImpl { public HornetQueen(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{G}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HorobiDeathsWail.java b/Mage.Sets/src/mage/cards/h/HorobiDeathsWail.java index be5cb759655..c827407585d 100644 --- a/Mage.Sets/src/mage/cards/h/HorobiDeathsWail.java +++ b/Mage.Sets/src/mage/cards/h/HorobiDeathsWail.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.game.Game; @@ -53,7 +54,7 @@ public class HorobiDeathsWail extends CardImpl { public HorobiDeathsWail(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HorribleHordes.java b/Mage.Sets/src/mage/cards/h/HorribleHordes.java index 814a3892ecb..d962ee780cc 100644 --- a/Mage.Sets/src/mage/cards/h/HorribleHordes.java +++ b/Mage.Sets/src/mage/cards/h/HorribleHordes.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.RampageAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class HorribleHordes extends CardImpl { public HorribleHordes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HorrorOfTheBrokenLands.java b/Mage.Sets/src/mage/cards/h/HorrorOfTheBrokenLands.java index 413a3030c85..9a13928397b 100644 --- a/Mage.Sets/src/mage/cards/h/HorrorOfTheBrokenLands.java +++ b/Mage.Sets/src/mage/cards/h/HorrorOfTheBrokenLands.java @@ -1,70 +1,71 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.CycleOrDiscardControllerTriggeredAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.abilities.keyword.CyclingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; - -/** - * - * @author Styxo - */ -public class HorrorOfTheBrokenLands extends CardImpl { - - public HorrorOfTheBrokenLands(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}"); - - this.subtype.add("Horror"); - this.power = new MageInt(4); - this.toughness = new MageInt(4); - - // Whenever you cycle or discard another card, Horror of the Broken Lands gets +2/+1 until end of turn. - this.addAbility(new CycleOrDiscardControllerTriggeredAbility(new BoostSourceEffect(2, 1, Duration.EndOfTurn))); - - // Cycling {B} - this.addAbility(new CyclingAbility(new ManaCostsImpl("{B}"))); - - } - - public HorrorOfTheBrokenLands(final HorrorOfTheBrokenLands card) { - super(card); - } - - @Override - public HorrorOfTheBrokenLands copy() { - return new HorrorOfTheBrokenLands(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.CycleOrDiscardControllerTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.keyword.CyclingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; + +/** + * + * @author Styxo + */ +public class HorrorOfTheBrokenLands extends CardImpl { + + public HorrorOfTheBrokenLands(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}"); + + this.subtype.add(SubType.HORROR); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // Whenever you cycle or discard another card, Horror of the Broken Lands gets +2/+1 until end of turn. + this.addAbility(new CycleOrDiscardControllerTriggeredAbility(new BoostSourceEffect(2, 1, Duration.EndOfTurn))); + + // Cycling {B} + this.addAbility(new CyclingAbility(new ManaCostsImpl("{B}"))); + + } + + public HorrorOfTheBrokenLands(final HorrorOfTheBrokenLands card) { + super(card); + } + + @Override + public HorrorOfTheBrokenLands copy() { + return new HorrorOfTheBrokenLands(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HorrorOfTheDim.java b/Mage.Sets/src/mage/cards/h/HorrorOfTheDim.java index a85a0f84d82..4030ea9a992 100644 --- a/Mage.Sets/src/mage/cards/h/HorrorOfTheDim.java +++ b/Mage.Sets/src/mage/cards/h/HorrorOfTheDim.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class HorrorOfTheDim extends CardImpl { public HorrorOfTheDim(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HorseshoeCrab.java b/Mage.Sets/src/mage/cards/h/HorseshoeCrab.java index 521ba264afb..378404f074b 100644 --- a/Mage.Sets/src/mage/cards/h/HorseshoeCrab.java +++ b/Mage.Sets/src/mage/cards/h/HorseshoeCrab.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class HorseshoeCrab extends CardImpl { public HorseshoeCrab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Crab"); + this.subtype.add(SubType.CRAB); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HostageTaker.java b/Mage.Sets/src/mage/cards/h/HostageTaker.java index c4457ce74b9..92605814ab2 100644 --- a/Mage.Sets/src/mage/cards/h/HostageTaker.java +++ b/Mage.Sets/src/mage/cards/h/HostageTaker.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.ManaType; import mage.constants.Outcome; @@ -75,8 +76,8 @@ public class HostageTaker extends CardImpl { public HostageTaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{B}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HostileDesert.java b/Mage.Sets/src/mage/cards/h/HostileDesert.java index ad3baa98a34..5b6155a5da3 100644 --- a/Mage.Sets/src/mage/cards/h/HostileDesert.java +++ b/Mage.Sets/src/mage/cards/h/HostileDesert.java @@ -1,85 +1,86 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.ExileFromGraveCost; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; -import mage.abilities.mana.ColorlessManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.filter.common.FilterLandCard; -import mage.game.permanent.token.Token; -import mage.target.common.TargetCardInYourGraveyard; - -/** - * - * @author ciaccona007 - */ -public class HostileDesert extends CardImpl { - - public HostileDesert(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - - this.subtype.add("Desert"); - - // {T}: Add {C} to your mana pool. - addAbility(new ColorlessManaAbility()); - // {2}, Exile a land card from your graveyard: Hostile Desert becomes a 3/4 Elemental creature until end of turn. It's still a land. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new HostileDesertToken(), "land", Duration.EndOfTurn), new GenericManaCost(2)); - ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(new FilterLandCard("land card from your graveyard")))); - addAbility(ability); - } - - public HostileDesert(final HostileDesert card) { - super(card); - } - - @Override - public HostileDesert copy() { - return new HostileDesert(this); - } -} - -class HostileDesertToken extends Token { - - public HostileDesertToken() { - super("", "3/4 elemental creature"); - cardType.add(CardType.CREATURE); - subtype.add("Elemental"); - power = new MageInt(3); - toughness = new MageInt(4); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.ExileFromGraveCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; +import mage.abilities.mana.ColorlessManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.filter.common.FilterLandCard; +import mage.game.permanent.token.Token; +import mage.target.common.TargetCardInYourGraveyard; + +/** + * + * @author ciaccona007 + */ +public class HostileDesert extends CardImpl { + + public HostileDesert(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + this.subtype.add(SubType.DESERT); + + // {T}: Add {C} to your mana pool. + addAbility(new ColorlessManaAbility()); + // {2}, Exile a land card from your graveyard: Hostile Desert becomes a 3/4 Elemental creature until end of turn. It's still a land. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BecomesCreatureSourceEffect(new HostileDesertToken(), "land", Duration.EndOfTurn), new GenericManaCost(2)); + ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(new FilterLandCard("land card from your graveyard")))); + addAbility(ability); + } + + public HostileDesert(final HostileDesert card) { + super(card); + } + + @Override + public HostileDesert copy() { + return new HostileDesert(this); + } +} + +class HostileDesertToken extends Token { + + public HostileDesertToken() { + super("", "3/4 elemental creature"); + cardType.add(CardType.CREATURE); + subtype.add(SubType.ELEMENTAL); + power = new MageInt(3); + toughness = new MageInt(4); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HostileRealm.java b/Mage.Sets/src/mage/cards/h/HostileRealm.java index fede939274a..93b72a7471f 100644 --- a/Mage.Sets/src/mage/cards/h/HostileRealm.java +++ b/Mage.Sets/src/mage/cards/h/HostileRealm.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class HostileRealm extends CardImpl { public HostileRealm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/h/Hostility.java b/Mage.Sets/src/mage/cards/h/Hostility.java index 24a14ba8ae1..75e98069f3f 100644 --- a/Mage.Sets/src/mage/cards/h/Hostility.java +++ b/Mage.Sets/src/mage/cards/h/Hostility.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -55,8 +56,8 @@ public class Hostility extends CardImpl { public Hostility(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Incarnation"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.INCARNATION); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/h/HotPursuit.java b/Mage.Sets/src/mage/cards/h/HotPursuit.java index ac4e6bd0de9..7cdda72edc6 100644 --- a/Mage.Sets/src/mage/cards/h/HotPursuit.java +++ b/Mage.Sets/src/mage/cards/h/HotPursuit.java @@ -1,78 +1,78 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.continuous.BoostOpponentsEffect; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.abilities.keyword.BountyAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; -import mage.target.common.TargetOpponentsCreaturePermanent; - -/** - * - * @author Styxo - */ -public class HotPursuit extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Each creature with a bounty counter on it"); - - static { - filter.add(new CounterPredicate(CounterType.BOUNTY)); - } - - public HotPursuit(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}{R}{G}"); - - // Each creature your opponent's control with a bounty counter on it gets -1/-1. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostOpponentsEffect(-1, -1, Duration.WhileOnBattlefield, filter))); - - // Bounty — Whenever a creature an opponent controls with a bounty counter on it dies, you may put a bounty counter on target creature an opponent controls. - Ability ability = new BountyAbility(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance()), true); - ability.addTarget(new TargetOpponentsCreaturePermanent()); - this.addAbility(ability); - } - - public HotPursuit(final HotPursuit card) { - super(card); - } - - @Override - public HotPursuit copy() { - return new HotPursuit(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continuous.BoostOpponentsEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.keyword.BountyAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.CounterPredicate; +import mage.target.common.TargetOpponentsCreaturePermanent; + +/** + * + * @author Styxo + */ +public class HotPursuit extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Each creature with a bounty counter on it"); + + static { + filter.add(new CounterPredicate(CounterType.BOUNTY)); + } + + public HotPursuit(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}{R}{G}"); + + // Each creature your opponent's control with a bounty counter on it gets -1/-1. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostOpponentsEffect(-1, -1, Duration.WhileOnBattlefield, filter))); + + // Bounty — Whenever a creature an opponent controls with a bounty counter on it dies, you may put a bounty counter on target creature an opponent controls. + Ability ability = new BountyAbility(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance()), true); + ability.addTarget(new TargetOpponentsCreaturePermanent()); + this.addAbility(ability); + } + + public HotPursuit(final HotPursuit card) { + super(card); + } + + @Override + public HotPursuit copy() { + return new HotPursuit(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HotSoup.java b/Mage.Sets/src/mage/cards/h/HotSoup.java index 41c6a54bc43..149fc23d683 100644 --- a/Mage.Sets/src/mage/cards/h/HotSoup.java +++ b/Mage.Sets/src/mage/cards/h/HotSoup.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class HotSoup extends CardImpl { public HotSoup(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature can't be blocked. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeBlockedAttachedEffect(AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/h/HotSprings.java b/Mage.Sets/src/mage/cards/h/HotSprings.java index c04010e5a77..03b392d8b34 100644 --- a/Mage.Sets/src/mage/cards/h/HotSprings.java +++ b/Mage.Sets/src/mage/cards/h/HotSprings.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class HotSprings extends CardImpl { public HotSprings(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land you control TargetPermanent auraTarget = new TargetPermanent(new FilterControlledLandPermanent()); diff --git a/Mage.Sets/src/mage/cards/h/HotheadedGiant.java b/Mage.Sets/src/mage/cards/h/HotheadedGiant.java index fc6cc5d12fe..7b6e2c9a3ac 100644 --- a/Mage.Sets/src/mage/cards/h/HotheadedGiant.java +++ b/Mage.Sets/src/mage/cards/h/HotheadedGiant.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.WatcherScope; import mage.counters.CounterType; import mage.filter.FilterSpell; @@ -58,8 +59,8 @@ public class HotheadedGiant extends CardImpl { public HotheadedGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HoundOfGriselbrand.java b/Mage.Sets/src/mage/cards/h/HoundOfGriselbrand.java index 75acdb04f1c..ddd9b57afc6 100644 --- a/Mage.Sets/src/mage/cards/h/HoundOfGriselbrand.java +++ b/Mage.Sets/src/mage/cards/h/HoundOfGriselbrand.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.UndyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class HoundOfGriselbrand extends CardImpl { public HoundOfGriselbrand(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Hound"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.HOUND); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HoundOfTheFarbogs.java b/Mage.Sets/src/mage/cards/h/HoundOfTheFarbogs.java index c1ecf30c9bb..71772a177c2 100644 --- a/Mage.Sets/src/mage/cards/h/HoundOfTheFarbogs.java +++ b/Mage.Sets/src/mage/cards/h/HoundOfTheFarbogs.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class HoundOfTheFarbogs extends CardImpl { public HoundOfTheFarbogs(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Hound"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HOUND); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HourOfDevastation.java b/Mage.Sets/src/mage/cards/h/HourOfDevastation.java index 2a041ccfee3..a232c91702d 100644 --- a/Mage.Sets/src/mage/cards/h/HourOfDevastation.java +++ b/Mage.Sets/src/mage/cards/h/HourOfDevastation.java @@ -1,82 +1,82 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DamageAllEffect; -import mage.abilities.effects.common.continuous.LoseAbilityAllEffect; -import mage.abilities.keyword.IndestructibleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.filter.FilterPermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.CardTypePredicate; -import mage.filter.predicate.mageobject.SubtypePredicate; - -/** - * - * @author ciaccona007 - */ -public class HourOfDevastation extends CardImpl { - - private static FilterPermanent filter = new FilterPermanent("creature and each non-Bolas planeswalker"); - - static { - filter.add(Predicates.or( - new CardTypePredicate(CardType.CREATURE), - Predicates.and( - new CardTypePredicate(CardType.PLANESWALKER), - Predicates.not(new SubtypePredicate(SubType.BOLAS))))); - } - - public HourOfDevastation(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{R}{R}"); - - // All creatures lose indestructible until end of turn. - Effect effect = new LoseAbilityAllEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn); - effect.setText("All creatures lose indestructible until end of turn"); - getSpellAbility().addEffect(effect); - - //Hour of Devastation deals 5 damage to each creature and each non-Bolas planeswalker. - getSpellAbility().addEffect(new DamageAllEffect(5, filter)); - - } - - public HourOfDevastation(final HourOfDevastation card) { - super(card); - } - - @Override - public HourOfDevastation copy() { - return new HourOfDevastation(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DamageAllEffect; +import mage.abilities.effects.common.continuous.LoseAbilityAllEffect; +import mage.abilities.keyword.IndestructibleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.filter.FilterPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.filter.predicate.mageobject.SubtypePredicate; + +/** + * + * @author ciaccona007 + */ +public class HourOfDevastation extends CardImpl { + + private static FilterPermanent filter = new FilterPermanent("creature and each non-Bolas planeswalker"); + + static { + filter.add(Predicates.or( + new CardTypePredicate(CardType.CREATURE), + Predicates.and( + new CardTypePredicate(CardType.PLANESWALKER), + Predicates.not(new SubtypePredicate(SubType.BOLAS))))); + } + + public HourOfDevastation(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{R}{R}"); + + // All creatures lose indestructible until end of turn. + Effect effect = new LoseAbilityAllEffect(IndestructibleAbility.getInstance(), Duration.EndOfTurn); + effect.setText("All creatures lose indestructible until end of turn"); + getSpellAbility().addEffect(effect); + + //Hour of Devastation deals 5 damage to each creature and each non-Bolas planeswalker. + getSpellAbility().addEffect(new DamageAllEffect(5, filter)); + + } + + public HourOfDevastation(final HourOfDevastation card) { + super(card); + } + + @Override + public HourOfDevastation copy() { + return new HourOfDevastation(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HourOfEternity.java b/Mage.Sets/src/mage/cards/h/HourOfEternity.java index b17f9b8189d..540a1a7469d 100644 --- a/Mage.Sets/src/mage/cards/h/HourOfEternity.java +++ b/Mage.Sets/src/mage/cards/h/HourOfEternity.java @@ -1,117 +1,117 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; -import mage.ObjectColor; -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.common.FilterCreatureCard; -import mage.game.Game; -import mage.game.permanent.token.EmptyToken; -import mage.players.Player; -import mage.target.common.TargetCardInYourGraveyard; -import mage.util.CardUtil; - -/** - * - * @author emerald000 - */ -public class HourOfEternity extends CardImpl { - - public HourOfEternity(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{X}{X}{U}{U}{U}"); - - // Exile X target creature cards from your graveyard. For each card exiled this way, create a token that's a copy of that card, except it's a 4/4 black Zombie. - this.getSpellAbility().addEffect(new HourOfEternityEffect()); - this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, Integer.MAX_VALUE, new FilterCreatureCard("creature cards from your graveyard"))); - } - - public HourOfEternity(final HourOfEternity card) { - super(card); - } - - @Override - public HourOfEternity copy() { - return new HourOfEternity(this); - } -} - -class HourOfEternityEffect extends OneShotEffect { - - HourOfEternityEffect() { - super(Outcome.PutCreatureInPlay); - this.staticText = "Exile X target creature cards from your graveyard. For each card exiled this way, create a token that's a copy of that card, except it's a 4/4 black Zombie"; - } - - HourOfEternityEffect(final HourOfEternityEffect effect) { - super(effect); - } - - @Override - public HourOfEternityEffect copy() { - return new HourOfEternityEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - Set cardsToExile = new HashSet<>(this.getTargetPointer().getTargets(game, source).size()); - for (UUID targetId : this.getTargetPointer().getTargets(game, source)) { - Card card = controller.getGraveyard().get(targetId, game); - if (card != null) { - cardsToExile.add(card); - } - } - controller.moveCardsToExile(cardsToExile, source, game, true, null, ""); - for (Card card : cardsToExile) { - if (game.getState().getZone(card.getId()) == Zone.EXILED) { - EmptyToken token = new EmptyToken(); - CardUtil.copyTo(token).from(card); - token.getPower().modifyBaseValue(4); - token.getToughness().modifyBaseValue(4); - token.getColor(game).setColor(ObjectColor.BLACK); - token.getSubtype(game).clear(); - token.getSubtype(game).add("Zombie"); - token.putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId()); - } - } - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.common.FilterCreatureCard; +import mage.game.Game; +import mage.game.permanent.token.EmptyToken; +import mage.players.Player; +import mage.target.common.TargetCardInYourGraveyard; +import mage.util.CardUtil; + +/** + * + * @author emerald000 + */ +public class HourOfEternity extends CardImpl { + + public HourOfEternity(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{X}{X}{U}{U}{U}"); + + // Exile X target creature cards from your graveyard. For each card exiled this way, create a token that's a copy of that card, except it's a 4/4 black Zombie. + this.getSpellAbility().addEffect(new HourOfEternityEffect()); + this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, Integer.MAX_VALUE, new FilterCreatureCard("creature cards from your graveyard"))); + } + + public HourOfEternity(final HourOfEternity card) { + super(card); + } + + @Override + public HourOfEternity copy() { + return new HourOfEternity(this); + } +} + +class HourOfEternityEffect extends OneShotEffect { + + HourOfEternityEffect() { + super(Outcome.PutCreatureInPlay); + this.staticText = "Exile X target creature cards from your graveyard. For each card exiled this way, create a token that's a copy of that card, except it's a 4/4 black Zombie"; + } + + HourOfEternityEffect(final HourOfEternityEffect effect) { + super(effect); + } + + @Override + public HourOfEternityEffect copy() { + return new HourOfEternityEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + Set cardsToExile = new HashSet<>(this.getTargetPointer().getTargets(game, source).size()); + for (UUID targetId : this.getTargetPointer().getTargets(game, source)) { + Card card = controller.getGraveyard().get(targetId, game); + if (card != null) { + cardsToExile.add(card); + } + } + controller.moveCardsToExile(cardsToExile, source, game, true, null, ""); + for (Card card : cardsToExile) { + if (game.getState().getZone(card.getId()) == Zone.EXILED) { + EmptyToken token = new EmptyToken(); + CardUtil.copyTo(token).from(card); + token.getPower().modifyBaseValue(4); + token.getToughness().modifyBaseValue(4); + token.getColor(game).setColor(ObjectColor.BLACK); + token.getSubtype(game).clear(); + token.getSubtype(game).add("Zombie"); + token.putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId()); + } + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/h/HourOfPromise.java b/Mage.Sets/src/mage/cards/h/HourOfPromise.java index 678a446aea7..627c8382ac4 100644 --- a/Mage.Sets/src/mage/cards/h/HourOfPromise.java +++ b/Mage.Sets/src/mage/cards/h/HourOfPromise.java @@ -1,71 +1,71 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; -import mage.abilities.decorator.ConditionalOneShotEffect; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.ComparisonType; -import mage.constants.SubType; -import mage.filter.FilterPermanent; -import mage.filter.common.FilterLandCard; -import mage.game.permanent.token.ZombieToken; -import mage.target.common.TargetCardInLibrary; - -/** - * - * @author LevelX2 - */ -public class HourOfPromise extends CardImpl { - - public HourOfPromise(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{G}"); - - // Search your library for up to two land cards and put them onto the battlefield tapped, then shuffle your library. - this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, new FilterLandCard("land cards")), true)); - // Then if you control three or more Deserts, create two 2/2 black Zombie creature tokens. - this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new CreateTokenEffect(new ZombieToken(), 2), - new PermanentsOnTheBattlefieldCondition(new FilterPermanent(SubType.DESERT, "three or more Deserts"), ComparisonType.MORE_THAN, 2, true), - "Then if you control three or more Deserts, create two 2/2 black Zombie creature tokens")); - - } - - public HourOfPromise(final HourOfPromise card) { - super(card); - } - - @Override - public HourOfPromise copy() { - return new HourOfPromise(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.ComparisonType; +import mage.constants.SubType; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterLandCard; +import mage.game.permanent.token.ZombieToken; +import mage.target.common.TargetCardInLibrary; + +/** + * + * @author LevelX2 + */ +public class HourOfPromise extends CardImpl { + + public HourOfPromise(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{G}"); + + // Search your library for up to two land cards and put them onto the battlefield tapped, then shuffle your library. + this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(0, 2, new FilterLandCard("land cards")), true)); + // Then if you control three or more Deserts, create two 2/2 black Zombie creature tokens. + this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new CreateTokenEffect(new ZombieToken(), 2), + new PermanentsOnTheBattlefieldCondition(new FilterPermanent(SubType.DESERT, "three or more Deserts"), ComparisonType.MORE_THAN, 2, true), + "Then if you control three or more Deserts, create two 2/2 black Zombie creature tokens")); + + } + + public HourOfPromise(final HourOfPromise card) { + super(card); + } + + @Override + public HourOfPromise copy() { + return new HourOfPromise(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HoverBarrier.java b/Mage.Sets/src/mage/cards/h/HoverBarrier.java index e8d7b444f4c..2ba9569e743 100644 --- a/Mage.Sets/src/mage/cards/h/HoverBarrier.java +++ b/Mage.Sets/src/mage/cards/h/HoverBarrier.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class HoverBarrier extends CardImpl { public HoverBarrier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Illusion"); - this.subtype.add("Wall"); + this.subtype.add(SubType.ILLUSION); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/h/HoverguardObserver.java b/Mage.Sets/src/mage/cards/h/HoverguardObserver.java index 0eefbd772dc..30b74c4ec82 100644 --- a/Mage.Sets/src/mage/cards/h/HoverguardObserver.java +++ b/Mage.Sets/src/mage/cards/h/HoverguardObserver.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class HoverguardObserver extends CardImpl { public HoverguardObserver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Drone"); + this.subtype.add(SubType.DRONE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HoverguardSweepers.java b/Mage.Sets/src/mage/cards/h/HoverguardSweepers.java index 3297288f47b..d484c2e4993 100644 --- a/Mage.Sets/src/mage/cards/h/HoverguardSweepers.java +++ b/Mage.Sets/src/mage/cards/h/HoverguardSweepers.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -46,7 +47,7 @@ public class HoverguardSweepers extends CardImpl { public HoverguardSweepers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{U}{U}"); - this.subtype.add("Drone"); + this.subtype.add(SubType.DRONE); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/h/Hovermyr.java b/Mage.Sets/src/mage/cards/h/Hovermyr.java index 3265dcbad04..c6992232c0f 100644 --- a/Mage.Sets/src/mage/cards/h/Hovermyr.java +++ b/Mage.Sets/src/mage/cards/h/Hovermyr.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class Hovermyr extends CardImpl { public Hovermyr (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1 ); this.toughness = new MageInt( 2); diff --git a/Mage.Sets/src/mage/cards/h/Howlgeist.java b/Mage.Sets/src/mage/cards/h/Howlgeist.java index 88674c53a0a..9f61a245790 100644 --- a/Mage.Sets/src/mage/cards/h/Howlgeist.java +++ b/Mage.Sets/src/mage/cards/h/Howlgeist.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.UndyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class Howlgeist extends CardImpl { public Howlgeist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Spirit"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.WOLF); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HowlingBanshee.java b/Mage.Sets/src/mage/cards/h/HowlingBanshee.java index 1cc07dff50f..315dd28093f 100644 --- a/Mage.Sets/src/mage/cards/h/HowlingBanshee.java +++ b/Mage.Sets/src/mage/cards/h/HowlingBanshee.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class HowlingBanshee extends CardImpl { public HowlingBanshee(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HowlingChorus.java b/Mage.Sets/src/mage/cards/h/HowlingChorus.java index d7c6b350242..9896474e05c 100644 --- a/Mage.Sets/src/mage/cards/h/HowlingChorus.java +++ b/Mage.Sets/src/mage/cards/h/HowlingChorus.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesWithLessPowe import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.EldraziHorrorToken; @@ -47,8 +48,8 @@ public class HowlingChorus extends CardImpl { public HowlingChorus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Eldrazi"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HowlingWolf.java b/Mage.Sets/src/mage/cards/h/HowlingWolf.java index 1207158871d..27fd7a098f5 100644 --- a/Mage.Sets/src/mage/cards/h/HowlingWolf.java +++ b/Mage.Sets/src/mage/cards/h/HowlingWolf.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.NamePredicate; import mage.target.common.TargetCardInLibrary; @@ -52,7 +53,7 @@ public class HowlingWolf extends CardImpl { public HowlingWolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HowlpackAlpha.java b/Mage.Sets/src/mage/cards/h/HowlpackAlpha.java index 95a7f64955d..e48241869cc 100644 --- a/Mage.Sets/src/mage/cards/h/HowlpackAlpha.java +++ b/Mage.Sets/src/mage/cards/h/HowlpackAlpha.java @@ -66,7 +66,7 @@ public class HowlpackAlpha extends CardImpl { public HowlpackAlpha(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); // this card is the second face of double-faced card this.nightCard = true; diff --git a/Mage.Sets/src/mage/cards/h/HowlpackOfEstwald.java b/Mage.Sets/src/mage/cards/h/HowlpackOfEstwald.java index d4567552ebb..1fdc240c75c 100644 --- a/Mage.Sets/src/mage/cards/h/HowlpackOfEstwald.java +++ b/Mage.Sets/src/mage/cards/h/HowlpackOfEstwald.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -47,7 +48,7 @@ public class HowlpackOfEstwald extends CardImpl { public HowlpackOfEstwald(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.color.setGreen(true); // this card is the second face of double-faced card diff --git a/Mage.Sets/src/mage/cards/h/HowlpackWolf.java b/Mage.Sets/src/mage/cards/h/HowlpackWolf.java index e48fee85f22..dda751fd021 100644 --- a/Mage.Sets/src/mage/cards/h/HowlpackWolf.java +++ b/Mage.Sets/src/mage/cards/h/HowlpackWolf.java @@ -56,7 +56,7 @@ public class HowlpackWolf extends CardImpl { public HowlpackWolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HuaTuoHonoredPhysician.java b/Mage.Sets/src/mage/cards/h/HuaTuoHonoredPhysician.java index d2c5394c241..785dcb8ac71 100644 --- a/Mage.Sets/src/mage/cards/h/HuaTuoHonoredPhysician.java +++ b/Mage.Sets/src/mage/cards/h/HuaTuoHonoredPhysician.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.PutOnLibraryTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -51,7 +52,7 @@ public class HuaTuoHonoredPhysician extends CardImpl { public HuaTuoHonoredPhysician(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HuangZhongShuGeneral.java b/Mage.Sets/src/mage/cards/h/HuangZhongShuGeneral.java index 07db4b23c1c..d5044c1ce91 100644 --- a/Mage.Sets/src/mage/cards/h/HuangZhongShuGeneral.java +++ b/Mage.Sets/src/mage/cards/h/HuangZhongShuGeneral.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByMoreThanOneSourceEffe import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class HuangZhongShuGeneral extends CardImpl { public HuangZhongShuGeneral(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HulkingCyclops.java b/Mage.Sets/src/mage/cards/h/HulkingCyclops.java index c4ce0271c4e..62951a9d66c 100644 --- a/Mage.Sets/src/mage/cards/h/HulkingCyclops.java +++ b/Mage.Sets/src/mage/cards/h/HulkingCyclops.java @@ -33,6 +33,7 @@ import mage.abilities.common.CantBlockAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class HulkingCyclops extends CardImpl { public HulkingCyclops(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Cyclops"); + this.subtype.add(SubType.CYCLOPS); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HulkingDevil.java b/Mage.Sets/src/mage/cards/h/HulkingDevil.java index 22671e46a6e..fd66e1233d8 100644 --- a/Mage.Sets/src/mage/cards/h/HulkingDevil.java +++ b/Mage.Sets/src/mage/cards/h/HulkingDevil.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class HulkingDevil extends CardImpl { public HulkingDevil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(5); this.toughness = new MageInt(2); } diff --git a/Mage.Sets/src/mage/cards/h/HulkingGoblin.java b/Mage.Sets/src/mage/cards/h/HulkingGoblin.java index 66cb8e47a18..48ee1ef3544 100644 --- a/Mage.Sets/src/mage/cards/h/HulkingGoblin.java +++ b/Mage.Sets/src/mage/cards/h/HulkingGoblin.java @@ -33,6 +33,7 @@ import mage.abilities.common.CantBlockAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class HulkingGoblin extends CardImpl { public HulkingGoblin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HulkingOgre.java b/Mage.Sets/src/mage/cards/h/HulkingOgre.java index c7bd3fc1647..741bae28ade 100644 --- a/Mage.Sets/src/mage/cards/h/HulkingOgre.java +++ b/Mage.Sets/src/mage/cards/h/HulkingOgre.java @@ -33,6 +33,7 @@ import mage.abilities.common.CantBlockAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class HulkingOgre extends CardImpl { public HulkingOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.OGRE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HumbleBudoka.java b/Mage.Sets/src/mage/cards/h/HumbleBudoka.java index 68b451b6deb..5b2bb7d4104 100644 --- a/Mage.Sets/src/mage/cards/h/HumbleBudoka.java +++ b/Mage.Sets/src/mage/cards/h/HumbleBudoka.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class HumbleBudoka extends CardImpl { public HumbleBudoka (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HumbleDefector.java b/Mage.Sets/src/mage/cards/h/HumbleDefector.java index 3f716ac0b2f..afe4c94d865 100644 --- a/Mage.Sets/src/mage/cards/h/HumbleDefector.java +++ b/Mage.Sets/src/mage/cards/h/HumbleDefector.java @@ -39,6 +39,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -57,8 +58,8 @@ public class HumbleDefector extends CardImpl { public HumbleDefector(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HumblerOfMortals.java b/Mage.Sets/src/mage/cards/h/HumblerOfMortals.java index 325c66ae548..aa74a0e0101 100644 --- a/Mage.Sets/src/mage/cards/h/HumblerOfMortals.java +++ b/Mage.Sets/src/mage/cards/h/HumblerOfMortals.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterControlledCreaturePermanent; @@ -46,7 +47,7 @@ public class HumblerOfMortals extends CardImpl { public HumblerOfMortals(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HundingGjornersen.java b/Mage.Sets/src/mage/cards/h/HundingGjornersen.java index 06ddf2f22d4..0b6a4224519 100644 --- a/Mage.Sets/src/mage/cards/h/HundingGjornersen.java +++ b/Mage.Sets/src/mage/cards/h/HundingGjornersen.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.RampageAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -44,8 +45,8 @@ public class HundingGjornersen extends CardImpl { public HundingGjornersen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HundredHandedOne.java b/Mage.Sets/src/mage/cards/h/HundredHandedOne.java index 8b41af1bbcb..aae18886d67 100644 --- a/Mage.Sets/src/mage/cards/h/HundredHandedOne.java +++ b/Mage.Sets/src/mage/cards/h/HundredHandedOne.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class HundredHandedOne extends CardImpl { public HundredHandedOne(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HundredTalonKami.java b/Mage.Sets/src/mage/cards/h/HundredTalonKami.java index 1cf574779e6..693459cb0b8 100644 --- a/Mage.Sets/src/mage/cards/h/HundredTalonKami.java +++ b/Mage.Sets/src/mage/cards/h/HundredTalonKami.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class HundredTalonKami extends CardImpl { public HundredTalonKami (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/Hundroog.java b/Mage.Sets/src/mage/cards/h/Hundroog.java index 24851f6a313..dae333666de 100644 --- a/Mage.Sets/src/mage/cards/h/Hundroog.java +++ b/Mage.Sets/src/mage/cards/h/Hundroog.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class Hundroog extends CardImpl { public Hundroog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/h/HungeringYeti.java b/Mage.Sets/src/mage/cards/h/HungeringYeti.java index 56377610f57..7851f64d3c9 100644 --- a/Mage.Sets/src/mage/cards/h/HungeringYeti.java +++ b/Mage.Sets/src/mage/cards/h/HungeringYeti.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.CastAsThoughItHadFlashSourceEffe import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -58,7 +59,7 @@ public class HungeringYeti extends CardImpl { public HungeringYeti(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Yeti"); + this.subtype.add(SubType.YETI); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HungryDragonsnake.java b/Mage.Sets/src/mage/cards/h/HungryDragonsnake.java index fc1e8d93128..424118e3a10 100644 --- a/Mage.Sets/src/mage/cards/h/HungryDragonsnake.java +++ b/Mage.Sets/src/mage/cards/h/HungryDragonsnake.java @@ -1,80 +1,81 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; -import mage.abilities.effects.common.counter.AddCountersSourceEffect; -import mage.abilities.keyword.TrampleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.ControllerPredicate; - -/** - * - * @author Styxo - */ -public class HungryDragonsnake extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("under an opponents's control"); - - static { - filter.add(new ControllerPredicate(TargetController.OPPONENT)); - } - - public HungryDragonsnake(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Snake"); - this.subtype.add("Beast"); - this.power = new MageInt(4); - this.toughness = new MageInt(4); - - // Trample - this.addAbility(TrampleAbility.getInstance()); - - // Whenever a creature enters the battlefield under an opponents's control, put a +1/+1 counter on Hungry Dragonsnake. - this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, - new AddCountersSourceEffect(CounterType.P1P1.createInstance()), filter, false, - "Whenever a creature enters the battlefield under an opponents's control, put a +1/+1 counter on {this}.", false)); - } - - public HungryDragonsnake(final HungryDragonsnake card) { - super(card); - } - - @Override - public HungryDragonsnake copy() { - return new HungryDragonsnake(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.ControllerPredicate; + +/** + * + * @author Styxo + */ +public class HungryDragonsnake extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("under an opponents's control"); + + static { + filter.add(new ControllerPredicate(TargetController.OPPONENT)); + } + + public HungryDragonsnake(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.BEAST); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + + // Whenever a creature enters the battlefield under an opponents's control, put a +1/+1 counter on Hungry Dragonsnake. + this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, + new AddCountersSourceEffect(CounterType.P1P1.createInstance()), filter, false, + "Whenever a creature enters the battlefield under an opponents's control, put a +1/+1 counter on {this}.", false)); + } + + public HungryDragonsnake(final HungryDragonsnake card) { + super(card); + } + + @Override + public HungryDragonsnake copy() { + return new HungryDragonsnake(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HungryMist.java b/Mage.Sets/src/mage/cards/h/HungryMist.java index 89b6e36c696..ebd836557fd 100644 --- a/Mage.Sets/src/mage/cards/h/HungryMist.java +++ b/Mage.Sets/src/mage/cards/h/HungryMist.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,7 +46,7 @@ public class HungryMist extends CardImpl { public HungryMist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HungrySpriggan.java b/Mage.Sets/src/mage/cards/h/HungrySpriggan.java index 9de9a29914f..d63be940355 100644 --- a/Mage.Sets/src/mage/cards/h/HungrySpriggan.java +++ b/Mage.Sets/src/mage/cards/h/HungrySpriggan.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class HungrySpriggan extends CardImpl { public HungrySpriggan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HuntDown.java b/Mage.Sets/src/mage/cards/h/HuntDown.java index a4a35c20ed1..e2c40487b07 100644 --- a/Mage.Sets/src/mage/cards/h/HuntDown.java +++ b/Mage.Sets/src/mage/cards/h/HuntDown.java @@ -1,134 +1,134 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.RequirementEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.filter.common.FilterCreaturePermanent; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.target.common.TargetCreaturePermanent; -import mage.watchers.common.BlockedAttackerWatcher; - -/** - * - * @author jeffwadsworth - */ -public class HuntDown extends CardImpl { - - private static final FilterCreaturePermanent filterMustBlock = new FilterCreaturePermanent("Creature that must block"); - private static final FilterCreaturePermanent filterToBeBlocked = new FilterCreaturePermanent("Creature that is to be blocked"); - - - - public HuntDown(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{G}"); - - - // Target creature blocks target creature this turn if able. - this.getSpellAbility().addEffect(new HuntDownEffect()); - this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterMustBlock)); - this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterToBeBlocked)); - this.getSpellAbility().addWatcher(new BlockedAttackerWatcher()); - - } - - public HuntDown(final HuntDown card) { - super(card); - } - - @Override - public HuntDown copy() { - return new HuntDown(this); - } -} - -class HuntDownEffect extends RequirementEffect { - - public HuntDownEffect() { - this(Duration.EndOfTurn); - } - - public HuntDownEffect(Duration duration) { - super(duration); - staticText = "Target creature blocks target creature this turn if able"; - } - - public HuntDownEffect(final HuntDownEffect effect) { - super(effect); - } - - @Override - public boolean applies(Permanent permanent, Ability source, Game game) { - if (permanent.getId().equals(source.getTargets().get(0).getFirstTarget())) { - Permanent blocker = game.getPermanent(source.getTargets().get(0).getFirstTarget()); - if (blocker != null - && blocker.canBlock(source.getTargets().get(1).getFirstTarget(), game)) { - Permanent attacker = (Permanent) game.getPermanent(source.getTargets().get(1).getFirstTarget()); - if (attacker != null) { - BlockedAttackerWatcher blockedAttackerWatcher = (BlockedAttackerWatcher) game.getState().getWatchers().get(BlockedAttackerWatcher.class.getSimpleName()); - if (blockedAttackerWatcher != null - && blockedAttackerWatcher.creatureHasBlockedAttacker(attacker, blocker, game)) { - // has already blocked this turn, so no need to do again - return false; - } - return true; - } else { - discard(); - } - } - } - return false; - } - - @Override - public boolean mustAttack(Game game) { - return false; - } - - @Override - public boolean mustBlock(Game game) { - return true; - } - - @Override - public UUID mustBlockAttacker(Ability source, Game game) { - return source.getTargets().get(1).getFirstTarget(); - } - - @Override - public HuntDownEffect copy() { - return new HuntDownEffect(this); - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.RequirementEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.filter.common.FilterCreaturePermanent; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.target.common.TargetCreaturePermanent; +import mage.watchers.common.BlockedAttackerWatcher; + +/** + * + * @author jeffwadsworth + */ +public class HuntDown extends CardImpl { + + private static final FilterCreaturePermanent filterMustBlock = new FilterCreaturePermanent("Creature that must block"); + private static final FilterCreaturePermanent filterToBeBlocked = new FilterCreaturePermanent("Creature that is to be blocked"); + + + + public HuntDown(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{G}"); + + + // Target creature blocks target creature this turn if able. + this.getSpellAbility().addEffect(new HuntDownEffect()); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterMustBlock)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(filterToBeBlocked)); + this.getSpellAbility().addWatcher(new BlockedAttackerWatcher()); + + } + + public HuntDown(final HuntDown card) { + super(card); + } + + @Override + public HuntDown copy() { + return new HuntDown(this); + } +} + +class HuntDownEffect extends RequirementEffect { + + public HuntDownEffect() { + this(Duration.EndOfTurn); + } + + public HuntDownEffect(Duration duration) { + super(duration); + staticText = "Target creature blocks target creature this turn if able"; + } + + public HuntDownEffect(final HuntDownEffect effect) { + super(effect); + } + + @Override + public boolean applies(Permanent permanent, Ability source, Game game) { + if (permanent.getId().equals(source.getTargets().get(0).getFirstTarget())) { + Permanent blocker = game.getPermanent(source.getTargets().get(0).getFirstTarget()); + if (blocker != null + && blocker.canBlock(source.getTargets().get(1).getFirstTarget(), game)) { + Permanent attacker = (Permanent) game.getPermanent(source.getTargets().get(1).getFirstTarget()); + if (attacker != null) { + BlockedAttackerWatcher blockedAttackerWatcher = (BlockedAttackerWatcher) game.getState().getWatchers().get(BlockedAttackerWatcher.class.getSimpleName()); + if (blockedAttackerWatcher != null + && blockedAttackerWatcher.creatureHasBlockedAttacker(attacker, blocker, game)) { + // has already blocked this turn, so no need to do again + return false; + } + return true; + } else { + discard(); + } + } + } + return false; + } + + @Override + public boolean mustAttack(Game game) { + return false; + } + + @Override + public boolean mustBlock(Game game) { + return true; + } + + @Override + public UUID mustBlockAttacker(Ability source, Game game) { + return source.getTargets().get(1).getFirstTarget(); + } + + @Override + public HuntDownEffect copy() { + return new HuntDownEffect(this); + } + +} diff --git a/Mage.Sets/src/mage/cards/h/HuntToExtinction.java b/Mage.Sets/src/mage/cards/h/HuntToExtinction.java index 91fb2c2505f..205813b07d7 100644 --- a/Mage.Sets/src/mage/cards/h/HuntToExtinction.java +++ b/Mage.Sets/src/mage/cards/h/HuntToExtinction.java @@ -1,80 +1,80 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.abilities.dynamicvalue.common.ManacostVariableValue; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DamageAllEffect; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.counters.CounterType; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; -import mage.target.common.TargetOpponentsCreaturePermanent; - -/** - * - * @author Styxo - */ -public class HuntToExtinction extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with a bounty counter on it"); - - static { - filter.add(new CounterPredicate(CounterType.BOUNTY)); - } - - public HuntToExtinction(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{X}{B}{R}{G}"); - - // Put a bounty counter on up to one target creature an opponent controls. - this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance())); - this.getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent(0, 1)); - - // Hunt to Extinction deals X damage to each creature. - this.getSpellAbility().addEffect(new DamageAllEffect(new ManacostVariableValue(), new FilterCreaturePermanent())); - - // Hunt to Exctinction deals an additional X damage to each creature with a bounty counter on it. - Effect effect = new DamageAllEffect(new ManacostVariableValue(), new FilterCreaturePermanent(filter)); - effect.setText("Hunt to Exctinction deals an additional X damage to each creature with a bounty counter on it"); - this.getSpellAbility().addEffect(effect); - - } - - public HuntToExtinction(final HuntToExtinction card) { - super(card); - } - - @Override - public HuntToExtinction copy() { - return new HuntToExtinction(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.abilities.dynamicvalue.common.ManacostVariableValue; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DamageAllEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.counters.CounterType; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.CounterPredicate; +import mage.target.common.TargetOpponentsCreaturePermanent; + +/** + * + * @author Styxo + */ +public class HuntToExtinction extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with a bounty counter on it"); + + static { + filter.add(new CounterPredicate(CounterType.BOUNTY)); + } + + public HuntToExtinction(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{X}{B}{R}{G}"); + + // Put a bounty counter on up to one target creature an opponent controls. + this.getSpellAbility().addEffect(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance())); + this.getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent(0, 1)); + + // Hunt to Extinction deals X damage to each creature. + this.getSpellAbility().addEffect(new DamageAllEffect(new ManacostVariableValue(), new FilterCreaturePermanent())); + + // Hunt to Exctinction deals an additional X damage to each creature with a bounty counter on it. + Effect effect = new DamageAllEffect(new ManacostVariableValue(), new FilterCreaturePermanent(filter)); + effect.setText("Hunt to Exctinction deals an additional X damage to each creature with a bounty counter on it"); + this.getSpellAbility().addEffect(effect); + + } + + public HuntToExtinction(final HuntToExtinction card) { + super(card); + } + + @Override + public HuntToExtinction copy() { + return new HuntToExtinction(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HuntedDragon.java b/Mage.Sets/src/mage/cards/h/HuntedDragon.java index 18b3eb91c47..83c3ed88ffb 100644 --- a/Mage.Sets/src/mage/cards/h/HuntedDragon.java +++ b/Mage.Sets/src/mage/cards/h/HuntedDragon.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.HuntedDragonKnightToken; import mage.target.Target; import mage.target.common.TargetOpponent; @@ -49,7 +50,7 @@ public class HuntedDragon extends CardImpl { public HuntedDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/h/HuntedGhoul.java b/Mage.Sets/src/mage/cards/h/HuntedGhoul.java index fc38855d1b5..98bff42edd6 100644 --- a/Mage.Sets/src/mage/cards/h/HuntedGhoul.java +++ b/Mage.Sets/src/mage/cards/h/HuntedGhoul.java @@ -44,7 +44,7 @@ public class HuntedGhoul extends CardImpl { public HuntedGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HuntedHorror.java b/Mage.Sets/src/mage/cards/h/HuntedHorror.java index 6f8483bcf28..e3c1d711350 100644 --- a/Mage.Sets/src/mage/cards/h/HuntedHorror.java +++ b/Mage.Sets/src/mage/cards/h/HuntedHorror.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.HuntedCentaurToken; import mage.target.Target; import mage.target.common.TargetOpponent; @@ -48,7 +49,7 @@ public class HuntedHorror extends CardImpl { public HuntedHorror(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/h/HuntedLammasu.java b/Mage.Sets/src/mage/cards/h/HuntedLammasu.java index ee29b162174..303a69696bb 100644 --- a/Mage.Sets/src/mage/cards/h/HuntedLammasu.java +++ b/Mage.Sets/src/mage/cards/h/HuntedLammasu.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.HorrorToken; import mage.target.Target; import mage.target.common.TargetOpponent; @@ -47,7 +48,7 @@ public class HuntedLammasu extends CardImpl { public HuntedLammasu(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}"); - this.subtype.add("Lammasu"); + this.subtype.add(SubType.LAMMASU); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/h/HuntedPhantasm.java b/Mage.Sets/src/mage/cards/h/HuntedPhantasm.java index 2d11591c43f..a48c5a3fb67 100644 --- a/Mage.Sets/src/mage/cards/h/HuntedPhantasm.java +++ b/Mage.Sets/src/mage/cards/h/HuntedPhantasm.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.GoblinToken; import mage.target.Target; import mage.target.common.TargetOpponent; @@ -48,7 +49,7 @@ public class HuntedPhantasm extends CardImpl { public HuntedPhantasm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/h/HuntedTroll.java b/Mage.Sets/src/mage/cards/h/HuntedTroll.java index 32510549c56..7662cf4c867 100644 --- a/Mage.Sets/src/mage/cards/h/HuntedTroll.java +++ b/Mage.Sets/src/mage/cards/h/HuntedTroll.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.game.permanent.token.FaerieToken; @@ -52,8 +53,8 @@ public class HuntedTroll extends CardImpl { public HuntedTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); - this.subtype.add("Troll"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.TROLL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(8); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HuntedWumpus.java b/Mage.Sets/src/mage/cards/h/HuntedWumpus.java index 4a9c36862ff..b306db82354 100644 --- a/Mage.Sets/src/mage/cards/h/HuntedWumpus.java +++ b/Mage.Sets/src/mage/cards/h/HuntedWumpus.java @@ -36,6 +36,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -51,7 +52,7 @@ public class HuntedWumpus extends CardImpl { public HuntedWumpus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/h/HunterOfEyeblights.java b/Mage.Sets/src/mage/cards/h/HunterOfEyeblights.java index 72ac6fc4317..f690e240b35 100644 --- a/Mage.Sets/src/mage/cards/h/HunterOfEyeblights.java +++ b/Mage.Sets/src/mage/cards/h/HunterOfEyeblights.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -64,8 +65,8 @@ public class HunterOfEyeblights extends CardImpl { public HunterOfEyeblights(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Elf"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HunterSliver.java b/Mage.Sets/src/mage/cards/h/HunterSliver.java index 04b36f81419..52f8a63685d 100644 --- a/Mage.Sets/src/mage/cards/h/HunterSliver.java +++ b/Mage.Sets/src/mage/cards/h/HunterSliver.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -47,7 +48,7 @@ public class HunterSliver extends CardImpl { public HunterSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HuntingCheetah.java b/Mage.Sets/src/mage/cards/h/HuntingCheetah.java index 899b334c6a7..9117c89a46d 100644 --- a/Mage.Sets/src/mage/cards/h/HuntingCheetah.java +++ b/Mage.Sets/src/mage/cards/h/HuntingCheetah.java @@ -53,7 +53,7 @@ public class HuntingCheetah extends CardImpl { public HuntingCheetah(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HuntingDrake.java b/Mage.Sets/src/mage/cards/h/HuntingDrake.java index 0a939e180e4..7493033fd2c 100644 --- a/Mage.Sets/src/mage/cards/h/HuntingDrake.java +++ b/Mage.Sets/src/mage/cards/h/HuntingDrake.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,7 +58,7 @@ public class HuntingDrake extends CardImpl { public HuntingDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HuntingKavu.java b/Mage.Sets/src/mage/cards/h/HuntingKavu.java index 441bc89658e..c6541cbc9da 100644 --- a/Mage.Sets/src/mage/cards/h/HuntingKavu.java +++ b/Mage.Sets/src/mage/cards/h/HuntingKavu.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterAttackingCreature; import mage.filter.predicate.Predicates; @@ -63,7 +64,7 @@ public class HuntingKavu extends CardImpl { public HuntingKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{G}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HuntingMoa.java b/Mage.Sets/src/mage/cards/h/HuntingMoa.java index eac6601ba11..a22e4fe801c 100644 --- a/Mage.Sets/src/mage/cards/h/HuntingMoa.java +++ b/Mage.Sets/src/mage/cards/h/HuntingMoa.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -47,8 +48,8 @@ public class HuntingMoa extends CardImpl { public HuntingMoa(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Bird"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HuntingTriad.java b/Mage.Sets/src/mage/cards/h/HuntingTriad.java index e45c2f22494..f10c1066394 100644 --- a/Mage.Sets/src/mage/cards/h/HuntingTriad.java +++ b/Mage.Sets/src/mage/cards/h/HuntingTriad.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ReinforceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.ElfToken; /** @@ -44,7 +45,7 @@ public class HuntingTriad extends CardImpl { public HuntingTriad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.SORCERY},"{3}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.getSpellAbility().addEffect(new CreateTokenEffect(new ElfToken(), 3)); this.addAbility(new ReinforceAbility(3, new ManaCostsImpl("{3}{G}"))); diff --git a/Mage.Sets/src/mage/cards/h/HuntmasterOfTheFells.java b/Mage.Sets/src/mage/cards/h/HuntmasterOfTheFells.java index bc22b4d34b0..58627d0bbd9 100644 --- a/Mage.Sets/src/mage/cards/h/HuntmasterOfTheFells.java +++ b/Mage.Sets/src/mage/cards/h/HuntmasterOfTheFells.java @@ -55,8 +55,8 @@ public class HuntmasterOfTheFells extends CardImpl { public HuntmasterOfTheFells(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}"); - this.subtype.add("Human"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WEREWOLF); this.transformable = true; this.secondSideCardClazz = RavagerOfTheFells.class; diff --git a/Mage.Sets/src/mage/cards/h/HurloonMinotaur.java b/Mage.Sets/src/mage/cards/h/HurloonMinotaur.java index 9dafcfb26e7..f1cba6b3aff 100644 --- a/Mage.Sets/src/mage/cards/h/HurloonMinotaur.java +++ b/Mage.Sets/src/mage/cards/h/HurloonMinotaur.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class HurloonMinotaur extends CardImpl { public HurloonMinotaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Minotaur"); + this.subtype.add(SubType.MINOTAUR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HurloonShaman.java b/Mage.Sets/src/mage/cards/h/HurloonShaman.java index 3e530d81d0c..c94e0a3bc58 100644 --- a/Mage.Sets/src/mage/cards/h/HurloonShaman.java +++ b/Mage.Sets/src/mage/cards/h/HurloonShaman.java @@ -1,64 +1,65 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.DiesTriggeredAbility; -import mage.abilities.effects.common.SacrificeAllEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.common.FilterControlledLandPermanent; - -/** - * - * @author Derpthemeus - */ -public class HurloonShaman extends CardImpl { - - public HurloonShaman(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Shaman"); - this.power = new MageInt(2); - this.toughness = new MageInt(3); - - // When Hurloon Shaman dies, each player sacrifices a land. - this.addAbility(new DiesTriggeredAbility(new SacrificeAllEffect(new FilterControlledLandPermanent("land")))); - } - - public HurloonShaman(final HurloonShaman card) { - super(card); - } - - @Override - public HurloonShaman copy() { - return new HurloonShaman(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.DiesTriggeredAbility; +import mage.abilities.effects.common.SacrificeAllEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.common.FilterControlledLandPermanent; + +/** + * + * @author Derpthemeus + */ +public class HurloonShaman extends CardImpl { + + public HurloonShaman(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.SHAMAN); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // When Hurloon Shaman dies, each player sacrifices a land. + this.addAbility(new DiesTriggeredAbility(new SacrificeAllEffect(new FilterControlledLandPermanent("land")))); + } + + public HurloonShaman(final HurloonShaman card) { + super(card); + } + + @Override + public HurloonShaman copy() { + return new HurloonShaman(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HurrJackal.java b/Mage.Sets/src/mage/cards/h/HurrJackal.java index 874cb66d41b..4659a59a048 100644 --- a/Mage.Sets/src/mage/cards/h/HurrJackal.java +++ b/Mage.Sets/src/mage/cards/h/HurrJackal.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CantBeRegeneratedTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class HurrJackal extends CardImpl { public HurrJackal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Jackal"); + this.subtype.add(SubType.JACKAL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HushwingGryff.java b/Mage.Sets/src/mage/cards/h/HushwingGryff.java index bc35dd89e6e..b3316468dcc 100644 --- a/Mage.Sets/src/mage/cards/h/HushwingGryff.java +++ b/Mage.Sets/src/mage/cards/h/HushwingGryff.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class HushwingGryff extends CardImpl { public HushwingGryff(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Hippogriff"); + this.subtype.add(SubType.HIPPOGRIFF); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HussarPatrol.java b/Mage.Sets/src/mage/cards/h/HussarPatrol.java index 22dcdee51e5..a8f5e412180 100644 --- a/Mage.Sets/src/mage/cards/h/HussarPatrol.java +++ b/Mage.Sets/src/mage/cards/h/HussarPatrol.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class HussarPatrol extends CardImpl { public HussarPatrol(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{U}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HuttCrimeLord.java b/Mage.Sets/src/mage/cards/h/HuttCrimeLord.java index ee231dac492..07873dafe7e 100644 --- a/Mage.Sets/src/mage/cards/h/HuttCrimeLord.java +++ b/Mage.Sets/src/mage/cards/h/HuttCrimeLord.java @@ -1,69 +1,70 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.AttacksTriggeredAbility; -import mage.abilities.common.EntersBattlefieldAbility; -import mage.abilities.effects.common.DontUntapInControllersNextUntapStepSourceEffect; -import mage.abilities.effects.common.counter.AddCountersSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.counters.CounterType; - -/** - * - * @author Styxo - */ -public class HuttCrimeLord extends CardImpl { - - public HuttCrimeLord(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); - this.subtype.add("Hutt"); - this.subtype.add("Rogue"); - this.power = new MageInt(5); - this.toughness = new MageInt(5); - - // Hutt Crime Lord enters the battlefield with a bounty counter on it. - this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.BOUNTY.createInstance()), "with a bounty counter on it")); - - // Whenever Hutt Crime Lord attacks, it does not untap during its controller's next untap step - this.addAbility(new AttacksTriggeredAbility(new DontUntapInControllersNextUntapStepSourceEffect(), false)); - } - - public HuttCrimeLord(final HuttCrimeLord card) { - super(card); - } - - @Override - public HuttCrimeLord copy() { - return new HuttCrimeLord(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.effects.common.DontUntapInControllersNextUntapStepSourceEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.counters.CounterType; + +/** + * + * @author Styxo + */ +public class HuttCrimeLord extends CardImpl { + + public HuttCrimeLord(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); + this.subtype.add(SubType.HUTT); + this.subtype.add(SubType.ROGUE); + this.power = new MageInt(5); + this.toughness = new MageInt(5); + + // Hutt Crime Lord enters the battlefield with a bounty counter on it. + this.addAbility(new EntersBattlefieldAbility(new AddCountersSourceEffect(CounterType.BOUNTY.createInstance()), "with a bounty counter on it")); + + // Whenever Hutt Crime Lord attacks, it does not untap during its controller's next untap step + this.addAbility(new AttacksTriggeredAbility(new DontUntapInControllersNextUntapStepSourceEffect(), false)); + } + + public HuttCrimeLord(final HuttCrimeLord card) { + super(card); + } + + @Override + public HuttCrimeLord copy() { + return new HuttCrimeLord(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HuttPalace.java b/Mage.Sets/src/mage/cards/h/HuttPalace.java index e6898be37f8..b76630ef65f 100644 --- a/Mage.Sets/src/mage/cards/h/HuttPalace.java +++ b/Mage.Sets/src/mage/cards/h/HuttPalace.java @@ -1,69 +1,69 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.h; - -import java.util.UUID; -import mage.Mana; -import mage.abilities.common.EntersBattlefieldTappedAbility; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.AddManaToManaPoolSourceControllerEffect; -import mage.abilities.mana.BlackManaAbility; -import mage.abilities.mana.GreenManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class HuttPalace extends CardImpl { - - public HuttPalace(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - - // Hutt Palace enters the battlefield tapped. - this.addAbility(new EntersBattlefieldTappedAbility()); - - // When Hutt Palace enters the battlefield , add {R} to your mana pool. - this.addAbility(new EntersBattlefieldTriggeredAbility(new AddManaToManaPoolSourceControllerEffect(Mana.RedMana(1)))); - - // {T}: Add {B} or {G} to you mana pool. - this.addAbility(new BlackManaAbility()); - this.addAbility(new GreenManaAbility()); - } - - public HuttPalace(final HuttPalace card) { - super(card); - } - - @Override - public HuttPalace copy() { - return new HuttPalace(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.h; + +import java.util.UUID; +import mage.Mana; +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.AddManaToManaPoolSourceControllerEffect; +import mage.abilities.mana.BlackManaAbility; +import mage.abilities.mana.GreenManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +/** + * + * @author Styxo + */ +public class HuttPalace extends CardImpl { + + public HuttPalace(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.LAND},""); + + // Hutt Palace enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + + // When Hutt Palace enters the battlefield , add {R} to your mana pool. + this.addAbility(new EntersBattlefieldTriggeredAbility(new AddManaToManaPoolSourceControllerEffect(Mana.RedMana(1)))); + + // {T}: Add {B} or {G} to you mana pool. + this.addAbility(new BlackManaAbility()); + this.addAbility(new GreenManaAbility()); + } + + public HuttPalace(final HuttPalace card) { + super(card); + } + + @Override + public HuttPalace copy() { + return new HuttPalace(this); + } +} diff --git a/Mage.Sets/src/mage/cards/h/HyalopterousLemure.java b/Mage.Sets/src/mage/cards/h/HyalopterousLemure.java index d4f0f245b8b..aabf97d2a08 100644 --- a/Mage.Sets/src/mage/cards/h/HyalopterousLemure.java +++ b/Mage.Sets/src/mage/cards/h/HyalopterousLemure.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class HyalopterousLemure extends CardImpl { public HyalopterousLemure(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HydraBroodmaster.java b/Mage.Sets/src/mage/cards/h/HydraBroodmaster.java index 5f1d5866bb3..716230b4473 100644 --- a/Mage.Sets/src/mage/cards/h/HydraBroodmaster.java +++ b/Mage.Sets/src/mage/cards/h/HydraBroodmaster.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MonstrosityAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.token.HydraBroodmasterToken; @@ -50,7 +51,7 @@ public class HydraBroodmaster extends CardImpl { public HydraBroodmaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/h/HydraOmnivore.java b/Mage.Sets/src/mage/cards/h/HydraOmnivore.java index b057b58f7d5..a03324fa44c 100644 --- a/Mage.Sets/src/mage/cards/h/HydraOmnivore.java +++ b/Mage.Sets/src/mage/cards/h/HydraOmnivore.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -49,7 +50,7 @@ public class HydraOmnivore extends CardImpl { public HydraOmnivore(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/h/HydromorphGuardian.java b/Mage.Sets/src/mage/cards/h/HydromorphGuardian.java index 50b110ed54c..5034fd42cc1 100644 --- a/Mage.Sets/src/mage/cards/h/HydromorphGuardian.java +++ b/Mage.Sets/src/mage/cards/h/HydromorphGuardian.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CounterTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.filter.FilterSpell; @@ -58,7 +59,7 @@ public class HydromorphGuardian extends CardImpl { public HydromorphGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HydromorphGull.java b/Mage.Sets/src/mage/cards/h/HydromorphGull.java index e0b6273e27d..5a3b02c477f 100644 --- a/Mage.Sets/src/mage/cards/h/HydromorphGull.java +++ b/Mage.Sets/src/mage/cards/h/HydromorphGull.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.filter.FilterSpell; @@ -59,8 +60,8 @@ public class HydromorphGull extends CardImpl { public HydromorphGull(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Elemental"); - this.subtype.add("Bird"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.BIRD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/h/HyenaPack.java b/Mage.Sets/src/mage/cards/h/HyenaPack.java index 91111a56d3c..a3af08db3aa 100644 --- a/Mage.Sets/src/mage/cards/h/HyenaPack.java +++ b/Mage.Sets/src/mage/cards/h/HyenaPack.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class HyenaPack extends CardImpl { public HyenaPack(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}"); - this.subtype.add("Hyena"); + this.subtype.add(SubType.HYENA); this.power = new MageInt(3); this.toughness = new MageInt(4); } diff --git a/Mage.Sets/src/mage/cards/h/HyenaUmbra.java b/Mage.Sets/src/mage/cards/h/HyenaUmbra.java index 641ecd71b62..47e5c89e6bd 100644 --- a/Mage.Sets/src/mage/cards/h/HyenaUmbra.java +++ b/Mage.Sets/src/mage/cards/h/HyenaUmbra.java @@ -50,7 +50,7 @@ public class HyenaUmbra extends CardImpl { public HyenaUmbra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/h/HyperionBlacksmith.java b/Mage.Sets/src/mage/cards/h/HyperionBlacksmith.java index 578a732d538..af8d44aaeb0 100644 --- a/Mage.Sets/src/mage/cards/h/HyperionBlacksmith.java +++ b/Mage.Sets/src/mage/cards/h/HyperionBlacksmith.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.MayTapOrUntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; @@ -56,8 +57,8 @@ public class HyperionBlacksmith extends CardImpl { public HyperionBlacksmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/HypersonicDragon.java b/Mage.Sets/src/mage/cards/h/HypersonicDragon.java index 78b1e59fa90..b86d59bc34b 100644 --- a/Mage.Sets/src/mage/cards/h/HypersonicDragon.java +++ b/Mage.Sets/src/mage/cards/h/HypersonicDragon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterCard; @@ -54,7 +55,7 @@ public class HypersonicDragon extends CardImpl { public HypersonicDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HypervoltGrasp.java b/Mage.Sets/src/mage/cards/h/HypervoltGrasp.java index 468c524dc50..353481c35ec 100644 --- a/Mage.Sets/src/mage/cards/h/HypervoltGrasp.java +++ b/Mage.Sets/src/mage/cards/h/HypervoltGrasp.java @@ -53,7 +53,7 @@ public class HypervoltGrasp extends CardImpl { public HypervoltGrasp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); diff --git a/Mage.Sets/src/mage/cards/h/HypnoticSiren.java b/Mage.Sets/src/mage/cards/h/HypnoticSiren.java index 166e7174d93..89c7f52d20b 100644 --- a/Mage.Sets/src/mage/cards/h/HypnoticSiren.java +++ b/Mage.Sets/src/mage/cards/h/HypnoticSiren.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class HypnoticSiren extends CardImpl { public HypnoticSiren(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{U}"); - this.subtype.add("Siren"); + this.subtype.add(SubType.SIREN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/h/HypnoticSpecter.java b/Mage.Sets/src/mage/cards/h/HypnoticSpecter.java index 2f5e36eed66..c5a621eb965 100644 --- a/Mage.Sets/src/mage/cards/h/HypnoticSpecter.java +++ b/Mage.Sets/src/mage/cards/h/HypnoticSpecter.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class HypnoticSpecter extends CardImpl { public HypnoticSpecter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Specter"); + this.subtype.add(SubType.SPECTER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/h/Hystrodon.java b/Mage.Sets/src/mage/cards/h/Hystrodon.java index acf3ad10d42..3578429c863 100644 --- a/Mage.Sets/src/mage/cards/h/Hystrodon.java +++ b/Mage.Sets/src/mage/cards/h/Hystrodon.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class Hystrodon extends CardImpl { public Hystrodon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/h/HythoniaTheCruel.java b/Mage.Sets/src/mage/cards/h/HythoniaTheCruel.java index 38b5c04e260..f2b93c2b1f3 100644 --- a/Mage.Sets/src/mage/cards/h/HythoniaTheCruel.java +++ b/Mage.Sets/src/mage/cards/h/HythoniaTheCruel.java @@ -56,7 +56,7 @@ public class HythoniaTheCruel extends CardImpl { public HythoniaTheCruel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Gorgon"); + this.subtype.add(SubType.GORGON); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/i/IG88B.java b/Mage.Sets/src/mage/cards/i/IG88B.java index 364db23966f..d0c5fb11543 100644 --- a/Mage.Sets/src/mage/cards/i/IG88B.java +++ b/Mage.Sets/src/mage/cards/i/IG88B.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.RepairAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.counters.CounterType; import mage.filter.StaticFilters; @@ -54,8 +55,8 @@ public class IG88B extends CardImpl { public IG88B(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Droid"); - this.subtype.add("Hunter"); + this.subtype.add(SubType.DROID); + this.subtype.add(SubType.HUNTER); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/IbHalfheartGoblinTactician.java b/Mage.Sets/src/mage/cards/i/IbHalfheartGoblinTactician.java index 500142eeb97..153ac95aefb 100644 --- a/Mage.Sets/src/mage/cards/i/IbHalfheartGoblinTactician.java +++ b/Mage.Sets/src/mage/cards/i/IbHalfheartGoblinTactician.java @@ -70,8 +70,8 @@ public class IbHalfheartGoblinTactician extends CardImpl { public IbHalfheartGoblinTactician(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Goblin"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/IcatianCrier.java b/Mage.Sets/src/mage/cards/i/IcatianCrier.java index c156e6b7f97..9c032111aab 100644 --- a/Mage.Sets/src/mage/cards/i/IcatianCrier.java +++ b/Mage.Sets/src/mage/cards/i/IcatianCrier.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.CitizenToken; @@ -49,8 +50,8 @@ public class IcatianCrier extends CardImpl { public IcatianCrier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IcatianJavelineers.java b/Mage.Sets/src/mage/cards/i/IcatianJavelineers.java index 994790ea1da..de8dfee17f4 100644 --- a/Mage.Sets/src/mage/cards/i/IcatianJavelineers.java +++ b/Mage.Sets/src/mage/cards/i/IcatianJavelineers.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreatureOrPlayer; @@ -51,8 +52,8 @@ public class IcatianJavelineers extends CardImpl { public IcatianJavelineers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IcatianLieutenant.java b/Mage.Sets/src/mage/cards/i/IcatianLieutenant.java index 77b34a1d677..3869836737d 100644 --- a/Mage.Sets/src/mage/cards/i/IcatianLieutenant.java +++ b/Mage.Sets/src/mage/cards/i/IcatianLieutenant.java @@ -57,8 +57,8 @@ public class IcatianLieutenant extends CardImpl { public IcatianLieutenant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/IcatianMoneychanger.java b/Mage.Sets/src/mage/cards/i/IcatianMoneychanger.java index 9713007f98f..6d413e107a3 100644 --- a/Mage.Sets/src/mage/cards/i/IcatianMoneychanger.java +++ b/Mage.Sets/src/mage/cards/i/IcatianMoneychanger.java @@ -43,6 +43,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; import mage.constants.TargetController; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class IcatianMoneychanger extends CardImpl { public IcatianMoneychanger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/IcatianPriest.java b/Mage.Sets/src/mage/cards/i/IcatianPriest.java index 95537d23bde..56080ddc2ce 100644 --- a/Mage.Sets/src/mage/cards/i/IcatianPriest.java +++ b/Mage.Sets/src/mage/cards/i/IcatianPriest.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class IcatianPriest extends CardImpl { public IcatianPriest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IcatianScout.java b/Mage.Sets/src/mage/cards/i/IcatianScout.java index 7be4145112a..64f54a6d089 100644 --- a/Mage.Sets/src/mage/cards/i/IcatianScout.java +++ b/Mage.Sets/src/mage/cards/i/IcatianScout.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,9 +51,9 @@ public class IcatianScout extends CardImpl { public IcatianScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IceCage.java b/Mage.Sets/src/mage/cards/i/IceCage.java index ff01bf7750a..6944db4415e 100644 --- a/Mage.Sets/src/mage/cards/i/IceCage.java +++ b/Mage.Sets/src/mage/cards/i/IceCage.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -53,7 +54,7 @@ public class IceCage extends CardImpl { public IceCage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/i/IceOver.java b/Mage.Sets/src/mage/cards/i/IceOver.java index cddb697697d..8062c01a751 100644 --- a/Mage.Sets/src/mage/cards/i/IceOver.java +++ b/Mage.Sets/src/mage/cards/i/IceOver.java @@ -1,75 +1,76 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DontUntapInControllersUntapStepEnchantedEffect; -import mage.abilities.keyword.EnchantAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.StaticFilters; -import mage.target.TargetPermanent; - -/** - * - * @author Styxo - */ -public class IceOver extends CardImpl { - - public IceOver(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}"); - - this.subtype.add("Aura"); - - // Enchant artifact or creature - TargetPermanent auraTarget = new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_CREATURE); - this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Benefit)); - Ability ability = new EnchantAbility(auraTarget.getTargetName()); - this.addAbility(ability); - - // Enchanted permanent doesn't untap during its controller's untap step. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect("permanent"))); - - } - - public IceOver(final IceOver card) { - super(card); - } - - @Override - public IceOver copy() { - return new IceOver(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.DontUntapInControllersUntapStepEnchantedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.StaticFilters; +import mage.target.TargetPermanent; + +/** + * + * @author Styxo + */ +public class IceOver extends CardImpl { + + public IceOver(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}"); + + this.subtype.add(SubType.AURA); + + // Enchant artifact or creature + TargetPermanent auraTarget = new TargetPermanent(StaticFilters.FILTER_PERMANENT_ARTIFACT_OR_CREATURE); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Benefit)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + + // Enchanted permanent doesn't untap during its controller's untap step. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect("permanent"))); + + } + + public IceOver(final IceOver card) { + super(card); + } + + @Override + public IceOver copy() { + return new IceOver(this); + } +} diff --git a/Mage.Sets/src/mage/cards/i/IcefallRegent.java b/Mage.Sets/src/mage/cards/i/IcefallRegent.java index bdcf7241040..bd44a074f8e 100644 --- a/Mage.Sets/src/mage/cards/i/IcefallRegent.java +++ b/Mage.Sets/src/mage/cards/i/IcefallRegent.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.CostModificationType; import mage.constants.Duration; import mage.constants.Outcome; @@ -73,7 +74,7 @@ public class IcefallRegent extends CardImpl { public IcefallRegent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/IcefeatherAven.java b/Mage.Sets/src/mage/cards/i/IcefeatherAven.java index df243d70282..2451f867a13 100644 --- a/Mage.Sets/src/mage/cards/i/IcefeatherAven.java +++ b/Mage.Sets/src/mage/cards/i/IcefeatherAven.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; import mage.target.common.TargetCreaturePermanent; @@ -56,8 +57,8 @@ public class IcefeatherAven extends CardImpl { public IcefeatherAven(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/IchorRats.java b/Mage.Sets/src/mage/cards/i/IchorRats.java index 5b9233e7ee9..814ae5cac7c 100644 --- a/Mage.Sets/src/mage/cards/i/IchorRats.java +++ b/Mage.Sets/src/mage/cards/i/IchorRats.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -49,7 +50,7 @@ public class IchorRats extends CardImpl { public IchorRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IchorclawMyr.java b/Mage.Sets/src/mage/cards/i/IchorclawMyr.java index 5457ef8dde5..073861c9913 100644 --- a/Mage.Sets/src/mage/cards/i/IchorclawMyr.java +++ b/Mage.Sets/src/mage/cards/i/IchorclawMyr.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class IchorclawMyr extends CardImpl { public IchorclawMyr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/Ichorid.java b/Mage.Sets/src/mage/cards/i/Ichorid.java index 4c53d789881..e5ba87ab0ee 100644 --- a/Mage.Sets/src/mage/cards/i/Ichorid.java +++ b/Mage.Sets/src/mage/cards/i/Ichorid.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterCard; @@ -60,7 +61,7 @@ public class Ichorid extends CardImpl { public Ichorid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IdentityThief.java b/Mage.Sets/src/mage/cards/i/IdentityThief.java index 015f185e49f..0aa01daccfd 100644 --- a/Mage.Sets/src/mage/cards/i/IdentityThief.java +++ b/Mage.Sets/src/mage/cards/i/IdentityThief.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.ReturnToBattlefieldUnderOwnerControlTargetE import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -67,7 +68,7 @@ public class IdentityThief extends CardImpl { public IdentityThief(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/IfhBiffEfreet.java b/Mage.Sets/src/mage/cards/i/IfhBiffEfreet.java index 8463342cfdb..60e432e4ab2 100644 --- a/Mage.Sets/src/mage/cards/i/IfhBiffEfreet.java +++ b/Mage.Sets/src/mage/cards/i/IfhBiffEfreet.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -58,7 +59,7 @@ public class IfhBiffEfreet extends CardImpl { public IfhBiffEfreet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Efreet"); + this.subtype.add(SubType.EFREET); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/IfnirDeadlands.java b/Mage.Sets/src/mage/cards/i/IfnirDeadlands.java index 86dc112fce9..d044cd47f78 100644 --- a/Mage.Sets/src/mage/cards/i/IfnirDeadlands.java +++ b/Mage.Sets/src/mage/cards/i/IfnirDeadlands.java @@ -1,93 +1,93 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.ActivateAsSorceryActivatedAbility; -import mage.abilities.costs.common.PayLifeCost; -import mage.abilities.costs.common.SacrificeTargetCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.abilities.mana.BlackManaAbility; -import mage.abilities.mana.ColorlessManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.target.common.TargetControlledPermanent; -import mage.target.common.TargetOpponentsCreaturePermanent; - -/** - * - * @author jeffwadsworth - */ -public class IfnirDeadlands extends CardImpl { - - private static final FilterControlledPermanent filter = new FilterControlledPermanent("Desert"); - - static { - filter.add(new SubtypePredicate(SubType.DESERT)); - } - - public IfnirDeadlands(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - - this.subtype.add("Desert"); - - // {t}: Add {C} to your mana pool. - this.addAbility(new ColorlessManaAbility()); - - // {t}, Pay 1 life: Add {B} to your mana pool. - Ability manaAbility = new BlackManaAbility(); - manaAbility.addCost(new PayLifeCost(1)); - this.addAbility(manaAbility); - - // {2}{B}{B}, {t}, Sacrifice a Desert: Put two -1/-1 counters on target creature an opponent controls. Activate this ability only any time you could cast a sorcery. - Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.M1M1.createInstance(2)), new ManaCostsImpl("{2}{B}{B}")); - ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(1, 1, filter, true))); - ability.addTarget(new TargetOpponentsCreaturePermanent()); - this.addAbility(ability); - - } - - public IfnirDeadlands(final IfnirDeadlands card) { - super(card); - } - - @Override - public IfnirDeadlands copy() { - return new IfnirDeadlands(this); - } +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.ActivateAsSorceryActivatedAbility; +import mage.abilities.costs.common.PayLifeCost; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.mana.BlackManaAbility; +import mage.abilities.mana.ColorlessManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.target.common.TargetControlledPermanent; +import mage.target.common.TargetOpponentsCreaturePermanent; + +/** + * + * @author jeffwadsworth + */ +public class IfnirDeadlands extends CardImpl { + + private static final FilterControlledPermanent filter = new FilterControlledPermanent("Desert"); + + static { + filter.add(new SubtypePredicate(SubType.DESERT)); + } + + public IfnirDeadlands(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); + + this.subtype.add(SubType.DESERT); + + // {t}: Add {C} to your mana pool. + this.addAbility(new ColorlessManaAbility()); + + // {t}, Pay 1 life: Add {B} to your mana pool. + Ability manaAbility = new BlackManaAbility(); + manaAbility.addCost(new PayLifeCost(1)); + this.addAbility(manaAbility); + + // {2}{B}{B}, {t}, Sacrifice a Desert: Put two -1/-1 counters on target creature an opponent controls. Activate this ability only any time you could cast a sorcery. + Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.M1M1.createInstance(2)), new ManaCostsImpl("{2}{B}{B}")); + ability.addCost(new TapSourceCost()); + ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(1, 1, filter, true))); + ability.addTarget(new TargetOpponentsCreaturePermanent()); + this.addAbility(ability); + + } + + public IfnirDeadlands(final IfnirDeadlands card) { + super(card); + } + + @Override + public IfnirDeadlands copy() { + return new IfnirDeadlands(this); + } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/cards/i/IgneousGolem.java b/Mage.Sets/src/mage/cards/i/IgneousGolem.java index 03caf517ffb..a1107878ce2 100644 --- a/Mage.Sets/src/mage/cards/i/IgneousGolem.java +++ b/Mage.Sets/src/mage/cards/i/IgneousGolem.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class IgneousGolem extends CardImpl { public IgneousGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/IgneousPouncer.java b/Mage.Sets/src/mage/cards/i/IgneousPouncer.java index 2c716c6068e..cf646a7d31a 100644 --- a/Mage.Sets/src/mage/cards/i/IgneousPouncer.java +++ b/Mage.Sets/src/mage/cards/i/IgneousPouncer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SwampcyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class IgneousPouncer extends CardImpl { public IgneousPouncer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); diff --git a/Mage.Sets/src/mage/cards/i/IgnitionTeam.java b/Mage.Sets/src/mage/cards/i/IgnitionTeam.java index 1b5a5a3c266..5276b24e94d 100644 --- a/Mage.Sets/src/mage/cards/i/IgnitionTeam.java +++ b/Mage.Sets/src/mage/cards/i/IgnitionTeam.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -58,8 +59,8 @@ public class IgnitionTeam extends CardImpl { public IgnitionTeam(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/i/IgnobleSoldier.java b/Mage.Sets/src/mage/cards/i/IgnobleSoldier.java index 3a04355ff6f..c463f86462e 100644 --- a/Mage.Sets/src/mage/cards/i/IgnobleSoldier.java +++ b/Mage.Sets/src/mage/cards/i/IgnobleSoldier.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PreventCombatDamageBySourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class IgnobleSoldier extends CardImpl { public IgnobleSoldier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IgnorantBliss.java b/Mage.Sets/src/mage/cards/i/IgnorantBliss.java index 1b7bee6daca..afc4bcde0fa 100644 --- a/Mage.Sets/src/mage/cards/i/IgnorantBliss.java +++ b/Mage.Sets/src/mage/cards/i/IgnorantBliss.java @@ -1,141 +1,141 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.UUID; -import mage.MageObject; -import mage.abilities.Ability; -import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; -import mage.abilities.effects.Effect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.effects.common.ReturnFromExileEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.Cards; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.game.ExileZone; -import mage.game.Game; -import mage.players.Player; -import mage.util.CardUtil; - -/** - * - * @author jeffwadsworth - */ -public class IgnorantBliss extends CardImpl { - - public IgnorantBliss(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}"); - - // Exile all cards from your hand face down. At the beginning of the next end step, return those cards to your hand, then draw a card. - this.getSpellAbility().addEffect(new IgnorantBlissExileEffect()); - this.getSpellAbility().addEffect(new IgnorantBlissReturnEffect()); - - } - - public IgnorantBliss(final IgnorantBliss card) { - super(card); - } - - @Override - public IgnorantBliss copy() { - return new IgnorantBliss(this); - } -} - -class IgnorantBlissExileEffect extends OneShotEffect { - - IgnorantBlissExileEffect() { - super(Outcome.Exile); - this.staticText = "Exile all cards from your hand face down"; - } - - IgnorantBlissExileEffect(final IgnorantBlissExileEffect effect) { - super(effect); - } - - @Override - public IgnorantBlissExileEffect copy() { - return new IgnorantBlissExileEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - MageObject sourceObject = source.getSourceObject(game); - if (controller != null - && sourceObject != null) { - Cards hand = controller.getHand(); - hand.getCards(game).stream().filter((card) -> (card != null)).map((card) -> { - UUID exileZoneId = CardUtil.getExileZoneId(game, source.getSourceId(), 0); - controller.moveCardsToExile(card, source, game, false, exileZoneId, sourceObject.getIdName()); - return card; - }).forEachOrdered((card) -> { - card.setFaceDown(true, game); - }); - return true; - } - return false; - } -} - -class IgnorantBlissReturnEffect extends OneShotEffect { - - IgnorantBlissReturnEffect() { - super(Outcome.DrawCard); - this.staticText = "At the beginning of the next end step, return those cards to your hand, then draw a card"; - } - - IgnorantBlissReturnEffect(final IgnorantBlissReturnEffect effect) { - super(effect); - } - - @Override - public IgnorantBlissReturnEffect copy() { - return new IgnorantBlissReturnEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - ExileZone exileZone = game.getExile().getExileZone(CardUtil.getExileZoneId(game, source.getSourceId(), 0)); - if (exileZone != null) { - Effect effect = new ReturnFromExileEffect(exileZone.getId(), Zone.HAND); - AtTheBeginOfNextEndStepDelayedTriggeredAbility ability = new AtTheBeginOfNextEndStepDelayedTriggeredAbility(effect); - ability.addEffect(new DrawCardSourceControllerEffect(1)); - game.addDelayedTriggeredAbility(ability, source); - return true; - } - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.UUID; +import mage.MageObject; +import mage.abilities.Ability; +import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.ReturnFromExileEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.Cards; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.game.ExileZone; +import mage.game.Game; +import mage.players.Player; +import mage.util.CardUtil; + +/** + * + * @author jeffwadsworth + */ +public class IgnorantBliss extends CardImpl { + + public IgnorantBliss(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}"); + + // Exile all cards from your hand face down. At the beginning of the next end step, return those cards to your hand, then draw a card. + this.getSpellAbility().addEffect(new IgnorantBlissExileEffect()); + this.getSpellAbility().addEffect(new IgnorantBlissReturnEffect()); + + } + + public IgnorantBliss(final IgnorantBliss card) { + super(card); + } + + @Override + public IgnorantBliss copy() { + return new IgnorantBliss(this); + } +} + +class IgnorantBlissExileEffect extends OneShotEffect { + + IgnorantBlissExileEffect() { + super(Outcome.Exile); + this.staticText = "Exile all cards from your hand face down"; + } + + IgnorantBlissExileEffect(final IgnorantBlissExileEffect effect) { + super(effect); + } + + @Override + public IgnorantBlissExileEffect copy() { + return new IgnorantBlissExileEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + MageObject sourceObject = source.getSourceObject(game); + if (controller != null + && sourceObject != null) { + Cards hand = controller.getHand(); + hand.getCards(game).stream().filter((card) -> (card != null)).map((card) -> { + UUID exileZoneId = CardUtil.getExileZoneId(game, source.getSourceId(), 0); + controller.moveCardsToExile(card, source, game, false, exileZoneId, sourceObject.getIdName()); + return card; + }).forEachOrdered((card) -> { + card.setFaceDown(true, game); + }); + return true; + } + return false; + } +} + +class IgnorantBlissReturnEffect extends OneShotEffect { + + IgnorantBlissReturnEffect() { + super(Outcome.DrawCard); + this.staticText = "At the beginning of the next end step, return those cards to your hand, then draw a card"; + } + + IgnorantBlissReturnEffect(final IgnorantBlissReturnEffect effect) { + super(effect); + } + + @Override + public IgnorantBlissReturnEffect copy() { + return new IgnorantBlissReturnEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + ExileZone exileZone = game.getExile().getExileZone(CardUtil.getExileZoneId(game, source.getSourceId(), 0)); + if (exileZone != null) { + Effect effect = new ReturnFromExileEffect(exileZone.getId(), Zone.HAND); + AtTheBeginOfNextEndStepDelayedTriggeredAbility ability = new AtTheBeginOfNextEndStepDelayedTriggeredAbility(effect); + ability.addEffect(new DrawCardSourceControllerEffect(1)); + game.addDelayedTriggeredAbility(ability, source); + return true; + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/i/IhsansShade.java b/Mage.Sets/src/mage/cards/i/IhsansShade.java index c00a5252437..841881c9fd5 100644 --- a/Mage.Sets/src/mage/cards/i/IhsansShade.java +++ b/Mage.Sets/src/mage/cards/i/IhsansShade.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -45,8 +46,8 @@ public class IhsansShade extends CardImpl { public IhsansShade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Shade"); - this.subtype.add("Knight"); + this.subtype.add(SubType.SHADE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/i/IizukaTheRuthless.java b/Mage.Sets/src/mage/cards/i/IizukaTheRuthless.java index c5260456e0a..392fa2ea140 100644 --- a/Mage.Sets/src/mage/cards/i/IizukaTheRuthless.java +++ b/Mage.Sets/src/mage/cards/i/IizukaTheRuthless.java @@ -58,8 +58,8 @@ public class IizukaTheRuthless extends CardImpl { public IizukaTheRuthless(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/IkiralOutrider.java b/Mage.Sets/src/mage/cards/i/IkiralOutrider.java index c2aed702bfc..25391cdbbdc 100644 --- a/Mage.Sets/src/mage/cards/i/IkiralOutrider.java +++ b/Mage.Sets/src/mage/cards/i/IkiralOutrider.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -49,8 +50,8 @@ public class IkiralOutrider extends LevelerCard { public IkiralOutrider (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.color.setWhite(true); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/IkraShidiqiTheUsurper.java b/Mage.Sets/src/mage/cards/i/IkraShidiqiTheUsurper.java index 7491c518744..cb990d46229 100644 --- a/Mage.Sets/src/mage/cards/i/IkraShidiqiTheUsurper.java +++ b/Mage.Sets/src/mage/cards/i/IkraShidiqiTheUsurper.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.PartnerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.game.Game; @@ -54,8 +55,8 @@ public class IkraShidiqiTheUsurper extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Naga"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/i/IllTemperedCyclops.java b/Mage.Sets/src/mage/cards/i/IllTemperedCyclops.java index faed092b4f0..c9364cd75c5 100644 --- a/Mage.Sets/src/mage/cards/i/IllTemperedCyclops.java +++ b/Mage.Sets/src/mage/cards/i/IllTemperedCyclops.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class IllTemperedCyclops extends CardImpl { public IllTemperedCyclops(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Cyclops"); + this.subtype.add(SubType.CYCLOPS); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/IlluminatedWings.java b/Mage.Sets/src/mage/cards/i/IlluminatedWings.java index d18e2191133..292d9ed095a 100644 --- a/Mage.Sets/src/mage/cards/i/IlluminatedWings.java +++ b/Mage.Sets/src/mage/cards/i/IlluminatedWings.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -55,7 +56,7 @@ public class IlluminatedWings extends CardImpl { public IlluminatedWings(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/i/IllusionaryArmor.java b/Mage.Sets/src/mage/cards/i/IllusionaryArmor.java index e109521a378..8c3a2927bb6 100644 --- a/Mage.Sets/src/mage/cards/i/IllusionaryArmor.java +++ b/Mage.Sets/src/mage/cards/i/IllusionaryArmor.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class IllusionaryArmor extends CardImpl { public IllusionaryArmor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant Creature diff --git a/Mage.Sets/src/mage/cards/i/IllusionaryForces.java b/Mage.Sets/src/mage/cards/i/IllusionaryForces.java index 3c1648cf7bd..a6e6ebe9f03 100644 --- a/Mage.Sets/src/mage/cards/i/IllusionaryForces.java +++ b/Mage.Sets/src/mage/cards/i/IllusionaryForces.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class IllusionaryForces extends CardImpl { public IllusionaryForces(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/IllusionaryServant.java b/Mage.Sets/src/mage/cards/i/IllusionaryServant.java index 1979efdbe90..db30aede782 100644 --- a/Mage.Sets/src/mage/cards/i/IllusionaryServant.java +++ b/Mage.Sets/src/mage/cards/i/IllusionaryServant.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class IllusionaryServant extends CardImpl { public IllusionaryServant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/IllusionaryWall.java b/Mage.Sets/src/mage/cards/i/IllusionaryWall.java index 3bc030720e7..862b899ae70 100644 --- a/Mage.Sets/src/mage/cards/i/IllusionaryWall.java +++ b/Mage.Sets/src/mage/cards/i/IllusionaryWall.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class IllusionaryWall extends CardImpl { public IllusionaryWall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Illusion"); - this.subtype.add("Wall"); + this.subtype.add(SubType.ILLUSION); + this.subtype.add(SubType.WALL); this.power = new MageInt(7); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/IllusionistsBracers.java b/Mage.Sets/src/mage/cards/i/IllusionistsBracers.java index 4bfb89106bf..c5de31a6ab9 100644 --- a/Mage.Sets/src/mage/cards/i/IllusionistsBracers.java +++ b/Mage.Sets/src/mage/cards/i/IllusionistsBracers.java @@ -38,6 +38,7 @@ import mage.abilities.mana.ActivatedManaAbilityImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -55,7 +56,7 @@ public class IllusionistsBracers extends CardImpl { public IllusionistsBracers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Whenever an ability of equipped creature is activated, if it isn't a mana ability, copy that ability. You may choose new targets for the copy. this.addAbility(new AbilityActivatedTriggeredAbility()); diff --git a/Mage.Sets/src/mage/cards/i/IllusionistsStratagem.java b/Mage.Sets/src/mage/cards/i/IllusionistsStratagem.java index 5a2386763eb..8d4addc91e4 100644 --- a/Mage.Sets/src/mage/cards/i/IllusionistsStratagem.java +++ b/Mage.Sets/src/mage/cards/i/IllusionistsStratagem.java @@ -1,71 +1,71 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.UUID; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.effects.common.ExileTargetForSourceEffect; -import mage.abilities.effects.common.ReturnToBattlefieldUnderYourControlTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.common.FilterControlledCreaturePermanent; -import mage.target.common.TargetControlledCreaturePermanent; - -/** - * - * @author Styxo - */ -public class IllusionistsStratagem extends CardImpl { - - public IllusionistsStratagem(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{U}"); - - // Exile up to two target creatures you control, then return those cards to the battlefield under their owner's control. - this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent(0, 2, new FilterControlledCreaturePermanent("creatures you control"), false)); - Effect effect = new ExileTargetForSourceEffect(); - effect.setText("Exile up to two target creatures you control"); - this.getSpellAbility().addEffect(effect); - effect = new ReturnToBattlefieldUnderYourControlTargetEffect(true); - effect.setText(", then return those cards to the battlefield under their owner's control"); - this.getSpellAbility().addEffect(effect); - - // Draw a card. - this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); - } - - public IllusionistsStratagem(final IllusionistsStratagem card) { - super(card); - } - - @Override - public IllusionistsStratagem copy() { - return new IllusionistsStratagem(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.UUID; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.ExileTargetForSourceEffect; +import mage.abilities.effects.common.ReturnToBattlefieldUnderYourControlTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.target.common.TargetControlledCreaturePermanent; + +/** + * + * @author Styxo + */ +public class IllusionistsStratagem extends CardImpl { + + public IllusionistsStratagem(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{U}"); + + // Exile up to two target creatures you control, then return those cards to the battlefield under their owner's control. + this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent(0, 2, new FilterControlledCreaturePermanent("creatures you control"), false)); + Effect effect = new ExileTargetForSourceEffect(); + effect.setText("Exile up to two target creatures you control"); + this.getSpellAbility().addEffect(effect); + effect = new ReturnToBattlefieldUnderYourControlTargetEffect(true); + effect.setText(", then return those cards to the battlefield under their owner's control"); + this.getSpellAbility().addEffect(effect); + + // Draw a card. + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); + } + + public IllusionistsStratagem(final IllusionistsStratagem card) { + super(card); + } + + @Override + public IllusionistsStratagem copy() { + return new IllusionistsStratagem(this); + } +} diff --git a/Mage.Sets/src/mage/cards/i/IllusoryAmbusher.java b/Mage.Sets/src/mage/cards/i/IllusoryAmbusher.java index 0519311b4ad..c8f112bddb1 100644 --- a/Mage.Sets/src/mage/cards/i/IllusoryAmbusher.java +++ b/Mage.Sets/src/mage/cards/i/IllusoryAmbusher.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -49,8 +50,8 @@ public class IllusoryAmbusher extends CardImpl { public IllusoryAmbusher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Cat"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IllusoryAngel.java b/Mage.Sets/src/mage/cards/i/IllusoryAngel.java index df0fe9b111c..3b084fe5dc3 100644 --- a/Mage.Sets/src/mage/cards/i/IllusoryAngel.java +++ b/Mage.Sets/src/mage/cards/i/IllusoryAngel.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class IllusoryAngel extends CardImpl { public IllusoryAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Angel"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ANGEL); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/IllusoryDemon.java b/Mage.Sets/src/mage/cards/i/IllusoryDemon.java index 033b5fffc6f..e5db8d487f4 100644 --- a/Mage.Sets/src/mage/cards/i/IllusoryDemon.java +++ b/Mage.Sets/src/mage/cards/i/IllusoryDemon.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class IllusoryDemon extends CardImpl { public IllusoryDemon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{B}"); - this.subtype.add("Demon"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.DEMON); + this.subtype.add(SubType.ILLUSION); diff --git a/Mage.Sets/src/mage/cards/i/IllusoryGains.java b/Mage.Sets/src/mage/cards/i/IllusoryGains.java index 5e40297746b..74c227de3b2 100644 --- a/Mage.Sets/src/mage/cards/i/IllusoryGains.java +++ b/Mage.Sets/src/mage/cards/i/IllusoryGains.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.constants.TargetController; @@ -65,7 +66,7 @@ public class IllusoryGains extends CardImpl { public IllusoryGains(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/i/IllusoryWrappings.java b/Mage.Sets/src/mage/cards/i/IllusoryWrappings.java index 45b5b6c3434..e305bb678ca 100644 --- a/Mage.Sets/src/mage/cards/i/IllusoryWrappings.java +++ b/Mage.Sets/src/mage/cards/i/IllusoryWrappings.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class IllusoryWrappings extends CardImpl { public IllusoryWrappings(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/i/Imagecrafter.java b/Mage.Sets/src/mage/cards/i/Imagecrafter.java index 8c7f7bccedc..52aca24e9b4 100644 --- a/Mage.Sets/src/mage/cards/i/Imagecrafter.java +++ b/Mage.Sets/src/mage/cards/i/Imagecrafter.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BecomesChosenCreatureTypeTargetE import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -47,8 +48,8 @@ public class Imagecrafter extends CardImpl { public Imagecrafter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/ImagesOfThePast.java b/Mage.Sets/src/mage/cards/i/ImagesOfThePast.java index 047427d8bb7..f8fd54d611c 100644 --- a/Mage.Sets/src/mage/cards/i/ImagesOfThePast.java +++ b/Mage.Sets/src/mage/cards/i/ImagesOfThePast.java @@ -1,102 +1,102 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.List; -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.common.FilterCreatureCard; -import mage.game.Game; -import mage.players.Player; -import mage.target.common.TargetCardInYourGraveyard; - -/** - * - * @author Styxo - */ -public class ImagesOfThePast extends CardImpl { - - public ImagesOfThePast(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{G}{W}"); - - // Return up to two target creature cards from your graveyard to the battlefield, then exile those creatures. - this.getSpellAbility().addEffect(new ImagesOfThePastEffect()); - this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 2, new FilterCreatureCard("creature cards from your graveyard"))); - - } - - public ImagesOfThePast(final ImagesOfThePast card) { - super(card); - } - - @Override - public ImagesOfThePast copy() { - return new ImagesOfThePast(this); - } -} - -class ImagesOfThePastEffect extends OneShotEffect { - - ImagesOfThePastEffect() { - super(Outcome.PutCreatureInPlay); - this.staticText = "Return up to two target creature cards from your graveyard to the battlefield, then exile those creatures"; - } - - ImagesOfThePastEffect(final ImagesOfThePastEffect effect) { - super(effect); - } - - @Override - public ImagesOfThePastEffect copy() { - return new ImagesOfThePastEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player player = game.getPlayer(source.getControllerId()); - if (player != null) { - List targets = source.getTargets().get(0).getTargets(); - for (UUID targetId : targets) { - Card card = game.getCard(targetId); - if (card != null) { - player.moveCards(card, Zone.BATTLEFIELD, source, game); - player.moveCards(card, Zone.EXILED, source, game); - } - } - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.List; +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.common.FilterCreatureCard; +import mage.game.Game; +import mage.players.Player; +import mage.target.common.TargetCardInYourGraveyard; + +/** + * + * @author Styxo + */ +public class ImagesOfThePast extends CardImpl { + + public ImagesOfThePast(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{G}{W}"); + + // Return up to two target creature cards from your graveyard to the battlefield, then exile those creatures. + this.getSpellAbility().addEffect(new ImagesOfThePastEffect()); + this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 2, new FilterCreatureCard("creature cards from your graveyard"))); + + } + + public ImagesOfThePast(final ImagesOfThePast card) { + super(card); + } + + @Override + public ImagesOfThePast copy() { + return new ImagesOfThePast(this); + } +} + +class ImagesOfThePastEffect extends OneShotEffect { + + ImagesOfThePastEffect() { + super(Outcome.PutCreatureInPlay); + this.staticText = "Return up to two target creature cards from your graveyard to the battlefield, then exile those creatures"; + } + + ImagesOfThePastEffect(final ImagesOfThePastEffect effect) { + super(effect); + } + + @Override + public ImagesOfThePastEffect copy() { + return new ImagesOfThePastEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getControllerId()); + if (player != null) { + List targets = source.getTargets().get(0).getTargets(); + for (UUID targetId : targets) { + Card card = game.getCard(targetId); + if (card != null) { + player.moveCards(card, Zone.BATTLEFIELD, source, game); + player.moveCards(card, Zone.EXILED, source, game); + } + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/i/ImaginaryPet.java b/Mage.Sets/src/mage/cards/i/ImaginaryPet.java index a1d474638d8..8d20c701ad1 100644 --- a/Mage.Sets/src/mage/cards/i/ImaginaryPet.java +++ b/Mage.Sets/src/mage/cards/i/ImaginaryPet.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.TargetController; @@ -48,7 +49,7 @@ public class ImaginaryPet extends CardImpl { public ImaginaryPet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/ImmaculateMagistrate.java b/Mage.Sets/src/mage/cards/i/ImmaculateMagistrate.java index 8debf39ecfe..6354abe13c2 100644 --- a/Mage.Sets/src/mage/cards/i/ImmaculateMagistrate.java +++ b/Mage.Sets/src/mage/cards/i/ImmaculateMagistrate.java @@ -54,8 +54,8 @@ public class ImmaculateMagistrate extends CardImpl { public ImmaculateMagistrate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/Immerwolf.java b/Mage.Sets/src/mage/cards/i/Immerwolf.java index ba779f9ce8c..05ebd73ae76 100644 --- a/Mage.Sets/src/mage/cards/i/Immerwolf.java +++ b/Mage.Sets/src/mage/cards/i/Immerwolf.java @@ -59,7 +59,7 @@ public class Immerwolf extends CardImpl { public Immerwolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/ImmobilizerEldrazi.java b/Mage.Sets/src/mage/cards/i/ImmobilizerEldrazi.java index 052436c03eb..710547162d8 100644 --- a/Mage.Sets/src/mage/cards/i/ImmobilizerEldrazi.java +++ b/Mage.Sets/src/mage/cards/i/ImmobilizerEldrazi.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -58,8 +59,8 @@ public class ImmobilizerEldrazi extends CardImpl { public ImmobilizerEldrazi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/ImmobilizingInk.java b/Mage.Sets/src/mage/cards/i/ImmobilizingInk.java index 98fdc7e7cd8..91648cbf4c6 100644 --- a/Mage.Sets/src/mage/cards/i/ImmobilizingInk.java +++ b/Mage.Sets/src/mage/cards/i/ImmobilizingInk.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class ImmobilizingInk extends CardImpl { public ImmobilizingInk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/i/ImmolatingSouleater.java b/Mage.Sets/src/mage/cards/i/ImmolatingSouleater.java index 3b61af85fec..dfaf9a7229a 100644 --- a/Mage.Sets/src/mage/cards/i/ImmolatingSouleater.java +++ b/Mage.Sets/src/mage/cards/i/ImmolatingSouleater.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class ImmolatingSouleater extends CardImpl { public ImmolatingSouleater(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/Immolation.java b/Mage.Sets/src/mage/cards/i/Immolation.java index d72ba417281..a66c785ef1b 100644 --- a/Mage.Sets/src/mage/cards/i/Immolation.java +++ b/Mage.Sets/src/mage/cards/i/Immolation.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class Immolation extends CardImpl { public Immolation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/i/ImpalerShrike.java b/Mage.Sets/src/mage/cards/i/ImpalerShrike.java index f03a6229391..90348bd9ad7 100644 --- a/Mage.Sets/src/mage/cards/i/ImpalerShrike.java +++ b/Mage.Sets/src/mage/cards/i/ImpalerShrike.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class ImpalerShrike extends CardImpl { public ImpalerShrike(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/ImpelledGiant.java b/Mage.Sets/src/mage/cards/i/ImpelledGiant.java index 7c9cb6d2fac..5bec4dc3eca 100644 --- a/Mage.Sets/src/mage/cards/i/ImpelledGiant.java +++ b/Mage.Sets/src/mage/cards/i/ImpelledGiant.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -71,8 +72,8 @@ public class ImpelledGiant extends CardImpl { public ImpelledGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/ImperialGunner.java b/Mage.Sets/src/mage/cards/i/ImperialGunner.java index e49d39b7977..9ca9bffa957 100644 --- a/Mage.Sets/src/mage/cards/i/ImperialGunner.java +++ b/Mage.Sets/src/mage/cards/i/ImperialGunner.java @@ -1,80 +1,80 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DamageTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterCreatureOrPlayer; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.target.common.TargetCreatureOrPlayer; - -/** - * - * @author Styxo - */ -public class ImperialGunner extends CardImpl { - - private static final FilterCreatureOrPlayer filter = new FilterCreatureOrPlayer("target player or Starship creature"); - - static { - filter.getCreatureFilter().add(new SubtypePredicate(SubType.STARSHIP)); - } - - public ImperialGunner(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.power = new MageInt(1); - this.toughness = new MageInt(2); - - // {1},{T}:Imperial Gunner deals 1 damage to target player or Starship creature. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{1}")); - ability.addTarget(new TargetCreatureOrPlayer(filter)); - ability.addCost(new TapSourceCost()); - this.addAbility(ability); - } - - public ImperialGunner(final ImperialGunner card) { - super(card); - } - - @Override - public ImperialGunner copy() { - return new ImperialGunner(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterCreatureOrPlayer; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.target.common.TargetCreatureOrPlayer; + +/** + * + * @author Styxo + */ +public class ImperialGunner extends CardImpl { + + private static final FilterCreatureOrPlayer filter = new FilterCreatureOrPlayer("target player or Starship creature"); + + static { + filter.getCreatureFilter().add(new SubtypePredicate(SubType.STARSHIP)); + } + + public ImperialGunner(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.power = new MageInt(1); + this.toughness = new MageInt(2); + + // {1},{T}:Imperial Gunner deals 1 damage to target player or Starship creature. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl("{1}")); + ability.addTarget(new TargetCreatureOrPlayer(filter)); + ability.addCost(new TapSourceCost()); + this.addAbility(ability); + } + + public ImperialGunner(final ImperialGunner card) { + super(card); + } + + @Override + public ImperialGunner copy() { + return new ImperialGunner(this); + } +} diff --git a/Mage.Sets/src/mage/cards/i/ImperialHellkite.java b/Mage.Sets/src/mage/cards/i/ImperialHellkite.java index a70861b715f..0728eec05d2 100644 --- a/Mage.Sets/src/mage/cards/i/ImperialHellkite.java +++ b/Mage.Sets/src/mage/cards/i/ImperialHellkite.java @@ -50,7 +50,7 @@ public class ImperialHellkite extends CardImpl { public ImperialHellkite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/i/ImperialRecruiter.java b/Mage.Sets/src/mage/cards/i/ImperialRecruiter.java index be76ce4c3ac..1f4bd609b42 100644 --- a/Mage.Sets/src/mage/cards/i/ImperialRecruiter.java +++ b/Mage.Sets/src/mage/cards/i/ImperialRecruiter.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.PowerPredicate; @@ -53,8 +54,8 @@ public class ImperialRecruiter extends CardImpl { public ImperialRecruiter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/ImperiousPerfect.java b/Mage.Sets/src/mage/cards/i/ImperiousPerfect.java index 717b11c8209..9d7a4caa23d 100644 --- a/Mage.Sets/src/mage/cards/i/ImperiousPerfect.java +++ b/Mage.Sets/src/mage/cards/i/ImperiousPerfect.java @@ -57,8 +57,8 @@ public class ImperiousPerfect extends CardImpl { public ImperiousPerfect(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/ImpetuousDevils.java b/Mage.Sets/src/mage/cards/i/ImpetuousDevils.java index 133c61cc27c..141e0d1df4d 100644 --- a/Mage.Sets/src/mage/cards/i/ImpetuousDevils.java +++ b/Mage.Sets/src/mage/cards/i/ImpetuousDevils.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class ImpetuousDevils extends CardImpl { public ImpetuousDevils(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(6); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/ImpetuousSunchaser.java b/Mage.Sets/src/mage/cards/i/ImpetuousSunchaser.java index 83629e0231f..76c9aa30f0f 100644 --- a/Mage.Sets/src/mage/cards/i/ImpetuousSunchaser.java +++ b/Mage.Sets/src/mage/cards/i/ImpetuousSunchaser.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class ImpetuousSunchaser extends CardImpl { public ImpetuousSunchaser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/ImposingSovereign.java b/Mage.Sets/src/mage/cards/i/ImposingSovereign.java index fa86368d260..1b4fa6f0d24 100644 --- a/Mage.Sets/src/mage/cards/i/ImposingSovereign.java +++ b/Mage.Sets/src/mage/cards/i/ImposingSovereign.java @@ -35,6 +35,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class ImposingSovereign extends CardImpl { public ImposingSovereign(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/ImposingVisage.java b/Mage.Sets/src/mage/cards/i/ImposingVisage.java index 737bba29a2d..8e3d76dd726 100644 --- a/Mage.Sets/src/mage/cards/i/ImposingVisage.java +++ b/Mage.Sets/src/mage/cards/i/ImposingVisage.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class ImposingVisage extends CardImpl { public ImposingVisage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/i/ImprisonedInTheMoon.java b/Mage.Sets/src/mage/cards/i/ImprisonedInTheMoon.java index 1afecae365a..a3b7bd8e9b4 100644 --- a/Mage.Sets/src/mage/cards/i/ImprisonedInTheMoon.java +++ b/Mage.Sets/src/mage/cards/i/ImprisonedInTheMoon.java @@ -37,6 +37,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -65,7 +66,7 @@ public class ImprisonedInTheMoon extends CardImpl { public ImprisonedInTheMoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature, land, or planeswalker TargetPermanent auraTarget = new TargetPermanent(filter); diff --git a/Mage.Sets/src/mage/cards/i/ImprovisedArmor.java b/Mage.Sets/src/mage/cards/i/ImprovisedArmor.java index 8a7fe8fa15c..4230a8f4c56 100644 --- a/Mage.Sets/src/mage/cards/i/ImprovisedArmor.java +++ b/Mage.Sets/src/mage/cards/i/ImprovisedArmor.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class ImprovisedArmor extends CardImpl { public ImprovisedArmor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/i/ImpulsiveWager.java b/Mage.Sets/src/mage/cards/i/ImpulsiveWager.java index 3026668273a..b023a00e577 100644 --- a/Mage.Sets/src/mage/cards/i/ImpulsiveWager.java +++ b/Mage.Sets/src/mage/cards/i/ImpulsiveWager.java @@ -1,110 +1,110 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.List; -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.costs.common.DiscardCardCost; -import mage.abilities.effects.Effect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.counters.CounterType; -import mage.game.Game; -import mage.players.Player; -import mage.target.common.TargetOpponentsCreaturePermanent; - -/** - * - * @author Styxo - */ -public class ImpulsiveWager extends CardImpl { - - public ImpulsiveWager(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}"); - - // As an additional cost to cast Irresponsible Gambling, discard a card at random. - this.getSpellAbility().addCost(new DiscardCardCost(true)); - - // If the discarded card was a nonland card, draw two cards. Otherwise, put a bounty counter on target creature. - this.getSpellAbility().addEffect(new ImpulsiveWagerEffect()); - this.getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent()); - } - - public ImpulsiveWager(final ImpulsiveWager card) { - super(card); - } - - @Override - public ImpulsiveWager copy() { - return new ImpulsiveWager(this); - } -} - -class ImpulsiveWagerEffect extends OneShotEffect { - - public ImpulsiveWagerEffect() { - super(Outcome.Benefit); - staticText = "If the discarded card was a nonland card, draw two cards. Otherwise, put a bounty counter on target creature"; - } - - public ImpulsiveWagerEffect(final ImpulsiveWagerEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Player player = game.getPlayer(source.getControllerId()); - if (player != null) { - DiscardCardCost cost = (DiscardCardCost) source.getCosts().get(0); - if (cost != null) { - List cards = cost.getCards(); - if (cards.size() == 1 && cards.get(0).isLand()) { - Effect effect = new AddCountersTargetEffect(CounterType.BOUNTY.createInstance()); - effect.setTargetPointer(getTargetPointer()); - effect.apply(game, source); - } else { - player.drawCards(2, game); - } - - } - return true; - } - return false; - } - - @Override - public ImpulsiveWagerEffect copy() { - return new ImpulsiveWagerEffect(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.List; +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.costs.common.DiscardCardCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.counters.CounterType; +import mage.game.Game; +import mage.players.Player; +import mage.target.common.TargetOpponentsCreaturePermanent; + +/** + * + * @author Styxo + */ +public class ImpulsiveWager extends CardImpl { + + public ImpulsiveWager(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}"); + + // As an additional cost to cast Irresponsible Gambling, discard a card at random. + this.getSpellAbility().addCost(new DiscardCardCost(true)); + + // If the discarded card was a nonland card, draw two cards. Otherwise, put a bounty counter on target creature. + this.getSpellAbility().addEffect(new ImpulsiveWagerEffect()); + this.getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent()); + } + + public ImpulsiveWager(final ImpulsiveWager card) { + super(card); + } + + @Override + public ImpulsiveWager copy() { + return new ImpulsiveWager(this); + } +} + +class ImpulsiveWagerEffect extends OneShotEffect { + + public ImpulsiveWagerEffect() { + super(Outcome.Benefit); + staticText = "If the discarded card was a nonland card, draw two cards. Otherwise, put a bounty counter on target creature"; + } + + public ImpulsiveWagerEffect(final ImpulsiveWagerEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getControllerId()); + if (player != null) { + DiscardCardCost cost = (DiscardCardCost) source.getCosts().get(0); + if (cost != null) { + List cards = cost.getCards(); + if (cards.size() == 1 && cards.get(0).isLand()) { + Effect effect = new AddCountersTargetEffect(CounterType.BOUNTY.createInstance()); + effect.setTargetPointer(getTargetPointer()); + effect.apply(game, source); + } else { + player.drawCards(2, game); + } + + } + return true; + } + return false; + } + + @Override + public ImpulsiveWagerEffect copy() { + return new ImpulsiveWagerEffect(this); + } +} diff --git a/Mage.Sets/src/mage/cards/i/InallaArchmageRitualist.java b/Mage.Sets/src/mage/cards/i/InallaArchmageRitualist.java index a9cfb556181..b425301391f 100644 --- a/Mage.Sets/src/mage/cards/i/InallaArchmageRitualist.java +++ b/Mage.Sets/src/mage/cards/i/InallaArchmageRitualist.java @@ -85,8 +85,8 @@ public class InallaArchmageRitualist extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/i/InameAsOne.java b/Mage.Sets/src/mage/cards/i/InameAsOne.java index eda1e5a3769..09b917e651d 100644 --- a/Mage.Sets/src/mage/cards/i/InameAsOne.java +++ b/Mage.Sets/src/mage/cards/i/InameAsOne.java @@ -71,7 +71,7 @@ public class InameAsOne extends CardImpl { public InameAsOne(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{8}{B}{B}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/i/InameDeathAspect.java b/Mage.Sets/src/mage/cards/i/InameDeathAspect.java index bc20befdd12..dc985f65534 100644 --- a/Mage.Sets/src/mage/cards/i/InameDeathAspect.java +++ b/Mage.Sets/src/mage/cards/i/InameDeathAspect.java @@ -51,7 +51,7 @@ public class InameDeathAspect extends CardImpl { public InameDeathAspect(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/InameLifeAspect.java b/Mage.Sets/src/mage/cards/i/InameLifeAspect.java index 393d210fc09..83c33b9c44e 100644 --- a/Mage.Sets/src/mage/cards/i/InameLifeAspect.java +++ b/Mage.Sets/src/mage/cards/i/InameLifeAspect.java @@ -63,7 +63,7 @@ public class InameLifeAspect extends CardImpl { public InameLifeAspect(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/IncandescentSoulstoke.java b/Mage.Sets/src/mage/cards/i/IncandescentSoulstoke.java index 1b598083dac..99f152e8460 100644 --- a/Mage.Sets/src/mage/cards/i/IncandescentSoulstoke.java +++ b/Mage.Sets/src/mage/cards/i/IncandescentSoulstoke.java @@ -69,8 +69,8 @@ public class IncandescentSoulstoke extends CardImpl { public IncandescentSoulstoke(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/IncitedRabble.java b/Mage.Sets/src/mage/cards/i/IncitedRabble.java index 42ff05b1069..ff2cd7bc760 100644 --- a/Mage.Sets/src/mage/cards/i/IncitedRabble.java +++ b/Mage.Sets/src/mage/cards/i/IncitedRabble.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class IncitedRabble extends CardImpl { public IncitedRabble(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(2); this.toughness = new MageInt(3); this.color.setRed(true); diff --git a/Mage.Sets/src/mage/cards/i/IncorrigibleYouths.java b/Mage.Sets/src/mage/cards/i/IncorrigibleYouths.java index 294d2069662..afc03f2d9cb 100644 --- a/Mage.Sets/src/mage/cards/i/IncorrigibleYouths.java +++ b/Mage.Sets/src/mage/cards/i/IncorrigibleYouths.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MadnessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class IncorrigibleYouths extends CardImpl { public IncorrigibleYouths(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/IncubatorDrone.java b/Mage.Sets/src/mage/cards/i/IncubatorDrone.java index 8d18e1abcce..824744b2ab4 100644 --- a/Mage.Sets/src/mage/cards/i/IncubatorDrone.java +++ b/Mage.Sets/src/mage/cards/i/IncubatorDrone.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.EldraziScionToken; /** @@ -46,8 +47,8 @@ public class IncubatorDrone extends CardImpl { public IncubatorDrone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/IncurableOgre.java b/Mage.Sets/src/mage/cards/i/IncurableOgre.java index 546d6031a94..02ed8e68dac 100644 --- a/Mage.Sets/src/mage/cards/i/IncurableOgre.java +++ b/Mage.Sets/src/mage/cards/i/IncurableOgre.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class IncurableOgre extends CardImpl { public IncurableOgre (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(5); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IncursionSpecialist.java b/Mage.Sets/src/mage/cards/i/IncursionSpecialist.java index e9a6151aae0..3d1720c92dd 100644 --- a/Mage.Sets/src/mage/cards/i/IncursionSpecialist.java +++ b/Mage.Sets/src/mage/cards/i/IncursionSpecialist.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -50,8 +51,8 @@ public class IncursionSpecialist extends CardImpl { public IncursionSpecialist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/IndebtedSamurai.java b/Mage.Sets/src/mage/cards/i/IndebtedSamurai.java index 038d750faa5..65dfe635e1f 100644 --- a/Mage.Sets/src/mage/cards/i/IndebtedSamurai.java +++ b/Mage.Sets/src/mage/cards/i/IndebtedSamurai.java @@ -56,8 +56,8 @@ public class IndebtedSamurai extends CardImpl { public IndebtedSamurai(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/IndenturedOaf.java b/Mage.Sets/src/mage/cards/i/IndenturedOaf.java index d023f950f7f..5bc219da760 100644 --- a/Mage.Sets/src/mage/cards/i/IndenturedOaf.java +++ b/Mage.Sets/src/mage/cards/i/IndenturedOaf.java @@ -1,99 +1,100 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.PreventionEffectImpl; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.permanent.Permanent; - -/** - * - * @author LevelX2 - */ -public class IndenturedOaf extends CardImpl { - - public IndenturedOaf(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); - this.power = new MageInt(4); - this.toughness = new MageInt(3); - - // Prevent all damage that Indentured Oaf would deal to red creatures. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new IndenturedOafPreventEffectEffect(Duration.WhileOnBattlefield))); - } - - public IndenturedOaf(final IndenturedOaf card) { - super(card); - } - - @Override - public IndenturedOaf copy() { - return new IndenturedOaf(this); - } -} - -class IndenturedOafPreventEffectEffect extends PreventionEffectImpl { - - public IndenturedOafPreventEffectEffect(Duration duration) { - super(duration, Integer.MAX_VALUE, false); - staticText = "Prevent all damage that {this} would deal to red creatures"; - } - - public IndenturedOafPreventEffectEffect(final IndenturedOafPreventEffectEffect effect) { - super(effect); - } - - @Override - public IndenturedOafPreventEffectEffect copy() { - return new IndenturedOafPreventEffectEffect(this); - } - - @Override - public boolean applies(GameEvent event, Ability source, Game game) { - if (super.applies(event, source, game)) { - if (event.getSourceId().equals(source.getSourceId())) { - Permanent damageTo = game.getPermanent(event.getTargetId()); - return damageTo != null && damageTo.getColor(game).isRed(); - } - } - return false; - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.PreventionEffectImpl; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; + +/** + * + * @author LevelX2 + */ +public class IndenturedOaf extends CardImpl { + + public IndenturedOaf(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); + + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(4); + this.toughness = new MageInt(3); + + // Prevent all damage that Indentured Oaf would deal to red creatures. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new IndenturedOafPreventEffectEffect(Duration.WhileOnBattlefield))); + } + + public IndenturedOaf(final IndenturedOaf card) { + super(card); + } + + @Override + public IndenturedOaf copy() { + return new IndenturedOaf(this); + } +} + +class IndenturedOafPreventEffectEffect extends PreventionEffectImpl { + + public IndenturedOafPreventEffectEffect(Duration duration) { + super(duration, Integer.MAX_VALUE, false); + staticText = "Prevent all damage that {this} would deal to red creatures"; + } + + public IndenturedOafPreventEffectEffect(final IndenturedOafPreventEffectEffect effect) { + super(effect); + } + + @Override + public IndenturedOafPreventEffectEffect copy() { + return new IndenturedOafPreventEffectEffect(this); + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + if (super.applies(event, source, game)) { + if (event.getSourceId().equals(source.getSourceId())) { + Permanent damageTo = game.getPermanent(event.getTargetId()); + return damageTo != null && damageTo.getColor(game).isRed(); + } + } + return false; + } + +} diff --git a/Mage.Sets/src/mage/cards/i/IndependentTroops.java b/Mage.Sets/src/mage/cards/i/IndependentTroops.java index a716970ff85..603fafc50e4 100644 --- a/Mage.Sets/src/mage/cards/i/IndependentTroops.java +++ b/Mage.Sets/src/mage/cards/i/IndependentTroops.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class IndependentTroops extends CardImpl { public IndependentTroops(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/Indestructibility.java b/Mage.Sets/src/mage/cards/i/Indestructibility.java index 412bc6ec7cd..afcad5bfcd2 100644 --- a/Mage.Sets/src/mage/cards/i/Indestructibility.java +++ b/Mage.Sets/src/mage/cards/i/Indestructibility.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class Indestructibility extends CardImpl { public Indestructibility(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant permanent diff --git a/Mage.Sets/src/mage/cards/i/IndigoFaerie.java b/Mage.Sets/src/mage/cards/i/IndigoFaerie.java index b8db45db2b9..7c54bd546b2 100644 --- a/Mage.Sets/src/mage/cards/i/IndigoFaerie.java +++ b/Mage.Sets/src/mage/cards/i/IndigoFaerie.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -54,8 +55,8 @@ public class IndigoFaerie extends CardImpl { public IndigoFaerie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IndomitableAncients.java b/Mage.Sets/src/mage/cards/i/IndomitableAncients.java index 536fee44e3d..8ac5abae9c3 100644 --- a/Mage.Sets/src/mage/cards/i/IndomitableAncients.java +++ b/Mage.Sets/src/mage/cards/i/IndomitableAncients.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class IndomitableAncients extends CardImpl { public IndomitableAncients(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Treefolk"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(10); diff --git a/Mage.Sets/src/mage/cards/i/IndomitableArchangel.java b/Mage.Sets/src/mage/cards/i/IndomitableArchangel.java index c48a499e2f2..452ecae6f1c 100644 --- a/Mage.Sets/src/mage/cards/i/IndomitableArchangel.java +++ b/Mage.Sets/src/mage/cards/i/IndomitableArchangel.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -60,7 +61,7 @@ public class IndomitableArchangel extends CardImpl { public IndomitableArchangel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/IndomitableWill.java b/Mage.Sets/src/mage/cards/i/IndomitableWill.java index 6a8ca89b9d3..aa67acafc3f 100644 --- a/Mage.Sets/src/mage/cards/i/IndomitableWill.java +++ b/Mage.Sets/src/mage/cards/i/IndomitableWill.java @@ -49,7 +49,7 @@ public class IndomitableWill extends CardImpl { public IndomitableWill (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/i/IndrikStomphowler.java b/Mage.Sets/src/mage/cards/i/IndrikStomphowler.java index 4ba730da6e8..ca867e6a46d 100644 --- a/Mage.Sets/src/mage/cards/i/IndrikStomphowler.java +++ b/Mage.Sets/src/mage/cards/i/IndrikStomphowler.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -46,7 +47,7 @@ public class IndrikStomphowler extends CardImpl { public IndrikStomphowler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/IndrikUmbra.java b/Mage.Sets/src/mage/cards/i/IndrikUmbra.java index 6989ce57287..f54734d2f6f 100644 --- a/Mage.Sets/src/mage/cards/i/IndrikUmbra.java +++ b/Mage.Sets/src/mage/cards/i/IndrikUmbra.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class IndrikUmbra extends CardImpl { public IndrikUmbra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{G}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/i/IndulgentAristocrat.java b/Mage.Sets/src/mage/cards/i/IndulgentAristocrat.java index 2da37a70b4d..01af997ac0f 100644 --- a/Mage.Sets/src/mage/cards/i/IndulgentAristocrat.java +++ b/Mage.Sets/src/mage/cards/i/IndulgentAristocrat.java @@ -60,7 +60,7 @@ public class IndulgentAristocrat extends CardImpl { public IndulgentAristocrat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IndulgentTormentor.java b/Mage.Sets/src/mage/cards/i/IndulgentTormentor.java index 9329f88174c..03db8583ccf 100644 --- a/Mage.Sets/src/mage/cards/i/IndulgentTormentor.java +++ b/Mage.Sets/src/mage/cards/i/IndulgentTormentor.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.game.Game; @@ -54,7 +55,7 @@ public class IndulgentTormentor extends CardImpl { public IndulgentTormentor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/InertiaBubble.java b/Mage.Sets/src/mage/cards/i/InertiaBubble.java index 23c8d4b954e..0cd76bcd386 100644 --- a/Mage.Sets/src/mage/cards/i/InertiaBubble.java +++ b/Mage.Sets/src/mage/cards/i/InertiaBubble.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -48,7 +49,7 @@ public class InertiaBubble extends CardImpl { public InertiaBubble(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact TargetPermanent auraTarget = new TargetArtifactPermanent(); diff --git a/Mage.Sets/src/mage/cards/i/InescapableBrute.java b/Mage.Sets/src/mage/cards/i/InescapableBrute.java index c91b93ef7b1..0b0605e1218 100644 --- a/Mage.Sets/src/mage/cards/i/InescapableBrute.java +++ b/Mage.Sets/src/mage/cards/i/InescapableBrute.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class InescapableBrute extends CardImpl { public InescapableBrute(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/InexorableBlob.java b/Mage.Sets/src/mage/cards/i/InexorableBlob.java index 17ad43f7aa8..8ed15040e54 100644 --- a/Mage.Sets/src/mage/cards/i/InexorableBlob.java +++ b/Mage.Sets/src/mage/cards/i/InexorableBlob.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.InexorableBlobOozeToken; /** @@ -46,7 +47,7 @@ public class InexorableBlob extends CardImpl { public InexorableBlob(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Ooze"); + this.subtype.add(SubType.OOZE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/InfantryVeteran.java b/Mage.Sets/src/mage/cards/i/InfantryVeteran.java index 50e5812d41e..5885edac14a 100644 --- a/Mage.Sets/src/mage/cards/i/InfantryVeteran.java +++ b/Mage.Sets/src/mage/cards/i/InfantryVeteran.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetAttackingCreature; @@ -49,8 +50,8 @@ public class InfantryVeteran extends CardImpl { public InfantryVeteran(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/InfectedVermin.java b/Mage.Sets/src/mage/cards/i/InfectedVermin.java index dc7d9b09932..b0508395d56 100644 --- a/Mage.Sets/src/mage/cards/i/InfectedVermin.java +++ b/Mage.Sets/src/mage/cards/i/InfectedVermin.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,7 +50,7 @@ public class InfectedVermin extends CardImpl { public InfectedVermin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/InfectiousBloodlust.java b/Mage.Sets/src/mage/cards/i/InfectiousBloodlust.java index 44005993cd3..db6573bd214 100644 --- a/Mage.Sets/src/mage/cards/i/InfectiousBloodlust.java +++ b/Mage.Sets/src/mage/cards/i/InfectiousBloodlust.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -66,7 +67,7 @@ public class InfectiousBloodlust extends CardImpl { public InfectiousBloodlust(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/i/InfectiousHorror.java b/Mage.Sets/src/mage/cards/i/InfectiousHorror.java index 1e97705e2a7..bc51df378c1 100644 --- a/Mage.Sets/src/mage/cards/i/InfectiousHorror.java +++ b/Mage.Sets/src/mage/cards/i/InfectiousHorror.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -48,8 +49,8 @@ public class InfectiousHorror extends CardImpl { public InfectiousHorror (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/InfectiousHost.java b/Mage.Sets/src/mage/cards/i/InfectiousHost.java index 6f94b040537..9c659651cf5 100644 --- a/Mage.Sets/src/mage/cards/i/InfectiousHost.java +++ b/Mage.Sets/src/mage/cards/i/InfectiousHost.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -45,7 +46,7 @@ public class InfectiousHost extends CardImpl { public InfectiousHost(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/InfernalCaretaker.java b/Mage.Sets/src/mage/cards/i/InfernalCaretaker.java index a448e0b18a2..bad19aaabe2 100644 --- a/Mage.Sets/src/mage/cards/i/InfernalCaretaker.java +++ b/Mage.Sets/src/mage/cards/i/InfernalCaretaker.java @@ -1,76 +1,76 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.TurnedFaceUpSourceTriggeredAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.ReturnToHandFromGraveyardAllEffect; -import mage.abilities.keyword.MorphAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.filter.FilterCard; -import mage.filter.common.FilterBySubtypeCard; - -/** - * - * @author cg5 - */ -public class InfernalCaretaker extends CardImpl { - - private static FilterCard zombieCard = new FilterBySubtypeCard(SubType.ZOMBIE); - - public InfernalCaretaker(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Morph {3}{B} - this.addAbility(new MorphAbility(this, new ManaCostsImpl("{3}{B}"))); - - // When Infernal Caretaker is turned face up, return all Zombie cards from all graveyards to their owners' hands. - Effect effect = new ReturnToHandFromGraveyardAllEffect(zombieCard); - effect.setText("return all Zombie cards from all graveyards to their owners' hands"); - this.addAbility(new TurnedFaceUpSourceTriggeredAbility(effect)); - } - - public InfernalCaretaker(final InfernalCaretaker card) { - super(card); - } - - @Override - public InfernalCaretaker copy() { - return new InfernalCaretaker(this); - } +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.TurnedFaceUpSourceTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.ReturnToHandFromGraveyardAllEffect; +import mage.abilities.keyword.MorphAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.FilterCard; +import mage.filter.common.FilterBySubtypeCard; + +/** + * + * @author cg5 + */ +public class InfernalCaretaker extends CardImpl { + + private static FilterCard zombieCard = new FilterBySubtypeCard(SubType.ZOMBIE); + + public InfernalCaretaker(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Morph {3}{B} + this.addAbility(new MorphAbility(this, new ManaCostsImpl("{3}{B}"))); + + // When Infernal Caretaker is turned face up, return all Zombie cards from all graveyards to their owners' hands. + Effect effect = new ReturnToHandFromGraveyardAllEffect(zombieCard); + effect.setText("return all Zombie cards from all graveyards to their owners' hands"); + this.addAbility(new TurnedFaceUpSourceTriggeredAbility(effect)); + } + + public InfernalCaretaker(final InfernalCaretaker card) { + super(card); + } + + @Override + public InfernalCaretaker copy() { + return new InfernalCaretaker(this); + } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/cards/i/InfernalDenizen.java b/Mage.Sets/src/mage/cards/i/InfernalDenizen.java index d3d8241a24b..b1526dbe9cf 100644 --- a/Mage.Sets/src/mage/cards/i/InfernalDenizen.java +++ b/Mage.Sets/src/mage/cards/i/InfernalDenizen.java @@ -70,7 +70,7 @@ public class InfernalDenizen extends CardImpl { public InfernalDenizen(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{7}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/i/InfernalKirin.java b/Mage.Sets/src/mage/cards/i/InfernalKirin.java index 46387f037c1..90104521c5f 100644 --- a/Mage.Sets/src/mage/cards/i/InfernalKirin.java +++ b/Mage.Sets/src/mage/cards/i/InfernalKirin.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class InfernalKirin extends CardImpl { public InfernalKirin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Kirin"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.KIRIN); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/InfernalScarring.java b/Mage.Sets/src/mage/cards/i/InfernalScarring.java index b16122c0311..06010c36c85 100644 --- a/Mage.Sets/src/mage/cards/i/InfernalScarring.java +++ b/Mage.Sets/src/mage/cards/i/InfernalScarring.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class InfernalScarring extends CardImpl { public InfernalScarring(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/i/InfernalTribute.java b/Mage.Sets/src/mage/cards/i/InfernalTribute.java index f03784ad07f..9c67b41b53c 100644 --- a/Mage.Sets/src/mage/cards/i/InfernalTribute.java +++ b/Mage.Sets/src/mage/cards/i/InfernalTribute.java @@ -1,74 +1,74 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.SacrificeTargetCost; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.permanent.TokenPredicate; -import mage.target.common.TargetControlledPermanent; - -/** - * - * @author Styxo - */ -public class InfernalTribute extends CardImpl { - - private final static FilterControlledPermanent filter = new FilterControlledPermanent("a nontoken permanent"); - - static { - filter.add(Predicates.not(new TokenPredicate())); - } - - public InfernalTribute(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{B}{B}{B}"); - - // {2}, Sacrifice a nontoken permanent: Draw a card. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(2)); - ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter))); - this.addAbility(ability); - } - - public InfernalTribute(final InfernalTribute card) { - super(card); - } - - @Override - public InfernalTribute copy() { - return new InfernalTribute(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.permanent.TokenPredicate; +import mage.target.common.TargetControlledPermanent; + +/** + * + * @author Styxo + */ +public class InfernalTribute extends CardImpl { + + private final static FilterControlledPermanent filter = new FilterControlledPermanent("a nontoken permanent"); + + static { + filter.add(Predicates.not(new TokenPredicate())); + } + + public InfernalTribute(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{B}{B}{B}"); + + // {2}, Sacrifice a nontoken permanent: Draw a card. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(2)); + ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter))); + this.addAbility(ability); + } + + public InfernalTribute(final InfernalTribute card) { + super(card); + } + + @Override + public InfernalTribute copy() { + return new InfernalTribute(this); + } +} diff --git a/Mage.Sets/src/mage/cards/i/InfernoElemental.java b/Mage.Sets/src/mage/cards/i/InfernoElemental.java index 3ed93470c5d..3df8502ea81 100644 --- a/Mage.Sets/src/mage/cards/i/InfernoElemental.java +++ b/Mage.Sets/src/mage/cards/i/InfernoElemental.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class InfernoElemental extends CardImpl { public InfernoElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/InfernoFist.java b/Mage.Sets/src/mage/cards/i/InfernoFist.java index 1f4aed609ff..c7461dd06d2 100644 --- a/Mage.Sets/src/mage/cards/i/InfernoFist.java +++ b/Mage.Sets/src/mage/cards/i/InfernoFist.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -54,7 +55,7 @@ public class InfernoFist extends CardImpl { public InfernoFist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature you control diff --git a/Mage.Sets/src/mage/cards/i/InfernoTitan.java b/Mage.Sets/src/mage/cards/i/InfernoTitan.java index 49d3308bc8c..9bc6f6b876c 100644 --- a/Mage.Sets/src/mage/cards/i/InfernoTitan.java +++ b/Mage.Sets/src/mage/cards/i/InfernoTitan.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayerAmount; @@ -50,7 +51,7 @@ public class InfernoTitan extends CardImpl { public InfernoTitan(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/i/InfestedRoothold.java b/Mage.Sets/src/mage/cards/i/InfestedRoothold.java index 44461f3d08c..3370e9bffcb 100644 --- a/Mage.Sets/src/mage/cards/i/InfestedRoothold.java +++ b/Mage.Sets/src/mage/cards/i/InfestedRoothold.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterSpell; import mage.filter.common.FilterArtifactCard; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -56,7 +57,7 @@ public class InfestedRoothold extends CardImpl { public InfestedRoothold(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/InfiltrationLens.java b/Mage.Sets/src/mage/cards/i/InfiltrationLens.java index 26d30448241..366518bd51f 100644 --- a/Mage.Sets/src/mage/cards/i/InfiltrationLens.java +++ b/Mage.Sets/src/mage/cards/i/InfiltrationLens.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class InfiltrationLens extends CardImpl { public InfiltrationLens(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Whenever equipped creature becomes blocked by a creature, you may draw two cards. this.addAbility(new EquippedBecomesBlockedTriggeredAbility(new DrawCardSourceControllerEffect(2), true)); diff --git a/Mage.Sets/src/mage/cards/i/InfiltratorIlKor.java b/Mage.Sets/src/mage/cards/i/InfiltratorIlKor.java index a2e3c55537f..89a92ab2efd 100644 --- a/Mage.Sets/src/mage/cards/i/InfiltratorIlKor.java +++ b/Mage.Sets/src/mage/cards/i/InfiltratorIlKor.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class InfiltratorIlKor extends CardImpl { public InfiltratorIlKor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Kor"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/InfiltratorsMagemark.java b/Mage.Sets/src/mage/cards/i/InfiltratorsMagemark.java index 605f85a36c5..5719425a292 100644 --- a/Mage.Sets/src/mage/cards/i/InfiltratorsMagemark.java +++ b/Mage.Sets/src/mage/cards/i/InfiltratorsMagemark.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -66,7 +67,7 @@ public class InfiltratorsMagemark extends CardImpl { public InfiltratorsMagemark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/i/InfiniteReflection.java b/Mage.Sets/src/mage/cards/i/InfiniteReflection.java index 2e05b9a6886..74b1b8894ab 100644 --- a/Mage.Sets/src/mage/cards/i/InfiniteReflection.java +++ b/Mage.Sets/src/mage/cards/i/InfiniteReflection.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -62,7 +63,7 @@ public class InfiniteReflection extends CardImpl { public InfiniteReflection(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{5}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/i/InformationDealer.java b/Mage.Sets/src/mage/cards/i/InformationDealer.java index ac832d3a3d5..c1871efa6d7 100644 --- a/Mage.Sets/src/mage/cards/i/InformationDealer.java +++ b/Mage.Sets/src/mage/cards/i/InformationDealer.java @@ -56,8 +56,8 @@ public class InformationDealer extends CardImpl { public InformationDealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IngeniousSkaab.java b/Mage.Sets/src/mage/cards/i/IngeniousSkaab.java index 17295b8668d..49ca95fc19e 100644 --- a/Mage.Sets/src/mage/cards/i/IngeniousSkaab.java +++ b/Mage.Sets/src/mage/cards/i/IngeniousSkaab.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class IngeniousSkaab extends CardImpl { public IngeniousSkaab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/IngeniousThief.java b/Mage.Sets/src/mage/cards/i/IngeniousThief.java index 4efa38216d2..9a7c46f4caf 100644 --- a/Mage.Sets/src/mage/cards/i/IngeniousThief.java +++ b/Mage.Sets/src/mage/cards/i/IngeniousThief.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -46,8 +47,8 @@ public class IngeniousThief extends CardImpl { public IngeniousThief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IngotChewer.java b/Mage.Sets/src/mage/cards/i/IngotChewer.java index d0a4b678ae3..cb744eb20b4 100644 --- a/Mage.Sets/src/mage/cards/i/IngotChewer.java +++ b/Mage.Sets/src/mage/cards/i/IngotChewer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.Target; import mage.target.common.TargetArtifactPermanent; @@ -47,7 +48,7 @@ public class IngotChewer extends CardImpl { public IngotChewer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/InitiateOfBlood.java b/Mage.Sets/src/mage/cards/i/InitiateOfBlood.java index 86a972e7a53..a49b7ae8d84 100644 --- a/Mage.Sets/src/mage/cards/i/InitiateOfBlood.java +++ b/Mage.Sets/src/mage/cards/i/InitiateOfBlood.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.FlipSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -60,8 +61,8 @@ public class InitiateOfBlood extends CardImpl { public InitiateOfBlood(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); @@ -101,8 +102,8 @@ class GokaTheUnjust extends Token { addSuperType(SuperType.LEGENDARY); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Ogre"); - subtype.add("Shaman"); + subtype.add(SubType.OGRE); + subtype.add(SubType.SHAMAN); power = new MageInt(4); toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/InitiatesCompanion.java b/Mage.Sets/src/mage/cards/i/InitiatesCompanion.java index 522ff492bb5..a15191ce9db 100644 --- a/Mage.Sets/src/mage/cards/i/InitiatesCompanion.java +++ b/Mage.Sets/src/mage/cards/i/InitiatesCompanion.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -56,7 +57,7 @@ public class InitiatesCompanion extends CardImpl { public InitiatesCompanion(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/InitiatesOfTheEbonHand.java b/Mage.Sets/src/mage/cards/i/InitiatesOfTheEbonHand.java index cc19a83bd6f..585e907b6cc 100644 --- a/Mage.Sets/src/mage/cards/i/InitiatesOfTheEbonHand.java +++ b/Mage.Sets/src/mage/cards/i/InitiatesOfTheEbonHand.java @@ -41,6 +41,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -53,7 +54,7 @@ public class InitiatesOfTheEbonHand extends CardImpl { public InitiatesOfTheEbonHand(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/InkDissolver.java b/Mage.Sets/src/mage/cards/i/InkDissolver.java index cff7ff46a01..d07d0a735b7 100644 --- a/Mage.Sets/src/mage/cards/i/InkDissolver.java +++ b/Mage.Sets/src/mage/cards/i/InkDissolver.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -44,8 +45,8 @@ public class InkDissolver extends CardImpl { public InkDissolver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/InkEyesServantOfOni.java b/Mage.Sets/src/mage/cards/i/InkEyesServantOfOni.java index 957660e76f9..59593ef498a 100644 --- a/Mage.Sets/src/mage/cards/i/InkEyesServantOfOni.java +++ b/Mage.Sets/src/mage/cards/i/InkEyesServantOfOni.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -58,8 +59,8 @@ public class InkEyesServantOfOni extends CardImpl { public InkEyesServantOfOni(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Rat"); - this.subtype.add("Ninja"); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.NINJA); addSuperType(SuperType.LEGENDARY); this.power = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/i/InkTreaderNephilim.java b/Mage.Sets/src/mage/cards/i/InkTreaderNephilim.java index be0798a5529..69b10175a93 100644 --- a/Mage.Sets/src/mage/cards/i/InkTreaderNephilim.java +++ b/Mage.Sets/src/mage/cards/i/InkTreaderNephilim.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CopySpellForEachItCouldTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterInPlay; import mage.filter.common.FilterCreaturePermanent; @@ -55,7 +56,7 @@ public class InkTreaderNephilim extends CardImpl { public InkTreaderNephilim(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}{W}{U}"); - this.subtype.add("Nephilim"); + this.subtype.add(SubType.NEPHILIM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/InkfathomDivers.java b/Mage.Sets/src/mage/cards/i/InkfathomDivers.java index a9ea5df857f..3d1868cfb6b 100644 --- a/Mage.Sets/src/mage/cards/i/InkfathomDivers.java +++ b/Mage.Sets/src/mage/cards/i/InkfathomDivers.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class InkfathomDivers extends CardImpl { public InkfathomDivers (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/InkfathomInfiltrator.java b/Mage.Sets/src/mage/cards/i/InkfathomInfiltrator.java index 265a1e13841..3d98d27c2fb 100644 --- a/Mage.Sets/src/mage/cards/i/InkfathomInfiltrator.java +++ b/Mage.Sets/src/mage/cards/i/InkfathomInfiltrator.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class InkfathomInfiltrator extends CardImpl { public InkfathomInfiltrator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U/B}{U/B}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/InkfathomWitch.java b/Mage.Sets/src/mage/cards/i/InkfathomWitch.java index 1c623fa3eae..cb124046120 100644 --- a/Mage.Sets/src/mage/cards/i/InkfathomWitch.java +++ b/Mage.Sets/src/mage/cards/i/InkfathomWitch.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -54,8 +55,8 @@ public class InkfathomWitch extends CardImpl { public InkfathomWitch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U/B}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/InkmothNexus.java b/Mage.Sets/src/mage/cards/i/InkmothNexus.java index 70c86b07e5d..55f03caa4e3 100644 --- a/Mage.Sets/src/mage/cards/i/InkmothNexus.java +++ b/Mage.Sets/src/mage/cards/i/InkmothNexus.java @@ -40,6 +40,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -77,7 +78,7 @@ class InkmothNexusToken extends Token { super("Blinkmoth", "1/1 Blinkmoth artifact creature with flying and infect"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - this.subtype.add("Blinkmoth"); + this.subtype.add(SubType.BLINKMOTH); power = new MageInt(1); toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/i/InkwellLeviathan.java b/Mage.Sets/src/mage/cards/i/InkwellLeviathan.java index 92298ccf7df..38d79219deb 100644 --- a/Mage.Sets/src/mage/cards/i/InkwellLeviathan.java +++ b/Mage.Sets/src/mage/cards/i/InkwellLeviathan.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class InkwellLeviathan extends CardImpl { public InkwellLeviathan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}{U}{U}"); - this.subtype.add("Leviathan"); + this.subtype.add(SubType.LEVIATHAN); this.power = new MageInt(7); this.toughness = new MageInt(11); diff --git a/Mage.Sets/src/mage/cards/i/InnerChamberGuard.java b/Mage.Sets/src/mage/cards/i/InnerChamberGuard.java index b7e6ca6a115..84c80212332 100644 --- a/Mage.Sets/src/mage/cards/i/InnerChamberGuard.java +++ b/Mage.Sets/src/mage/cards/i/InnerChamberGuard.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.BushidoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class InnerChamberGuard extends CardImpl { public InnerChamberGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/InnerFlameAcolyte.java b/Mage.Sets/src/mage/cards/i/InnerFlameAcolyte.java index 5962debcbed..d5319483b06 100644 --- a/Mage.Sets/src/mage/cards/i/InnerFlameAcolyte.java +++ b/Mage.Sets/src/mage/cards/i/InnerFlameAcolyte.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class InnerFlameAcolyte extends CardImpl { public InnerFlameAcolyte(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/InnerFlameIgniter.java b/Mage.Sets/src/mage/cards/i/InnerFlameIgniter.java index d5e3c613a25..a0a5f0569ce 100644 --- a/Mage.Sets/src/mage/cards/i/InnerFlameIgniter.java +++ b/Mage.Sets/src/mage/cards/i/InnerFlameIgniter.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class InnerFlameIgniter extends CardImpl { public InnerFlameIgniter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/InnocenceKami.java b/Mage.Sets/src/mage/cards/i/InnocenceKami.java index b58374d2d04..c3b2897b221 100644 --- a/Mage.Sets/src/mage/cards/i/InnocenceKami.java +++ b/Mage.Sets/src/mage/cards/i/InnocenceKami.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -52,7 +53,7 @@ public class InnocenceKami extends CardImpl { public InnocenceKami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/InquisitorExarch.java b/Mage.Sets/src/mage/cards/i/InquisitorExarch.java index 6b78b51863b..c50e16b3912 100644 --- a/Mage.Sets/src/mage/cards/i/InquisitorExarch.java +++ b/Mage.Sets/src/mage/cards/i/InquisitorExarch.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -47,7 +48,7 @@ public class InquisitorExarch extends CardImpl { public InquisitorExarch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/InquisitorsFlail.java b/Mage.Sets/src/mage/cards/i/InquisitorsFlail.java index fcc6e67ef2d..fe38f01aba4 100644 --- a/Mage.Sets/src/mage/cards/i/InquisitorsFlail.java +++ b/Mage.Sets/src/mage/cards/i/InquisitorsFlail.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class InquisitorsFlail extends CardImpl { public InquisitorsFlail(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // If equipped creature would deal combat damage, it deals double that damage instead. // If another creature would deal combat damage to equipped creature, it deals double that damage to equipped creature instead. diff --git a/Mage.Sets/src/mage/cards/i/InquisitorsOx.java b/Mage.Sets/src/mage/cards/i/InquisitorsOx.java index e3f2f4bb21f..558b49ec6dd 100644 --- a/Mage.Sets/src/mage/cards/i/InquisitorsOx.java +++ b/Mage.Sets/src/mage/cards/i/InquisitorsOx.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class InquisitorsOx extends CardImpl { public InquisitorsOx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Ox"); + this.subtype.add(SubType.OX); this.power = new MageInt(2); this.toughness = new MageInt(5); this.color.setWhite(true); diff --git a/Mage.Sets/src/mage/cards/i/InsatiableGorgers.java b/Mage.Sets/src/mage/cards/i/InsatiableGorgers.java index e201908b85e..c2894bab951 100644 --- a/Mage.Sets/src/mage/cards/i/InsatiableGorgers.java +++ b/Mage.Sets/src/mage/cards/i/InsatiableGorgers.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MadnessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class InsatiableGorgers extends CardImpl { public InsatiableGorgers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Vampire"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/InsatiableHarpy.java b/Mage.Sets/src/mage/cards/i/InsatiableHarpy.java index 04732734adb..ff75b8f2d8b 100644 --- a/Mage.Sets/src/mage/cards/i/InsatiableHarpy.java +++ b/Mage.Sets/src/mage/cards/i/InsatiableHarpy.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class InsatiableHarpy extends CardImpl { public InsatiableHarpy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Harpy"); + this.subtype.add(SubType.HARPY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/InsatiableRakghoul.java b/Mage.Sets/src/mage/cards/i/InsatiableRakghoul.java index 4d43d1b7b64..68347665e6e 100644 --- a/Mage.Sets/src/mage/cards/i/InsatiableRakghoul.java +++ b/Mage.Sets/src/mage/cards/i/InsatiableRakghoul.java @@ -1,135 +1,136 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldAbility; -import mage.abilities.effects.OneShotEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.WatcherScope; -import mage.counters.CounterType; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.events.ZoneChangeEvent; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.watchers.Watcher; - -/** - * - * @author Styxo - */ -public class InsatiableRakghoul extends CardImpl { - - public InsatiableRakghoul(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Mutant"); - this.power = new MageInt(4); - this.toughness = new MageInt(6); - - // Insatiable Rakghoul enters the battlefield with a +1/+1 counter on it, if a non-artifact creature died this turn. - this.addAbility(new EntersBattlefieldAbility(new InsatiableRakghoulEffect(), false), new NonArtifactCreaturesDiedWatcher()); - } - - public InsatiableRakghoul(final InsatiableRakghoul card) { - super(card); - } - - @Override - public InsatiableRakghoul copy() { - return new InsatiableRakghoul(this); - } -} - -class InsatiableRakghoulEffect extends OneShotEffect { - - InsatiableRakghoulEffect() { - super(Outcome.BoostCreature); - staticText = "with a +1/+1 counter on it if a non-artifact creature died this turn"; - } - - InsatiableRakghoulEffect(final InsatiableRakghoulEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - NonArtifactCreaturesDiedWatcher watcher = (NonArtifactCreaturesDiedWatcher) game.getState().getWatchers().get(NonArtifactCreaturesDiedWatcher.class.getSimpleName()); - if (watcher != null && watcher.conditionMet()) { - Permanent permanent = game.getPermanentEntering(source.getSourceId()); - if (permanent != null) { - permanent.addCounters(CounterType.P1P1.createInstance(1), source, game); - } - } - return true; - } - return false; - } - - @Override - public InsatiableRakghoulEffect copy() { - return new InsatiableRakghoulEffect(this); - } -} - -class NonArtifactCreaturesDiedWatcher extends Watcher { - - public NonArtifactCreaturesDiedWatcher() { - super(NonArtifactCreaturesDiedWatcher.class.getSimpleName(), WatcherScope.GAME); - } - - public NonArtifactCreaturesDiedWatcher(final NonArtifactCreaturesDiedWatcher watcher) { - super(watcher); - } - - @Override - public void watch(GameEvent event, Game game) { - if (event.getType() == GameEvent.EventType.ZONE_CHANGE) { - ZoneChangeEvent zEvent = (ZoneChangeEvent) event; - if (zEvent.isDiesEvent() && zEvent.getTarget() != null - && zEvent.getTarget().isCreature() - && !zEvent.getTarget().isArtifact()) { - condition = true; - } - } - } - - @Override - public NonArtifactCreaturesDiedWatcher copy() { - return new NonArtifactCreaturesDiedWatcher(this); - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.constants.WatcherScope; +import mage.counters.CounterType; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.ZoneChangeEvent; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.watchers.Watcher; + +/** + * + * @author Styxo + */ +public class InsatiableRakghoul extends CardImpl { + + public InsatiableRakghoul(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{B}"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.MUTANT); + this.power = new MageInt(4); + this.toughness = new MageInt(6); + + // Insatiable Rakghoul enters the battlefield with a +1/+1 counter on it, if a non-artifact creature died this turn. + this.addAbility(new EntersBattlefieldAbility(new InsatiableRakghoulEffect(), false), new NonArtifactCreaturesDiedWatcher()); + } + + public InsatiableRakghoul(final InsatiableRakghoul card) { + super(card); + } + + @Override + public InsatiableRakghoul copy() { + return new InsatiableRakghoul(this); + } +} + +class InsatiableRakghoulEffect extends OneShotEffect { + + InsatiableRakghoulEffect() { + super(Outcome.BoostCreature); + staticText = "with a +1/+1 counter on it if a non-artifact creature died this turn"; + } + + InsatiableRakghoulEffect(final InsatiableRakghoulEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + NonArtifactCreaturesDiedWatcher watcher = (NonArtifactCreaturesDiedWatcher) game.getState().getWatchers().get(NonArtifactCreaturesDiedWatcher.class.getSimpleName()); + if (watcher != null && watcher.conditionMet()) { + Permanent permanent = game.getPermanentEntering(source.getSourceId()); + if (permanent != null) { + permanent.addCounters(CounterType.P1P1.createInstance(1), source, game); + } + } + return true; + } + return false; + } + + @Override + public InsatiableRakghoulEffect copy() { + return new InsatiableRakghoulEffect(this); + } +} + +class NonArtifactCreaturesDiedWatcher extends Watcher { + + public NonArtifactCreaturesDiedWatcher() { + super(NonArtifactCreaturesDiedWatcher.class.getSimpleName(), WatcherScope.GAME); + } + + public NonArtifactCreaturesDiedWatcher(final NonArtifactCreaturesDiedWatcher watcher) { + super(watcher); + } + + @Override + public void watch(GameEvent event, Game game) { + if (event.getType() == GameEvent.EventType.ZONE_CHANGE) { + ZoneChangeEvent zEvent = (ZoneChangeEvent) event; + if (zEvent.isDiesEvent() && zEvent.getTarget() != null + && zEvent.getTarget().isCreature() + && !zEvent.getTarget().isArtifact()) { + condition = true; + } + } + } + + @Override + public NonArtifactCreaturesDiedWatcher copy() { + return new NonArtifactCreaturesDiedWatcher(this); + } + +} diff --git a/Mage.Sets/src/mage/cards/i/InsatiableSouleater.java b/Mage.Sets/src/mage/cards/i/InsatiableSouleater.java index 4f91ea49722..3993327b86f 100644 --- a/Mage.Sets/src/mage/cards/i/InsatiableSouleater.java +++ b/Mage.Sets/src/mage/cards/i/InsatiableSouleater.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class InsatiableSouleater extends CardImpl { public InsatiableSouleater(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/InsectileAberration.java b/Mage.Sets/src/mage/cards/i/InsectileAberration.java index 0566043ab47..a9491c25706 100644 --- a/Mage.Sets/src/mage/cards/i/InsectileAberration.java +++ b/Mage.Sets/src/mage/cards/i/InsectileAberration.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class InsectileAberration extends CardImpl { public InsectileAberration(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Human"); - this.subtype.add("Insect"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.INSECT); this.color.setBlue(true); diff --git a/Mage.Sets/src/mage/cards/i/InsidiousBookworms.java b/Mage.Sets/src/mage/cards/i/InsidiousBookworms.java index 141692a2220..2773da47417 100644 --- a/Mage.Sets/src/mage/cards/i/InsidiousBookworms.java +++ b/Mage.Sets/src/mage/cards/i/InsidiousBookworms.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -47,7 +48,7 @@ public class InsidiousBookworms extends CardImpl { public InsidiousBookworms(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Worm"); + this.subtype.add(SubType.WORM); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/InsidiousMist.java b/Mage.Sets/src/mage/cards/i/InsidiousMist.java index b3407f535c5..f9d54d26ead 100644 --- a/Mage.Sets/src/mage/cards/i/InsidiousMist.java +++ b/Mage.Sets/src/mage/cards/i/InsidiousMist.java @@ -44,6 +44,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class InsidiousMist extends CardImpl { public InsidiousMist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(1); this.color.setBlue(true); diff --git a/Mage.Sets/src/mage/cards/i/Insolence.java b/Mage.Sets/src/mage/cards/i/Insolence.java index 9737fd79be2..00a662601d1 100644 --- a/Mage.Sets/src/mage/cards/i/Insolence.java +++ b/Mage.Sets/src/mage/cards/i/Insolence.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class Insolence extends CardImpl { public Insolence(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/i/InsolentNeonate.java b/Mage.Sets/src/mage/cards/i/InsolentNeonate.java index 73665338e72..b7c186a823e 100644 --- a/Mage.Sets/src/mage/cards/i/InsolentNeonate.java +++ b/Mage.Sets/src/mage/cards/i/InsolentNeonate.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class InsolentNeonate extends CardImpl { public InsolentNeonate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/InspiredSprite.java b/Mage.Sets/src/mage/cards/i/InspiredSprite.java index 80659c20267..cf53ed6fabb 100644 --- a/Mage.Sets/src/mage/cards/i/InspiredSprite.java +++ b/Mage.Sets/src/mage/cards/i/InspiredSprite.java @@ -58,8 +58,8 @@ public class InspiredSprite extends CardImpl { public InspiredSprite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/InspiringCaptain.java b/Mage.Sets/src/mage/cards/i/InspiringCaptain.java index df08a07a0f4..dcd3beda094 100644 --- a/Mage.Sets/src/mage/cards/i/InspiringCaptain.java +++ b/Mage.Sets/src/mage/cards/i/InspiringCaptain.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; @@ -45,8 +46,8 @@ public class InspiringCaptain extends CardImpl { public InspiringCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/InspiringStatuary.java b/Mage.Sets/src/mage/cards/i/InspiringStatuary.java index e1c3671d2c6..8f6dc21dfef 100644 --- a/Mage.Sets/src/mage/cards/i/InspiringStatuary.java +++ b/Mage.Sets/src/mage/cards/i/InspiringStatuary.java @@ -1,70 +1,70 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.UUID; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.continuous.GainAbilityControlledSpellsEffect; -import mage.abilities.keyword.ImproviseAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.filter.FilterSpell; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.CardTypePredicate; - -/** - * - * @author Styxo - */ -public class InspiringStatuary extends CardImpl { - - private static final FilterSpell filter = new FilterSpell("non-artifact spells you cast"); - - static { - filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT))); - } - - public InspiringStatuary(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); - - // Non-artifact spells you cast have improvise. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledSpellsEffect(new ImproviseAbility(), filter))); - - } - - public InspiringStatuary(final InspiringStatuary card) { - super(card); - } - - @Override - public InspiringStatuary copy() { - return new InspiringStatuary(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.UUID; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continuous.GainAbilityControlledSpellsEffect; +import mage.abilities.keyword.ImproviseAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.filter.FilterSpell; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; + +/** + * + * @author Styxo + */ +public class InspiringStatuary extends CardImpl { + + private static final FilterSpell filter = new FilterSpell("non-artifact spells you cast"); + + static { + filter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT))); + } + + public InspiringStatuary(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); + + // Non-artifact spells you cast have improvise. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledSpellsEffect(new ImproviseAbility(), filter))); + + } + + public InspiringStatuary(final InspiringStatuary card) { + super(card); + } + + @Override + public InspiringStatuary copy() { + return new InspiringStatuary(this); + } +} diff --git a/Mage.Sets/src/mage/cards/i/Instigator.java b/Mage.Sets/src/mage/cards/i/Instigator.java index 22d0b1a9c19..02eba17dbfc 100644 --- a/Mage.Sets/src/mage/cards/i/Instigator.java +++ b/Mage.Sets/src/mage/cards/i/Instigator.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.combat.AttacksIfAbleAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,8 +59,8 @@ public class Instigator extends CardImpl { public Instigator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/InstigatorGang.java b/Mage.Sets/src/mage/cards/i/InstigatorGang.java index f251bb22c92..10530b4a25f 100644 --- a/Mage.Sets/src/mage/cards/i/InstigatorGang.java +++ b/Mage.Sets/src/mage/cards/i/InstigatorGang.java @@ -52,8 +52,8 @@ public class InstigatorGang extends CardImpl { public InstigatorGang(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WEREWOLF); this.transformable = true; this.secondSideCardClazz = WildbloodPack.class; diff --git a/Mage.Sets/src/mage/cards/i/InstillEnergy.java b/Mage.Sets/src/mage/cards/i/InstillEnergy.java index cf96fb09ecf..79c77486353 100644 --- a/Mage.Sets/src/mage/cards/i/InstillEnergy.java +++ b/Mage.Sets/src/mage/cards/i/InstillEnergy.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class InstillEnergy extends CardImpl { public InstillEnergy(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/i/InstillFuror.java b/Mage.Sets/src/mage/cards/i/InstillFuror.java index b90215157ca..1290546a712 100644 --- a/Mage.Sets/src/mage/cards/i/InstillFuror.java +++ b/Mage.Sets/src/mage/cards/i/InstillFuror.java @@ -1,90 +1,91 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.BeginningOfEndStepTriggeredAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.condition.InvertCondition; -import mage.abilities.condition.common.AttackedThisTurnSourceCondition; -import mage.abilities.decorator.ConditionalOneShotEffect; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.SacrificeSourceEffect; -import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; -import mage.abilities.keyword.EnchantAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.AttachmentType; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.target.TargetPermanent; -import mage.target.common.TargetCreaturePermanent; -import mage.watchers.common.AttackedThisTurnWatcher; - -/** - * - * @author LevelX2 - */ -public class InstillFuror extends CardImpl { - - public InstillFuror(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}"); - - this.subtype.add("Aura"); - - // Enchant creature - TargetPermanent auraTarget = new TargetCreaturePermanent(); - this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); - Ability ability = new EnchantAbility(auraTarget.getTargetName()); - this.addAbility(ability); - - // Enchanted creature has "At the beginning of your end step, sacrifice this creature unless it attacked this turn." - Ability gainedAbility = new BeginningOfEndStepTriggeredAbility( - new ConditionalOneShotEffect(new SacrificeSourceEffect(), new InvertCondition(AttackedThisTurnSourceCondition.instance), - "sacrifice this creature unless it attacked this turn"), TargetController.YOU, false); - Effect effect = new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield); - effect.setText("Enchanted creature has \"At the beginning of your upkeep, sacrifice this creature unless it attacked this turn.\""); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect), new AttackedThisTurnWatcher()); - - } - - public InstillFuror(final InstillFuror card) { - super(card); - } - - @Override - public InstillFuror copy() { - return new InstillFuror(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfEndStepTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.InvertCondition; +import mage.abilities.condition.common.AttackedThisTurnSourceCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.SacrificeSourceEffect; +import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; +import mage.watchers.common.AttackedThisTurnWatcher; + +/** + * + * @author LevelX2 + */ +public class InstillFuror extends CardImpl { + + public InstillFuror(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}"); + + this.subtype.add(SubType.AURA); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + + // Enchanted creature has "At the beginning of your end step, sacrifice this creature unless it attacked this turn." + Ability gainedAbility = new BeginningOfEndStepTriggeredAbility( + new ConditionalOneShotEffect(new SacrificeSourceEffect(), new InvertCondition(AttackedThisTurnSourceCondition.instance), + "sacrifice this creature unless it attacked this turn"), TargetController.YOU, false); + Effect effect = new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield); + effect.setText("Enchanted creature has \"At the beginning of your upkeep, sacrifice this creature unless it attacked this turn.\""); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect), new AttackedThisTurnWatcher()); + + } + + public InstillFuror(final InstillFuror card) { + super(card); + } + + @Override + public InstillFuror copy() { + return new InstillFuror(this); + } +} diff --git a/Mage.Sets/src/mage/cards/i/Interrogation.java b/Mage.Sets/src/mage/cards/i/Interrogation.java index 1f34713e1d0..d38299731dd 100644 --- a/Mage.Sets/src/mage/cards/i/Interrogation.java +++ b/Mage.Sets/src/mage/cards/i/Interrogation.java @@ -1,99 +1,99 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.costs.Cost; -import mage.abilities.costs.common.PayLifeCost; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.discard.DiscardTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.game.Game; -import mage.players.Player; -import mage.target.TargetPlayer; - -/** - * - * @author Styxo - */ -public class Interrogation extends CardImpl { - - public Interrogation(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{B}"); - - // Target player discards a card. Then that player discards another card unless he or she pays 3 life. - this.getSpellAbility().addTarget(new TargetPlayer()); - this.getSpellAbility().addEffect(new DiscardTargetEffect(1)); - this.getSpellAbility().addEffect(new InterrogationEffect()); - } - - public Interrogation(final Interrogation card) { - super(card); - } - - @Override - public Interrogation copy() { - return new Interrogation(this); - } -} - -class InterrogationEffect extends OneShotEffect { - - InterrogationEffect() { - super(Outcome.Discard); - this.staticText = "Then that player discards another card unless he or she pays 3 life"; - } - - InterrogationEffect(final InterrogationEffect effect) { - super(effect); - } - - @Override - public InterrogationEffect copy() { - return new InterrogationEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player player = game.getPlayer(this.getTargetPointer().getFirst(game, source)); - if (player != null) { - Cost cost = new PayLifeCost(3); - if (!cost.canPay(source, source.getSourceId(), player.getId(), game) - || !player.chooseUse(Outcome.LoseLife, "Pay 3 life?", source, game) - || !cost.pay(source, game, source.getSourceId(), player.getId(), false, null)) { - player.discardOne(false, source, game); - } - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.costs.Cost; +import mage.abilities.costs.common.PayLifeCost; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.discard.DiscardTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.game.Game; +import mage.players.Player; +import mage.target.TargetPlayer; + +/** + * + * @author Styxo + */ +public class Interrogation extends CardImpl { + + public Interrogation(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{B}"); + + // Target player discards a card. Then that player discards another card unless he or she pays 3 life. + this.getSpellAbility().addTarget(new TargetPlayer()); + this.getSpellAbility().addEffect(new DiscardTargetEffect(1)); + this.getSpellAbility().addEffect(new InterrogationEffect()); + } + + public Interrogation(final Interrogation card) { + super(card); + } + + @Override + public Interrogation copy() { + return new Interrogation(this); + } +} + +class InterrogationEffect extends OneShotEffect { + + InterrogationEffect() { + super(Outcome.Discard); + this.staticText = "Then that player discards another card unless he or she pays 3 life"; + } + + InterrogationEffect(final InterrogationEffect effect) { + super(effect); + } + + @Override + public InterrogationEffect copy() { + return new InterrogationEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(this.getTargetPointer().getFirst(game, source)); + if (player != null) { + Cost cost = new PayLifeCost(3); + if (!cost.canPay(source, source.getSourceId(), player.getId(), game) + || !player.chooseUse(Outcome.LoseLife, "Pay 3 life?", source, game) + || !cost.pay(source, game, source.getSourceId(), player.getId(), false, null)) { + player.discardOne(false, source, game); + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/i/IntetTheDreamer.java b/Mage.Sets/src/mage/cards/i/IntetTheDreamer.java index f743bff47f2..531dd08a2d3 100644 --- a/Mage.Sets/src/mage/cards/i/IntetTheDreamer.java +++ b/Mage.Sets/src/mage/cards/i/IntetTheDreamer.java @@ -60,7 +60,7 @@ public class IntetTheDreamer extends CardImpl { public IntetTheDreamer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/i/IntimidatorInitiate.java b/Mage.Sets/src/mage/cards/i/IntimidatorInitiate.java index 2272a725604..7874a2a5b0a 100644 --- a/Mage.Sets/src/mage/cards/i/IntimidatorInitiate.java +++ b/Mage.Sets/src/mage/cards/i/IntimidatorInitiate.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.combat.CantBlockTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -59,8 +60,8 @@ public class IntimidatorInitiate extends CardImpl { public IntimidatorInitiate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IntrepidHero.java b/Mage.Sets/src/mage/cards/i/IntrepidHero.java index a35a52bbc0b..e5de581ca93 100644 --- a/Mage.Sets/src/mage/cards/i/IntrepidHero.java +++ b/Mage.Sets/src/mage/cards/i/IntrepidHero.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -56,8 +57,8 @@ public class IntrepidHero extends CardImpl { public IntrepidHero(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IntrepidProvisioner.java b/Mage.Sets/src/mage/cards/i/IntrepidProvisioner.java index 0263961e417..0fa405ad8ae 100644 --- a/Mage.Sets/src/mage/cards/i/IntrepidProvisioner.java +++ b/Mage.Sets/src/mage/cards/i/IntrepidProvisioner.java @@ -56,8 +56,8 @@ public class IntrepidProvisioner extends CardImpl { public IntrepidProvisioner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/InvaderParasite.java b/Mage.Sets/src/mage/cards/i/InvaderParasite.java index 96995cc2955..689411e8786 100644 --- a/Mage.Sets/src/mage/cards/i/InvaderParasite.java +++ b/Mage.Sets/src/mage/cards/i/InvaderParasite.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -55,7 +56,7 @@ public class InvaderParasite extends CardImpl { public InvaderParasite(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/InvasiveSpecies.java b/Mage.Sets/src/mage/cards/i/InvasiveSpecies.java index d0373c564ed..68a37b02921 100644 --- a/Mage.Sets/src/mage/cards/i/InvasiveSpecies.java +++ b/Mage.Sets/src/mage/cards/i/InvasiveSpecies.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -51,7 +52,7 @@ public class InvasiveSpecies extends CardImpl { public InvasiveSpecies(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/InventorsApprentice.java b/Mage.Sets/src/mage/cards/i/InventorsApprentice.java index 3fbdf34fe80..420630a13dc 100644 --- a/Mage.Sets/src/mage/cards/i/InventorsApprentice.java +++ b/Mage.Sets/src/mage/cards/i/InventorsApprentice.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; @@ -50,8 +51,8 @@ public class InventorsApprentice extends CardImpl { public InventorsApprentice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/InventorsGoggles.java b/Mage.Sets/src/mage/cards/i/InventorsGoggles.java index f5102000bcd..8a8d9e7514a 100644 --- a/Mage.Sets/src/mage/cards/i/InventorsGoggles.java +++ b/Mage.Sets/src/mage/cards/i/InventorsGoggles.java @@ -47,7 +47,7 @@ public class InventorsGoggles extends CardImpl { public InventorsGoggles(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+2. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 2, Duration.WhileOnBattlefield))); diff --git a/Mage.Sets/src/mage/cards/i/InverterOfTruth.java b/Mage.Sets/src/mage/cards/i/InverterOfTruth.java index 2efb0ddf624..a330de37673 100644 --- a/Mage.Sets/src/mage/cards/i/InverterOfTruth.java +++ b/Mage.Sets/src/mage/cards/i/InverterOfTruth.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class InverterOfTruth extends CardImpl { public InverterOfTruth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/i/InvigoratedRampage.java b/Mage.Sets/src/mage/cards/i/InvigoratedRampage.java index 02c4be8e866..d70a71bd5d5 100644 --- a/Mage.Sets/src/mage/cards/i/InvigoratedRampage.java +++ b/Mage.Sets/src/mage/cards/i/InvigoratedRampage.java @@ -1,81 +1,81 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.UUID; -import mage.abilities.Mode; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.continuous.BoostTargetEffect; -import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; -import mage.abilities.keyword.TrampleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class InvigoratedRampage extends CardImpl { - - public InvigoratedRampage(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}"); - - // Choose one - // Target creature gets +4/+0 and gains trample until end of turn. - Effect effect = new BoostTargetEffect(4, 0, Duration.EndOfTurn); - effect.setText("Target creature gets +4/+0"); - this.getSpellAbility().addEffect(effect); - effect = new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn); - effect.setText("and gains trample until end of turn"); - this.getSpellAbility().addEffect(effect); - this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - - // Two target creatures each get +2/+0 and gain trample until end of turn. - Mode mode = new Mode(); - effect = new BoostTargetEffect(2, 0, Duration.EndOfTurn); - effect.setText("Two target creatures each get +2/+0"); - mode.getEffects().add(effect); - effect = new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn); - effect.setText("and gain trample until end of turn"); - mode.getEffects().add(effect); - mode.getTargets().add(new TargetCreaturePermanent(2)); - this.getSpellAbility().addMode(mode); - } - - public InvigoratedRampage(final InvigoratedRampage card) { - super(card); - } - - @Override - public InvigoratedRampage copy() { - return new InvigoratedRampage(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.UUID; +import mage.abilities.Mode; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class InvigoratedRampage extends CardImpl { + + public InvigoratedRampage(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}"); + + // Choose one + // Target creature gets +4/+0 and gains trample until end of turn. + Effect effect = new BoostTargetEffect(4, 0, Duration.EndOfTurn); + effect.setText("Target creature gets +4/+0"); + this.getSpellAbility().addEffect(effect); + effect = new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn); + effect.setText("and gains trample until end of turn"); + this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + + // Two target creatures each get +2/+0 and gain trample until end of turn. + Mode mode = new Mode(); + effect = new BoostTargetEffect(2, 0, Duration.EndOfTurn); + effect.setText("Two target creatures each get +2/+0"); + mode.getEffects().add(effect); + effect = new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn); + effect.setText("and gain trample until end of turn"); + mode.getEffects().add(effect); + mode.getTargets().add(new TargetCreaturePermanent(2)); + this.getSpellAbility().addMode(mode); + } + + public InvigoratedRampage(final InvigoratedRampage card) { + super(card); + } + + @Override + public InvigoratedRampage copy() { + return new InvigoratedRampage(this); + } +} diff --git a/Mage.Sets/src/mage/cards/i/InvigoratingBoon.java b/Mage.Sets/src/mage/cards/i/InvigoratingBoon.java index 9b0da289b9e..74b2b51f2b8 100644 --- a/Mage.Sets/src/mage/cards/i/InvigoratingBoon.java +++ b/Mage.Sets/src/mage/cards/i/InvigoratingBoon.java @@ -1,63 +1,63 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.CycleAllTriggeredAbility; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.counters.CounterType; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class InvigoratingBoon extends CardImpl { - - public InvigoratingBoon(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}"); - - // Whenever a player cycles a card, you may put a +1/+1 counter on target creature. - Ability ability = new CycleAllTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), true); - ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability); - } - - public InvigoratingBoon(final InvigoratingBoon card) { - super(card); - } - - @Override - public InvigoratingBoon copy() { - return new InvigoratingBoon(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.CycleAllTriggeredAbility; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.counters.CounterType; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class InvigoratingBoon extends CardImpl { + + public InvigoratingBoon(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}"); + + // Whenever a player cycles a card, you may put a +1/+1 counter on target creature. + Ability ability = new CycleAllTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), true); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public InvigoratingBoon(final InvigoratingBoon card) { + super(card); + } + + @Override + public InvigoratingBoon copy() { + return new InvigoratingBoon(this); + } +} diff --git a/Mage.Sets/src/mage/cards/i/Invisibility.java b/Mage.Sets/src/mage/cards/i/Invisibility.java index bcbc6310be9..40fcd6aba5d 100644 --- a/Mage.Sets/src/mage/cards/i/Invisibility.java +++ b/Mage.Sets/src/mage/cards/i/Invisibility.java @@ -55,7 +55,7 @@ public class Invisibility extends CardImpl { public Invisibility(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/i/InvisibleStalker.java b/Mage.Sets/src/mage/cards/i/InvisibleStalker.java index 86157b0da4c..e06875a4a3c 100644 --- a/Mage.Sets/src/mage/cards/i/InvisibleStalker.java +++ b/Mage.Sets/src/mage/cards/i/InvisibleStalker.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class InvisibleStalker extends CardImpl { public InvisibleStalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/InvocationOfSaintTraft.java b/Mage.Sets/src/mage/cards/i/InvocationOfSaintTraft.java index 17a6278ea3c..4169859e96c 100644 --- a/Mage.Sets/src/mage/cards/i/InvocationOfSaintTraft.java +++ b/Mage.Sets/src/mage/cards/i/InvocationOfSaintTraft.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class InvocationOfSaintTraft extends CardImpl { public InvocationOfSaintTraft(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant Creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/i/IonCannon.java b/Mage.Sets/src/mage/cards/i/IonCannon.java index 4b27694f4ee..956420497ac 100644 --- a/Mage.Sets/src/mage/cards/i/IonCannon.java +++ b/Mage.Sets/src/mage/cards/i/IonCannon.java @@ -1,74 +1,75 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.common.continuous.LoseAbilityTargetEffect; -import mage.abilities.keyword.DefenderAbility; -import mage.abilities.keyword.SpaceflightAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.target.common.TargetOpponentsCreaturePermanent; - -/** - * - * @author Styxo - */ -public class IonCannon extends CardImpl { - - public IonCannon(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{W}"); - this.subtype.add("Construct"); - this.power = new MageInt(4); - this.toughness = new MageInt(4); - - // Defender - this.addAbility(DefenderAbility.getInstance()); - - // {T}: Target creature an opponent control loses spaceflight until end of turn. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseAbilityTargetEffect(SpaceflightAbility.getInstance(), Duration.EndOfTurn), new TapSourceCost()); - ability.addTarget(new TargetOpponentsCreaturePermanent()); - this.addAbility(ability); - } - - public IonCannon(final IonCannon card) { - super(card); - } - - @Override - public IonCannon copy() { - return new IonCannon(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.continuous.LoseAbilityTargetEffect; +import mage.abilities.keyword.DefenderAbility; +import mage.abilities.keyword.SpaceflightAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.target.common.TargetOpponentsCreaturePermanent; + +/** + * + * @author Styxo + */ +public class IonCannon extends CardImpl { + + public IonCannon(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{W}"); + this.subtype.add(SubType.CONSTRUCT); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // Defender + this.addAbility(DefenderAbility.getInstance()); + + // {T}: Target creature an opponent control loses spaceflight until end of turn. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseAbilityTargetEffect(SpaceflightAbility.getInstance(), Duration.EndOfTurn), new TapSourceCost()); + ability.addTarget(new TargetOpponentsCreaturePermanent()); + this.addAbility(ability); + } + + public IonCannon(final IonCannon card) { + super(card); + } + + @Override + public IonCannon copy() { + return new IonCannon(this); + } +} diff --git a/Mage.Sets/src/mage/cards/i/IonaShieldOfEmeria.java b/Mage.Sets/src/mage/cards/i/IonaShieldOfEmeria.java index 7163a648775..a01955b9299 100644 --- a/Mage.Sets/src/mage/cards/i/IonaShieldOfEmeria.java +++ b/Mage.Sets/src/mage/cards/i/IonaShieldOfEmeria.java @@ -53,7 +53,7 @@ public class IonaShieldOfEmeria extends CardImpl { public IonaShieldOfEmeria(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{W}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/i/IonasBlessing.java b/Mage.Sets/src/mage/cards/i/IonasBlessing.java index d5b00a2d936..248914a1b0d 100644 --- a/Mage.Sets/src/mage/cards/i/IonasBlessing.java +++ b/Mage.Sets/src/mage/cards/i/IonasBlessing.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -59,7 +60,7 @@ public class IonasBlessing extends CardImpl { public IonasBlessing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/i/IpnuRivulet.java b/Mage.Sets/src/mage/cards/i/IpnuRivulet.java index 1d63f3d2924..ca767ac01af 100644 --- a/Mage.Sets/src/mage/cards/i/IpnuRivulet.java +++ b/Mage.Sets/src/mage/cards/i/IpnuRivulet.java @@ -62,7 +62,7 @@ public class IpnuRivulet extends CardImpl { public IpnuRivulet(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Desert"); + this.subtype.add(SubType.DESERT); // {t}: Add {C} to your mana pool. this.addAbility(new ColorlessManaAbility()); diff --git a/Mage.Sets/src/mage/cards/i/IreShaman.java b/Mage.Sets/src/mage/cards/i/IreShaman.java index 42c812734a2..e58fe289629 100644 --- a/Mage.Sets/src/mage/cards/i/IreShaman.java +++ b/Mage.Sets/src/mage/cards/i/IreShaman.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.game.Game; @@ -57,8 +58,8 @@ public class IreShaman extends CardImpl { public IreShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Orc"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IridescentAngel.java b/Mage.Sets/src/mage/cards/i/IridescentAngel.java index 80573a00852..6ce689b9312 100644 --- a/Mage.Sets/src/mage/cards/i/IridescentAngel.java +++ b/Mage.Sets/src/mage/cards/i/IridescentAngel.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -58,7 +59,7 @@ public class IridescentAngel extends CardImpl { public IridescentAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{U}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/IriniSengir.java b/Mage.Sets/src/mage/cards/i/IriniSengir.java index 52fcb97f3c5..619b16ca190 100644 --- a/Mage.Sets/src/mage/cards/i/IriniSengir.java +++ b/Mage.Sets/src/mage/cards/i/IriniSengir.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.cost.SpellsCostIncreasementAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterEnchantmentCard; @@ -56,8 +57,8 @@ public class IriniSengir extends CardImpl { public IriniSengir(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); - this.subtype.add("Dwarf"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.DWARF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/IroasGodOfVictory.java b/Mage.Sets/src/mage/cards/i/IroasGodOfVictory.java index 97b217f5548..00b036f9d9f 100644 --- a/Mage.Sets/src/mage/cards/i/IroasGodOfVictory.java +++ b/Mage.Sets/src/mage/cards/i/IroasGodOfVictory.java @@ -61,7 +61,7 @@ public class IroasGodOfVictory extends CardImpl { public IroasGodOfVictory(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{R}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(7); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/IroassChampion.java b/Mage.Sets/src/mage/cards/i/IroassChampion.java index b38559408db..040a7336523 100644 --- a/Mage.Sets/src/mage/cards/i/IroassChampion.java +++ b/Mage.Sets/src/mage/cards/i/IroassChampion.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class IroassChampion extends CardImpl { public IroassChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/IronBarbHellion.java b/Mage.Sets/src/mage/cards/i/IronBarbHellion.java index 3c55183d9ca..a1b513dbfaa 100644 --- a/Mage.Sets/src/mage/cards/i/IronBarbHellion.java +++ b/Mage.Sets/src/mage/cards/i/IronBarbHellion.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class IronBarbHellion extends CardImpl { public IronBarbHellion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Hellion"); - this.subtype.add("Beast"); + this.subtype.add(SubType.HELLION); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/IronFistOfTheEmpire.java b/Mage.Sets/src/mage/cards/i/IronFistOfTheEmpire.java index 87c9c3e8224..7384e118532 100644 --- a/Mage.Sets/src/mage/cards/i/IronFistOfTheEmpire.java +++ b/Mage.Sets/src/mage/cards/i/IronFistOfTheEmpire.java @@ -1,72 +1,72 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfEndStepTriggeredAbility; -import mage.abilities.condition.common.HateCondition; -import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.effects.common.GainLifeEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.TargetController; -import mage.game.permanent.token.RoyalGuardToken; -import mage.watchers.common.LifeLossOtherFromCombatWatcher; - -/** - * - * @author Styxo - */ -public class IronFistOfTheEmpire extends CardImpl { - - public IronFistOfTheEmpire(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{U}{B}{R}"); - - // Hate — At the beggining of each end step, if opponent lost life from a source other than combat damage this turn, you gain 2 life and create a 2/2 red Soldier creature token with first strike name Royal Guard. - TriggeredAbility triggeredAbility = new BeginningOfEndStepTriggeredAbility(new GainLifeEffect(2), TargetController.ANY, false); - triggeredAbility.addEffect(new CreateTokenEffect(new RoyalGuardToken())); - Ability ability = new ConditionalTriggeredAbility( - triggeredAbility, - HateCondition.instance, - "Hate — At the beggining of each end step, if opponent lost life from a source other than combat damage this turn, you gain 1 life and create a 2/2 red Soldier creature token with first strike named Royal Guard."); - this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); - } - - public IronFistOfTheEmpire(final IronFistOfTheEmpire card) { - super(card); - } - - @Override - public IronFistOfTheEmpire copy() { - return new IronFistOfTheEmpire(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.TriggeredAbility; +import mage.abilities.common.BeginningOfEndStepTriggeredAbility; +import mage.abilities.condition.common.HateCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.TargetController; +import mage.game.permanent.token.RoyalGuardToken; +import mage.watchers.common.LifeLossOtherFromCombatWatcher; + +/** + * + * @author Styxo + */ +public class IronFistOfTheEmpire extends CardImpl { + + public IronFistOfTheEmpire(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{U}{B}{R}"); + + // Hate — At the beggining of each end step, if opponent lost life from a source other than combat damage this turn, you gain 2 life and create a 2/2 red Soldier creature token with first strike name Royal Guard. + TriggeredAbility triggeredAbility = new BeginningOfEndStepTriggeredAbility(new GainLifeEffect(2), TargetController.ANY, false); + triggeredAbility.addEffect(new CreateTokenEffect(new RoyalGuardToken())); + Ability ability = new ConditionalTriggeredAbility( + triggeredAbility, + HateCondition.instance, + "Hate — At the beggining of each end step, if opponent lost life from a source other than combat damage this turn, you gain 1 life and create a 2/2 red Soldier creature token with first strike named Royal Guard."); + this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); + } + + public IronFistOfTheEmpire(final IronFistOfTheEmpire card) { + super(card); + } + + @Override + public IronFistOfTheEmpire copy() { + return new IronFistOfTheEmpire(this); + } +} diff --git a/Mage.Sets/src/mage/cards/i/IronLance.java b/Mage.Sets/src/mage/cards/i/IronLance.java index 610bd67cadb..f2d691de04d 100644 --- a/Mage.Sets/src/mage/cards/i/IronLance.java +++ b/Mage.Sets/src/mage/cards/i/IronLance.java @@ -1,68 +1,68 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; -import mage.abilities.keyword.FirstStrikeAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Derpthemeus - */ -public class IronLance extends CardImpl { - - public IronLance(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - - // {3}, {tap}: Target creature gains first strike until end of turn. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{3}")); - ability.addCost(new TapSourceCost()); - ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability); - } - - public IronLance(final IronLance card) { - super(card); - } - - @Override - public IronLance copy() { - return new IronLance(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Derpthemeus + */ +public class IronLance extends CardImpl { + + public IronLance(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); + + // {3}, {tap}: Target creature gains first strike until end of turn. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{3}")); + ability.addCost(new TapSourceCost()); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public IronLance(final IronLance card) { + super(card); + } + + @Override + public IronLance copy() { + return new IronLance(this); + } +} diff --git a/Mage.Sets/src/mage/cards/i/IronLeagueSteed.java b/Mage.Sets/src/mage/cards/i/IronLeagueSteed.java index 340fa2ee3f5..f582666dffb 100644 --- a/Mage.Sets/src/mage/cards/i/IronLeagueSteed.java +++ b/Mage.Sets/src/mage/cards/i/IronLeagueSteed.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class IronLeagueSteed extends CardImpl { public IronLeagueSteed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/IronMyr.java b/Mage.Sets/src/mage/cards/i/IronMyr.java index 621e7718772..1ac8b11278c 100644 --- a/Mage.Sets/src/mage/cards/i/IronMyr.java +++ b/Mage.Sets/src/mage/cards/i/IronMyr.java @@ -34,6 +34,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class IronMyr extends CardImpl { public IronMyr (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(new RedManaAbility()); diff --git a/Mage.Sets/src/mage/cards/i/IronTuskElephant.java b/Mage.Sets/src/mage/cards/i/IronTuskElephant.java index 644411e46e6..f559187aee2 100644 --- a/Mage.Sets/src/mage/cards/i/IronTuskElephant.java +++ b/Mage.Sets/src/mage/cards/i/IronTuskElephant.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class IronTuskElephant extends CardImpl { public IronTuskElephant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/IroncladRevolutionary.java b/Mage.Sets/src/mage/cards/i/IroncladRevolutionary.java index 83c99fb04f8..dcf36b510c8 100644 --- a/Mage.Sets/src/mage/cards/i/IroncladRevolutionary.java +++ b/Mage.Sets/src/mage/cards/i/IroncladRevolutionary.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterControlledArtifactPermanent; import mage.target.common.TargetControlledPermanent; @@ -51,8 +52,8 @@ public class IroncladRevolutionary extends CardImpl { public IroncladRevolutionary(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}"); - this.subtype.add("Aetherborn"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.AETHERBORN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/IroncladSlayer.java b/Mage.Sets/src/mage/cards/i/IroncladSlayer.java index 0d39839e7f1..5c992df4699 100644 --- a/Mage.Sets/src/mage/cards/i/IroncladSlayer.java +++ b/Mage.Sets/src/mage/cards/i/IroncladSlayer.java @@ -56,8 +56,8 @@ public class IroncladSlayer extends CardImpl { public IroncladSlayer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/IronclawBuzzardiers.java b/Mage.Sets/src/mage/cards/i/IronclawBuzzardiers.java index 66079182b3d..2248049ca3c 100644 --- a/Mage.Sets/src/mage/cards/i/IronclawBuzzardiers.java +++ b/Mage.Sets/src/mage/cards/i/IronclawBuzzardiers.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class IronclawBuzzardiers extends CardImpl { public IronclawBuzzardiers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Orc"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/IronclawOrcs.java b/Mage.Sets/src/mage/cards/i/IronclawOrcs.java index 8208a368a01..db7841c5d85 100644 --- a/Mage.Sets/src/mage/cards/i/IronclawOrcs.java +++ b/Mage.Sets/src/mage/cards/i/IronclawOrcs.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CantBlockCreaturesSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -52,7 +53,7 @@ public class IronclawOrcs extends CardImpl { public IronclawOrcs(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Orc"); + this.subtype.add(SubType.ORC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/Ironfang.java b/Mage.Sets/src/mage/cards/i/Ironfang.java index ece14aff66c..e85c4b0a5b9 100644 --- a/Mage.Sets/src/mage/cards/i/Ironfang.java +++ b/Mage.Sets/src/mage/cards/i/Ironfang.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,7 +49,7 @@ public class Ironfang extends CardImpl { public Ironfang(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.color.setRed(true); // this card is the second face of double-faced card diff --git a/Mage.Sets/src/mage/cards/i/IronfistCrusher.java b/Mage.Sets/src/mage/cards/i/IronfistCrusher.java index 40563dd7a91..2972f2f87d7 100644 --- a/Mage.Sets/src/mage/cards/i/IronfistCrusher.java +++ b/Mage.Sets/src/mage/cards/i/IronfistCrusher.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class IronfistCrusher extends CardImpl { public IronfistCrusher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/IronhoofOx.java b/Mage.Sets/src/mage/cards/i/IronhoofOx.java index 2a5f838d095..bbc4585d850 100644 --- a/Mage.Sets/src/mage/cards/i/IronhoofOx.java +++ b/Mage.Sets/src/mage/cards/i/IronhoofOx.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByMoreThanOneSourceEffe import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -44,7 +45,7 @@ public class IronhoofOx extends CardImpl { public IronhoofOx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Ox"); + this.subtype.add(SubType.OX); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/IronrootTreefolk.java b/Mage.Sets/src/mage/cards/i/IronrootTreefolk.java index dcd2eaefdfa..23356729ee9 100644 --- a/Mage.Sets/src/mage/cards/i/IronrootTreefolk.java +++ b/Mage.Sets/src/mage/cards/i/IronrootTreefolk.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class IronrootTreefolk extends CardImpl { public IronrootTreefolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/i/IronshellBeetle.java b/Mage.Sets/src/mage/cards/i/IronshellBeetle.java index fbfb4b9f484..b33437d8c86 100644 --- a/Mage.Sets/src/mage/cards/i/IronshellBeetle.java +++ b/Mage.Sets/src/mage/cards/i/IronshellBeetle.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -46,7 +47,7 @@ public class IronshellBeetle extends CardImpl { public IronshellBeetle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IrontreadCrusher.java b/Mage.Sets/src/mage/cards/i/IrontreadCrusher.java index 1b3cd4fdd56..9905127fc01 100644 --- a/Mage.Sets/src/mage/cards/i/IrontreadCrusher.java +++ b/Mage.Sets/src/mage/cards/i/IrontreadCrusher.java @@ -1,64 +1,64 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.i; - -import mage.MageInt; -import mage.abilities.keyword.CrewAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; - -import java.util.UUID; - -/** - * - * @author Styxo - */ -public class IrontreadCrusher extends CardImpl { - - public IrontreadCrusher(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); - - this.subtype.add(SubType.VEHICLE); - this.power = new MageInt(6); - this.toughness = new MageInt(6); - - // Crew 3 - this.addAbility(new CrewAbility(3)); - } - - public IrontreadCrusher(final IrontreadCrusher card) { - super(card); - } - - @Override - public IrontreadCrusher copy() { - return new IrontreadCrusher(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.i; + +import mage.MageInt; +import mage.abilities.keyword.CrewAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +import java.util.UUID; + +/** + * + * @author Styxo + */ +public class IrontreadCrusher extends CardImpl { + + public IrontreadCrusher(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); + + this.subtype.add(SubType.VEHICLE); + this.power = new MageInt(6); + this.toughness = new MageInt(6); + + // Crew 3 + this.addAbility(new CrewAbility(3)); + } + + public IrontreadCrusher(final IrontreadCrusher card) { + super(card); + } + + @Override + public IrontreadCrusher copy() { + return new IrontreadCrusher(this); + } +} diff --git a/Mage.Sets/src/mage/cards/i/IrrigatedFarmland.java b/Mage.Sets/src/mage/cards/i/IrrigatedFarmland.java index 83afd63f0ab..c2b81bd9045 100644 --- a/Mage.Sets/src/mage/cards/i/IrrigatedFarmland.java +++ b/Mage.Sets/src/mage/cards/i/IrrigatedFarmland.java @@ -36,6 +36,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class IrrigatedFarmland extends CardImpl { public IrrigatedFarmland(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Plains"); - this.subtype.add("Island"); + this.subtype.add(SubType.PLAINS); + this.subtype.add(SubType.ISLAND); // ({T}: Add {W} or {U} to your mana pool.) this.addAbility(new WhiteManaAbility()); diff --git a/Mage.Sets/src/mage/cards/i/IsamaruHoundofKonda.java b/Mage.Sets/src/mage/cards/i/IsamaruHoundofKonda.java index 93f6b6e3938..1837c0246e7 100644 --- a/Mage.Sets/src/mage/cards/i/IsamaruHoundofKonda.java +++ b/Mage.Sets/src/mage/cards/i/IsamaruHoundofKonda.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -44,7 +45,7 @@ public class IsamaruHoundofKonda extends CardImpl { public IsamaruHoundofKonda (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/IsaoEnlightenedBushi.java b/Mage.Sets/src/mage/cards/i/IsaoEnlightenedBushi.java index 4edebb19c38..f0979128794 100644 --- a/Mage.Sets/src/mage/cards/i/IsaoEnlightenedBushi.java +++ b/Mage.Sets/src/mage/cards/i/IsaoEnlightenedBushi.java @@ -60,8 +60,8 @@ public class IsaoEnlightenedBushi extends CardImpl { public IsaoEnlightenedBushi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IshaiOjutaiDragonspeaker.java b/Mage.Sets/src/mage/cards/i/IshaiOjutaiDragonspeaker.java index 76535d00926..b7956ee5d13 100644 --- a/Mage.Sets/src/mage/cards/i/IshaiOjutaiDragonspeaker.java +++ b/Mage.Sets/src/mage/cards/i/IshaiOjutaiDragonspeaker.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.PartnerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.counters.CounterType; @@ -49,8 +50,8 @@ public class IshaiOjutaiDragonspeaker extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Bird"); - this.subtype.add("Monk"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.MONK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IshiIshiAkkiCrackshot.java b/Mage.Sets/src/mage/cards/i/IshiIshiAkkiCrackshot.java index 782e4e6e630..8553572cedd 100644 --- a/Mage.Sets/src/mage/cards/i/IshiIshiAkkiCrackshot.java +++ b/Mage.Sets/src/mage/cards/i/IshiIshiAkkiCrackshot.java @@ -52,8 +52,8 @@ public class IshiIshiAkkiCrackshot extends CardImpl { public IshiIshiAkkiCrackshot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IshkanahGrafwidow.java b/Mage.Sets/src/mage/cards/i/IshkanahGrafwidow.java index 09615b70bcd..dbe4f450ac4 100644 --- a/Mage.Sets/src/mage/cards/i/IshkanahGrafwidow.java +++ b/Mage.Sets/src/mage/cards/i/IshkanahGrafwidow.java @@ -65,7 +65,7 @@ public class IshkanahGrafwidow extends CardImpl { public IshkanahGrafwidow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/i/IslandFishJasconius.java b/Mage.Sets/src/mage/cards/i/IslandFishJasconius.java index 3d238e930e3..7411e0c51e2 100644 --- a/Mage.Sets/src/mage/cards/i/IslandFishJasconius.java +++ b/Mage.Sets/src/mage/cards/i/IslandFishJasconius.java @@ -51,7 +51,7 @@ public class IslandFishJasconius extends CardImpl { public IslandFishJasconius(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}{U}"); - this.subtype.add("Fish"); + this.subtype.add(SubType.FISH); this.power = new MageInt(6); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/i/IslebackSpawn.java b/Mage.Sets/src/mage/cards/i/IslebackSpawn.java index 3207a3ca023..36be3494985 100644 --- a/Mage.Sets/src/mage/cards/i/IslebackSpawn.java +++ b/Mage.Sets/src/mage/cards/i/IslebackSpawn.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class IslebackSpawn extends CardImpl { public IslebackSpawn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Kraken"); + this.subtype.add(SubType.KRAKEN); this.power = new MageInt(4); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/i/IsperiaSupremeJudge.java b/Mage.Sets/src/mage/cards/i/IsperiaSupremeJudge.java index 6d98b613e96..060562ae105 100644 --- a/Mage.Sets/src/mage/cards/i/IsperiaSupremeJudge.java +++ b/Mage.Sets/src/mage/cards/i/IsperiaSupremeJudge.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -46,7 +47,7 @@ public class IsperiaSupremeJudge extends CardImpl { public IsperiaSupremeJudge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); addSuperType(SuperType.LEGENDARY); diff --git a/Mage.Sets/src/mage/cards/i/IsperiaTheInscrutable.java b/Mage.Sets/src/mage/cards/i/IsperiaTheInscrutable.java index a3030b8774f..e179e1342a7 100644 --- a/Mage.Sets/src/mage/cards/i/IsperiaTheInscrutable.java +++ b/Mage.Sets/src/mage/cards/i/IsperiaTheInscrutable.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.FilterCard; @@ -58,7 +59,7 @@ public class IsperiaTheInscrutable extends CardImpl { public IsperiaTheInscrutable(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}{U}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/i/IsperiasSkywatch.java b/Mage.Sets/src/mage/cards/i/IsperiasSkywatch.java index a383f354868..85859d4bda9 100644 --- a/Mage.Sets/src/mage/cards/i/IsperiasSkywatch.java +++ b/Mage.Sets/src/mage/cards/i/IsperiasSkywatch.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -55,8 +56,8 @@ public class IsperiasSkywatch extends CardImpl { public IsperiasSkywatch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Knight"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/ItOfTheHorridSwarm.java b/Mage.Sets/src/mage/cards/i/ItOfTheHorridSwarm.java index 4a565c8133c..374ac0b954f 100644 --- a/Mage.Sets/src/mage/cards/i/ItOfTheHorridSwarm.java +++ b/Mage.Sets/src/mage/cards/i/ItOfTheHorridSwarm.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EmergeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.InsectToken; /** @@ -46,8 +47,8 @@ public class ItOfTheHorridSwarm extends CardImpl { public ItOfTheHorridSwarm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{8}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Insect"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.INSECT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/ItThatBetrays.java b/Mage.Sets/src/mage/cards/i/ItThatBetrays.java index b6ed914c1a6..507e7ca2c5f 100644 --- a/Mage.Sets/src/mage/cards/i/ItThatBetrays.java +++ b/Mage.Sets/src/mage/cards/i/ItThatBetrays.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.AnnihilatorAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.permanent.TokenPredicate; @@ -53,7 +54,7 @@ public class ItThatBetrays extends CardImpl { public ItThatBetrays(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{12}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(11); this.toughness = new MageInt(11); diff --git a/Mage.Sets/src/mage/cards/i/ItThatRidesAsOne.java b/Mage.Sets/src/mage/cards/i/ItThatRidesAsOne.java index d2ba94dcc7f..3574e01211a 100644 --- a/Mage.Sets/src/mage/cards/i/ItThatRidesAsOne.java +++ b/Mage.Sets/src/mage/cards/i/ItThatRidesAsOne.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class ItThatRidesAsOne extends CardImpl { public ItThatRidesAsOne(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Eldrazi"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/IthHighArcanist.java b/Mage.Sets/src/mage/cards/i/IthHighArcanist.java index 1eddda68916..5ff259dfce3 100644 --- a/Mage.Sets/src/mage/cards/i/IthHighArcanist.java +++ b/Mage.Sets/src/mage/cards/i/IthHighArcanist.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class IthHighArcanist extends CardImpl { public IthHighArcanist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/i/IthorianInitiate.java b/Mage.Sets/src/mage/cards/i/IthorianInitiate.java index e2f964bd2e1..e3bcf12b88e 100644 --- a/Mage.Sets/src/mage/cards/i/IthorianInitiate.java +++ b/Mage.Sets/src/mage/cards/i/IthorianInitiate.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MeditateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -48,8 +49,8 @@ public class IthorianInitiate extends CardImpl { public IthorianInitiate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Ithorian"); - this.subtype.add("Jedi"); + this.subtype.add(SubType.ITHORIAN); + this.subtype.add(SubType.JEDI); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/i/IvoryGiant.java b/Mage.Sets/src/mage/cards/i/IvoryGiant.java index dbc61291c07..f539b371925 100644 --- a/Mage.Sets/src/mage/cards/i/IvoryGiant.java +++ b/Mage.Sets/src/mage/cards/i/IvoryGiant.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -54,7 +55,7 @@ public class IvoryGiant extends CardImpl { public IvoryGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/IvoryGuardians.java b/Mage.Sets/src/mage/cards/i/IvoryGuardians.java index 5d93e0dde16..248fcd02bd1 100644 --- a/Mage.Sets/src/mage/cards/i/IvoryGuardians.java +++ b/Mage.Sets/src/mage/cards/i/IvoryGuardians.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -64,8 +65,8 @@ public class IvoryGuardians extends CardImpl { public IvoryGuardians(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Giant"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/IvorytuskFortress.java b/Mage.Sets/src/mage/cards/i/IvorytuskFortress.java index 32cb48faa30..c8709612d23 100644 --- a/Mage.Sets/src/mage/cards/i/IvorytuskFortress.java +++ b/Mage.Sets/src/mage/cards/i/IvorytuskFortress.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.UntapAllDuringEachOtherPlayersUn import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -53,7 +54,7 @@ public class IvorytuskFortress extends CardImpl { public IvorytuskFortress(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{B}{G}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(5); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/i/IvyDancer.java b/Mage.Sets/src/mage/cards/i/IvyDancer.java index 9062daf172b..799a813a4d4 100644 --- a/Mage.Sets/src/mage/cards/i/IvyDancer.java +++ b/Mage.Sets/src/mage/cards/i/IvyDancer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class IvyDancer extends CardImpl { public IvyDancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Dryad"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.DRYAD); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/IvyElemental.java b/Mage.Sets/src/mage/cards/i/IvyElemental.java index 83311bac02d..89df135c4f2 100644 --- a/Mage.Sets/src/mage/cards/i/IvyElemental.java +++ b/Mage.Sets/src/mage/cards/i/IvyElemental.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.EntersBattlefieldWithXCountersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -44,7 +45,7 @@ public class IvyElemental extends CardImpl { public IvyElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{X}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/i/IvyLaneDenizen.java b/Mage.Sets/src/mage/cards/i/IvyLaneDenizen.java index 356d5ac9f2b..e4871b512d9 100644 --- a/Mage.Sets/src/mage/cards/i/IvyLaneDenizen.java +++ b/Mage.Sets/src/mage/cards/i/IvyLaneDenizen.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -57,8 +58,8 @@ public class IvyLaneDenizen extends CardImpl { public IvyLaneDenizen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/IwamoriOfTheOpenFist.java b/Mage.Sets/src/mage/cards/i/IwamoriOfTheOpenFist.java index 8cd186dd237..de24a431069 100644 --- a/Mage.Sets/src/mage/cards/i/IwamoriOfTheOpenFist.java +++ b/Mage.Sets/src/mage/cards/i/IwamoriOfTheOpenFist.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.TrampleAbility; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class IwamoriOfTheOpenFist extends CardImpl { public IwamoriOfTheOpenFist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/i/IxidorRealitySculptor.java b/Mage.Sets/src/mage/cards/i/IxidorRealitySculptor.java index dd3e46633ab..63414ade854 100644 --- a/Mage.Sets/src/mage/cards/i/IxidorRealitySculptor.java +++ b/Mage.Sets/src/mage/cards/i/IxidorRealitySculptor.java @@ -62,8 +62,8 @@ public class IxidorRealitySculptor extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/i/Ixidron.java b/Mage.Sets/src/mage/cards/i/Ixidron.java index 247e107eebb..ec2c4b368ee 100644 --- a/Mage.Sets/src/mage/cards/i/Ixidron.java +++ b/Mage.Sets/src/mage/cards/i/Ixidron.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -63,7 +64,7 @@ public class Ixidron extends CardImpl { public Ixidron(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/i/IzzetChemister.java b/Mage.Sets/src/mage/cards/i/IzzetChemister.java index b131d443221..ec022d586e1 100644 --- a/Mage.Sets/src/mage/cards/i/IzzetChemister.java +++ b/Mage.Sets/src/mage/cards/i/IzzetChemister.java @@ -43,6 +43,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -64,8 +65,8 @@ public class IzzetChemister extends CardImpl { public IzzetChemister(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/i/IzzetChronarch.java b/Mage.Sets/src/mage/cards/i/IzzetChronarch.java index 6a4fcf5c4e1..85a49bce4f9 100644 --- a/Mage.Sets/src/mage/cards/i/IzzetChronarch.java +++ b/Mage.Sets/src/mage/cards/i/IzzetChronarch.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -56,8 +57,8 @@ public class IzzetChronarch extends CardImpl { public IzzetChronarch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/IzzetGuildmage.java b/Mage.Sets/src/mage/cards/i/IzzetGuildmage.java index 4e3d993c206..1133b991076 100644 --- a/Mage.Sets/src/mage/cards/i/IzzetGuildmage.java +++ b/Mage.Sets/src/mage/cards/i/IzzetGuildmage.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CopyTargetSpellEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.TargetController; import mage.constants.Zone; @@ -65,8 +66,8 @@ public class IzzetGuildmage extends CardImpl { public IzzetGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U/R}{U/R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/i/IzzetKeyrune.java b/Mage.Sets/src/mage/cards/i/IzzetKeyrune.java index 3a5beccc2ad..ed143a5c974 100644 --- a/Mage.Sets/src/mage/cards/i/IzzetKeyrune.java +++ b/Mage.Sets/src/mage/cards/i/IzzetKeyrune.java @@ -40,6 +40,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -111,7 +112,7 @@ public class IzzetKeyrune extends CardImpl { cardType.add(CardType.CREATURE); color.setBlue(true); color.setRed(true); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); power = new MageInt(2); toughness = new MageInt(1); } diff --git a/Mage.Sets/src/mage/cards/i/IzzetStaticaster.java b/Mage.Sets/src/mage/cards/i/IzzetStaticaster.java index 93d4a0c8167..d8852b24de1 100644 --- a/Mage.Sets/src/mage/cards/i/IzzetStaticaster.java +++ b/Mage.Sets/src/mage/cards/i/IzzetStaticaster.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -55,8 +56,8 @@ public class IzzetStaticaster extends CardImpl { public IzzetStaticaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JabbaTheHutt.java b/Mage.Sets/src/mage/cards/j/JabbaTheHutt.java index f50e7887419..ad958255468 100644 --- a/Mage.Sets/src/mage/cards/j/JabbaTheHutt.java +++ b/Mage.Sets/src/mage/cards/j/JabbaTheHutt.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -70,8 +71,8 @@ public class JabbaTheHutt extends CardImpl { public JabbaTheHutt(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Hutt"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUTT); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/j/JaceArchitectOfThought.java b/Mage.Sets/src/mage/cards/j/JaceArchitectOfThought.java index 4bd194c5f6b..a0b7f28c869 100644 --- a/Mage.Sets/src/mage/cards/j/JaceArchitectOfThought.java +++ b/Mage.Sets/src/mage/cards/j/JaceArchitectOfThought.java @@ -44,6 +44,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SuperType; @@ -73,7 +74,7 @@ public class JaceArchitectOfThought extends CardImpl { public JaceArchitectOfThought(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{U}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Jace"); + this.subtype.add(SubType.JACE); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/j/JaceBeleren.java b/Mage.Sets/src/mage/cards/j/JaceBeleren.java index 0522627a377..657dabb79a1 100644 --- a/Mage.Sets/src/mage/cards/j/JaceBeleren.java +++ b/Mage.Sets/src/mage/cards/j/JaceBeleren.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.target.TargetPlayer; @@ -48,7 +49,7 @@ public class JaceBeleren extends CardImpl { public JaceBeleren(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{1}{U}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Jace"); + this.subtype.add(SubType.JACE); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/j/JaceCunningCastaway.java b/Mage.Sets/src/mage/cards/j/JaceCunningCastaway.java index f1c02d0bd16..501657b9a68 100644 --- a/Mage.Sets/src/mage/cards/j/JaceCunningCastaway.java +++ b/Mage.Sets/src/mage/cards/j/JaceCunningCastaway.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.CreateTokenCopyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SuperType; @@ -61,7 +62,7 @@ public class JaceCunningCastaway extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Jace"); + this.subtype.add(SubType.JACE); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/j/JaceIngeniousMindMage.java b/Mage.Sets/src/mage/cards/j/JaceIngeniousMindMage.java index e68594b18bb..cfc7cfeb048 100644 --- a/Mage.Sets/src/mage/cards/j/JaceIngeniousMindMage.java +++ b/Mage.Sets/src/mage/cards/j/JaceIngeniousMindMage.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; @@ -52,7 +53,7 @@ public class JaceIngeniousMindMage extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Jace"); + this.subtype.add(SubType.JACE); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/j/JaceMemoryAdept.java b/Mage.Sets/src/mage/cards/j/JaceMemoryAdept.java index 199a9e6275d..d58d51ecf2d 100644 --- a/Mage.Sets/src/mage/cards/j/JaceMemoryAdept.java +++ b/Mage.Sets/src/mage/cards/j/JaceMemoryAdept.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.game.Game; import mage.players.Player; @@ -51,7 +52,7 @@ public class JaceMemoryAdept extends CardImpl { public JaceMemoryAdept(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{U}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Jace"); + this.subtype.add(SubType.JACE); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/j/JaceTelepathUnbound.java b/Mage.Sets/src/mage/cards/j/JaceTelepathUnbound.java index 51724d82ef5..8378a263287 100644 --- a/Mage.Sets/src/mage/cards/j/JaceTelepathUnbound.java +++ b/Mage.Sets/src/mage/cards/j/JaceTelepathUnbound.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SuperType; @@ -66,7 +67,7 @@ public class JaceTelepathUnbound extends CardImpl { public JaceTelepathUnbound(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, ""); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Jace"); + this.subtype.add(SubType.JACE); this.color.setBlue(true); this.nightCard = true; diff --git a/Mage.Sets/src/mage/cards/j/JaceTheLivingGuildpact.java b/Mage.Sets/src/mage/cards/j/JaceTheLivingGuildpact.java index d096b622f86..498d999b873 100644 --- a/Mage.Sets/src/mage/cards/j/JaceTheLivingGuildpact.java +++ b/Mage.Sets/src/mage/cards/j/JaceTheLivingGuildpact.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -66,7 +67,7 @@ public class JaceTheLivingGuildpact extends CardImpl { public JaceTheLivingGuildpact(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{U}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Jace"); + this.subtype.add(SubType.JACE); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/j/JaceTheMindSculptor.java b/Mage.Sets/src/mage/cards/j/JaceTheMindSculptor.java index 120a9fe1571..bd6a19f2bab 100644 --- a/Mage.Sets/src/mage/cards/j/JaceTheMindSculptor.java +++ b/Mage.Sets/src/mage/cards/j/JaceTheMindSculptor.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class JaceTheMindSculptor extends CardImpl { public JaceTheMindSculptor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{U}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Jace"); + this.subtype.add(SubType.JACE); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/j/JaceUnravelerOfSecrets.java b/Mage.Sets/src/mage/cards/j/JaceUnravelerOfSecrets.java index b3d85832c3c..c2ddc9c34cd 100644 --- a/Mage.Sets/src/mage/cards/j/JaceUnravelerOfSecrets.java +++ b/Mage.Sets/src/mage/cards/j/JaceUnravelerOfSecrets.java @@ -39,6 +39,7 @@ import mage.abilities.effects.keyword.ScryEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.game.command.emblems.JaceUnravelerOfSecretsEmblem; import mage.target.common.TargetCreaturePermanent; @@ -54,7 +55,7 @@ public class JaceUnravelerOfSecrets extends CardImpl { public JaceUnravelerOfSecrets(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{U}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Jace"); + this.subtype.add(SubType.JACE); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/j/JaceVrynsProdigy.java b/Mage.Sets/src/mage/cards/j/JaceVrynsProdigy.java index 84ad1532262..d5a1dab2642 100644 --- a/Mage.Sets/src/mage/cards/j/JaceVrynsProdigy.java +++ b/Mage.Sets/src/mage/cards/j/JaceVrynsProdigy.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class JaceVrynsProdigy extends CardImpl { public JaceVrynsProdigy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JacesArchivist.java b/Mage.Sets/src/mage/cards/j/JacesArchivist.java index d6695b32bfa..6d46b5460f6 100644 --- a/Mage.Sets/src/mage/cards/j/JacesArchivist.java +++ b/Mage.Sets/src/mage/cards/j/JacesArchivist.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class JacesArchivist extends CardImpl { public JacesArchivist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JacesMindseeker.java b/Mage.Sets/src/mage/cards/j/JacesMindseeker.java index e23e7587b5a..1f89f789f70 100644 --- a/Mage.Sets/src/mage/cards/j/JacesMindseeker.java +++ b/Mage.Sets/src/mage/cards/j/JacesMindseeker.java @@ -41,6 +41,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -58,8 +59,8 @@ public class JacesMindseeker extends CardImpl { public JacesMindseeker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}{U}"); - this.subtype.add("Fish"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.FISH); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/j/JacesPhantasm.java b/Mage.Sets/src/mage/cards/j/JacesPhantasm.java index 3f168606c63..ec79be5a206 100644 --- a/Mage.Sets/src/mage/cards/j/JacesPhantasm.java +++ b/Mage.Sets/src/mage/cards/j/JacesPhantasm.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class JacesPhantasm extends CardImpl { public JacesPhantasm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JacesSentinel.java b/Mage.Sets/src/mage/cards/j/JacesSentinel.java index 711ea8b8144..dfdedbaa661 100644 --- a/Mage.Sets/src/mage/cards/j/JacesSentinel.java +++ b/Mage.Sets/src/mage/cards/j/JacesSentinel.java @@ -64,8 +64,8 @@ public class JacesSentinel extends CardImpl { public JacesSentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JackalFamiliar.java b/Mage.Sets/src/mage/cards/j/JackalFamiliar.java index 1ae0c0426b1..0df2a26a270 100644 --- a/Mage.Sets/src/mage/cards/j/JackalFamiliar.java +++ b/Mage.Sets/src/mage/cards/j/JackalFamiliar.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.CantBlockAloneAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author magenoxx_at_gmail.com @@ -42,7 +43,7 @@ public class JackalFamiliar extends CardImpl { public JackalFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Jackal"); + this.subtype.add(SubType.JACKAL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JackalPup.java b/Mage.Sets/src/mage/cards/j/JackalPup.java index 3af2a677d8e..3f9a7ffb6e5 100644 --- a/Mage.Sets/src/mage/cards/j/JackalPup.java +++ b/Mage.Sets/src/mage/cards/j/JackalPup.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -49,7 +50,7 @@ public class JackalPup extends CardImpl { public JackalPup(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Jackal"); + this.subtype.add(SubType.JACKAL); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JackalopeHerd.java b/Mage.Sets/src/mage/cards/j/JackalopeHerd.java index b2187aad674..b0dd86ccd98 100644 --- a/Mage.Sets/src/mage/cards/j/JackalopeHerd.java +++ b/Mage.Sets/src/mage/cards/j/JackalopeHerd.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterSpell; /** @@ -44,8 +45,8 @@ public class JackalopeHerd extends CardImpl { public JackalopeHerd(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Rabbit"); - this.subtype.add("Beast"); + this.subtype.add(SubType.RABBIT); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/j/JacquesLeVert.java b/Mage.Sets/src/mage/cards/j/JacquesLeVert.java index ed54c355202..68e70f71974 100644 --- a/Mage.Sets/src/mage/cards/j/JacquesLeVert.java +++ b/Mage.Sets/src/mage/cards/j/JacquesLeVert.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class JacquesLeVert extends CardImpl { public JacquesLeVert(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}{W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JaddiLifestrider.java b/Mage.Sets/src/mage/cards/j/JaddiLifestrider.java index 3a0ba8d7f4d..07965c1d4bc 100644 --- a/Mage.Sets/src/mage/cards/j/JaddiLifestrider.java +++ b/Mage.Sets/src/mage/cards/j/JaddiLifestrider.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -53,7 +54,7 @@ public class JaddiLifestrider extends CardImpl { public JaddiLifestrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/j/JaddiOffshoot.java b/Mage.Sets/src/mage/cards/j/JaddiOffshoot.java index edb6b75ea8f..d9a79655295 100644 --- a/Mage.Sets/src/mage/cards/j/JaddiOffshoot.java +++ b/Mage.Sets/src/mage/cards/j/JaddiOffshoot.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class JaddiOffshoot extends CardImpl { public JaddiOffshoot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Plant"); + this.subtype.add(SubType.PLANT); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JadeIdol.java b/Mage.Sets/src/mage/cards/j/JadeIdol.java index ee56c212e61..3fa6bed3e8d 100644 --- a/Mage.Sets/src/mage/cards/j/JadeIdol.java +++ b/Mage.Sets/src/mage/cards/j/JadeIdol.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; import mage.game.permanent.token.Token; @@ -65,7 +66,7 @@ class JadeIdolToken extends Token { super("", "4/4 Spirit artifact creature"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(4); toughness = new MageInt(4); } diff --git a/Mage.Sets/src/mage/cards/j/JadeLeech.java b/Mage.Sets/src/mage/cards/j/JadeLeech.java index 86058268d46..ffa3fae6406 100644 --- a/Mage.Sets/src/mage/cards/j/JadeLeech.java +++ b/Mage.Sets/src/mage/cards/j/JadeLeech.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.cost.SpellsCostIncreasementControllerEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.ColorPredicate; @@ -54,7 +55,7 @@ public class JadeLeech extends CardImpl { public JadeLeech(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Leech"); + this.subtype.add(SubType.LEECH); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/j/JadeMage.java b/Mage.Sets/src/mage/cards/j/JadeMage.java index 0eb1d812c98..cf6f0e6775c 100644 --- a/Mage.Sets/src/mage/cards/j/JadeMage.java +++ b/Mage.Sets/src/mage/cards/j/JadeMage.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.SaprolingToken; @@ -46,8 +47,8 @@ public class JadeMage extends CardImpl { public JadeMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JadeStatue.java b/Mage.Sets/src/mage/cards/j/JadeStatue.java index 5c1ff5d5242..36d5ae7e5bc 100644 --- a/Mage.Sets/src/mage/cards/j/JadeStatue.java +++ b/Mage.Sets/src/mage/cards/j/JadeStatue.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TurnPhase; import mage.constants.Zone; @@ -69,7 +70,7 @@ public class JadeStatue extends CardImpl { super("", "3/6 Golem artifact creature"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); power = new MageInt(3); toughness = new MageInt(6); } diff --git a/Mage.Sets/src/mage/cards/j/JaggedScarArchers.java b/Mage.Sets/src/mage/cards/j/JaggedScarArchers.java index d567471fa80..32a0895072a 100644 --- a/Mage.Sets/src/mage/cards/j/JaggedScarArchers.java +++ b/Mage.Sets/src/mage/cards/j/JaggedScarArchers.java @@ -65,8 +65,8 @@ public class JaggedScarArchers extends CardImpl { public JaggedScarArchers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/j/JagwaspSwarm.java b/Mage.Sets/src/mage/cards/j/JagwaspSwarm.java index 0b630c5eb37..699ecc167d2 100644 --- a/Mage.Sets/src/mage/cards/j/JagwaspSwarm.java +++ b/Mage.Sets/src/mage/cards/j/JagwaspSwarm.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class JagwaspSwarm extends CardImpl { public JagwaspSwarm (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.color.setBlack(true); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JaliraMasterPolymorphist.java b/Mage.Sets/src/mage/cards/j/JaliraMasterPolymorphist.java index b4fd0f97ba8..f4d2c67dab2 100644 --- a/Mage.Sets/src/mage/cards/j/JaliraMasterPolymorphist.java +++ b/Mage.Sets/src/mage/cards/j/JaliraMasterPolymorphist.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.RevealCardsFromLibraryUntilEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -61,8 +62,8 @@ public class JaliraMasterPolymorphist extends CardImpl { public JaliraMasterPolymorphist(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JamuraanLion.java b/Mage.Sets/src/mage/cards/j/JamuraanLion.java index 49a24a693ae..12086ccabcf 100644 --- a/Mage.Sets/src/mage/cards/j/JamuraanLion.java +++ b/Mage.Sets/src/mage/cards/j/JamuraanLion.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.combat.CantBlockTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class JamuraanLion extends CardImpl { public JamuraanLion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JangoFett.java b/Mage.Sets/src/mage/cards/j/JangoFett.java index deca5b17398..1f62423053a 100644 --- a/Mage.Sets/src/mage/cards/j/JangoFett.java +++ b/Mage.Sets/src/mage/cards/j/JangoFett.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -64,8 +65,8 @@ public class JangoFett extends CardImpl { public JangoFett(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Hunter"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.HUNTER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JanjeetSentry.java b/Mage.Sets/src/mage/cards/j/JanjeetSentry.java index 24ed67124b8..99f1f6ec3bd 100644 --- a/Mage.Sets/src/mage/cards/j/JanjeetSentry.java +++ b/Mage.Sets/src/mage/cards/j/JanjeetSentry.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -51,8 +52,8 @@ public class JanjeetSentry extends CardImpl { public JanjeetSentry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JarJarBinks.java b/Mage.Sets/src/mage/cards/j/JarJarBinks.java index f6876c1a690..228e7879d70 100644 --- a/Mage.Sets/src/mage/cards/j/JarJarBinks.java +++ b/Mage.Sets/src/mage/cards/j/JarJarBinks.java @@ -57,7 +57,7 @@ public class JarJarBinks extends CardImpl { public JarJarBinks(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Gungan"); + this.subtype.add(SubType.GUNGAN); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JaradGolgariLichLord.java b/Mage.Sets/src/mage/cards/j/JaradGolgariLichLord.java index c740f2f32eb..bee51ab341b 100644 --- a/Mage.Sets/src/mage/cards/j/JaradGolgariLichLord.java +++ b/Mage.Sets/src/mage/cards/j/JaradGolgariLichLord.java @@ -67,8 +67,8 @@ public class JaradGolgariLichLord extends CardImpl { public JaradGolgariLichLord(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{B}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JarethLeonineTitan.java b/Mage.Sets/src/mage/cards/j/JarethLeonineTitan.java index 89b69ca4704..9fbf0d29d24 100644 --- a/Mage.Sets/src/mage/cards/j/JarethLeonineTitan.java +++ b/Mage.Sets/src/mage/cards/j/JarethLeonineTitan.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.GainProtectionFromColorSourceEff import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class JarethLeonineTitan extends CardImpl { public JarethLeonineTitan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Cat"); - this.subtype.add("Giant"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/j/JasmineBoreal.java b/Mage.Sets/src/mage/cards/j/JasmineBoreal.java index f127407a6fa..7407546e639 100644 --- a/Mage.Sets/src/mage/cards/j/JasmineBoreal.java +++ b/Mage.Sets/src/mage/cards/j/JasmineBoreal.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -43,7 +44,7 @@ public class JasmineBoreal extends CardImpl { public JasmineBoreal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/j/JawboneSkulkin.java b/Mage.Sets/src/mage/cards/j/JawboneSkulkin.java index bcf9ecaeda3..546810503a5 100644 --- a/Mage.Sets/src/mage/cards/j/JawboneSkulkin.java +++ b/Mage.Sets/src/mage/cards/j/JawboneSkulkin.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -57,7 +58,7 @@ public class JawboneSkulkin extends CardImpl { public JawboneSkulkin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(1); this.toughness = new MageInt(1); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new GenericManaCost(2)); diff --git a/Mage.Sets/src/mage/cards/j/JayaBallardTaskMage.java b/Mage.Sets/src/mage/cards/j/JayaBallardTaskMage.java index 4e2855cb183..087d61809df 100644 --- a/Mage.Sets/src/mage/cards/j/JayaBallardTaskMage.java +++ b/Mage.Sets/src/mage/cards/j/JayaBallardTaskMage.java @@ -66,8 +66,8 @@ public class JayaBallardTaskMage extends CardImpl { public JayaBallardTaskMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JazalGoldmane.java b/Mage.Sets/src/mage/cards/j/JazalGoldmane.java index 3feacf65f5c..799f5d2d710 100644 --- a/Mage.Sets/src/mage/cards/j/JazalGoldmane.java +++ b/Mage.Sets/src/mage/cards/j/JazalGoldmane.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class JazalGoldmane extends CardImpl { public JazalGoldmane(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Cat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/j/JediBattleHealer.java b/Mage.Sets/src/mage/cards/j/JediBattleHealer.java index 8d6a7b140e6..f5109fcb02a 100644 --- a/Mage.Sets/src/mage/cards/j/JediBattleHealer.java +++ b/Mage.Sets/src/mage/cards/j/JediBattleHealer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MeditateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class JediBattleHealer extends CardImpl { public JediBattleHealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Mirialan"); - this.subtype.add("Jedi"); + this.subtype.add(SubType.MIRIALAN); + this.subtype.add(SubType.JEDI); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JediBattleMage.java b/Mage.Sets/src/mage/cards/j/JediBattleMage.java index c830aaa8b40..0b6f5145e2d 100644 --- a/Mage.Sets/src/mage/cards/j/JediBattleMage.java +++ b/Mage.Sets/src/mage/cards/j/JediBattleMage.java @@ -1,73 +1,74 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.j; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect; -import mage.abilities.effects.common.TapTargetEffect; -import mage.abilities.keyword.MeditateAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.target.common.TargetOpponentsCreaturePermanent; - -/** - * - * @author Styxo - */ -public class JediBattleMage extends CardImpl { - - public JediBattleMage(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Jedi"); - this.power = new MageInt(2); - this.toughness = new MageInt(4); - - // When Jedi Battle Mage enters the battlefield, tap target creature an opponent controls. That creature doesn't untap during its controles's next untap step. - EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new TapTargetEffect()); - ability.addEffect(new DontUntapInControllersNextUntapStepTargetEffect("That creature")); - ability.addTarget(new TargetOpponentsCreaturePermanent()); - this.addAbility(ability); - - // Meditate {1}{U} - this.addAbility(new MeditateAbility(new ManaCostsImpl("{1}{U}"))); - } - - public JediBattleMage(final JediBattleMage card) { - super(card); - } - - @Override - public JediBattleMage copy() { - return new JediBattleMage(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.j; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect; +import mage.abilities.effects.common.TapTargetEffect; +import mage.abilities.keyword.MeditateAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.common.TargetOpponentsCreaturePermanent; + +/** + * + * @author Styxo + */ +public class JediBattleMage extends CardImpl { + + public JediBattleMage(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.JEDI); + this.power = new MageInt(2); + this.toughness = new MageInt(4); + + // When Jedi Battle Mage enters the battlefield, tap target creature an opponent controls. That creature doesn't untap during its controles's next untap step. + EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new TapTargetEffect()); + ability.addEffect(new DontUntapInControllersNextUntapStepTargetEffect("That creature")); + ability.addTarget(new TargetOpponentsCreaturePermanent()); + this.addAbility(ability); + + // Meditate {1}{U} + this.addAbility(new MeditateAbility(new ManaCostsImpl("{1}{U}"))); + } + + public JediBattleMage(final JediBattleMage card) { + super(card); + } + + @Override + public JediBattleMage copy() { + return new JediBattleMage(this); + } +} diff --git a/Mage.Sets/src/mage/cards/j/JediBattleSage.java b/Mage.Sets/src/mage/cards/j/JediBattleSage.java index b7855662478..c5b88ae4925 100644 --- a/Mage.Sets/src/mage/cards/j/JediBattleSage.java +++ b/Mage.Sets/src/mage/cards/j/JediBattleSage.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MeditateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class JediBattleSage extends CardImpl { public JediBattleSage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Sullustan"); - this.subtype.add("Jedi"); + this.subtype.add(SubType.SULLUSTAN); + this.subtype.add(SubType.JEDI); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JediHolocron.java b/Mage.Sets/src/mage/cards/j/JediHolocron.java index 69cadc3f8d3..869037925fe 100644 --- a/Mage.Sets/src/mage/cards/j/JediHolocron.java +++ b/Mage.Sets/src/mage/cards/j/JediHolocron.java @@ -1,94 +1,94 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.j; - -import java.util.UUID; -import mage.Mana; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.Cost; -import mage.abilities.costs.common.RemoveCountersSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.common.counter.AddCountersSourceEffect; -import mage.abilities.mana.BlueManaAbility; -import mage.abilities.mana.GreenManaAbility; -import mage.abilities.mana.SimpleManaAbility; -import mage.abilities.mana.WhiteManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.counters.CounterType; - -/** - * - * @author Styxo - */ -public class JediHolocron extends CardImpl { - - public JediHolocron(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); - - // {T}: Put a charge counter on Jedi Holocron. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance(1)), new TapSourceCost())); - - // {T}, Remove a charge counter from Jedi Holocron: Add {G}, {W} or {U} to your mana pool. - Cost cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(1)); - Ability ability = new GreenManaAbility(); - ability.addCost(cost); - this.addAbility(ability); - - ability = new WhiteManaAbility(); - ability.addCost(cost); - this.addAbility(ability); - - ability = new BlueManaAbility(); - ability.addCost(cost); - this.addAbility(ability); - - // {T}, Remove two charge counters from Jedi Holocron: Add GW or WU to your mana pool. - cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(2)); - - ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 1, 0, 1, 0, 0, 0, 0), new TapSourceCost()); - ability.addCost(cost); - this.addAbility(ability); - - ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 1, 1, 0, 0, 0, 0), new TapSourceCost()); - ability.addCost(cost); - this.addAbility(ability); - } - - public JediHolocron(final JediHolocron card) { - super(card); - } - - @Override - public JediHolocron copy() { - return new JediHolocron(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.j; + +import java.util.UUID; +import mage.Mana; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.Cost; +import mage.abilities.costs.common.RemoveCountersSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.mana.BlueManaAbility; +import mage.abilities.mana.GreenManaAbility; +import mage.abilities.mana.SimpleManaAbility; +import mage.abilities.mana.WhiteManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.counters.CounterType; + +/** + * + * @author Styxo + */ +public class JediHolocron extends CardImpl { + + public JediHolocron(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); + + // {T}: Put a charge counter on Jedi Holocron. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance(1)), new TapSourceCost())); + + // {T}, Remove a charge counter from Jedi Holocron: Add {G}, {W} or {U} to your mana pool. + Cost cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(1)); + Ability ability = new GreenManaAbility(); + ability.addCost(cost); + this.addAbility(ability); + + ability = new WhiteManaAbility(); + ability.addCost(cost); + this.addAbility(ability); + + ability = new BlueManaAbility(); + ability.addCost(cost); + this.addAbility(ability); + + // {T}, Remove two charge counters from Jedi Holocron: Add GW or WU to your mana pool. + cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(2)); + + ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 1, 0, 1, 0, 0, 0, 0), new TapSourceCost()); + ability.addCost(cost); + this.addAbility(ability); + + ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 1, 1, 0, 0, 0, 0), new TapSourceCost()); + ability.addCost(cost); + this.addAbility(ability); + } + + public JediHolocron(final JediHolocron card) { + super(card); + } + + @Override + public JediHolocron copy() { + return new JediHolocron(this); + } +} diff --git a/Mage.Sets/src/mage/cards/j/JediInquirer.java b/Mage.Sets/src/mage/cards/j/JediInquirer.java index 82a865d67f5..1a26367a25a 100644 --- a/Mage.Sets/src/mage/cards/j/JediInquirer.java +++ b/Mage.Sets/src/mage/cards/j/JediInquirer.java @@ -1,71 +1,72 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.j; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.LeavesBattlefieldTriggeredAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.ExileTargetEffect; -import mage.abilities.keyword.MeditateAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.target.common.TargetEnchantmentPermanent; - -/** - * - * @author Styxo - */ -public class JediInquirer extends CardImpl { - - public JediInquirer(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Jedi"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // When Jedi Inquirer leaves the battlefield, you may exile target enchantment. - LeavesBattlefieldTriggeredAbility ability = new LeavesBattlefieldTriggeredAbility(new ExileTargetEffect(), true); - ability.addTarget(new TargetEnchantmentPermanent()); - this.addAbility(ability); - - // Meditate {1}{W} - this.addAbility(new MeditateAbility(new ManaCostsImpl("{1}{W}"))); - } - - public JediInquirer(final JediInquirer card) { - super(card); - } - - @Override - public JediInquirer copy() { - return new JediInquirer(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.j; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.LeavesBattlefieldTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.ExileTargetEffect; +import mage.abilities.keyword.MeditateAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.common.TargetEnchantmentPermanent; + +/** + * + * @author Styxo + */ +public class JediInquirer extends CardImpl { + + public JediInquirer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.JEDI); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // When Jedi Inquirer leaves the battlefield, you may exile target enchantment. + LeavesBattlefieldTriggeredAbility ability = new LeavesBattlefieldTriggeredAbility(new ExileTargetEffect(), true); + ability.addTarget(new TargetEnchantmentPermanent()); + this.addAbility(ability); + + // Meditate {1}{W} + this.addAbility(new MeditateAbility(new ManaCostsImpl("{1}{W}"))); + } + + public JediInquirer(final JediInquirer card) { + super(card); + } + + @Override + public JediInquirer copy() { + return new JediInquirer(this); + } +} diff --git a/Mage.Sets/src/mage/cards/j/JediInstructor.java b/Mage.Sets/src/mage/cards/j/JediInstructor.java index b3cda2f633d..ca004227e62 100644 --- a/Mage.Sets/src/mage/cards/j/JediInstructor.java +++ b/Mage.Sets/src/mage/cards/j/JediInstructor.java @@ -1,80 +1,81 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.j; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.abilities.keyword.MeditateAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.counters.CounterType; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.AnotherPredicate; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class JediInstructor extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature"); - - static { - filter.add(new AnotherPredicate()); - } - - public JediInstructor(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Twi'lek"); - this.subtype.add("Jedi"); - this.power = new MageInt(4); - this.toughness = new MageInt(4); - - // When Jedi Instructor enters the battlefield, you may put a +1/+1 counter on another target creature. - EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), true); - ability.addTarget(new TargetCreaturePermanent(filter)); - this.addAbility(ability); - - // Meditate {1}{W} - this.addAbility(new MeditateAbility(new ManaCostsImpl("{1}{W}"))); - } - - public JediInstructor(final JediInstructor card) { - super(card); - } - - @Override - public JediInstructor copy() { - return new JediInstructor(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.j; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.keyword.MeditateAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.counters.CounterType; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.AnotherPredicate; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class JediInstructor extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature"); + + static { + filter.add(new AnotherPredicate()); + } + + public JediInstructor(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); + this.subtype.add(SubType.TWILEK); + this.subtype.add(SubType.JEDI); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // When Jedi Instructor enters the battlefield, you may put a +1/+1 counter on another target creature. + EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()), true); + ability.addTarget(new TargetCreaturePermanent(filter)); + this.addAbility(ability); + + // Meditate {1}{W} + this.addAbility(new MeditateAbility(new ManaCostsImpl("{1}{W}"))); + } + + public JediInstructor(final JediInstructor card) { + super(card); + } + + @Override + public JediInstructor copy() { + return new JediInstructor(this); + } +} diff --git a/Mage.Sets/src/mage/cards/j/JediKnight.java b/Mage.Sets/src/mage/cards/j/JediKnight.java index 7b9550ea460..495ff886555 100644 --- a/Mage.Sets/src/mage/cards/j/JediKnight.java +++ b/Mage.Sets/src/mage/cards/j/JediKnight.java @@ -1,82 +1,83 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.j; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.LeavesBattlefieldTriggeredAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.ReturnToHandTargetEffect; -import mage.abilities.keyword.MeditateAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.TargetController; -import mage.filter.common.FilterNonlandPermanent; -import mage.filter.predicate.permanent.ControllerPredicate; -import mage.target.common.TargetNonlandPermanent; - -/** - * - * @author Styxo - */ -public class JediKnight extends CardImpl { - - private static final FilterNonlandPermanent filter = new FilterNonlandPermanent("nonland permanent you don't control"); - - static { - filter.add(new ControllerPredicate(TargetController.NOT_YOU)); - } - - public JediKnight(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}{U}{W}"); - this.subtype.add("Human"); - this.subtype.add("Jedi"); - this.subtype.add("Knight"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // When Jedi Knight leaves the battlefield, return target nonland permanent you don't control to its owner's hands. - Ability ability = new LeavesBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false); - ability.addTarget(new TargetNonlandPermanent(filter)); - this.addAbility(ability); - - // Meditate {1}{U} - this.addAbility(new MeditateAbility(new ManaCostsImpl("{1}{U}"))); - } - - public JediKnight(final JediKnight card) { - super(card); - } - - @Override - public JediKnight copy() { - return new JediKnight(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.j; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.LeavesBattlefieldTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.abilities.keyword.MeditateAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.TargetController; +import mage.filter.common.FilterNonlandPermanent; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.target.common.TargetNonlandPermanent; + +/** + * + * @author Styxo + */ +public class JediKnight extends CardImpl { + + private static final FilterNonlandPermanent filter = new FilterNonlandPermanent("nonland permanent you don't control"); + + static { + filter.add(new ControllerPredicate(TargetController.NOT_YOU)); + } + + public JediKnight(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}{U}{W}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.JEDI); + this.subtype.add(SubType.KNIGHT); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // When Jedi Knight leaves the battlefield, return target nonland permanent you don't control to its owner's hands. + Ability ability = new LeavesBattlefieldTriggeredAbility(new ReturnToHandTargetEffect(), false); + ability.addTarget(new TargetNonlandPermanent(filter)); + this.addAbility(ability); + + // Meditate {1}{U} + this.addAbility(new MeditateAbility(new ManaCostsImpl("{1}{U}"))); + } + + public JediKnight(final JediKnight card) { + super(card); + } + + @Override + public JediKnight copy() { + return new JediKnight(this); + } +} diff --git a/Mage.Sets/src/mage/cards/j/JediMindTrick.java b/Mage.Sets/src/mage/cards/j/JediMindTrick.java index a2a60169bf3..07c2fe731d3 100644 --- a/Mage.Sets/src/mage/cards/j/JediMindTrick.java +++ b/Mage.Sets/src/mage/cards/j/JediMindTrick.java @@ -1,60 +1,60 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.j; - -import java.util.UUID; -import mage.abilities.effects.common.turn.ControlTargetPlayerNextTurnEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.target.TargetPlayer; - -/** - * - * @author Styxo - */ -public class JediMindTrick extends CardImpl { - - public JediMindTrick(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{6}{U}"); - - // You control target player during that player's next turn. - this.getSpellAbility().addEffect(new ControlTargetPlayerNextTurnEffect()); - this.getSpellAbility().addTarget(new TargetPlayer()); - - } - - public JediMindTrick(final JediMindTrick card) { - super(card); - } - - @Override - public JediMindTrick copy() { - return new JediMindTrick(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.j; + +import java.util.UUID; +import mage.abilities.effects.common.turn.ControlTargetPlayerNextTurnEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.target.TargetPlayer; + +/** + * + * @author Styxo + */ +public class JediMindTrick extends CardImpl { + + public JediMindTrick(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{6}{U}"); + + // You control target player during that player's next turn. + this.getSpellAbility().addEffect(new ControlTargetPlayerNextTurnEffect()); + this.getSpellAbility().addTarget(new TargetPlayer()); + + } + + public JediMindTrick(final JediMindTrick card) { + super(card); + } + + @Override + public JediMindTrick copy() { + return new JediMindTrick(this); + } +} diff --git a/Mage.Sets/src/mage/cards/j/JediSentinel.java b/Mage.Sets/src/mage/cards/j/JediSentinel.java index 1c84b79807b..e0e663c02c0 100644 --- a/Mage.Sets/src/mage/cards/j/JediSentinel.java +++ b/Mage.Sets/src/mage/cards/j/JediSentinel.java @@ -1,90 +1,91 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.j; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.ReturnToHandTargetEffect; -import mage.abilities.keyword.FlashAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.TargetController; -import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.AnotherPredicate; -import mage.filter.predicate.permanent.ControllerPredicate; -import mage.target.common.TargetControlledCreaturePermanent; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class JediSentinel extends CardImpl { - - private static final FilterControlledCreaturePermanent filter1 = new FilterControlledCreaturePermanent("another target creature you control"); - private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent("creature you don't control"); - - static { - filter1.add(new AnotherPredicate()); - filter2.add(new ControllerPredicate(TargetController.NOT_YOU)); - } - - public JediSentinel(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}{U}{W}"); - this.subtype.add("Twi'lek"); - this.subtype.add("Jedi"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Flash - this.addAbility(FlashAbility.getInstance()); - - // When Jedi Sentinel enters the battlefield, return another target creature you control and target creature you don't control to their owners' hands. - Effect effect = new ReturnToHandTargetEffect(true); - effect.setText("return another target creature you control and target creature you don't control to their owners' hands"); - Ability ability = new EntersBattlefieldTriggeredAbility(effect); - ability.addTarget(new TargetControlledCreaturePermanent(filter1)); - ability.addTarget(new TargetCreaturePermanent(filter2)); - this.addAbility(ability); - - } - - public JediSentinel(final JediSentinel card) { - super(card); - } - - @Override - public JediSentinel copy() { - return new JediSentinel(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.j; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.abilities.keyword.FlashAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.TargetController; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.AnotherPredicate; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.target.common.TargetControlledCreaturePermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class JediSentinel extends CardImpl { + + private static final FilterControlledCreaturePermanent filter1 = new FilterControlledCreaturePermanent("another target creature you control"); + private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent("creature you don't control"); + + static { + filter1.add(new AnotherPredicate()); + filter2.add(new ControllerPredicate(TargetController.NOT_YOU)); + } + + public JediSentinel(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}{U}{W}"); + this.subtype.add(SubType.TWILEK); + this.subtype.add(SubType.JEDI); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Flash + this.addAbility(FlashAbility.getInstance()); + + // When Jedi Sentinel enters the battlefield, return another target creature you control and target creature you don't control to their owners' hands. + Effect effect = new ReturnToHandTargetEffect(true); + effect.setText("return another target creature you control and target creature you don't control to their owners' hands"); + Ability ability = new EntersBattlefieldTriggeredAbility(effect); + ability.addTarget(new TargetControlledCreaturePermanent(filter1)); + ability.addTarget(new TargetCreaturePermanent(filter2)); + this.addAbility(ability); + + } + + public JediSentinel(final JediSentinel card) { + super(card); + } + + @Override + public JediSentinel copy() { + return new JediSentinel(this); + } +} diff --git a/Mage.Sets/src/mage/cards/j/JediStarfighter.java b/Mage.Sets/src/mage/cards/j/JediStarfighter.java index 22d8ab92621..aff6412efaa 100644 --- a/Mage.Sets/src/mage/cards/j/JediStarfighter.java +++ b/Mage.Sets/src/mage/cards/j/JediStarfighter.java @@ -60,8 +60,8 @@ public class JediStarfighter extends CardImpl { public JediStarfighter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Jedi"); - this.subtype.add("Starship"); + this.subtype.add(SubType.JEDI); + this.subtype.add(SubType.STARSHIP); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JediTemple.java b/Mage.Sets/src/mage/cards/j/JediTemple.java index c4433538981..fcd8444f5ae 100644 --- a/Mage.Sets/src/mage/cards/j/JediTemple.java +++ b/Mage.Sets/src/mage/cards/j/JediTemple.java @@ -1,70 +1,70 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.j; - -import java.util.UUID; -import mage.Mana; -import mage.abilities.common.EntersBattlefieldTappedAbility; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.AddManaToManaPoolSourceControllerEffect; -import mage.abilities.mana.BlueManaAbility; -import mage.abilities.mana.GreenManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class JediTemple extends CardImpl { - - public JediTemple(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - - // Jedi Temple enters the battlefield tapped. - this.addAbility(new EntersBattlefieldTappedAbility()); - - // When Jedi Temple enters the battlefield , add {W} to your mana pool. - this.addAbility(new EntersBattlefieldTriggeredAbility(new AddManaToManaPoolSourceControllerEffect(Mana.WhiteMana(1)))); - - // {T}: Add {G} or {U} to you mana pool. - this.addAbility(new GreenManaAbility()); - this.addAbility(new BlueManaAbility()); - - } - - public JediTemple(final JediTemple card) { - super(card); - } - - @Override - public JediTemple copy() { - return new JediTemple(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.j; + +import java.util.UUID; +import mage.Mana; +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.AddManaToManaPoolSourceControllerEffect; +import mage.abilities.mana.BlueManaAbility; +import mage.abilities.mana.GreenManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +/** + * + * @author Styxo + */ +public class JediTemple extends CardImpl { + + public JediTemple(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.LAND},""); + + // Jedi Temple enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + + // When Jedi Temple enters the battlefield , add {W} to your mana pool. + this.addAbility(new EntersBattlefieldTriggeredAbility(new AddManaToManaPoolSourceControllerEffect(Mana.WhiteMana(1)))); + + // {T}: Add {G} or {U} to you mana pool. + this.addAbility(new GreenManaAbility()); + this.addAbility(new BlueManaAbility()); + + } + + public JediTemple(final JediTemple card) { + super(card); + } + + @Override + public JediTemple copy() { + return new JediTemple(this); + } +} diff --git a/Mage.Sets/src/mage/cards/j/JediTraining.java b/Mage.Sets/src/mage/cards/j/JediTraining.java index 0cfce93bb1b..0244b9f3c94 100644 --- a/Mage.Sets/src/mage/cards/j/JediTraining.java +++ b/Mage.Sets/src/mage/cards/j/JediTraining.java @@ -1,109 +1,109 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.j; - -import java.util.UUID; -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.cost.AbilitiesCostReductionControllerEffect; -import mage.abilities.effects.keyword.ScryEffect; -import mage.abilities.keyword.MeditateAbility; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.FilterCard; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; - -/** - * - * @author Styxo - */ -public class JediTraining extends CardImpl { - - protected static final FilterCard filter = new FilterCard("Jedi spells"); - - static { - filter.add(new SubtypePredicate(SubType.JEDI)); - } - - public JediTraining(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - - // Meditate abilities you activate costs {1} less to activate. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AbilitiesCostReductionControllerEffect(MeditateAbility.class, "Meditate"))); - - // Whenever a Jedi creature you control meditates, scry 1. - this.addAbility(new JediTrainingTriggeredAbility()); - } - - public JediTraining(final JediTraining card) { - super(card); - } - - @Override - public JediTraining copy() { - return new JediTraining(this); - } -} - -class JediTrainingTriggeredAbility extends TriggeredAbilityImpl { - - public JediTrainingTriggeredAbility() { - super(Zone.BATTLEFIELD, new ScryEffect(1)); - } - - public JediTrainingTriggeredAbility(final JediTrainingTriggeredAbility ability) { - super(ability); - } - - @Override - public JediTrainingTriggeredAbility copy() { - return new JediTrainingTriggeredAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == EventType.MEDITATED; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - Card source = game.getPermanentOrLKIBattlefield(event.getSourceId()); - return event.getPlayerId().equals(getControllerId()) && source != null && JediTraining.filter.match(source, game); - } - - public String getRule() { - return "Whenever a Jedi creature you control meditates, scry 1"; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.j; + +import java.util.UUID; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.cost.AbilitiesCostReductionControllerEffect; +import mage.abilities.effects.keyword.ScryEffect; +import mage.abilities.keyword.MeditateAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; + +/** + * + * @author Styxo + */ +public class JediTraining extends CardImpl { + + protected static final FilterCard filter = new FilterCard("Jedi spells"); + + static { + filter.add(new SubtypePredicate(SubType.JEDI)); + } + + public JediTraining(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); + + // Meditate abilities you activate costs {1} less to activate. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AbilitiesCostReductionControllerEffect(MeditateAbility.class, "Meditate"))); + + // Whenever a Jedi creature you control meditates, scry 1. + this.addAbility(new JediTrainingTriggeredAbility()); + } + + public JediTraining(final JediTraining card) { + super(card); + } + + @Override + public JediTraining copy() { + return new JediTraining(this); + } +} + +class JediTrainingTriggeredAbility extends TriggeredAbilityImpl { + + public JediTrainingTriggeredAbility() { + super(Zone.BATTLEFIELD, new ScryEffect(1)); + } + + public JediTrainingTriggeredAbility(final JediTrainingTriggeredAbility ability) { + super(ability); + } + + @Override + public JediTrainingTriggeredAbility copy() { + return new JediTrainingTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == EventType.MEDITATED; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + Card source = game.getPermanentOrLKIBattlefield(event.getSourceId()); + return event.getPlayerId().equals(getControllerId()) && source != null && JediTraining.filter.match(source, game); + } + + public String getRule() { + return "Whenever a Jedi creature you control meditates, scry 1"; + } +} diff --git a/Mage.Sets/src/mage/cards/j/JeditOjanen.java b/Mage.Sets/src/mage/cards/j/JeditOjanen.java index 564acb6f38a..6880ad6be47 100644 --- a/Mage.Sets/src/mage/cards/j/JeditOjanen.java +++ b/Mage.Sets/src/mage/cards/j/JeditOjanen.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -43,8 +44,8 @@ public class JeditOjanen extends CardImpl { public JeditOjanen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Cat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/j/JeditOjanenOfEfrava.java b/Mage.Sets/src/mage/cards/j/JeditOjanenOfEfrava.java index c22c95a085d..815bb7607d0 100644 --- a/Mage.Sets/src/mage/cards/j/JeditOjanenOfEfrava.java +++ b/Mage.Sets/src/mage/cards/j/JeditOjanenOfEfrava.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.game.permanent.token.CatWarriorToken; @@ -47,8 +48,8 @@ public class JeditOjanenOfEfrava extends CardImpl { public JeditOjanenOfEfrava(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Cat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/j/JeditsDragoons.java b/Mage.Sets/src/mage/cards/j/JeditsDragoons.java index 3356fb4afad..5297df21d1a 100644 --- a/Mage.Sets/src/mage/cards/j/JeditsDragoons.java +++ b/Mage.Sets/src/mage/cards/j/JeditsDragoons.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class JeditsDragoons extends CardImpl { public JeditsDragoons(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/j/JeeringHomunculus.java b/Mage.Sets/src/mage/cards/j/JeeringHomunculus.java index 8e8e55d3e4e..7e3bdea8a4f 100644 --- a/Mage.Sets/src/mage/cards/j/JeeringHomunculus.java +++ b/Mage.Sets/src/mage/cards/j/JeeringHomunculus.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.GoadTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -46,7 +47,7 @@ public class JeeringHomunculus extends CardImpl { public JeeringHomunculus(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Homunculus"); + this.subtype.add(SubType.HOMUNCULUS); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/j/JeeringInstigator.java b/Mage.Sets/src/mage/cards/j/JeeringInstigator.java index 94b56fbabd2..ae54e0cf807 100644 --- a/Mage.Sets/src/mage/cards/j/JeeringInstigator.java +++ b/Mage.Sets/src/mage/cards/j/JeeringInstigator.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -61,8 +62,8 @@ public class JeeringInstigator extends CardImpl { public JeeringInstigator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JelennSphinx.java b/Mage.Sets/src/mage/cards/j/JelennSphinx.java index 049d2a08695..585e84f5fa9 100644 --- a/Mage.Sets/src/mage/cards/j/JelennSphinx.java +++ b/Mage.Sets/src/mage/cards/j/JelennSphinx.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterAttackingCreature; @@ -47,7 +48,7 @@ public class JelennSphinx extends CardImpl { public JelennSphinx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/j/JelevaNephaliasScourge.java b/Mage.Sets/src/mage/cards/j/JelevaNephaliasScourge.java index 6a3417fa05d..673c16d08e4 100644 --- a/Mage.Sets/src/mage/cards/j/JelevaNephaliasScourge.java +++ b/Mage.Sets/src/mage/cards/j/JelevaNephaliasScourge.java @@ -41,6 +41,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.WatcherScope; @@ -64,8 +65,8 @@ public class JelevaNephaliasScourge extends CardImpl { public JelevaNephaliasScourge(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JenaraAsuraOfWar.java b/Mage.Sets/src/mage/cards/j/JenaraAsuraOfWar.java index 690afd0db66..2354cf527fa 100644 --- a/Mage.Sets/src/mage/cards/j/JenaraAsuraOfWar.java +++ b/Mage.Sets/src/mage/cards/j/JenaraAsuraOfWar.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.counters.CounterType; @@ -49,7 +50,7 @@ public class JenaraAsuraOfWar extends CardImpl { public JenaraAsuraOfWar (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}{U}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); addSuperType(SuperType.LEGENDARY); diff --git a/Mage.Sets/src/mage/cards/j/JerrardOfTheClosedFist.java b/Mage.Sets/src/mage/cards/j/JerrardOfTheClosedFist.java index ca05aa90fef..138158540ae 100644 --- a/Mage.Sets/src/mage/cards/j/JerrardOfTheClosedFist.java +++ b/Mage.Sets/src/mage/cards/j/JerrardOfTheClosedFist.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -43,8 +44,8 @@ public class JerrardOfTheClosedFist extends CardImpl { public JerrardOfTheClosedFist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/j/JeskaWarriorAdept.java b/Mage.Sets/src/mage/cards/j/JeskaWarriorAdept.java index 85c61007b6d..540868fdf23 100644 --- a/Mage.Sets/src/mage/cards/j/JeskaWarriorAdept.java +++ b/Mage.Sets/src/mage/cards/j/JeskaWarriorAdept.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -51,9 +52,9 @@ public class JeskaWarriorAdept extends CardImpl { public JeskaWarriorAdept(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Barbarian"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BARBARIAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JeskaiBarricade.java b/Mage.Sets/src/mage/cards/j/JeskaiBarricade.java index 90432119e2d..e8a24c9ccb0 100644 --- a/Mage.Sets/src/mage/cards/j/JeskaiBarricade.java +++ b/Mage.Sets/src/mage/cards/j/JeskaiBarricade.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -58,7 +59,7 @@ public class JeskaiBarricade extends CardImpl { public JeskaiBarricade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/j/JeskaiElder.java b/Mage.Sets/src/mage/cards/j/JeskaiElder.java index 39537216f9a..799b4c623b2 100644 --- a/Mage.Sets/src/mage/cards/j/JeskaiElder.java +++ b/Mage.Sets/src/mage/cards/j/JeskaiElder.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class JeskaiElder extends CardImpl { public JeskaiElder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JeskaiInfiltrator.java b/Mage.Sets/src/mage/cards/j/JeskaiInfiltrator.java index dc2324f9f6a..ca33fc5076f 100644 --- a/Mage.Sets/src/mage/cards/j/JeskaiInfiltrator.java +++ b/Mage.Sets/src/mage/cards/j/JeskaiInfiltrator.java @@ -51,6 +51,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -67,8 +68,8 @@ public class JeskaiInfiltrator extends CardImpl { public JeskaiInfiltrator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JeskaiRunemark.java b/Mage.Sets/src/mage/cards/j/JeskaiRunemark.java index f9cf2d3ed48..50a34438d19 100644 --- a/Mage.Sets/src/mage/cards/j/JeskaiRunemark.java +++ b/Mage.Sets/src/mage/cards/j/JeskaiRunemark.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -65,7 +66,7 @@ public class JeskaiRunemark extends CardImpl { public JeskaiRunemark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/j/JeskaiSage.java b/Mage.Sets/src/mage/cards/j/JeskaiSage.java index 671cd11ae5d..ff0d8550484 100644 --- a/Mage.Sets/src/mage/cards/j/JeskaiSage.java +++ b/Mage.Sets/src/mage/cards/j/JeskaiSage.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class JeskaiSage extends CardImpl { public JeskaiSage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JeskaiStudent.java b/Mage.Sets/src/mage/cards/j/JeskaiStudent.java index d90a850406a..14a6b27641b 100644 --- a/Mage.Sets/src/mage/cards/j/JeskaiStudent.java +++ b/Mage.Sets/src/mage/cards/j/JeskaiStudent.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class JeskaiStudent extends CardImpl { public JeskaiStudent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JeskaiWindscout.java b/Mage.Sets/src/mage/cards/j/JeskaiWindscout.java index 98c194934ab..cc555470e2a 100644 --- a/Mage.Sets/src/mage/cards/j/JeskaiWindscout.java +++ b/Mage.Sets/src/mage/cards/j/JeskaiWindscout.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class JeskaiWindscout extends CardImpl { public JeskaiWindscout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Scout"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JettingGlasskite.java b/Mage.Sets/src/mage/cards/j/JettingGlasskite.java index 14552fcdad7..30ea01320c1 100644 --- a/Mage.Sets/src/mage/cards/j/JettingGlasskite.java +++ b/Mage.Sets/src/mage/cards/j/JettingGlasskite.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -49,7 +50,7 @@ public class JettingGlasskite extends CardImpl { public JettingGlasskite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/j/JeweledAmulet.java b/Mage.Sets/src/mage/cards/j/JeweledAmulet.java index da6cb148393..aba6e0614de 100644 --- a/Mage.Sets/src/mage/cards/j/JeweledAmulet.java +++ b/Mage.Sets/src/mage/cards/j/JeweledAmulet.java @@ -1,159 +1,159 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.j; - -import java.util.UUID; -import mage.Mana; -import mage.abilities.Ability; -import mage.abilities.condition.common.SourceHasCounterCondition; -import mage.abilities.costs.common.RemoveCountersSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.ManaEffect; -import mage.abilities.effects.common.counter.AddCountersSourceEffect; -import mage.abilities.mana.SimpleManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.util.CardUtil; - -/** - * - * @author jeffwadsworth - */ -public class JeweledAmulet extends CardImpl { - - private static final String rule = "Put a charge counter on {this}. Note the type of mana spent to pay this activation cost. Activate this ability only if there are no charge counters on {this}"; - - public JeweledAmulet(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{0}"); - - // {1}, {tap}: Put a charge counter on Jeweled Amulet. Note the type of mana spent to pay this activation cost. Activate this ability only if there are no charge counters on Jeweled Amulet. - ConditionalActivatedAbility ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new JeweledAmuletAddCounterEffect(), new ManaCostsImpl("{1}"), new SourceHasCounterCondition(CounterType.CHARGE, 0), rule); - ability.addEffect(new AddCountersSourceEffect(CounterType.CHARGE.createInstance(), true)); - ability.addCost(new TapSourceCost()); - this.addAbility(ability); - - // {tap}, Remove a charge counter from Jeweled Amulet: Add one mana of Jeweled Amulet's last noted type to your mana pool. - Ability ability2 = new SimpleManaAbility(Zone.BATTLEFIELD, new JeweledAmuletAddManaEffect(), new TapSourceCost()); - ability2.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance())); - this.addAbility(ability2); - - } - - public JeweledAmulet(final JeweledAmulet card) { - super(card); - } - - @Override - public JeweledAmulet copy() { - return new JeweledAmulet(this); - } -} - -class JeweledAmuletAddCounterEffect extends OneShotEffect { - - private static String manaUsedString; - - public JeweledAmuletAddCounterEffect() { - super(Outcome.Benefit); - this.staticText = "Note the type of mana spent to pay this activation cost. Activate this ability only if there are no charge counters on {this}"; - } - - public JeweledAmuletAddCounterEffect(final JeweledAmuletAddCounterEffect effect) { - super(effect); - } - - @Override - public JeweledAmuletAddCounterEffect copy() { - return new JeweledAmuletAddCounterEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - Permanent jeweledAmulet = game.getPermanent(source.getSourceId()); - if (controller != null - && jeweledAmulet != null) { - game.getState().setValue("JeweledAmulet" + source.getSourceId().toString(), source.getManaCostsToPay().getUsedManaToPay()); //store the mana used to pay - manaUsedString = source.getManaCostsToPay().getUsedManaToPay().toString(); - jeweledAmulet.addInfo("MANA USED", CardUtil.addToolTipMarkTags("Mana used last: " + manaUsedString), game); - return true; - } - return false; - } -} - -class JeweledAmuletAddManaEffect extends ManaEffect { - - private static Mana storedMana; - - JeweledAmuletAddManaEffect() { - super(); - staticText = "Add one mana of {this}'s last noted type to your mana pool"; - } - - JeweledAmuletAddManaEffect(JeweledAmuletAddManaEffect effect) { - super(effect); - } - - @Override - public JeweledAmuletAddManaEffect copy() { - return new JeweledAmuletAddManaEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Permanent jeweledAmulet = game.getPermanent(source.getSourceId()); - Player controller = game.getPlayer(source.getControllerId()); - if (jeweledAmulet != null - && controller != null) { - storedMana = (Mana) game.getState().getValue("JeweledAmulet" + source.getSourceId().toString()); - if (storedMana != null) { - checkToFirePossibleEvents(storedMana, game, source); - controller.getManaPool().addMana(storedMana, game, source); - return true; - } - } - return false; - } - - @Override - public Mana getMana(Game game, Ability source) { - return null; - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.j; + +import java.util.UUID; +import mage.Mana; +import mage.abilities.Ability; +import mage.abilities.condition.common.SourceHasCounterCondition; +import mage.abilities.costs.common.RemoveCountersSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.ManaEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.mana.SimpleManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.util.CardUtil; + +/** + * + * @author jeffwadsworth + */ +public class JeweledAmulet extends CardImpl { + + private static final String rule = "Put a charge counter on {this}. Note the type of mana spent to pay this activation cost. Activate this ability only if there are no charge counters on {this}"; + + public JeweledAmulet(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{0}"); + + // {1}, {tap}: Put a charge counter on Jeweled Amulet. Note the type of mana spent to pay this activation cost. Activate this ability only if there are no charge counters on Jeweled Amulet. + ConditionalActivatedAbility ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new JeweledAmuletAddCounterEffect(), new ManaCostsImpl("{1}"), new SourceHasCounterCondition(CounterType.CHARGE, 0), rule); + ability.addEffect(new AddCountersSourceEffect(CounterType.CHARGE.createInstance(), true)); + ability.addCost(new TapSourceCost()); + this.addAbility(ability); + + // {tap}, Remove a charge counter from Jeweled Amulet: Add one mana of Jeweled Amulet's last noted type to your mana pool. + Ability ability2 = new SimpleManaAbility(Zone.BATTLEFIELD, new JeweledAmuletAddManaEffect(), new TapSourceCost()); + ability2.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance())); + this.addAbility(ability2); + + } + + public JeweledAmulet(final JeweledAmulet card) { + super(card); + } + + @Override + public JeweledAmulet copy() { + return new JeweledAmulet(this); + } +} + +class JeweledAmuletAddCounterEffect extends OneShotEffect { + + private static String manaUsedString; + + public JeweledAmuletAddCounterEffect() { + super(Outcome.Benefit); + this.staticText = "Note the type of mana spent to pay this activation cost. Activate this ability only if there are no charge counters on {this}"; + } + + public JeweledAmuletAddCounterEffect(final JeweledAmuletAddCounterEffect effect) { + super(effect); + } + + @Override + public JeweledAmuletAddCounterEffect copy() { + return new JeweledAmuletAddCounterEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + Permanent jeweledAmulet = game.getPermanent(source.getSourceId()); + if (controller != null + && jeweledAmulet != null) { + game.getState().setValue("JeweledAmulet" + source.getSourceId().toString(), source.getManaCostsToPay().getUsedManaToPay()); //store the mana used to pay + manaUsedString = source.getManaCostsToPay().getUsedManaToPay().toString(); + jeweledAmulet.addInfo("MANA USED", CardUtil.addToolTipMarkTags("Mana used last: " + manaUsedString), game); + return true; + } + return false; + } +} + +class JeweledAmuletAddManaEffect extends ManaEffect { + + private static Mana storedMana; + + JeweledAmuletAddManaEffect() { + super(); + staticText = "Add one mana of {this}'s last noted type to your mana pool"; + } + + JeweledAmuletAddManaEffect(JeweledAmuletAddManaEffect effect) { + super(effect); + } + + @Override + public JeweledAmuletAddManaEffect copy() { + return new JeweledAmuletAddManaEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent jeweledAmulet = game.getPermanent(source.getSourceId()); + Player controller = game.getPlayer(source.getControllerId()); + if (jeweledAmulet != null + && controller != null) { + storedMana = (Mana) game.getState().getValue("JeweledAmulet" + source.getSourceId().toString()); + if (storedMana != null) { + checkToFirePossibleEvents(storedMana, game, source); + controller.getManaPool().addMana(storedMana, game, source); + return true; + } + } + return false; + } + + @Override + public Mana getMana(Game game, Ability source) { + return null; + } + +} diff --git a/Mage.Sets/src/mage/cards/j/JeweledSpirit.java b/Mage.Sets/src/mage/cards/j/JeweledSpirit.java index b89ecdfc971..08b98eca1ac 100644 --- a/Mage.Sets/src/mage/cards/j/JeweledSpirit.java +++ b/Mage.Sets/src/mage/cards/j/JeweledSpirit.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.choices.ChoiceColorOrArtifact; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class JeweledSpirit extends CardImpl { public JeweledSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JhessianBalmgiver.java b/Mage.Sets/src/mage/cards/j/JhessianBalmgiver.java index 65a1eed49eb..6a124118920 100644 --- a/Mage.Sets/src/mage/cards/j/JhessianBalmgiver.java +++ b/Mage.Sets/src/mage/cards/j/JhessianBalmgiver.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -50,8 +51,8 @@ public class JhessianBalmgiver extends CardImpl { public JhessianBalmgiver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JhessianInfiltrator.java b/Mage.Sets/src/mage/cards/j/JhessianInfiltrator.java index 027ecaec043..c3e5c4830e5 100644 --- a/Mage.Sets/src/mage/cards/j/JhessianInfiltrator.java +++ b/Mage.Sets/src/mage/cards/j/JhessianInfiltrator.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class JhessianInfiltrator extends CardImpl { public JhessianInfiltrator (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JhessianLookout.java b/Mage.Sets/src/mage/cards/j/JhessianLookout.java index 38551f07560..a1acc4ddec9 100644 --- a/Mage.Sets/src/mage/cards/j/JhessianLookout.java +++ b/Mage.Sets/src/mage/cards/j/JhessianLookout.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class JhessianLookout extends CardImpl { public JhessianLookout (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JhessianThief.java b/Mage.Sets/src/mage/cards/j/JhessianThief.java index 1fe95665e0d..3358efbe58d 100644 --- a/Mage.Sets/src/mage/cards/j/JhessianThief.java +++ b/Mage.Sets/src/mage/cards/j/JhessianThief.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class JhessianThief extends CardImpl { public JhessianThief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JhessianZombies.java b/Mage.Sets/src/mage/cards/j/JhessianZombies.java index becece3f286..97a08d932da 100644 --- a/Mage.Sets/src/mage/cards/j/JhessianZombies.java +++ b/Mage.Sets/src/mage/cards/j/JhessianZombies.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SwampcyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class JhessianZombies extends CardImpl { public JhessianZombies(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); diff --git a/Mage.Sets/src/mage/cards/j/JhoiraOfTheGhitu.java b/Mage.Sets/src/mage/cards/j/JhoiraOfTheGhitu.java index e5655bd785a..c999a97f047 100644 --- a/Mage.Sets/src/mage/cards/j/JhoiraOfTheGhitu.java +++ b/Mage.Sets/src/mage/cards/j/JhoiraOfTheGhitu.java @@ -44,6 +44,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -62,8 +63,8 @@ public class JhoiraOfTheGhitu extends CardImpl { public JhoiraOfTheGhitu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JhoirasTimebug.java b/Mage.Sets/src/mage/cards/j/JhoirasTimebug.java index e0335333e96..1eb094198c6 100644 --- a/Mage.Sets/src/mage/cards/j/JhoirasTimebug.java +++ b/Mage.Sets/src/mage/cards/j/JhoirasTimebug.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -63,7 +64,7 @@ public class JhoirasTimebug extends CardImpl { public JhoirasTimebug(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JhoirasToolbox.java b/Mage.Sets/src/mage/cards/j/JhoirasToolbox.java index 257b8175e9a..38c0cabb5ed 100644 --- a/Mage.Sets/src/mage/cards/j/JhoirasToolbox.java +++ b/Mage.Sets/src/mage/cards/j/JhoirasToolbox.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.RegenerateTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -55,7 +56,7 @@ public class JhoirasToolbox extends CardImpl { public JhoirasToolbox(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JhovallQueen.java b/Mage.Sets/src/mage/cards/j/JhovallQueen.java index 102476f8c77..1f6d8501d94 100644 --- a/Mage.Sets/src/mage/cards/j/JhovallQueen.java +++ b/Mage.Sets/src/mage/cards/j/JhovallQueen.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class JhovallQueen extends CardImpl { public JhovallQueen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.REBEL); this.power = new MageInt(4); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/j/JhovallRider.java b/Mage.Sets/src/mage/cards/j/JhovallRider.java index 28e2a02bd93..6edc54d64b2 100644 --- a/Mage.Sets/src/mage/cards/j/JhovallRider.java +++ b/Mage.Sets/src/mage/cards/j/JhovallRider.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class JhovallRider extends CardImpl { public JhovallRider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JinGitaxiasCoreAugur.java b/Mage.Sets/src/mage/cards/j/JinGitaxiasCoreAugur.java index ec0a52d28b7..e8eec650bed 100644 --- a/Mage.Sets/src/mage/cards/j/JinGitaxiasCoreAugur.java +++ b/Mage.Sets/src/mage/cards/j/JinGitaxiasCoreAugur.java @@ -48,7 +48,7 @@ public class JinGitaxiasCoreAugur extends CardImpl { public JinGitaxiasCoreAugur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{8}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Praetor"); + this.subtype.add(SubType.PRAETOR); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/j/JiwariTheEarthAflame.java b/Mage.Sets/src/mage/cards/j/JiwariTheEarthAflame.java index 1c3722d8cca..4c21b54877b 100644 --- a/Mage.Sets/src/mage/cards/j/JiwariTheEarthAflame.java +++ b/Mage.Sets/src/mage/cards/j/JiwariTheEarthAflame.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -63,7 +64,7 @@ public class JiwariTheEarthAflame extends CardImpl { public JiwariTheEarthAflame(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JodahsAvenger.java b/Mage.Sets/src/mage/cards/j/JodahsAvenger.java index f8aa0ac350b..80e22993601 100644 --- a/Mage.Sets/src/mage/cards/j/JodahsAvenger.java +++ b/Mage.Sets/src/mage/cards/j/JodahsAvenger.java @@ -1,145 +1,145 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.j; - -import mage.MageInt; -import mage.ObjectColor; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.ContinuousEffectImpl; -import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; -import mage.abilities.keyword.DoubleStrikeAbility; -import mage.abilities.keyword.ProtectionAbility; -import mage.abilities.keyword.ShadowAbility; -import mage.abilities.keyword.VigilanceAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.choices.Choice; -import mage.choices.ChoiceImpl; -import mage.constants.*; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; - -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; - -/** - * - * @author Styxo - */ -public class JodahsAvenger extends CardImpl { - - public JodahsAvenger(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{U}"); - - this.subtype.add("Shapeshifter"); - this.power = new MageInt(4); - this.toughness = new MageInt(4); - - // {0}: Until end of turn, Jodah's Avenger gets -1/-1 and gains your choice of double strike, protection from red, vigilance, or shadow. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new JodahsAvengerEffect(), new ManaCostsImpl("{0}"))); - } - - public JodahsAvenger(final JodahsAvenger card) { - super(card); - } - - @Override - public JodahsAvenger copy() { - return new JodahsAvenger(this); - } -} - -class JodahsAvengerEffect extends ContinuousEffectImpl { - - private static final Set choices = new HashSet<>(); - private Ability gainedAbility; - - static { - choices.add("Double strike"); - choices.add("Protection from red"); - choices.add("Vigilance"); - choices.add("Shadow"); - } - - public JodahsAvengerEffect() { - super(Duration.EndOfTurn, Layer.PTChangingEffects_7, SubLayer.ModifyPT_7c, Outcome.AddAbility); - this.staticText = "Until end of turn, {this} gets -1/-1 and gains your choice of double strike, protection from red, vigilance, or shadow"; - } - - public JodahsAvengerEffect(final JodahsAvengerEffect effect) { - super(effect); - } - - @Override - public JodahsAvengerEffect copy() { - return new JodahsAvengerEffect(this); - } - - @Override - public void init(Ability source, Game game) { - super.init(source, game); - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - Choice choice = new ChoiceImpl(true); - choice.setMessage("Choose one"); - choice.setChoices(choices); - if (controller.choose(outcome, choice, game)) { - switch (choice.getChoice()) { - case "Double strike": - gainedAbility = DoubleStrikeAbility.getInstance(); - break; - case "Vigilance": - gainedAbility = VigilanceAbility.getInstance(); - break; - case "Shadow": - gainedAbility = ShadowAbility.getInstance(); - break; - default: - gainedAbility = ProtectionAbility.from(ObjectColor.RED); - break; - } - } - } - } - - @Override - public boolean apply(Game game, Ability source) { - Permanent sourceObject = game.getPermanent(source.getSourceId()); - if (sourceObject != null) { - sourceObject.addPower(-1); - sourceObject.addToughness(-1); - game.addEffect(new GainAbilitySourceEffect(gainedAbility, Duration.EndOfTurn), source); - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.j; + +import mage.MageInt; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.ContinuousEffectImpl; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.keyword.DoubleStrikeAbility; +import mage.abilities.keyword.ProtectionAbility; +import mage.abilities.keyword.ShadowAbility; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.choices.Choice; +import mage.choices.ChoiceImpl; +import mage.constants.*; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; + +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + +/** + * + * @author Styxo + */ +public class JodahsAvenger extends CardImpl { + + public JodahsAvenger(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{U}"); + + this.subtype.add(SubType.SHAPESHIFTER); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // {0}: Until end of turn, Jodah's Avenger gets -1/-1 and gains your choice of double strike, protection from red, vigilance, or shadow. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new JodahsAvengerEffect(), new ManaCostsImpl("{0}"))); + } + + public JodahsAvenger(final JodahsAvenger card) { + super(card); + } + + @Override + public JodahsAvenger copy() { + return new JodahsAvenger(this); + } +} + +class JodahsAvengerEffect extends ContinuousEffectImpl { + + private static final Set choices = new HashSet<>(); + private Ability gainedAbility; + + static { + choices.add("Double strike"); + choices.add("Protection from red"); + choices.add("Vigilance"); + choices.add("Shadow"); + } + + public JodahsAvengerEffect() { + super(Duration.EndOfTurn, Layer.PTChangingEffects_7, SubLayer.ModifyPT_7c, Outcome.AddAbility); + this.staticText = "Until end of turn, {this} gets -1/-1 and gains your choice of double strike, protection from red, vigilance, or shadow"; + } + + public JodahsAvengerEffect(final JodahsAvengerEffect effect) { + super(effect); + } + + @Override + public JodahsAvengerEffect copy() { + return new JodahsAvengerEffect(this); + } + + @Override + public void init(Ability source, Game game) { + super.init(source, game); + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + Choice choice = new ChoiceImpl(true); + choice.setMessage("Choose one"); + choice.setChoices(choices); + if (controller.choose(outcome, choice, game)) { + switch (choice.getChoice()) { + case "Double strike": + gainedAbility = DoubleStrikeAbility.getInstance(); + break; + case "Vigilance": + gainedAbility = VigilanceAbility.getInstance(); + break; + case "Shadow": + gainedAbility = ShadowAbility.getInstance(); + break; + default: + gainedAbility = ProtectionAbility.from(ObjectColor.RED); + break; + } + } + } + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent sourceObject = game.getPermanent(source.getSourceId()); + if (sourceObject != null) { + sourceObject.addPower(-1); + sourceObject.addToughness(-1); + game.addEffect(new GainAbilitySourceEffect(gainedAbility, Duration.EndOfTurn), source); + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/j/JohtullWurm.java b/Mage.Sets/src/mage/cards/j/JohtullWurm.java index 13399318680..99a34270f8c 100644 --- a/Mage.Sets/src/mage/cards/j/JohtullWurm.java +++ b/Mage.Sets/src/mage/cards/j/JohtullWurm.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -48,7 +49,7 @@ public class JohtullWurm extends CardImpl { public JohtullWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/j/JoinerAdept.java b/Mage.Sets/src/mage/cards/j/JoinerAdept.java index 04fe1aea1ba..ef2c3c9041f 100644 --- a/Mage.Sets/src/mage/cards/j/JoinerAdept.java +++ b/Mage.Sets/src/mage/cards/j/JoinerAdept.java @@ -35,6 +35,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -47,8 +48,8 @@ public class JoinerAdept extends CardImpl { public JoinerAdept(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/Jokulmorder.java b/Mage.Sets/src/mage/cards/j/Jokulmorder.java index bd297a8f0ca..6e026dabd04 100644 --- a/Mage.Sets/src/mage/cards/j/Jokulmorder.java +++ b/Mage.Sets/src/mage/cards/j/Jokulmorder.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.game.Game; @@ -58,7 +59,7 @@ public class Jokulmorder extends CardImpl { public Jokulmorder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}{U}"); - this.subtype.add("Leviathan"); + this.subtype.add(SubType.LEVIATHAN); this.power = new MageInt(12); this.toughness = new MageInt(12); diff --git a/Mage.Sets/src/mage/cards/j/JolraelEmpressOfBeasts.java b/Mage.Sets/src/mage/cards/j/JolraelEmpressOfBeasts.java index f6f38e4c93b..6460529d801 100644 --- a/Mage.Sets/src/mage/cards/j/JolraelEmpressOfBeasts.java +++ b/Mage.Sets/src/mage/cards/j/JolraelEmpressOfBeasts.java @@ -58,8 +58,8 @@ public class JolraelEmpressOfBeasts extends CardImpl { public JolraelEmpressOfBeasts(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JolraelsCentaur.java b/Mage.Sets/src/mage/cards/j/JolraelsCentaur.java index 6ffd4216f83..d4dc295726a 100644 --- a/Mage.Sets/src/mage/cards/j/JolraelsCentaur.java +++ b/Mage.Sets/src/mage/cards/j/JolraelsCentaur.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class JolraelsCentaur extends CardImpl { public JolraelsCentaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Archer"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JolraelsFavor.java b/Mage.Sets/src/mage/cards/j/JolraelsFavor.java index 6d827634f50..ace94c27907 100644 --- a/Mage.Sets/src/mage/cards/j/JolraelsFavor.java +++ b/Mage.Sets/src/mage/cards/j/JolraelsFavor.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -52,7 +53,7 @@ public class JolraelsFavor extends CardImpl { public JolraelsFavor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/j/JoltingMerfolk.java b/Mage.Sets/src/mage/cards/j/JoltingMerfolk.java index ee4a8d723f9..f38d3766afa 100644 --- a/Mage.Sets/src/mage/cards/j/JoltingMerfolk.java +++ b/Mage.Sets/src/mage/cards/j/JoltingMerfolk.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FadingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class JoltingMerfolk extends CardImpl { public JoltingMerfolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JorKadeenThePrevailer.java b/Mage.Sets/src/mage/cards/j/JorKadeenThePrevailer.java index 6730b5662d7..b06947f8174 100644 --- a/Mage.Sets/src/mage/cards/j/JorKadeenThePrevailer.java +++ b/Mage.Sets/src/mage/cards/j/JorKadeenThePrevailer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -53,8 +54,8 @@ public class JorKadeenThePrevailer extends CardImpl { public JorKadeenThePrevailer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/j/JoragaAuxiliary.java b/Mage.Sets/src/mage/cards/j/JoragaAuxiliary.java index e86eb5c40d1..e8444bde274 100644 --- a/Mage.Sets/src/mage/cards/j/JoragaAuxiliary.java +++ b/Mage.Sets/src/mage/cards/j/JoragaAuxiliary.java @@ -36,6 +36,7 @@ import mage.abilities.effects.keyword.SupportEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -55,9 +56,9 @@ public class JoragaAuxiliary extends CardImpl { public JoragaAuxiliary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}"); - this.subtype.add("Elf"); - this.subtype.add("Soldier"); - this.subtype.add("Ally"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JoragaBard.java b/Mage.Sets/src/mage/cards/j/JoragaBard.java index 8faccc529af..fc7ff79a21c 100644 --- a/Mage.Sets/src/mage/cards/j/JoragaBard.java +++ b/Mage.Sets/src/mage/cards/j/JoragaBard.java @@ -57,9 +57,9 @@ public class JoragaBard extends CardImpl { public JoragaBard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Rogue"); - this.subtype.add("Ally"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ROGUE); + this.subtype.add(SubType.ALLY); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/j/JoragaTreespeaker.java b/Mage.Sets/src/mage/cards/j/JoragaTreespeaker.java index 68121bebb50..798b3ddf621 100644 --- a/Mage.Sets/src/mage/cards/j/JoragaTreespeaker.java +++ b/Mage.Sets/src/mage/cards/j/JoragaTreespeaker.java @@ -65,8 +65,8 @@ public class JoragaTreespeaker extends LevelerCard { public JoragaTreespeaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.color.setGreen(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JoragaWarcaller.java b/Mage.Sets/src/mage/cards/j/JoragaWarcaller.java index 32ccb911cb2..6e1d6ea033d 100644 --- a/Mage.Sets/src/mage/cards/j/JoragaWarcaller.java +++ b/Mage.Sets/src/mage/cards/j/JoragaWarcaller.java @@ -63,8 +63,8 @@ public class JoragaWarcaller extends CardImpl { public JoragaWarcaller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JoriEnRuinDiver.java b/Mage.Sets/src/mage/cards/j/JoriEnRuinDiver.java index 8cfc240a894..510a90a4b84 100644 --- a/Mage.Sets/src/mage/cards/j/JoriEnRuinDiver.java +++ b/Mage.Sets/src/mage/cards/j/JoriEnRuinDiver.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.game.Game; @@ -50,8 +51,8 @@ public class JoriEnRuinDiver extends CardImpl { public JoriEnRuinDiver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JorubaiMurkLurker.java b/Mage.Sets/src/mage/cards/j/JorubaiMurkLurker.java index 9c69b05b832..4bc0864adcd 100644 --- a/Mage.Sets/src/mage/cards/j/JorubaiMurkLurker.java +++ b/Mage.Sets/src/mage/cards/j/JorubaiMurkLurker.java @@ -63,7 +63,7 @@ public class JorubaiMurkLurker extends CardImpl { public JorubaiMurkLurker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Leech"); + this.subtype.add(SubType.LEECH); this.color.setBlue(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JotunGrunt.java b/Mage.Sets/src/mage/cards/j/JotunGrunt.java index 025eac7b28b..2bff40dd6ee 100644 --- a/Mage.Sets/src/mage/cards/j/JotunGrunt.java +++ b/Mage.Sets/src/mage/cards/j/JotunGrunt.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -52,8 +53,8 @@ public class JotunGrunt extends CardImpl { public JotunGrunt(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Giant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/j/Joven.java b/Mage.Sets/src/mage/cards/j/Joven.java index d079e1552a4..2b66cea9781 100644 --- a/Mage.Sets/src/mage/cards/j/Joven.java +++ b/Mage.Sets/src/mage/cards/j/Joven.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; @@ -58,8 +59,8 @@ public class Joven extends CardImpl { public Joven(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JudgeOfCurrents.java b/Mage.Sets/src/mage/cards/j/JudgeOfCurrents.java index 5a73bb8330b..22bd74a42a4 100644 --- a/Mage.Sets/src/mage/cards/j/JudgeOfCurrents.java +++ b/Mage.Sets/src/mage/cards/j/JudgeOfCurrents.java @@ -45,8 +45,8 @@ public class JudgeOfCurrents extends CardImpl { public JudgeOfCurrents(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JudgesFamiliar.java b/Mage.Sets/src/mage/cards/j/JudgesFamiliar.java index 548b59556b9..233e78d7cdd 100644 --- a/Mage.Sets/src/mage/cards/j/JudgesFamiliar.java +++ b/Mage.Sets/src/mage/cards/j/JudgesFamiliar.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.TargetSpell; @@ -49,7 +50,7 @@ public class JudgesFamiliar extends CardImpl { public JudgesFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W/U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JuganTheRisingStar.java b/Mage.Sets/src/mage/cards/j/JuganTheRisingStar.java index bf7ed62f310..95dce944f18 100644 --- a/Mage.Sets/src/mage/cards/j/JuganTheRisingStar.java +++ b/Mage.Sets/src/mage/cards/j/JuganTheRisingStar.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanentAmount; @@ -49,8 +50,8 @@ public class JuganTheRisingStar extends CardImpl { public JuganTheRisingStar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DRAGON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/j/Juggernaut.java b/Mage.Sets/src/mage/cards/j/Juggernaut.java index 69a9a850a02..6574cda2c82 100644 --- a/Mage.Sets/src/mage/cards/j/Juggernaut.java +++ b/Mage.Sets/src/mage/cards/j/Juggernaut.java @@ -54,7 +54,7 @@ public class Juggernaut extends CardImpl { public Juggernaut(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Juggernaut"); + this.subtype.add(SubType.JUGGERNAUT); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JukaiMessenger.java b/Mage.Sets/src/mage/cards/j/JukaiMessenger.java index 24d4c6f975f..596bf947473 100644 --- a/Mage.Sets/src/mage/cards/j/JukaiMessenger.java +++ b/Mage.Sets/src/mage/cards/j/JukaiMessenger.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class JukaiMessenger extends CardImpl { public JukaiMessenger (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JumpTrooper.java b/Mage.Sets/src/mage/cards/j/JumpTrooper.java index f46e350095d..506677b8ba7 100644 --- a/Mage.Sets/src/mage/cards/j/JumpTrooper.java +++ b/Mage.Sets/src/mage/cards/j/JumpTrooper.java @@ -1,128 +1,128 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.j; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.CounterUnlessPaysEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.common.FilterCreatureCard; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.permanent.Permanent; -import mage.target.TargetStackObject; - -/** - * - * @author Styxo - */ -public class JumpTrooper extends CardImpl { - - private static final FilterCreatureCard filter = new FilterCreatureCard("Trooper creatures"); - - static { - filter.add(new SubtypePredicate(SubType.TROOPER)); - } - - public JumpTrooper(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Trooper"); - this.power = new MageInt(1); - this.toughness = new MageInt(1); - - // Whenever a Trooper creature you control becomes the target of a spell or ability an opponent controls, counter that spell or abitlity unless its controller pays {2}. - this.addAbility(new JumpTrooperTriggeredAbility(new CounterUnlessPaysEffect(new GenericManaCost(2)))); - - } - - public JumpTrooper(final JumpTrooper card) { - super(card); - } - - @Override - public JumpTrooper copy() { - return new JumpTrooper(this); - } -} - -class JumpTrooperTriggeredAbility extends TriggeredAbilityImpl { - - private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Trooper creature you control"); - - static { - filter.add(new SubtypePredicate(SubType.TROOPER)); - } - - public JumpTrooperTriggeredAbility(Effect effect) { - super(Zone.BATTLEFIELD, effect); - } - - public JumpTrooperTriggeredAbility(final JumpTrooperTriggeredAbility ability) { - super(ability); - } - - @Override - public JumpTrooperTriggeredAbility copy() { - return new JumpTrooperTriggeredAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.TARGETED; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - if (game.getOpponents(this.controllerId).contains(event.getPlayerId())) { - Permanent creature = game.getPermanent(event.getTargetId()); - if (creature != null && filter.match(creature, getSourceId(), getControllerId(), game)) { - this.getTargets().clear(); - TargetStackObject target = new TargetStackObject(); - target.add(event.getSourceId(), game); - this.addTarget(target); - return true; - } - } - return false; - } - - @Override - public String getRule() { - return "Whenever a Trooper creature you control becomes the target of a spell or ability an opponent controls, counter that spell or ability unless its controller pays {2}."; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.j; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.CounterUnlessPaysEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.common.FilterCreatureCard; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; +import mage.target.TargetStackObject; + +/** + * + * @author Styxo + */ +public class JumpTrooper extends CardImpl { + + private static final FilterCreatureCard filter = new FilterCreatureCard("Trooper creatures"); + + static { + filter.add(new SubtypePredicate(SubType.TROOPER)); + } + + public JumpTrooper(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.TROOPER); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // Whenever a Trooper creature you control becomes the target of a spell or ability an opponent controls, counter that spell or abitlity unless its controller pays {2}. + this.addAbility(new JumpTrooperTriggeredAbility(new CounterUnlessPaysEffect(new GenericManaCost(2)))); + + } + + public JumpTrooper(final JumpTrooper card) { + super(card); + } + + @Override + public JumpTrooper copy() { + return new JumpTrooper(this); + } +} + +class JumpTrooperTriggeredAbility extends TriggeredAbilityImpl { + + private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Trooper creature you control"); + + static { + filter.add(new SubtypePredicate(SubType.TROOPER)); + } + + public JumpTrooperTriggeredAbility(Effect effect) { + super(Zone.BATTLEFIELD, effect); + } + + public JumpTrooperTriggeredAbility(final JumpTrooperTriggeredAbility ability) { + super(ability); + } + + @Override + public JumpTrooperTriggeredAbility copy() { + return new JumpTrooperTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.TARGETED; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (game.getOpponents(this.controllerId).contains(event.getPlayerId())) { + Permanent creature = game.getPermanent(event.getTargetId()); + if (creature != null && filter.match(creature, getSourceId(), getControllerId(), game)) { + this.getTargets().clear(); + TargetStackObject target = new TargetStackObject(); + target.add(event.getSourceId(), game); + this.addTarget(target); + return true; + } + } + return false; + } + + @Override + public String getRule() { + return "Whenever a Trooper creature you control becomes the target of a spell or ability an opponent controls, counter that spell or ability unless its controller pays {2}."; + } +} diff --git a/Mage.Sets/src/mage/cards/j/JundBattlemage.java b/Mage.Sets/src/mage/cards/j/JundBattlemage.java index e290f5c4b7c..3086ec42020 100644 --- a/Mage.Sets/src/mage/cards/j/JundBattlemage.java +++ b/Mage.Sets/src/mage/cards/j/JundBattlemage.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.SaprolingToken; import mage.target.TargetPlayer; @@ -51,8 +52,8 @@ public class JundBattlemage extends CardImpl { public JundBattlemage (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JundHackblade.java b/Mage.Sets/src/mage/cards/j/JundHackblade.java index ec862cdc855..706f5cb8d31 100644 --- a/Mage.Sets/src/mage/cards/j/JundHackblade.java +++ b/Mage.Sets/src/mage/cards/j/JundHackblade.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -60,8 +61,8 @@ public class JundHackblade extends CardImpl { public JundHackblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B/G}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.BERSERKER); diff --git a/Mage.Sets/src/mage/cards/j/JundSojourners.java b/Mage.Sets/src/mage/cards/j/JundSojourners.java index 91b26eacaa1..d6d52d90e3c 100644 --- a/Mage.Sets/src/mage/cards/j/JundSojourners.java +++ b/Mage.Sets/src/mage/cards/j/JundSojourners.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; /** @@ -48,8 +49,8 @@ public class JundSojourners extends CardImpl { public JundSojourners(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{R}{G}"); - this.subtype.add("Viashino"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.SHAMAN); diff --git a/Mage.Sets/src/mage/cards/j/JungleBarrier.java b/Mage.Sets/src/mage/cards/j/JungleBarrier.java index 419b792939d..5f0d04b8e48 100644 --- a/Mage.Sets/src/mage/cards/j/JungleBarrier.java +++ b/Mage.Sets/src/mage/cards/j/JungleBarrier.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class JungleBarrier extends CardImpl { public JungleBarrier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{U}"); - this.subtype.add("Plant"); - this.subtype.add("Wall"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.WALL); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JungleLion.java b/Mage.Sets/src/mage/cards/j/JungleLion.java index 83353f56d5d..f6f26de25a5 100644 --- a/Mage.Sets/src/mage/cards/j/JungleLion.java +++ b/Mage.Sets/src/mage/cards/j/JungleLion.java @@ -33,6 +33,7 @@ import mage.abilities.common.CantBlockAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class JungleLion extends CardImpl { public JungleLion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JunglePatrol.java b/Mage.Sets/src/mage/cards/j/JunglePatrol.java index 476403510d4..6545647893f 100644 --- a/Mage.Sets/src/mage/cards/j/JunglePatrol.java +++ b/Mage.Sets/src/mage/cards/j/JunglePatrol.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.NamePredicate; @@ -62,8 +63,8 @@ public class JunglePatrol extends CardImpl { public JunglePatrol(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JungleTroll.java b/Mage.Sets/src/mage/cards/j/JungleTroll.java index 4498a352e68..f4e3f563dad 100644 --- a/Mage.Sets/src/mage/cards/j/JungleTroll.java +++ b/Mage.Sets/src/mage/cards/j/JungleTroll.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class JungleTroll extends CardImpl { public JungleTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}"); - this.subtype.add("Troll"); + this.subtype.add(SubType.TROLL); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JungleWeaver.java b/Mage.Sets/src/mage/cards/j/JungleWeaver.java index 290f3947ec3..39f97db5101 100644 --- a/Mage.Sets/src/mage/cards/j/JungleWeaver.java +++ b/Mage.Sets/src/mage/cards/j/JungleWeaver.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class JungleWeaver extends CardImpl { public JungleWeaver (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/j/JungleWurm.java b/Mage.Sets/src/mage/cards/j/JungleWurm.java index 21a1806c87f..72b7762b149 100644 --- a/Mage.Sets/src/mage/cards/j/JungleWurm.java +++ b/Mage.Sets/src/mage/cards/j/JungleWurm.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -48,7 +49,7 @@ public class JungleWurm extends CardImpl { public JungleWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/j/JuniperOrderAdvocate.java b/Mage.Sets/src/mage/cards/j/JuniperOrderAdvocate.java index 213cba387ec..71a24fd35f3 100644 --- a/Mage.Sets/src/mage/cards/j/JuniperOrderAdvocate.java +++ b/Mage.Sets/src/mage/cards/j/JuniperOrderAdvocate.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class JuniperOrderAdvocate extends CardImpl { public JuniperOrderAdvocate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/j/JuniperOrderDruid.java b/Mage.Sets/src/mage/cards/j/JuniperOrderDruid.java index f53634f73c8..af842a4441b 100644 --- a/Mage.Sets/src/mage/cards/j/JuniperOrderDruid.java +++ b/Mage.Sets/src/mage/cards/j/JuniperOrderDruid.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetLandPermanent; @@ -47,9 +48,9 @@ public class JuniperOrderDruid extends CardImpl { public JuniperOrderDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/JuniperOrderRanger.java b/Mage.Sets/src/mage/cards/j/JuniperOrderRanger.java index b5ab166c2fc..4331c0b0760 100644 --- a/Mage.Sets/src/mage/cards/j/JuniperOrderRanger.java +++ b/Mage.Sets/src/mage/cards/j/JuniperOrderRanger.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SetTargetPointer; import mage.constants.Zone; import mage.counters.CounterType; @@ -55,8 +56,8 @@ public class JuniperOrderRanger extends CardImpl { public JuniperOrderRanger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/j/JunkDiver.java b/Mage.Sets/src/mage/cards/j/JunkDiver.java index e18bb67912e..2e223c70cc7 100644 --- a/Mage.Sets/src/mage/cards/j/JunkDiver.java +++ b/Mage.Sets/src/mage/cards/j/JunkDiver.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactCard; import mage.filter.predicate.mageobject.AnotherCardPredicate; import mage.target.common.TargetCardInYourGraveyard; @@ -55,7 +56,7 @@ public class JunkDiver extends CardImpl { public JunkDiver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/j/Junktroller.java b/Mage.Sets/src/mage/cards/j/Junktroller.java index 02f9d10e877..0930c7988fb 100644 --- a/Mage.Sets/src/mage/cards/j/Junktroller.java +++ b/Mage.Sets/src/mage/cards/j/Junktroller.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCardInGraveyard; @@ -48,7 +49,7 @@ public class Junktroller extends CardImpl { public Junktroller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(0); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/j/JununEfreet.java b/Mage.Sets/src/mage/cards/j/JununEfreet.java index 0dacc38564e..7e578a379bf 100644 --- a/Mage.Sets/src/mage/cards/j/JununEfreet.java +++ b/Mage.Sets/src/mage/cards/j/JununEfreet.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -46,7 +47,7 @@ public class JununEfreet extends CardImpl { public JununEfreet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Efreet"); + this.subtype.add(SubType.EFREET); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JushiApprentice.java b/Mage.Sets/src/mage/cards/j/JushiApprentice.java index 88af92d1f91..ea198e2564a 100644 --- a/Mage.Sets/src/mage/cards/j/JushiApprentice.java +++ b/Mage.Sets/src/mage/cards/j/JushiApprentice.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.FlipSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class JushiApprentice extends CardImpl { public JushiApprentice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); @@ -89,8 +90,8 @@ class TomoyaTheRevealer extends Token { addSuperType(SuperType.LEGENDARY); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Human"); - subtype.add("Wizard"); + subtype.add(SubType.HUMAN); + subtype.add(SubType.WIZARD); power = new MageInt(2); toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JuvenileGloomwidow.java b/Mage.Sets/src/mage/cards/j/JuvenileGloomwidow.java index 74bed146b42..0036b759de8 100644 --- a/Mage.Sets/src/mage/cards/j/JuvenileGloomwidow.java +++ b/Mage.Sets/src/mage/cards/j/JuvenileGloomwidow.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class JuvenileGloomwidow extends CardImpl { public JuvenileGloomwidow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JuzamDjinn.java b/Mage.Sets/src/mage/cards/j/JuzamDjinn.java index 9ade89b3ae1..6ed1f650c07 100644 --- a/Mage.Sets/src/mage/cards/j/JuzamDjinn.java +++ b/Mage.Sets/src/mage/cards/j/JuzamDjinn.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -44,7 +45,7 @@ public class JuzamDjinn extends CardImpl { public JuzamDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/j/JwarIsleAvenger.java b/Mage.Sets/src/mage/cards/j/JwarIsleAvenger.java index 392841abc61..bf5538fddd3 100644 --- a/Mage.Sets/src/mage/cards/j/JwarIsleAvenger.java +++ b/Mage.Sets/src/mage/cards/j/JwarIsleAvenger.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.SurgeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class JwarIsleAvenger extends CardImpl { public JwarIsleAvenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JwariScuttler.java b/Mage.Sets/src/mage/cards/j/JwariScuttler.java index 8ee8cbb4192..5160a22efad 100644 --- a/Mage.Sets/src/mage/cards/j/JwariScuttler.java +++ b/Mage.Sets/src/mage/cards/j/JwariScuttler.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class JwariScuttler extends CardImpl { public JwariScuttler (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Crab"); + this.subtype.add(SubType.CRAB); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/j/JwariShapeshifter.java b/Mage.Sets/src/mage/cards/j/JwariShapeshifter.java index 29aee887848..32c0ac74c6a 100644 --- a/Mage.Sets/src/mage/cards/j/JwariShapeshifter.java +++ b/Mage.Sets/src/mage/cards/j/JwariShapeshifter.java @@ -56,8 +56,8 @@ public class JwariShapeshifter extends CardImpl { public JwariShapeshifter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Shapeshifter"); - this.subtype.add("Ally"); + this.subtype.add(SubType.SHAPESHIFTER); + this.subtype.add(SubType.ALLY); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/k/KaaliaOfTheVast.java b/Mage.Sets/src/mage/cards/k/KaaliaOfTheVast.java index 0bb2a01ec53..2d84618ba0d 100644 --- a/Mage.Sets/src/mage/cards/k/KaaliaOfTheVast.java +++ b/Mage.Sets/src/mage/cards/k/KaaliaOfTheVast.java @@ -56,8 +56,8 @@ public class KaaliaOfTheVast extends CardImpl { public KaaliaOfTheVast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KabiraEvangel.java b/Mage.Sets/src/mage/cards/k/KabiraEvangel.java index 568c2696621..e05440f5bc7 100644 --- a/Mage.Sets/src/mage/cards/k/KabiraEvangel.java +++ b/Mage.Sets/src/mage/cards/k/KabiraEvangel.java @@ -58,9 +58,9 @@ public class KabiraEvangel extends CardImpl { public KabiraEvangel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KabiraVindicator.java b/Mage.Sets/src/mage/cards/k/KabiraVindicator.java index 55c1be1ca24..66b2a6ee8b9 100644 --- a/Mage.Sets/src/mage/cards/k/KabiraVindicator.java +++ b/Mage.Sets/src/mage/cards/k/KabiraVindicator.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -52,8 +53,8 @@ public class KabiraVindicator extends LevelerCard { public KabiraVindicator(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.color.setWhite(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KabutoMoth.java b/Mage.Sets/src/mage/cards/k/KabutoMoth.java index 348cc42a8b3..36253db222a 100644 --- a/Mage.Sets/src/mage/cards/k/KabutoMoth.java +++ b/Mage.Sets/src/mage/cards/k/KabutoMoth.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class KabutoMoth extends CardImpl { public KabutoMoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KaervekTheMerciless.java b/Mage.Sets/src/mage/cards/k/KaervekTheMerciless.java index 34d973ae457..fb626204b33 100644 --- a/Mage.Sets/src/mage/cards/k/KaervekTheMerciless.java +++ b/Mage.Sets/src/mage/cards/k/KaervekTheMerciless.java @@ -53,8 +53,8 @@ public class KaervekTheMerciless extends CardImpl { public KaervekTheMerciless(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KagemaroFirstToSuffer.java b/Mage.Sets/src/mage/cards/k/KagemaroFirstToSuffer.java index 8295e2c6a24..0004cc860bd 100644 --- a/Mage.Sets/src/mage/cards/k/KagemaroFirstToSuffer.java +++ b/Mage.Sets/src/mage/cards/k/KagemaroFirstToSuffer.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class KagemaroFirstToSuffer extends CardImpl { public KagemaroFirstToSuffer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DEMON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/k/KagemarosClutch.java b/Mage.Sets/src/mage/cards/k/KagemarosClutch.java index e0319759838..cf73cb11fac 100644 --- a/Mage.Sets/src/mage/cards/k/KagemarosClutch.java +++ b/Mage.Sets/src/mage/cards/k/KagemarosClutch.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class KagemarosClutch extends CardImpl { public KagemarosClutch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/k/KahoMinamoHistorian.java b/Mage.Sets/src/mage/cards/k/KahoMinamoHistorian.java index c1b2d8f2547..e9d1f218fbd 100644 --- a/Mage.Sets/src/mage/cards/k/KahoMinamoHistorian.java +++ b/Mage.Sets/src/mage/cards/k/KahoMinamoHistorian.java @@ -39,6 +39,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.SearchEffect; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.SuperType; @@ -61,8 +62,8 @@ public class KahoMinamoHistorian extends CardImpl { public KahoMinamoHistorian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KaijinOfTheVanishingTouch.java b/Mage.Sets/src/mage/cards/k/KaijinOfTheVanishingTouch.java index 1d2edb9eff6..7401ad0dfc9 100644 --- a/Mage.Sets/src/mage/cards/k/KaijinOfTheVanishingTouch.java +++ b/Mage.Sets/src/mage/cards/k/KaijinOfTheVanishingTouch.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,7 +48,7 @@ public class KaijinOfTheVanishingTouch extends CardImpl { public KaijinOfTheVanishingTouch(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KalastriaHealer.java b/Mage.Sets/src/mage/cards/k/KalastriaHealer.java index 16f749fc50a..df0c5a46b05 100644 --- a/Mage.Sets/src/mage/cards/k/KalastriaHealer.java +++ b/Mage.Sets/src/mage/cards/k/KalastriaHealer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.LoseLifeOpponentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,9 +47,9 @@ public class KalastriaHealer extends CardImpl { public KalastriaHealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Cleric"); - this.subtype.add("Ally"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.ALLY); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KalastriaHighborn.java b/Mage.Sets/src/mage/cards/k/KalastriaHighborn.java index 34bef1325d0..f18e162c6fa 100644 --- a/Mage.Sets/src/mage/cards/k/KalastriaHighborn.java +++ b/Mage.Sets/src/mage/cards/k/KalastriaHighborn.java @@ -62,8 +62,8 @@ public class KalastriaHighborn extends CardImpl { public KalastriaHighborn(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KalastriaNightwatch.java b/Mage.Sets/src/mage/cards/k/KalastriaNightwatch.java index d321d3cf66e..a83fbe19f5f 100644 --- a/Mage.Sets/src/mage/cards/k/KalastriaNightwatch.java +++ b/Mage.Sets/src/mage/cards/k/KalastriaNightwatch.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,9 +46,9 @@ public class KalastriaNightwatch extends CardImpl { public KalastriaNightwatch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Warrior"); - this.subtype.add("Ally"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ALLY); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KalemneDiscipleOfIroas.java b/Mage.Sets/src/mage/cards/k/KalemneDiscipleOfIroas.java index d1a63c49633..b53abea157a 100644 --- a/Mage.Sets/src/mage/cards/k/KalemneDiscipleOfIroas.java +++ b/Mage.Sets/src/mage/cards/k/KalemneDiscipleOfIroas.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.SuperType; @@ -68,8 +69,8 @@ public class KalemneDiscipleOfIroas extends CardImpl { public KalemneDiscipleOfIroas(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Giant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KalemnesCaptain.java b/Mage.Sets/src/mage/cards/k/KalemnesCaptain.java index b5914dd6d94..cf0c2767cc0 100644 --- a/Mage.Sets/src/mage/cards/k/KalemnesCaptain.java +++ b/Mage.Sets/src/mage/cards/k/KalemnesCaptain.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -56,8 +57,8 @@ public class KalemnesCaptain extends CardImpl { public KalemnesCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Giant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KalitasBloodchiefOfGhet.java b/Mage.Sets/src/mage/cards/k/KalitasBloodchiefOfGhet.java index 345edea0a4c..c2c90c033cf 100644 --- a/Mage.Sets/src/mage/cards/k/KalitasBloodchiefOfGhet.java +++ b/Mage.Sets/src/mage/cards/k/KalitasBloodchiefOfGhet.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class KalitasBloodchiefOfGhet extends CardImpl { public KalitasBloodchiefOfGhet(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WARRIOR); // {B}{B}{B}, {T}: Destroy target creature. If that creature dies this way, create a black Vampire creature token. Its power is equal to that creature's power and its toughness is equal to that creature's toughness. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new KalitasDestroyEffect(), new ManaCostsImpl("{B}{B}{B}")); diff --git a/Mage.Sets/src/mage/cards/k/KalitasTraitorOfGhet.java b/Mage.Sets/src/mage/cards/k/KalitasTraitorOfGhet.java index 846eb69b093..35bf71b2f39 100644 --- a/Mage.Sets/src/mage/cards/k/KalitasTraitorOfGhet.java +++ b/Mage.Sets/src/mage/cards/k/KalitasTraitorOfGhet.java @@ -71,8 +71,8 @@ public class KalitasTraitorOfGhet extends CardImpl { public KalitasTraitorOfGhet(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KalonianBehemoth.java b/Mage.Sets/src/mage/cards/k/KalonianBehemoth.java index 098e2009a03..2e474849129 100644 --- a/Mage.Sets/src/mage/cards/k/KalonianBehemoth.java +++ b/Mage.Sets/src/mage/cards/k/KalonianBehemoth.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class KalonianBehemoth extends CardImpl { public KalonianBehemoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(9); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/k/KalonianHydra.java b/Mage.Sets/src/mage/cards/k/KalonianHydra.java index 366914ba046..4321c9e20b4 100644 --- a/Mage.Sets/src/mage/cards/k/KalonianHydra.java +++ b/Mage.Sets/src/mage/cards/k/KalonianHydra.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.counters.CounterType; @@ -56,7 +57,7 @@ public class KalonianHydra extends CardImpl { public KalonianHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/k/KalonianTusker.java b/Mage.Sets/src/mage/cards/k/KalonianTusker.java index f738b3831cf..f91100d0555 100644 --- a/Mage.Sets/src/mage/cards/k/KalonianTusker.java +++ b/Mage.Sets/src/mage/cards/k/KalonianTusker.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class KalonianTusker extends CardImpl { public KalonianTusker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KalonianTwingrove.java b/Mage.Sets/src/mage/cards/k/KalonianTwingrove.java index 337e2e2878c..3bac921e35c 100644 --- a/Mage.Sets/src/mage/cards/k/KalonianTwingrove.java +++ b/Mage.Sets/src/mage/cards/k/KalonianTwingrove.java @@ -60,8 +60,8 @@ public class KalonianTwingrove extends CardImpl { public KalonianTwingrove(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/k/KamahlFistOfKrosa.java b/Mage.Sets/src/mage/cards/k/KamahlFistOfKrosa.java index 0cea4a07136..3d7ffda3fea 100644 --- a/Mage.Sets/src/mage/cards/k/KamahlFistOfKrosa.java +++ b/Mage.Sets/src/mage/cards/k/KamahlFistOfKrosa.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class KamahlFistOfKrosa extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KamahlPitFighter.java b/Mage.Sets/src/mage/cards/k/KamahlPitFighter.java index 20ce810c69b..76a2a36e2dc 100644 --- a/Mage.Sets/src/mage/cards/k/KamahlPitFighter.java +++ b/Mage.Sets/src/mage/cards/k/KamahlPitFighter.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -50,8 +51,8 @@ public class KamahlPitFighter extends CardImpl { public KamahlPitFighter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Barbarian"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BARBARIAN); this.power = new MageInt(6); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KamahlsDesire.java b/Mage.Sets/src/mage/cards/k/KamahlsDesire.java index ef315ef6668..f965a1e5e0a 100644 --- a/Mage.Sets/src/mage/cards/k/KamahlsDesire.java +++ b/Mage.Sets/src/mage/cards/k/KamahlsDesire.java @@ -42,6 +42,7 @@ import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class KamahlsDesire extends CardImpl { public KamahlsDesire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/k/KambalConsulOfAllocation.java b/Mage.Sets/src/mage/cards/k/KambalConsulOfAllocation.java index e9b9fe739be..5147ea4705d 100644 --- a/Mage.Sets/src/mage/cards/k/KambalConsulOfAllocation.java +++ b/Mage.Sets/src/mage/cards/k/KambalConsulOfAllocation.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SetTargetPointer; import mage.constants.SuperType; import mage.constants.Zone; @@ -58,8 +59,8 @@ public class KambalConsulOfAllocation extends CardImpl { public KambalConsulOfAllocation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KamiOfAncientLaw.java b/Mage.Sets/src/mage/cards/k/KamiOfAncientLaw.java index 037af83413c..1f3c7718137 100644 --- a/Mage.Sets/src/mage/cards/k/KamiOfAncientLaw.java +++ b/Mage.Sets/src/mage/cards/k/KamiOfAncientLaw.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetEnchantmentPermanent; @@ -48,7 +49,7 @@ public class KamiOfAncientLaw extends CardImpl { public KamiOfAncientLaw (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KamiOfEmptyGraves.java b/Mage.Sets/src/mage/cards/k/KamiOfEmptyGraves.java index 00cebb71d52..af26c026333 100644 --- a/Mage.Sets/src/mage/cards/k/KamiOfEmptyGraves.java +++ b/Mage.Sets/src/mage/cards/k/KamiOfEmptyGraves.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class KamiOfEmptyGraves extends CardImpl { public KamiOfEmptyGraves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KamiOfFalseHope.java b/Mage.Sets/src/mage/cards/k/KamiOfFalseHope.java index 125d097cb7d..8ea37664a63 100644 --- a/Mage.Sets/src/mage/cards/k/KamiOfFalseHope.java +++ b/Mage.Sets/src/mage/cards/k/KamiOfFalseHope.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventAllDamageByAllPermanentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class KamiOfFalseHope extends CardImpl { public KamiOfFalseHope(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KamiOfFiresRoar.java b/Mage.Sets/src/mage/cards/k/KamiOfFiresRoar.java index 657455cf150..73e7bdb1fb2 100644 --- a/Mage.Sets/src/mage/cards/k/KamiOfFiresRoar.java +++ b/Mage.Sets/src/mage/cards/k/KamiOfFiresRoar.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.CantBlockTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class KamiOfFiresRoar extends CardImpl { public KamiOfFiresRoar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KamiOfLunacy.java b/Mage.Sets/src/mage/cards/k/KamiOfLunacy.java index 11c147a9ef5..1d823e08608 100644 --- a/Mage.Sets/src/mage/cards/k/KamiOfLunacy.java +++ b/Mage.Sets/src/mage/cards/k/KamiOfLunacy.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -43,7 +44,7 @@ public class KamiOfLunacy extends CardImpl { public KamiOfLunacy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KamiOfOldStone.java b/Mage.Sets/src/mage/cards/k/KamiOfOldStone.java index 6897da74c2d..3c9b93bd36b 100644 --- a/Mage.Sets/src/mage/cards/k/KamiOfOldStone.java +++ b/Mage.Sets/src/mage/cards/k/KamiOfOldStone.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class KamiOfOldStone extends CardImpl { public KamiOfOldStone (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/k/KamiOfTatteredShoji.java b/Mage.Sets/src/mage/cards/k/KamiOfTatteredShoji.java index a73607affac..3ce1dd011e8 100644 --- a/Mage.Sets/src/mage/cards/k/KamiOfTatteredShoji.java +++ b/Mage.Sets/src/mage/cards/k/KamiOfTatteredShoji.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; @@ -46,7 +47,7 @@ public class KamiOfTatteredShoji extends CardImpl { public KamiOfTatteredShoji(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KamiOfTheCrescentMoon.java b/Mage.Sets/src/mage/cards/k/KamiOfTheCrescentMoon.java index ba00215bdc6..4c9ec6101a0 100644 --- a/Mage.Sets/src/mage/cards/k/KamiOfTheCrescentMoon.java +++ b/Mage.Sets/src/mage/cards/k/KamiOfTheCrescentMoon.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; @@ -46,7 +47,7 @@ public class KamiOfTheCrescentMoon extends CardImpl { public KamiOfTheCrescentMoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KamiOfTheHonoredDead.java b/Mage.Sets/src/mage/cards/k/KamiOfTheHonoredDead.java index 5fb97b29824..ecbc915e160 100644 --- a/Mage.Sets/src/mage/cards/k/KamiOfTheHonoredDead.java +++ b/Mage.Sets/src/mage/cards/k/KamiOfTheHonoredDead.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -52,7 +53,7 @@ public class KamiOfTheHonoredDead extends CardImpl { public KamiOfTheHonoredDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KamiOfTheHunt.java b/Mage.Sets/src/mage/cards/k/KamiOfTheHunt.java index 97331f215f0..4fe8db8ea1e 100644 --- a/Mage.Sets/src/mage/cards/k/KamiOfTheHunt.java +++ b/Mage.Sets/src/mage/cards/k/KamiOfTheHunt.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; @@ -45,7 +46,7 @@ public class KamiOfTheHunt extends CardImpl { public KamiOfTheHunt(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KamiOfThePaintedRoad.java b/Mage.Sets/src/mage/cards/k/KamiOfThePaintedRoad.java index 16020202ac8..cff8750ebcd 100644 --- a/Mage.Sets/src/mage/cards/k/KamiOfThePaintedRoad.java +++ b/Mage.Sets/src/mage/cards/k/KamiOfThePaintedRoad.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.GainProtectionFromColorSourceEff import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; @@ -45,7 +46,7 @@ public class KamiOfThePaintedRoad extends CardImpl { public KamiOfThePaintedRoad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KamiOfThePalaceFields.java b/Mage.Sets/src/mage/cards/k/KamiOfThePalaceFields.java index 7143dc3742a..2a08474b476 100644 --- a/Mage.Sets/src/mage/cards/k/KamiOfThePalaceFields.java +++ b/Mage.Sets/src/mage/cards/k/KamiOfThePalaceFields.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -44,7 +45,7 @@ public class KamiOfThePalaceFields extends CardImpl { public KamiOfThePalaceFields(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KamiOfTheTendedGarden.java b/Mage.Sets/src/mage/cards/k/KamiOfTheTendedGarden.java index 84164305a6f..f4340416950 100644 --- a/Mage.Sets/src/mage/cards/k/KamiOfTheTendedGarden.java +++ b/Mage.Sets/src/mage/cards/k/KamiOfTheTendedGarden.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.TargetController; @@ -47,7 +48,7 @@ public class KamiOfTheTendedGarden extends CardImpl { public KamiOfTheTendedGarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KamiOfTheWaningMoon.java b/Mage.Sets/src/mage/cards/k/KamiOfTheWaningMoon.java index f46c364da11..08fb3100878 100644 --- a/Mage.Sets/src/mage/cards/k/KamiOfTheWaningMoon.java +++ b/Mage.Sets/src/mage/cards/k/KamiOfTheWaningMoon.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class KamiOfTheWaningMoon extends CardImpl { public KamiOfTheWaningMoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KamiOfTwistedReflection.java b/Mage.Sets/src/mage/cards/k/KamiOfTwistedReflection.java index 4e9fcccedd5..3458d3e5df7 100644 --- a/Mage.Sets/src/mage/cards/k/KamiOfTwistedReflection.java +++ b/Mage.Sets/src/mage/cards/k/KamiOfTwistedReflection.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -47,7 +48,7 @@ public class KamiOfTwistedReflection extends CardImpl { public KamiOfTwistedReflection(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KaminoCloningFacility.java b/Mage.Sets/src/mage/cards/k/KaminoCloningFacility.java index 8ce1d3b45b4..01d8b4d6961 100644 --- a/Mage.Sets/src/mage/cards/k/KaminoCloningFacility.java +++ b/Mage.Sets/src/mage/cards/k/KaminoCloningFacility.java @@ -1,83 +1,83 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.k; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.mana.ColorlessManaAbility; -import mage.abilities.mana.ConditionalAnyColorManaAbility; -import mage.abilities.mana.conditional.ConditionalSpellManaBuilder; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.FilterSpell; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.game.permanent.token.TrooperToken; - -/** - * - * @author Styxo - */ -public class KaminoCloningFacility extends CardImpl { - - private static final FilterSpell FILTER = new FilterSpell("a Trooper spell"); - - static { - FILTER.add(new SubtypePredicate(SubType.TROOPER)); - } - - public KaminoCloningFacility(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - - // {T}: Add {C} to your mana pool. - this.addAbility(new ColorlessManaAbility()); - - // {T} Add one mana of any color to your mana pool. Spend this mana only to cast a Trooper spell. - this.addAbility(new ConditionalAnyColorManaAbility(new TapSourceCost(), 1, new ConditionalSpellManaBuilder(FILTER), true)); - - // {5}, {T}: Create a 1/1 white Trooper creature tokens. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new TrooperToken(), 1), new ManaCostsImpl("{5}")); - ability.addCost(new TapSourceCost()); - this.addAbility(ability); - } - - public KaminoCloningFacility(final KaminoCloningFacility card) { - super(card); - } - - @Override - public KaminoCloningFacility copy() { - return new KaminoCloningFacility(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.k; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.mana.ColorlessManaAbility; +import mage.abilities.mana.ConditionalAnyColorManaAbility; +import mage.abilities.mana.conditional.ConditionalSpellManaBuilder; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.FilterSpell; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.permanent.token.TrooperToken; + +/** + * + * @author Styxo + */ +public class KaminoCloningFacility extends CardImpl { + + private static final FilterSpell FILTER = new FilterSpell("a Trooper spell"); + + static { + FILTER.add(new SubtypePredicate(SubType.TROOPER)); + } + + public KaminoCloningFacility(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.LAND},""); + + // {T}: Add {C} to your mana pool. + this.addAbility(new ColorlessManaAbility()); + + // {T} Add one mana of any color to your mana pool. Spend this mana only to cast a Trooper spell. + this.addAbility(new ConditionalAnyColorManaAbility(new TapSourceCost(), 1, new ConditionalSpellManaBuilder(FILTER), true)); + + // {5}, {T}: Create a 1/1 white Trooper creature tokens. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new TrooperToken(), 1), new ManaCostsImpl("{5}")); + ability.addCost(new TapSourceCost()); + this.addAbility(ability); + } + + public KaminoCloningFacility(final KaminoCloningFacility card) { + super(card); + } + + @Override + public KaminoCloningFacility copy() { + return new KaminoCloningFacility(this); + } +} diff --git a/Mage.Sets/src/mage/cards/k/KangeeAerieKeeper.java b/Mage.Sets/src/mage/cards/k/KangeeAerieKeeper.java index 155266cccb9..7dea607f9cf 100644 --- a/Mage.Sets/src/mage/cards/k/KangeeAerieKeeper.java +++ b/Mage.Sets/src/mage/cards/k/KangeeAerieKeeper.java @@ -68,8 +68,8 @@ public class KangeeAerieKeeper extends CardImpl { public KangeeAerieKeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Bird"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KapshoKitefins.java b/Mage.Sets/src/mage/cards/k/KapshoKitefins.java index 53bbb6000a4..7c12c19a079 100644 --- a/Mage.Sets/src/mage/cards/k/KapshoKitefins.java +++ b/Mage.Sets/src/mage/cards/k/KapshoKitefins.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -58,7 +59,7 @@ public class KapshoKitefins extends CardImpl { public KapshoKitefins(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Fish"); + this.subtype.add(SubType.FISH); this.color.setBlue(true); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KaradorGhostChieftain.java b/Mage.Sets/src/mage/cards/k/KaradorGhostChieftain.java index dbb7a28ea8e..52ee34cc38c 100644 --- a/Mage.Sets/src/mage/cards/k/KaradorGhostChieftain.java +++ b/Mage.Sets/src/mage/cards/k/KaradorGhostChieftain.java @@ -58,8 +58,8 @@ public class KaradorGhostChieftain extends CardImpl { public KaradorGhostChieftain(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{B}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Centaur"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KarametraGodOfHarvests.java b/Mage.Sets/src/mage/cards/k/KarametraGodOfHarvests.java index 6a4ec5115bc..54567ed6599 100644 --- a/Mage.Sets/src/mage/cards/k/KarametraGodOfHarvests.java +++ b/Mage.Sets/src/mage/cards/k/KarametraGodOfHarvests.java @@ -62,7 +62,7 @@ public class KarametraGodOfHarvests extends CardImpl { public KarametraGodOfHarvests(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{3}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(6); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/k/KarametrasAcolyte.java b/Mage.Sets/src/mage/cards/k/KarametrasAcolyte.java index 2b00dc0a9a4..40c08ea3db3 100644 --- a/Mage.Sets/src/mage/cards/k/KarametrasAcolyte.java +++ b/Mage.Sets/src/mage/cards/k/KarametrasAcolyte.java @@ -35,6 +35,7 @@ import mage.abilities.mana.DynamicManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; /** @@ -45,8 +46,8 @@ public class KarametrasAcolyte extends CardImpl { public KarametrasAcolyte(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KarametrasFavor.java b/Mage.Sets/src/mage/cards/k/KarametrasFavor.java index 9d7a76419e7..a1558d6e4a5 100644 --- a/Mage.Sets/src/mage/cards/k/KarametrasFavor.java +++ b/Mage.Sets/src/mage/cards/k/KarametrasFavor.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class KarametrasFavor extends CardImpl { public KarametrasFavor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/k/KarganDragonlord.java b/Mage.Sets/src/mage/cards/k/KarganDragonlord.java index 03af603a32c..9975ff801bd 100644 --- a/Mage.Sets/src/mage/cards/k/KarganDragonlord.java +++ b/Mage.Sets/src/mage/cards/k/KarganDragonlord.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class KarganDragonlord extends LevelerCard { public KarganDragonlord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.color.setRed(true); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KariZevSkyshipRaider.java b/Mage.Sets/src/mage/cards/k/KariZevSkyshipRaider.java index 4ece97bb7e7..43c4993629b 100644 --- a/Mage.Sets/src/mage/cards/k/KariZevSkyshipRaider.java +++ b/Mage.Sets/src/mage/cards/k/KariZevSkyshipRaider.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.game.Game; @@ -54,8 +55,8 @@ public class KariZevSkyshipRaider extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KarlovOfTheGhostCouncil.java b/Mage.Sets/src/mage/cards/k/KarlovOfTheGhostCouncil.java index e309a972a80..aa6094958ed 100644 --- a/Mage.Sets/src/mage/cards/k/KarlovOfTheGhostCouncil.java +++ b/Mage.Sets/src/mage/cards/k/KarlovOfTheGhostCouncil.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.counters.CounterType; @@ -53,8 +54,8 @@ public class KarlovOfTheGhostCouncil extends CardImpl { public KarlovOfTheGhostCouncil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KarmicGuide.java b/Mage.Sets/src/mage/cards/k/KarmicGuide.java index 2a7d5e9b0a4..0de8cdfe901 100644 --- a/Mage.Sets/src/mage/cards/k/KarmicGuide.java +++ b/Mage.Sets/src/mage/cards/k/KarmicGuide.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInYourGraveyard; @@ -50,8 +51,8 @@ public class KarmicGuide extends CardImpl { public KarmicGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Angel"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ANGEL); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KarnLiberated.java b/Mage.Sets/src/mage/cards/k/KarnLiberated.java index a3fa466c85e..ee9b27751ae 100644 --- a/Mage.Sets/src/mage/cards/k/KarnLiberated.java +++ b/Mage.Sets/src/mage/cards/k/KarnLiberated.java @@ -44,6 +44,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -70,7 +71,7 @@ public class KarnLiberated extends CardImpl { public KarnLiberated(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{7}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Karn"); + this.subtype.add(SubType.KARN); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(6)); // +4: Target player exiles a card from his or her hand. diff --git a/Mage.Sets/src/mage/cards/k/KarnSilverGolem.java b/Mage.Sets/src/mage/cards/k/KarnSilverGolem.java index 40608203af9..528fb93e774 100644 --- a/Mage.Sets/src/mage/cards/k/KarnSilverGolem.java +++ b/Mage.Sets/src/mage/cards/k/KarnSilverGolem.java @@ -60,7 +60,7 @@ public class KarnSilverGolem extends CardImpl { public KarnSilverGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KarooMeerkat.java b/Mage.Sets/src/mage/cards/k/KarooMeerkat.java index 25007ea947a..bbe5b1cab0e 100644 --- a/Mage.Sets/src/mage/cards/k/KarooMeerkat.java +++ b/Mage.Sets/src/mage/cards/k/KarooMeerkat.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class KarooMeerkat extends CardImpl { public KarooMeerkat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Mongoose"); + this.subtype.add(SubType.MONGOOSE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KarplusanStrider.java b/Mage.Sets/src/mage/cards/k/KarplusanStrider.java index 20a8726cfd1..479eee0318b 100644 --- a/Mage.Sets/src/mage/cards/k/KarplusanStrider.java +++ b/Mage.Sets/src/mage/cards/k/KarplusanStrider.java @@ -35,6 +35,7 @@ import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class KarplusanStrider extends CardImpl { public KarplusanStrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Yeti"); + this.subtype.add(SubType.YETI); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KarplusanWolverine.java b/Mage.Sets/src/mage/cards/k/KarplusanWolverine.java index fa63b73f1ad..3229b5635da 100644 --- a/Mage.Sets/src/mage/cards/k/KarplusanWolverine.java +++ b/Mage.Sets/src/mage/cards/k/KarplusanWolverine.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.target.common.TargetCreatureOrPlayer; @@ -47,8 +48,8 @@ public class KarplusanWolverine extends CardImpl { public KarplusanWolverine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); addSuperType(SuperType.SNOW); - this.subtype.add("Wolverine"); - this.subtype.add("Beast"); + this.subtype.add(SubType.WOLVERINE); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KarplusanYeti.java b/Mage.Sets/src/mage/cards/k/KarplusanYeti.java index 81bb5e10700..ab83fea3b4a 100644 --- a/Mage.Sets/src/mage/cards/k/KarplusanYeti.java +++ b/Mage.Sets/src/mage/cards/k/KarplusanYeti.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageEachOtherEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class KarplusanYeti extends CardImpl { public KarplusanYeti(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Yeti"); + this.subtype.add(SubType.YETI); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KarrthusTyrantOfJund.java b/Mage.Sets/src/mage/cards/k/KarrthusTyrantOfJund.java index fd60e7eab5c..1f678c9caef 100644 --- a/Mage.Sets/src/mage/cards/k/KarrthusTyrantOfJund.java +++ b/Mage.Sets/src/mage/cards/k/KarrthusTyrantOfJund.java @@ -66,7 +66,7 @@ public class KarrthusTyrantOfJund extends CardImpl { public KarrthusTyrantOfJund(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/k/Karstoderm.java b/Mage.Sets/src/mage/cards/k/Karstoderm.java index 5eb405a70bf..f2e8456f876 100644 --- a/Mage.Sets/src/mage/cards/k/Karstoderm.java +++ b/Mage.Sets/src/mage/cards/k/Karstoderm.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterArtifactPermanent; @@ -48,7 +49,7 @@ public class Karstoderm extends CardImpl { public Karstoderm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/k/KasetoOrochiArchmage.java b/Mage.Sets/src/mage/cards/k/KasetoOrochiArchmage.java index 7d3302bc4f7..90255394915 100644 --- a/Mage.Sets/src/mage/cards/k/KasetoOrochiArchmage.java +++ b/Mage.Sets/src/mage/cards/k/KasetoOrochiArchmage.java @@ -51,8 +51,8 @@ public class KasetoOrochiArchmage extends CardImpl { public KasetoOrochiArchmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Snake"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KashiTribeElite.java b/Mage.Sets/src/mage/cards/k/KashiTribeElite.java index 6feefdf7924..6321947cbe4 100644 --- a/Mage.Sets/src/mage/cards/k/KashiTribeElite.java +++ b/Mage.Sets/src/mage/cards/k/KashiTribeElite.java @@ -58,8 +58,8 @@ public class KashiTribeElite extends CardImpl { public KashiTribeElite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Snake"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KashiTribeReaver.java b/Mage.Sets/src/mage/cards/k/KashiTribeReaver.java index 1a5b57b5534..661d24ff67c 100644 --- a/Mage.Sets/src/mage/cards/k/KashiTribeReaver.java +++ b/Mage.Sets/src/mage/cards/k/KashiTribeReaver.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,8 +50,8 @@ public class KashiTribeReaver extends CardImpl { public KashiTribeReaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Snake"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KashiTribeWarriors.java b/Mage.Sets/src/mage/cards/k/KashiTribeWarriors.java index ca32ecf7c41..dc79757e662 100644 --- a/Mage.Sets/src/mage/cards/k/KashiTribeWarriors.java +++ b/Mage.Sets/src/mage/cards/k/KashiTribeWarriors.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class KashiTribeWarriors extends CardImpl { public KashiTribeWarriors(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Snake"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KasimirTheLoneWolf.java b/Mage.Sets/src/mage/cards/k/KasimirTheLoneWolf.java index faad3c0d0a9..c7efbf86ed0 100644 --- a/Mage.Sets/src/mage/cards/k/KasimirTheLoneWolf.java +++ b/Mage.Sets/src/mage/cards/k/KasimirTheLoneWolf.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -43,8 +44,8 @@ public class KasimirTheLoneWolf extends CardImpl { public KasimirTheLoneWolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KatabaticWinds.java b/Mage.Sets/src/mage/cards/k/KatabaticWinds.java index f61aeda5c3e..8e30349556f 100644 --- a/Mage.Sets/src/mage/cards/k/KatabaticWinds.java +++ b/Mage.Sets/src/mage/cards/k/KatabaticWinds.java @@ -1,165 +1,165 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.k; - -import java.util.Optional; -import java.util.UUID; -import mage.MageObject; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; -import mage.abilities.effects.RestrictionEffect; -import mage.abilities.keyword.FlyingAbility; -import mage.abilities.keyword.PhasingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.AbilityPredicate; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.permanent.Permanent; - -/** - * - * @author jeffwadsworth - */ -public class KatabaticWinds extends CardImpl { - - public KatabaticWinds(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}"); - - // Phasing - this.addAbility(PhasingAbility.getInstance()); - - // Creatures with flying can't attack or block, and their activated abilities with {tap} in their costs can't be activated. - Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new KatabaticWindsRestrictionEffect()); - ability.addEffect(new KatabaticWindsRuleModifyingEffect()); - this.addAbility(ability); - - } - - public KatabaticWinds(final KatabaticWinds card) { - super(card); - } - - @Override - public KatabaticWinds copy() { - return new KatabaticWinds(this); - } -} - -class KatabaticWindsRestrictionEffect extends RestrictionEffect { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); - - static { - filter.add(new AbilityPredicate(FlyingAbility.class)); - } - - public KatabaticWindsRestrictionEffect() { - super(Duration.WhileOnBattlefield); - staticText = "Creatures with flying can't attack or block"; - } - - public KatabaticWindsRestrictionEffect(final KatabaticWindsRestrictionEffect effect) { - super(effect); - } - - @Override - public KatabaticWindsRestrictionEffect copy() { - return new KatabaticWindsRestrictionEffect(this); - } - - @Override - public boolean canAttack(Game game) { - return false; - } - - @Override - public boolean canBlock(Permanent attacker, Permanent blocker, Ability source, Game game) { - return false; - } - - @Override - public boolean applies(Permanent permanent, Ability source, Game game) { - return filter.match(permanent, source.getSourceId(), source.getControllerId(), game); - } -} - -class KatabaticWindsRuleModifyingEffect extends ContinuousRuleModifyingEffectImpl { - - public KatabaticWindsRuleModifyingEffect() { - super(Duration.WhileOnBattlefield, Outcome.Detriment); - staticText = ", and their activated abilities with {tap} in their costs can't be activated"; - } - - public KatabaticWindsRuleModifyingEffect(final KatabaticWindsRuleModifyingEffect effect) { - super(effect); - } - - @Override - public KatabaticWindsRuleModifyingEffect copy() { - return new KatabaticWindsRuleModifyingEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - return true; - } - - @Override - public boolean checksEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.ACTIVATE_ABILITY; - } - - @Override - public boolean applies(GameEvent event, Ability source, Game game) { - MageObject object = game.getObject(event.getSourceId()); - Optional ability = game.getAbility(event.getTargetId(), event.getSourceId()); - if (ability.isPresent() - && object != null - && object.isCreature() - && object.getAbilities().contains(FlyingAbility.getInstance()) - && game.getState().getPlayersInRange(source.getControllerId(), game).contains(event.getPlayerId())) { - if (ability.get().getCosts().stream().anyMatch((cost) -> (cost instanceof TapSourceCost))) { - return true; - } - } - return false; - } - - @Override - public String getInfoMessage(Ability source, GameEvent event, Game game) { - return "Creatures with flying can't use their activated abilities that use {tap} in their costs."; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.k; + +import java.util.Optional; +import java.util.UUID; +import mage.MageObject; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; +import mage.abilities.effects.RestrictionEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.PhasingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.AbilityPredicate; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; + +/** + * + * @author jeffwadsworth + */ +public class KatabaticWinds extends CardImpl { + + public KatabaticWinds(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}"); + + // Phasing + this.addAbility(PhasingAbility.getInstance()); + + // Creatures with flying can't attack or block, and their activated abilities with {tap} in their costs can't be activated. + Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new KatabaticWindsRestrictionEffect()); + ability.addEffect(new KatabaticWindsRuleModifyingEffect()); + this.addAbility(ability); + + } + + public KatabaticWinds(final KatabaticWinds card) { + super(card); + } + + @Override + public KatabaticWinds copy() { + return new KatabaticWinds(this); + } +} + +class KatabaticWindsRestrictionEffect extends RestrictionEffect { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent(); + + static { + filter.add(new AbilityPredicate(FlyingAbility.class)); + } + + public KatabaticWindsRestrictionEffect() { + super(Duration.WhileOnBattlefield); + staticText = "Creatures with flying can't attack or block"; + } + + public KatabaticWindsRestrictionEffect(final KatabaticWindsRestrictionEffect effect) { + super(effect); + } + + @Override + public KatabaticWindsRestrictionEffect copy() { + return new KatabaticWindsRestrictionEffect(this); + } + + @Override + public boolean canAttack(Game game) { + return false; + } + + @Override + public boolean canBlock(Permanent attacker, Permanent blocker, Ability source, Game game) { + return false; + } + + @Override + public boolean applies(Permanent permanent, Ability source, Game game) { + return filter.match(permanent, source.getSourceId(), source.getControllerId(), game); + } +} + +class KatabaticWindsRuleModifyingEffect extends ContinuousRuleModifyingEffectImpl { + + public KatabaticWindsRuleModifyingEffect() { + super(Duration.WhileOnBattlefield, Outcome.Detriment); + staticText = ", and their activated abilities with {tap} in their costs can't be activated"; + } + + public KatabaticWindsRuleModifyingEffect(final KatabaticWindsRuleModifyingEffect effect) { + super(effect); + } + + @Override + public KatabaticWindsRuleModifyingEffect copy() { + return new KatabaticWindsRuleModifyingEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } + + @Override + public boolean checksEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.ACTIVATE_ABILITY; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + MageObject object = game.getObject(event.getSourceId()); + Optional ability = game.getAbility(event.getTargetId(), event.getSourceId()); + if (ability.isPresent() + && object != null + && object.isCreature() + && object.getAbilities().contains(FlyingAbility.getInstance()) + && game.getState().getPlayersInRange(source.getControllerId(), game).contains(event.getPlayerId())) { + if (ability.get().getCosts().stream().anyMatch((cost) -> (cost instanceof TapSourceCost))) { + return true; + } + } + return false; + } + + @Override + public String getInfoMessage(Ability source, GameEvent event, Game game) { + return "Creatures with flying can't use their activated abilities that use {tap} in their costs."; + } +} diff --git a/Mage.Sets/src/mage/cards/k/KatakiWarsWage.java b/Mage.Sets/src/mage/cards/k/KatakiWarsWage.java index e5148246708..208606cd600 100644 --- a/Mage.Sets/src/mage/cards/k/KatakiWarsWage.java +++ b/Mage.Sets/src/mage/cards/k/KatakiWarsWage.java @@ -57,7 +57,7 @@ public class KatakiWarsWage extends CardImpl { public KatakiWarsWage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KathariBomber.java b/Mage.Sets/src/mage/cards/k/KathariBomber.java index 2409e7dc1e1..1aa7295626a 100644 --- a/Mage.Sets/src/mage/cards/k/KathariBomber.java +++ b/Mage.Sets/src/mage/cards/k/KathariBomber.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.GoblinToken; /** @@ -49,8 +50,8 @@ public class KathariBomber extends CardImpl { public KathariBomber(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}"); - this.subtype.add("Bird"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SHAMAN); diff --git a/Mage.Sets/src/mage/cards/k/KathariRemnant.java b/Mage.Sets/src/mage/cards/k/KathariRemnant.java index 1b7ff594c7c..58b7fb0be14 100644 --- a/Mage.Sets/src/mage/cards/k/KathariRemnant.java +++ b/Mage.Sets/src/mage/cards/k/KathariRemnant.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,8 +49,8 @@ public class KathariRemnant extends CardImpl { public KathariRemnant (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{B}"); - this.subtype.add("Bird"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/k/KathariScreecher.java b/Mage.Sets/src/mage/cards/k/KathariScreecher.java index 0cbff31369a..0f7880bbff7 100644 --- a/Mage.Sets/src/mage/cards/k/KathariScreecher.java +++ b/Mage.Sets/src/mage/cards/k/KathariScreecher.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class KathariScreecher extends CardImpl { public KathariScreecher (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KavuAggressor.java b/Mage.Sets/src/mage/cards/k/KavuAggressor.java index 73544bb6519..211631a2624 100644 --- a/Mage.Sets/src/mage/cards/k/KavuAggressor.java +++ b/Mage.Sets/src/mage/cards/k/KavuAggressor.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -48,7 +49,7 @@ public class KavuAggressor extends CardImpl { public KavuAggressor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KavuChameleon.java b/Mage.Sets/src/mage/cards/k/KavuChameleon.java index c5bb3ea7ceb..f4be5699caf 100644 --- a/Mage.Sets/src/mage/cards/k/KavuChameleon.java +++ b/Mage.Sets/src/mage/cards/k/KavuChameleon.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BecomesColorSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class KavuChameleon extends CardImpl { public KavuChameleon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KavuClimber.java b/Mage.Sets/src/mage/cards/k/KavuClimber.java index a73ac5c7c45..070a0ae1d38 100644 --- a/Mage.Sets/src/mage/cards/k/KavuClimber.java +++ b/Mage.Sets/src/mage/cards/k/KavuClimber.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class KavuClimber extends CardImpl { public KavuClimber(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KavuGlider.java b/Mage.Sets/src/mage/cards/k/KavuGlider.java index 012c3b0fb76..2f2b241cfa6 100644 --- a/Mage.Sets/src/mage/cards/k/KavuGlider.java +++ b/Mage.Sets/src/mage/cards/k/KavuGlider.java @@ -46,7 +46,7 @@ public class KavuGlider extends CardImpl { public KavuGlider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KavuHowler.java b/Mage.Sets/src/mage/cards/k/KavuHowler.java index e9155e15b15..0752f3fb8b3 100644 --- a/Mage.Sets/src/mage/cards/k/KavuHowler.java +++ b/Mage.Sets/src/mage/cards/k/KavuHowler.java @@ -53,7 +53,7 @@ public class KavuHowler extends CardImpl { public KavuHowler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{G}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KavuMauler.java b/Mage.Sets/src/mage/cards/k/KavuMauler.java index 450bd2f8d9b..7a014a16ef2 100644 --- a/Mage.Sets/src/mage/cards/k/KavuMauler.java +++ b/Mage.Sets/src/mage/cards/k/KavuMauler.java @@ -57,7 +57,7 @@ public class KavuMauler extends CardImpl { public KavuMauler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KavuMonarch.java b/Mage.Sets/src/mage/cards/k/KavuMonarch.java index a1da4db7070..6d701273dc4 100644 --- a/Mage.Sets/src/mage/cards/k/KavuMonarch.java +++ b/Mage.Sets/src/mage/cards/k/KavuMonarch.java @@ -62,7 +62,7 @@ public class KavuMonarch extends CardImpl { public KavuMonarch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KavuPredator.java b/Mage.Sets/src/mage/cards/k/KavuPredator.java index e9ca37dbe99..421cafa6879 100644 --- a/Mage.Sets/src/mage/cards/k/KavuPredator.java +++ b/Mage.Sets/src/mage/cards/k/KavuPredator.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -53,7 +54,7 @@ public class KavuPredator extends CardImpl { public KavuPredator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KavuPrimarch.java b/Mage.Sets/src/mage/cards/k/KavuPrimarch.java index 0631ff46c5e..7f19fb332aa 100644 --- a/Mage.Sets/src/mage/cards/k/KavuPrimarch.java +++ b/Mage.Sets/src/mage/cards/k/KavuPrimarch.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -47,7 +48,7 @@ public class KavuPrimarch extends CardImpl { public KavuPrimarch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KavuRecluse.java b/Mage.Sets/src/mage/cards/k/KavuRecluse.java index 91d2c9406f8..5a89d3e82da 100644 --- a/Mage.Sets/src/mage/cards/k/KavuRecluse.java +++ b/Mage.Sets/src/mage/cards/k/KavuRecluse.java @@ -50,7 +50,7 @@ public class KavuRecluse extends CardImpl { public KavuRecluse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KavuRunner.java b/Mage.Sets/src/mage/cards/k/KavuRunner.java index 5a6347a135c..7eac03339ab 100644 --- a/Mage.Sets/src/mage/cards/k/KavuRunner.java +++ b/Mage.Sets/src/mage/cards/k/KavuRunner.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.TargetController; @@ -63,7 +64,7 @@ public class KavuRunner extends CardImpl { public KavuRunner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KavuScout.java b/Mage.Sets/src/mage/cards/k/KavuScout.java index 3b7bbe7df40..f8bcb743a35 100644 --- a/Mage.Sets/src/mage/cards/k/KavuScout.java +++ b/Mage.Sets/src/mage/cards/k/KavuScout.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class KavuScout extends CardImpl { public KavuScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Kavu"); - this.subtype.add("Scout"); + this.subtype.add(SubType.KAVU); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KavuTitan.java b/Mage.Sets/src/mage/cards/k/KavuTitan.java index 165cc69c6b6..897658ec232 100644 --- a/Mage.Sets/src/mage/cards/k/KavuTitan.java +++ b/Mage.Sets/src/mage/cards/k/KavuTitan.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.counters.CounterType; @@ -50,7 +51,7 @@ public class KavuTitan extends CardImpl { public KavuTitan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KayaGhostAssassin.java b/Mage.Sets/src/mage/cards/k/KayaGhostAssassin.java index 1091755a597..658713e9feb 100644 --- a/Mage.Sets/src/mage/cards/k/KayaGhostAssassin.java +++ b/Mage.Sets/src/mage/cards/k/KayaGhostAssassin.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.discard.DiscardEachPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.TargetController; @@ -64,7 +65,7 @@ public class KayaGhostAssassin extends CardImpl { public KayaGhostAssassin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{W}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Kaya"); + this.subtype.add(SubType.KAYA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/k/Kaysa.java b/Mage.Sets/src/mage/cards/k/Kaysa.java index 98e17a1fc98..3fdcbec9083 100644 --- a/Mage.Sets/src/mage/cards/k/Kaysa.java +++ b/Mage.Sets/src/mage/cards/k/Kaysa.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class Kaysa extends CardImpl { public Kaysa(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KazanduBlademaster.java b/Mage.Sets/src/mage/cards/k/KazanduBlademaster.java index 17f857453e2..db12c56fe2e 100644 --- a/Mage.Sets/src/mage/cards/k/KazanduBlademaster.java +++ b/Mage.Sets/src/mage/cards/k/KazanduBlademaster.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -46,9 +47,9 @@ public class KazanduBlademaster extends CardImpl { public KazanduBlademaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ALLY); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KazanduTuskcaller.java b/Mage.Sets/src/mage/cards/k/KazanduTuskcaller.java index 022256268cb..410129fa0e3 100644 --- a/Mage.Sets/src/mage/cards/k/KazanduTuskcaller.java +++ b/Mage.Sets/src/mage/cards/k/KazanduTuskcaller.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.ElephantToken; @@ -51,8 +52,8 @@ public class KazanduTuskcaller extends LevelerCard { public KazanduTuskcaller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.color.setGreen(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KazuulTyrantOfTheCliffs.java b/Mage.Sets/src/mage/cards/k/KazuulTyrantOfTheCliffs.java index d64be2b6eac..45c499678c0 100644 --- a/Mage.Sets/src/mage/cards/k/KazuulTyrantOfTheCliffs.java +++ b/Mage.Sets/src/mage/cards/k/KazuulTyrantOfTheCliffs.java @@ -38,6 +38,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -58,8 +59,8 @@ public class KazuulTyrantOfTheCliffs extends CardImpl { public KazuulTyrantOfTheCliffs(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KazuulWarlord.java b/Mage.Sets/src/mage/cards/k/KazuulWarlord.java index 19d4ae6a3a9..f123a451ca3 100644 --- a/Mage.Sets/src/mage/cards/k/KazuulWarlord.java +++ b/Mage.Sets/src/mage/cards/k/KazuulWarlord.java @@ -56,9 +56,9 @@ public class KazuulWarlord extends CardImpl { public KazuulWarlord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); - this.subtype.add("Ally"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ALLY); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KazuulsTollCollector.java b/Mage.Sets/src/mage/cards/k/KazuulsTollCollector.java index 4be7819518d..7418150791c 100644 --- a/Mage.Sets/src/mage/cards/k/KazuulsTollCollector.java +++ b/Mage.Sets/src/mage/cards/k/KazuulsTollCollector.java @@ -59,8 +59,8 @@ public class KazuulsTollCollector extends CardImpl { public KazuulsTollCollector(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KederektCreeper.java b/Mage.Sets/src/mage/cards/k/KederektCreeper.java index d3d2e0a307d..e806e4fafbe 100644 --- a/Mage.Sets/src/mage/cards/k/KederektCreeper.java +++ b/Mage.Sets/src/mage/cards/k/KederektCreeper.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class KederektCreeper extends CardImpl { public KederektCreeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}{R}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KederektLeviathan.java b/Mage.Sets/src/mage/cards/k/KederektLeviathan.java index c2e02f235e4..5362b8bc3e5 100644 --- a/Mage.Sets/src/mage/cards/k/KederektLeviathan.java +++ b/Mage.Sets/src/mage/cards/k/KederektLeviathan.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterNonlandPermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -52,7 +53,7 @@ public class KederektLeviathan extends CardImpl { public KederektLeviathan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{U}{U}"); - this.subtype.add("Leviathan"); + this.subtype.add(SubType.LEVIATHAN); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KederektParasite.java b/Mage.Sets/src/mage/cards/k/KederektParasite.java index b177954b638..5033645889e 100644 --- a/Mage.Sets/src/mage/cards/k/KederektParasite.java +++ b/Mage.Sets/src/mage/cards/k/KederektParasite.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -49,7 +50,7 @@ public class KederektParasite extends CardImpl { public KederektParasite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KeenEyedArchers.java b/Mage.Sets/src/mage/cards/k/KeenEyedArchers.java index 766053a7170..d2f45d48d33 100644 --- a/Mage.Sets/src/mage/cards/k/KeenEyedArchers.java +++ b/Mage.Sets/src/mage/cards/k/KeenEyedArchers.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class KeenEyedArchers extends CardImpl { public KeenEyedArchers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KeenSense.java b/Mage.Sets/src/mage/cards/k/KeenSense.java index 2f979b61c17..e06883aa0f6 100644 --- a/Mage.Sets/src/mage/cards/k/KeenSense.java +++ b/Mage.Sets/src/mage/cards/k/KeenSense.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class KeenSense extends CardImpl { public KeenSense(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/k/KeeneyeAven.java b/Mage.Sets/src/mage/cards/k/KeeneyeAven.java index 1d56789c60c..9a3d271ff7d 100644 --- a/Mage.Sets/src/mage/cards/k/KeeneyeAven.java +++ b/Mage.Sets/src/mage/cards/k/KeeneyeAven.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class KeeneyeAven extends CardImpl { public KeeneyeAven(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KeeningApparition.java b/Mage.Sets/src/mage/cards/k/KeeningApparition.java index 5304b5a7498..a4b339880bb 100644 --- a/Mage.Sets/src/mage/cards/k/KeeningApparition.java +++ b/Mage.Sets/src/mage/cards/k/KeeningApparition.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetEnchantmentPermanent; @@ -46,7 +47,7 @@ public class KeeningApparition extends CardImpl { public KeeningApparition(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KeeningBanshee.java b/Mage.Sets/src/mage/cards/k/KeeningBanshee.java index ef92f6864f7..ad0f118bd66 100644 --- a/Mage.Sets/src/mage/cards/k/KeeningBanshee.java +++ b/Mage.Sets/src/mage/cards/k/KeeningBanshee.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class KeeningBanshee extends CardImpl { public KeeningBanshee(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KeeperOfKeys.java b/Mage.Sets/src/mage/cards/k/KeeperOfKeys.java index 44ae6b8110d..fb12d970054 100644 --- a/Mage.Sets/src/mage/cards/k/KeeperOfKeys.java +++ b/Mage.Sets/src/mage/cards/k/KeeperOfKeys.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -52,9 +53,9 @@ public class KeeperOfKeys extends CardImpl { public KeeperOfKeys(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KeeperOfKookus.java b/Mage.Sets/src/mage/cards/k/KeeperOfKookus.java index b0409c6f437..a393e098028 100644 --- a/Mage.Sets/src/mage/cards/k/KeeperOfKookus.java +++ b/Mage.Sets/src/mage/cards/k/KeeperOfKookus.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class KeeperOfKookus extends CardImpl { public KeeperOfKookus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KeeperOfProgenitus.java b/Mage.Sets/src/mage/cards/k/KeeperOfProgenitus.java index ed5c85aca32..4fc6232acff 100644 --- a/Mage.Sets/src/mage/cards/k/KeeperOfProgenitus.java +++ b/Mage.Sets/src/mage/cards/k/KeeperOfProgenitus.java @@ -58,8 +58,8 @@ public class KeeperOfProgenitus extends CardImpl { public KeeperOfProgenitus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KeeperOfTheLens.java b/Mage.Sets/src/mage/cards/k/KeeperOfTheLens.java index 3fecb04471a..fb28be85dd3 100644 --- a/Mage.Sets/src/mage/cards/k/KeeperOfTheLens.java +++ b/Mage.Sets/src/mage/cards/k/KeeperOfTheLens.java @@ -39,6 +39,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class KeeperOfTheLens extends CardImpl { public KeeperOfTheLens(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KeeperOfTheNineGales.java b/Mage.Sets/src/mage/cards/k/KeeperOfTheNineGales.java index 26a702ef212..0aef7874913 100644 --- a/Mage.Sets/src/mage/cards/k/KeeperOfTheNineGales.java +++ b/Mage.Sets/src/mage/cards/k/KeeperOfTheNineGales.java @@ -62,8 +62,8 @@ public class KeeperOfTheNineGales extends CardImpl { public KeeperOfTheNineGales(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KeeperOfTresserhorn.java b/Mage.Sets/src/mage/cards/k/KeeperOfTresserhorn.java index 8af58bc6c47..6d860db5d15 100644 --- a/Mage.Sets/src/mage/cards/k/KeeperOfTresserhorn.java +++ b/Mage.Sets/src/mage/cards/k/KeeperOfTresserhorn.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.AssignNoCombatDamageSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -47,7 +48,7 @@ public class KeeperOfTresserhorn extends CardImpl { public KeeperOfTresserhorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/k/KeepersOfTheFaith.java b/Mage.Sets/src/mage/cards/k/KeepersOfTheFaith.java index 112094488e7..ee8bf187877 100644 --- a/Mage.Sets/src/mage/cards/k/KeepersOfTheFaith.java +++ b/Mage.Sets/src/mage/cards/k/KeepersOfTheFaith.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class KeepersOfTheFaith extends CardImpl { public KeepersOfTheFaith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KeepsakeGorgon.java b/Mage.Sets/src/mage/cards/k/KeepsakeGorgon.java index c970cc04e24..f3274bcf1ef 100644 --- a/Mage.Sets/src/mage/cards/k/KeepsakeGorgon.java +++ b/Mage.Sets/src/mage/cards/k/KeepsakeGorgon.java @@ -60,7 +60,7 @@ public class KeepsakeGorgon extends CardImpl { public KeepsakeGorgon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Gorgon"); + this.subtype.add(SubType.GORGON); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KefnetTheMindful.java b/Mage.Sets/src/mage/cards/k/KefnetTheMindful.java index 619f592b0b0..c8ad595ec9c 100644 --- a/Mage.Sets/src/mage/cards/k/KefnetTheMindful.java +++ b/Mage.Sets/src/mage/cards/k/KefnetTheMindful.java @@ -1,164 +1,165 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.k; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.Effect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.RestrictionEffect; -import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect; -import mage.abilities.keyword.FlyingAbility; -import mage.abilities.keyword.IndestructibleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.SuperType; -import mage.constants.Zone; -import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.CardTypePredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; - -/** - * - * @author jeffwadsworth - */ -public class KefnetTheMindful extends CardImpl { - - public KefnetTheMindful(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - - this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); - this.power = new MageInt(5); - this.toughness = new MageInt(5); - - // Flying - this.addAbility(FlyingAbility.getInstance()); - - // Indestructible - this.addAbility(IndestructibleAbility.getInstance()); - - // Kefnet the Mindful can't attack or block unless you have seven or more cards in your hand. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new KefnetTheMindfulRestrictionEffect())); - - // {3}{U}: Draw a card, then you may return a land you control to its owner's hand. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new KefnetTheMindfulEffect(), new ManaCostsImpl("{3}{U}")); - this.addAbility(ability); - - } - - public KefnetTheMindful(final KefnetTheMindful card) { - super(card); - } - - @Override - public KefnetTheMindful copy() { - return new KefnetTheMindful(this); - } -} - -class KefnetTheMindfulRestrictionEffect extends RestrictionEffect { - - public KefnetTheMindfulRestrictionEffect() { - super(Duration.WhileOnBattlefield); - staticText = "{this} can't attack or block unless you have seven or more cards in your hand"; - } - - public KefnetTheMindfulRestrictionEffect(final KefnetTheMindfulRestrictionEffect effect) { - super(effect); - } - - @Override - public KefnetTheMindfulRestrictionEffect copy() { - return new KefnetTheMindfulRestrictionEffect(this); - } - - @Override - public boolean canAttack(Game game) { - return false; - } - - @Override - public boolean canBlock(Permanent attacker, Permanent blocker, Ability source, Game game) { - return false; - } - - @Override - public boolean applies(Permanent permanent, Ability source, Game game) { - if (permanent.getId().equals(source.getSourceId())) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - return (controller.getHand().size() < 7); - } - return true; - } // do not apply to other creatures. - return false; - } -} - -class KefnetTheMindfulEffect extends OneShotEffect { - - KefnetTheMindfulEffect() { - super(Outcome.Benefit); - staticText = "Draw a card, then you may return a land you control to its owner's hand"; - } - - KefnetTheMindfulEffect(final KefnetTheMindfulEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - FilterControlledPermanent filterControlledLand = new FilterControlledPermanent("land you control"); - filterControlledLand.add(new CardTypePredicate(CardType.LAND)); - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - controller.drawCards(1, game); - if (controller.chooseUse(Outcome.AIDontUseIt, "Do you want to return a land you control to its owner's hand?", null, "Yes", "No", source, game)) { - Effect effect = new ReturnToHandChosenControlledPermanentEffect(filterControlledLand); - effect.apply(game, source); - } - return true; - } - return false; - } - - @Override - public KefnetTheMindfulEffect copy() { - return new KefnetTheMindfulEffect(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.k; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.RestrictionEffect; +import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.IndestructibleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.SuperType; +import mage.constants.Zone; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; + +/** + * + * @author jeffwadsworth + */ +public class KefnetTheMindful extends CardImpl { + + public KefnetTheMindful(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); + + this.addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.GOD); + this.power = new MageInt(5); + this.toughness = new MageInt(5); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Indestructible + this.addAbility(IndestructibleAbility.getInstance()); + + // Kefnet the Mindful can't attack or block unless you have seven or more cards in your hand. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new KefnetTheMindfulRestrictionEffect())); + + // {3}{U}: Draw a card, then you may return a land you control to its owner's hand. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new KefnetTheMindfulEffect(), new ManaCostsImpl("{3}{U}")); + this.addAbility(ability); + + } + + public KefnetTheMindful(final KefnetTheMindful card) { + super(card); + } + + @Override + public KefnetTheMindful copy() { + return new KefnetTheMindful(this); + } +} + +class KefnetTheMindfulRestrictionEffect extends RestrictionEffect { + + public KefnetTheMindfulRestrictionEffect() { + super(Duration.WhileOnBattlefield); + staticText = "{this} can't attack or block unless you have seven or more cards in your hand"; + } + + public KefnetTheMindfulRestrictionEffect(final KefnetTheMindfulRestrictionEffect effect) { + super(effect); + } + + @Override + public KefnetTheMindfulRestrictionEffect copy() { + return new KefnetTheMindfulRestrictionEffect(this); + } + + @Override + public boolean canAttack(Game game) { + return false; + } + + @Override + public boolean canBlock(Permanent attacker, Permanent blocker, Ability source, Game game) { + return false; + } + + @Override + public boolean applies(Permanent permanent, Ability source, Game game) { + if (permanent.getId().equals(source.getSourceId())) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + return (controller.getHand().size() < 7); + } + return true; + } // do not apply to other creatures. + return false; + } +} + +class KefnetTheMindfulEffect extends OneShotEffect { + + KefnetTheMindfulEffect() { + super(Outcome.Benefit); + staticText = "Draw a card, then you may return a land you control to its owner's hand"; + } + + KefnetTheMindfulEffect(final KefnetTheMindfulEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + FilterControlledPermanent filterControlledLand = new FilterControlledPermanent("land you control"); + filterControlledLand.add(new CardTypePredicate(CardType.LAND)); + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + controller.drawCards(1, game); + if (controller.chooseUse(Outcome.AIDontUseIt, "Do you want to return a land you control to its owner's hand?", null, "Yes", "No", source, game)) { + Effect effect = new ReturnToHandChosenControlledPermanentEffect(filterControlledLand); + effect.apply(game, source); + } + return true; + } + return false; + } + + @Override + public KefnetTheMindfulEffect copy() { + return new KefnetTheMindfulEffect(this); + } +} diff --git a/Mage.Sets/src/mage/cards/k/KeiTakahashi.java b/Mage.Sets/src/mage/cards/k/KeiTakahashi.java index 1eb8c455a8d..42393196ff5 100644 --- a/Mage.Sets/src/mage/cards/k/KeiTakahashi.java +++ b/Mage.Sets/src/mage/cards/k/KeiTakahashi.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class KeiTakahashi extends CardImpl { public KeiTakahashi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KeigaTheTideStar.java b/Mage.Sets/src/mage/cards/k/KeigaTheTideStar.java index 042cace2431..a9c4203677c 100644 --- a/Mage.Sets/src/mage/cards/k/KeigaTheTideStar.java +++ b/Mage.Sets/src/mage/cards/k/KeigaTheTideStar.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class KeigaTheTideStar extends CardImpl { public KeigaTheTideStar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DRAGON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KeldonArsonist.java b/Mage.Sets/src/mage/cards/k/KeldonArsonist.java index 0f1870f31a2..4015d76390e 100644 --- a/Mage.Sets/src/mage/cards/k/KeldonArsonist.java +++ b/Mage.Sets/src/mage/cards/k/KeldonArsonist.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.target.common.TargetControlledPermanent; @@ -50,8 +51,8 @@ public class KeldonArsonist extends CardImpl { public KeldonArsonist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KeldonChampion.java b/Mage.Sets/src/mage/cards/k/KeldonChampion.java index 2d05001b635..e91da00a2a2 100644 --- a/Mage.Sets/src/mage/cards/k/KeldonChampion.java +++ b/Mage.Sets/src/mage/cards/k/KeldonChampion.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -47,8 +48,8 @@ public class KeldonChampion extends CardImpl { public KeldonChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Barbarian"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BARBARIAN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KeldonFirebombers.java b/Mage.Sets/src/mage/cards/k/KeldonFirebombers.java index d05001205a2..5e2eda6c093 100644 --- a/Mage.Sets/src/mage/cards/k/KeldonFirebombers.java +++ b/Mage.Sets/src/mage/cards/k/KeldonFirebombers.java @@ -1,122 +1,123 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.k; - -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.OneShotEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.permanent.ControllerIdPredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.Target; -import mage.target.common.TargetLandPermanent; - -/** - * - * @author jeffwadsworth - */ -public class KeldonFirebombers extends CardImpl { - - public KeldonFirebombers(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); - - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // When Keldon Firebombers enters the battlefield, each player sacrifices all lands he or she controls except for three. - this.addAbility(new EntersBattlefieldTriggeredAbility(new KeldonFirebombersEffect())); - - } - - public KeldonFirebombers(final KeldonFirebombers card) { - super(card); - } - - @Override - public KeldonFirebombers copy() { - return new KeldonFirebombers(this); - } -} - -class KeldonFirebombersEffect extends OneShotEffect { - - private static final FilterLandPermanent filter = new FilterLandPermanent(); - - public KeldonFirebombersEffect() { - super(Outcome.AIDontUseIt); - this.staticText = "each player sacrifices all lands he or she controls except for three"; - } - - public KeldonFirebombersEffect(final KeldonFirebombersEffect effect) { - super(effect); - } - - @Override - public KeldonFirebombersEffect copy() { - return new KeldonFirebombersEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - List landsToSacrifice = new ArrayList<>(); - for (UUID playerId : game.getState().getPlayersInRange(source.getControllerId(), game)) { - Player player = game.getPlayer(playerId); - if (player != null) { - int amount = game.getBattlefield().getAllActivePermanents(filter, playerId, game).size() - 3; - if (amount > 0) { - FilterLandPermanent playerFilter = filter.copy(); - playerFilter.add(new ControllerIdPredicate(playerId)); - Target target = new TargetLandPermanent(amount, amount, playerFilter, true); - player.choose(outcome.Sacrifice, target, source.getSourceId(), game); - for (UUID landId : target.getTargets()) { - Permanent land = game.getPermanent(landId); - if (land != null) { - landsToSacrifice.add(land); - } - } - } - } - } - for (Permanent land : landsToSacrifice) { - land.sacrifice(source.getSourceId(), game); - } - return true; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.k; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.filter.common.FilterLandPermanent; +import mage.filter.predicate.permanent.ControllerIdPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.Target; +import mage.target.common.TargetLandPermanent; + +/** + * + * @author jeffwadsworth + */ +public class KeldonFirebombers extends CardImpl { + + public KeldonFirebombers(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // When Keldon Firebombers enters the battlefield, each player sacrifices all lands he or she controls except for three. + this.addAbility(new EntersBattlefieldTriggeredAbility(new KeldonFirebombersEffect())); + + } + + public KeldonFirebombers(final KeldonFirebombers card) { + super(card); + } + + @Override + public KeldonFirebombers copy() { + return new KeldonFirebombers(this); + } +} + +class KeldonFirebombersEffect extends OneShotEffect { + + private static final FilterLandPermanent filter = new FilterLandPermanent(); + + public KeldonFirebombersEffect() { + super(Outcome.AIDontUseIt); + this.staticText = "each player sacrifices all lands he or she controls except for three"; + } + + public KeldonFirebombersEffect(final KeldonFirebombersEffect effect) { + super(effect); + } + + @Override + public KeldonFirebombersEffect copy() { + return new KeldonFirebombersEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + List landsToSacrifice = new ArrayList<>(); + for (UUID playerId : game.getState().getPlayersInRange(source.getControllerId(), game)) { + Player player = game.getPlayer(playerId); + if (player != null) { + int amount = game.getBattlefield().getAllActivePermanents(filter, playerId, game).size() - 3; + if (amount > 0) { + FilterLandPermanent playerFilter = filter.copy(); + playerFilter.add(new ControllerIdPredicate(playerId)); + Target target = new TargetLandPermanent(amount, amount, playerFilter, true); + player.choose(outcome.Sacrifice, target, source.getSourceId(), game); + for (UUID landId : target.getTargets()) { + Permanent land = game.getPermanent(landId); + if (land != null) { + landsToSacrifice.add(land); + } + } + } + } + } + for (Permanent land : landsToSacrifice) { + land.sacrifice(source.getSourceId(), game); + } + return true; + } +} diff --git a/Mage.Sets/src/mage/cards/k/KeldonHalberdier.java b/Mage.Sets/src/mage/cards/k/KeldonHalberdier.java index 8290be40c69..a430221b116 100644 --- a/Mage.Sets/src/mage/cards/k/KeldonHalberdier.java +++ b/Mage.Sets/src/mage/cards/k/KeldonHalberdier.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class KeldonHalberdier extends CardImpl { public KeldonHalberdier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KeldonMantle.java b/Mage.Sets/src/mage/cards/k/KeldonMantle.java index dbd84886d20..9abc2abc76a 100644 --- a/Mage.Sets/src/mage/cards/k/KeldonMantle.java +++ b/Mage.Sets/src/mage/cards/k/KeldonMantle.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class KeldonMantle extends CardImpl { public KeldonMantle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/k/KeldonMarauders.java b/Mage.Sets/src/mage/cards/k/KeldonMarauders.java index d68344b5349..a36293ed4c5 100644 --- a/Mage.Sets/src/mage/cards/k/KeldonMarauders.java +++ b/Mage.Sets/src/mage/cards/k/KeldonMarauders.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.VanishingUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.TargetPlayer; @@ -50,8 +51,8 @@ public class KeldonMarauders extends CardImpl { public KeldonMarauders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KeldonVandals.java b/Mage.Sets/src/mage/cards/k/KeldonVandals.java index 7721a4e9eec..50a67bbcf6a 100644 --- a/Mage.Sets/src/mage/cards/k/KeldonVandals.java +++ b/Mage.Sets/src/mage/cards/k/KeldonVandals.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.target.TargetPermanent; @@ -54,8 +55,8 @@ public class KeldonVandals extends CardImpl { public KeldonVandals(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KeldonWarlord.java b/Mage.Sets/src/mage/cards/k/KeldonWarlord.java index b7b143dd0b9..6bc21f82638 100644 --- a/Mage.Sets/src/mage/cards/k/KeldonWarlord.java +++ b/Mage.Sets/src/mage/cards/k/KeldonWarlord.java @@ -56,8 +56,8 @@ public class KeldonWarlord extends CardImpl { public KeldonWarlord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Barbarian"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BARBARIAN); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/k/KelinoreBat.java b/Mage.Sets/src/mage/cards/k/KelinoreBat.java index 67cb860331c..65d5675f641 100644 --- a/Mage.Sets/src/mage/cards/k/KelinoreBat.java +++ b/Mage.Sets/src/mage/cards/k/KelinoreBat.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class KelinoreBat extends CardImpl { public KelinoreBat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Bat"); + this.subtype.add(SubType.BAT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KembaKhaRegent.java b/Mage.Sets/src/mage/cards/k/KembaKhaRegent.java index 75d8173b492..0bc45d42e14 100644 --- a/Mage.Sets/src/mage/cards/k/KembaKhaRegent.java +++ b/Mage.Sets/src/mage/cards/k/KembaKhaRegent.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.game.permanent.token.CatToken; @@ -48,8 +49,8 @@ public class KembaKhaRegent extends CardImpl { public KembaKhaRegent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Cat"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KembasLegion.java b/Mage.Sets/src/mage/cards/k/KembasLegion.java index 4af154c3224..973326de897 100644 --- a/Mage.Sets/src/mage/cards/k/KembasLegion.java +++ b/Mage.Sets/src/mage/cards/k/KembasLegion.java @@ -49,8 +49,8 @@ public class KembasLegion extends CardImpl { public KembasLegion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/k/KembasSkyguard.java b/Mage.Sets/src/mage/cards/k/KembasSkyguard.java index e2843956abf..8ba36f0f709 100644 --- a/Mage.Sets/src/mage/cards/k/KembasSkyguard.java +++ b/Mage.Sets/src/mage/cards/k/KembasSkyguard.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class KembasSkyguard extends CardImpl { public KembasSkyguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Knight"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KemuriOnna.java b/Mage.Sets/src/mage/cards/k/KemuriOnna.java index 0bf26a0346b..18f3435b47a 100644 --- a/Mage.Sets/src/mage/cards/k/KemuriOnna.java +++ b/Mage.Sets/src/mage/cards/k/KemuriOnna.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.TargetPlayer; @@ -48,7 +49,7 @@ public class KemuriOnna extends CardImpl { public KemuriOnna(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KentaroTheSmilingCat.java b/Mage.Sets/src/mage/cards/k/KentaroTheSmilingCat.java index 2841336baa4..ed84de2ef05 100644 --- a/Mage.Sets/src/mage/cards/k/KentaroTheSmilingCat.java +++ b/Mage.Sets/src/mage/cards/k/KentaroTheSmilingCat.java @@ -54,8 +54,8 @@ public class KentaroTheSmilingCat extends CardImpl { public KentaroTheSmilingCat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KeranosGodOfStorms.java b/Mage.Sets/src/mage/cards/k/KeranosGodOfStorms.java index 343a5c5b3e9..beb304ebd9e 100644 --- a/Mage.Sets/src/mage/cards/k/KeranosGodOfStorms.java +++ b/Mage.Sets/src/mage/cards/k/KeranosGodOfStorms.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.SuperType; import mage.constants.Zone; @@ -64,7 +65,7 @@ public class KeranosGodOfStorms extends CardImpl { public KeranosGodOfStorms(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{3}{U}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KessDissidentMage.java b/Mage.Sets/src/mage/cards/k/KessDissidentMage.java index 936b0be89e0..52150c9419d 100644 --- a/Mage.Sets/src/mage/cards/k/KessDissidentMage.java +++ b/Mage.Sets/src/mage/cards/k/KessDissidentMage.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -72,8 +73,8 @@ public class KessDissidentMage extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KessigCagebreakers.java b/Mage.Sets/src/mage/cards/k/KessigCagebreakers.java index 4eaa4ff0737..9dbff9d82af 100644 --- a/Mage.Sets/src/mage/cards/k/KessigCagebreakers.java +++ b/Mage.Sets/src/mage/cards/k/KessigCagebreakers.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterCreatureCard; import mage.game.Game; @@ -49,8 +50,8 @@ public class KessigCagebreakers extends CardImpl { public KessigCagebreakers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KessigDireSwine.java b/Mage.Sets/src/mage/cards/k/KessigDireSwine.java index c742afb2b17..12ef7f82480 100644 --- a/Mage.Sets/src/mage/cards/k/KessigDireSwine.java +++ b/Mage.Sets/src/mage/cards/k/KessigDireSwine.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class KessigDireSwine extends CardImpl { public KessigDireSwine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Boar"); - this.subtype.add("Horror"); + this.subtype.add(SubType.BOAR); + this.subtype.add(SubType.HORROR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/k/KessigForgemaster.java b/Mage.Sets/src/mage/cards/k/KessigForgemaster.java index 861ed8fd8bb..9a42a06a608 100644 --- a/Mage.Sets/src/mage/cards/k/KessigForgemaster.java +++ b/Mage.Sets/src/mage/cards/k/KessigForgemaster.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.f.FlameheartWerewolf; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.StaticFilters; @@ -52,9 +53,9 @@ public class KessigForgemaster extends CardImpl { public KessigForgemaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KessigMalcontents.java b/Mage.Sets/src/mage/cards/k/KessigMalcontents.java index 2e7aa5c82ec..b740242d690 100644 --- a/Mage.Sets/src/mage/cards/k/KessigMalcontents.java +++ b/Mage.Sets/src/mage/cards/k/KessigMalcontents.java @@ -54,8 +54,8 @@ public class KessigMalcontents extends CardImpl { public KessigMalcontents(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KessigProwler.java b/Mage.Sets/src/mage/cards/k/KessigProwler.java index 72baf118bee..5d7332a23d5 100644 --- a/Mage.Sets/src/mage/cards/k/KessigProwler.java +++ b/Mage.Sets/src/mage/cards/k/KessigProwler.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.s.SinuousPredator; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class KessigProwler extends CardImpl { public KessigProwler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Werewolf"); - this.subtype.add("Horror"); + this.subtype.add(SubType.WEREWOLF); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KessigRecluse.java b/Mage.Sets/src/mage/cards/k/KessigRecluse.java index aaea76ead63..19caceca1e5 100644 --- a/Mage.Sets/src/mage/cards/k/KessigRecluse.java +++ b/Mage.Sets/src/mage/cards/k/KessigRecluse.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class KessigRecluse extends CardImpl { public KessigRecluse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KessigWolf.java b/Mage.Sets/src/mage/cards/k/KessigWolf.java index 7e83e2f47f3..17ccc414f7b 100644 --- a/Mage.Sets/src/mage/cards/k/KessigWolf.java +++ b/Mage.Sets/src/mage/cards/k/KessigWolf.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class KessigWolf extends CardImpl { public KessigWolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KeyToTheCity.java b/Mage.Sets/src/mage/cards/k/KeyToTheCity.java index 9fd4a05e69c..ffeb698cd42 100644 --- a/Mage.Sets/src/mage/cards/k/KeyToTheCity.java +++ b/Mage.Sets/src/mage/cards/k/KeyToTheCity.java @@ -1,108 +1,108 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.k; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.DiscardCardCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.DoIfCostPaid; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author emerald000 - */ -public class KeyToTheCity extends CardImpl { - - public KeyToTheCity(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - - // {T}, Discard a card: Up to one target creature can't be blocked this turn. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedTargetEffect(), new TapSourceCost()); - ability.addCost(new DiscardCardCost()); - ability.addTarget(new TargetCreaturePermanent(0, 1)); - this.addAbility(ability); - - // Whenever Key to the City becomes untapped, you may pay {2}. If you do, draw a card. - this.addAbility(new KeyToTheCityTriggeredAbility()); - } - - public KeyToTheCity(final KeyToTheCity card) { - super(card); - } - - @Override - public KeyToTheCity copy() { - return new KeyToTheCity(this); - } -} - -class KeyToTheCityTriggeredAbility extends TriggeredAbilityImpl{ - - KeyToTheCityTriggeredAbility() { - super(Zone.BATTLEFIELD, new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new GenericManaCost(2))); - } - - KeyToTheCityTriggeredAbility(final KeyToTheCityTriggeredAbility ability) { - super(ability); - } - - @Override - public KeyToTheCityTriggeredAbility copy() { - return new KeyToTheCityTriggeredAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == EventType.UNTAPPED; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - return event.getTargetId().equals(this.getSourceId()); - } - - @Override - public String getRule() { - return "Whenever Key to the City becomes untapped, you may pay {2}. If you do, draw a card."; - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.k; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.DiscardCardCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author emerald000 + */ +public class KeyToTheCity extends CardImpl { + + public KeyToTheCity(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); + + // {T}, Discard a card: Up to one target creature can't be blocked this turn. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedTargetEffect(), new TapSourceCost()); + ability.addCost(new DiscardCardCost()); + ability.addTarget(new TargetCreaturePermanent(0, 1)); + this.addAbility(ability); + + // Whenever Key to the City becomes untapped, you may pay {2}. If you do, draw a card. + this.addAbility(new KeyToTheCityTriggeredAbility()); + } + + public KeyToTheCity(final KeyToTheCity card) { + super(card); + } + + @Override + public KeyToTheCity copy() { + return new KeyToTheCity(this); + } +} + +class KeyToTheCityTriggeredAbility extends TriggeredAbilityImpl{ + + KeyToTheCityTriggeredAbility() { + super(Zone.BATTLEFIELD, new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new GenericManaCost(2))); + } + + KeyToTheCityTriggeredAbility(final KeyToTheCityTriggeredAbility ability) { + super(ability); + } + + @Override + public KeyToTheCityTriggeredAbility copy() { + return new KeyToTheCityTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == EventType.UNTAPPED; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + return event.getTargetId().equals(this.getSourceId()); + } + + @Override + public String getRule() { + return "Whenever Key to the City becomes untapped, you may pay {2}. If you do, draw a card."; + } + +} diff --git a/Mage.Sets/src/mage/cards/k/KeymasterRogue.java b/Mage.Sets/src/mage/cards/k/KeymasterRogue.java index 1cde914e475..270d63f99f7 100644 --- a/Mage.Sets/src/mage/cards/k/KeymasterRogue.java +++ b/Mage.Sets/src/mage/cards/k/KeymasterRogue.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; /** @@ -45,8 +46,8 @@ public class KeymasterRogue extends CardImpl { public KeymasterRogue(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/Kezzerdrix.java b/Mage.Sets/src/mage/cards/k/Kezzerdrix.java index b5ad62e0ace..6e4f61b433e 100644 --- a/Mage.Sets/src/mage/cards/k/Kezzerdrix.java +++ b/Mage.Sets/src/mage/cards/k/Kezzerdrix.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class Kezzerdrix extends CardImpl { public Kezzerdrix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Rabbit"); - this.subtype.add("Beast"); + this.subtype.add(SubType.RABBIT); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KhabalGhoul.java b/Mage.Sets/src/mage/cards/k/KhabalGhoul.java index 887f21dbc24..75594a5596e 100644 --- a/Mage.Sets/src/mage/cards/k/KhabalGhoul.java +++ b/Mage.Sets/src/mage/cards/k/KhabalGhoul.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.counters.CounterType; import mage.watchers.common.CreaturesDiedWatcher; @@ -47,7 +48,7 @@ public class KhabalGhoul extends CardImpl { public KhabalGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KhalniHydra.java b/Mage.Sets/src/mage/cards/k/KhalniHydra.java index 0694812be25..91edc5d7e5e 100644 --- a/Mage.Sets/src/mage/cards/k/KhalniHydra.java +++ b/Mage.Sets/src/mage/cards/k/KhalniHydra.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -60,7 +61,7 @@ public class KhalniHydra extends CardImpl { public KhalniHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}{G}{G}{G}{G}{G}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/k/KhenraCharioteer.java b/Mage.Sets/src/mage/cards/k/KhenraCharioteer.java index 4241a738884..de993e7f595 100644 --- a/Mage.Sets/src/mage/cards/k/KhenraCharioteer.java +++ b/Mage.Sets/src/mage/cards/k/KhenraCharioteer.java @@ -1,72 +1,73 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.k; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; -import mage.abilities.keyword.TrampleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.filter.common.FilterControlledCreaturePermanent; - -/** - * - * @author Styxo - */ -public class KhenraCharioteer extends CardImpl { - - public KhenraCharioteer(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{G}"); - - this.subtype.add("Jackal"); - this.subtype.add("Warrior"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // Trample - this.addAbility(TrampleAbility.getInstance()); - - // Other creatures you control have trample. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("creatures"), true))); - - } - - public KhenraCharioteer(final KhenraCharioteer card) { - super(card); - } - - @Override - public KhenraCharioteer copy() { - return new KhenraCharioteer(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.k; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.filter.common.FilterControlledCreaturePermanent; + +/** + * + * @author Styxo + */ +public class KhenraCharioteer extends CardImpl { + + public KhenraCharioteer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{G}"); + + this.subtype.add(SubType.JACKAL); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + + // Other creatures you control have trample. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield, new FilterControlledCreaturePermanent("creatures"), true))); + + } + + public KhenraCharioteer(final KhenraCharioteer card) { + super(card); + } + + @Override + public KhenraCharioteer copy() { + return new KhenraCharioteer(this); + } +} diff --git a/Mage.Sets/src/mage/cards/k/KhenraEternal.java b/Mage.Sets/src/mage/cards/k/KhenraEternal.java index b5dc4b92a0d..0450c72c185 100644 --- a/Mage.Sets/src/mage/cards/k/KhenraEternal.java +++ b/Mage.Sets/src/mage/cards/k/KhenraEternal.java @@ -6,14 +6,15 @@ import mage.abilities.keyword.AfflictAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; public class KhenraEternal extends CardImpl { public KhenraEternal(UUID ownerId, CardSetInfo cardSetInfo) { super(ownerId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - subtype.add("Zombie"); - subtype.add("Jackal"); - subtype.add("Warrior"); + subtype.add(SubType.ZOMBIE); + subtype.add(SubType.JACKAL); + subtype.add(SubType.WARRIOR); power = new MageInt(2); toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KhenraScrapper.java b/Mage.Sets/src/mage/cards/k/KhenraScrapper.java index 1e28362db5e..df5a4af154d 100644 --- a/Mage.Sets/src/mage/cards/k/KhenraScrapper.java +++ b/Mage.Sets/src/mage/cards/k/KhenraScrapper.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -47,8 +48,8 @@ public class KhenraScrapper extends CardImpl { public KhenraScrapper(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Jackal"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.JACKAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KheruBloodsucker.java b/Mage.Sets/src/mage/cards/k/KheruBloodsucker.java index 6e5f5c734b0..ccd42966ac6 100644 --- a/Mage.Sets/src/mage/cards/k/KheruBloodsucker.java +++ b/Mage.Sets/src/mage/cards/k/KheruBloodsucker.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.TargetController; import mage.constants.Zone; @@ -66,7 +67,7 @@ public class KheruBloodsucker extends CardImpl { public KheruBloodsucker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KheruDreadmaw.java b/Mage.Sets/src/mage/cards/k/KheruDreadmaw.java index 4b8e881ca97..bd40c30c1af 100644 --- a/Mage.Sets/src/mage/cards/k/KheruDreadmaw.java +++ b/Mage.Sets/src/mage/cards/k/KheruDreadmaw.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.common.TargetControlledPermanent; @@ -52,8 +53,8 @@ public class KheruDreadmaw extends CardImpl { public KheruDreadmaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Crocodile"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.CROCODILE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KheruLichLord.java b/Mage.Sets/src/mage/cards/k/KheruLichLord.java index f1b90e5c62a..34086bd9fed 100644 --- a/Mage.Sets/src/mage/cards/k/KheruLichLord.java +++ b/Mage.Sets/src/mage/cards/k/KheruLichLord.java @@ -49,6 +49,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -69,8 +70,8 @@ public class KheruLichLord extends CardImpl { public KheruLichLord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{G}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KheruMindEater.java b/Mage.Sets/src/mage/cards/k/KheruMindEater.java index 3717cc6216a..5be14b360be 100644 --- a/Mage.Sets/src/mage/cards/k/KheruMindEater.java +++ b/Mage.Sets/src/mage/cards/k/KheruMindEater.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -61,7 +62,7 @@ public class KheruMindEater extends CardImpl { public KheruMindEater(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KheruSpellsnatcher.java b/Mage.Sets/src/mage/cards/k/KheruSpellsnatcher.java index e7de43168b9..4d5b7a0c09c 100644 --- a/Mage.Sets/src/mage/cards/k/KheruSpellsnatcher.java +++ b/Mage.Sets/src/mage/cards/k/KheruSpellsnatcher.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -61,8 +62,8 @@ public class KheruSpellsnatcher extends CardImpl { public KheruSpellsnatcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Naga"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KiAdiMundi.java b/Mage.Sets/src/mage/cards/k/KiAdiMundi.java index 9b17d73ae99..a6c1deec479 100644 --- a/Mage.Sets/src/mage/cards/k/KiAdiMundi.java +++ b/Mage.Sets/src/mage/cards/k/KiAdiMundi.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MeditateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.counters.CounterType; @@ -59,8 +60,8 @@ public class KiAdiMundi extends CardImpl { public KiAdiMundi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Cerean"); - this.subtype.add("Jedi"); + this.subtype.add(SubType.CEREAN); + this.subtype.add(SubType.JEDI); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KikiJikiMirrorBreaker.java b/Mage.Sets/src/mage/cards/k/KikiJikiMirrorBreaker.java index c35c73f2fbc..8cfb48536ab 100644 --- a/Mage.Sets/src/mage/cards/k/KikiJikiMirrorBreaker.java +++ b/Mage.Sets/src/mage/cards/k/KikiJikiMirrorBreaker.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -66,8 +67,8 @@ public class KikiJikiMirrorBreaker extends CardImpl { public KikiJikiMirrorBreaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KikuNightsFlower.java b/Mage.Sets/src/mage/cards/k/KikuNightsFlower.java index e66705d6f71..b93cfdbb645 100644 --- a/Mage.Sets/src/mage/cards/k/KikuNightsFlower.java +++ b/Mage.Sets/src/mage/cards/k/KikuNightsFlower.java @@ -38,6 +38,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class KikuNightsFlower extends CardImpl { public KikuNightsFlower (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KillSuitCultist.java b/Mage.Sets/src/mage/cards/k/KillSuitCultist.java index 6c6679733a9..014e802a75f 100644 --- a/Mage.Sets/src/mage/cards/k/KillSuitCultist.java +++ b/Mage.Sets/src/mage/cards/k/KillSuitCultist.java @@ -38,6 +38,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class KillSuitCultist extends CardImpl { public KillSuitCultist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KillerBees.java b/Mage.Sets/src/mage/cards/k/KillerBees.java index 22b4d3afea8..92fde6fd304 100644 --- a/Mage.Sets/src/mage/cards/k/KillerBees.java +++ b/Mage.Sets/src/mage/cards/k/KillerBees.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class KillerBees extends CardImpl { public KillerBees(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KillerWhale.java b/Mage.Sets/src/mage/cards/k/KillerWhale.java index acd2ea5072d..9af7bc4798f 100644 --- a/Mage.Sets/src/mage/cards/k/KillerWhale.java +++ b/Mage.Sets/src/mage/cards/k/KillerWhale.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class KillerWhale extends CardImpl { public KillerWhale(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Whale"); + this.subtype.add(SubType.WHALE); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KilnFiend.java b/Mage.Sets/src/mage/cards/k/KilnFiend.java index ac17c2df9bf..0538815f107 100644 --- a/Mage.Sets/src/mage/cards/k/KilnFiend.java +++ b/Mage.Sets/src/mage/cards/k/KilnFiend.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -54,8 +55,8 @@ public class KilnFiend extends CardImpl { public KilnFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KilnWalker.java b/Mage.Sets/src/mage/cards/k/KilnWalker.java index 041439733f1..a2ec6761ebf 100644 --- a/Mage.Sets/src/mage/cards/k/KilnWalker.java +++ b/Mage.Sets/src/mage/cards/k/KilnWalker.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class KilnWalker extends CardImpl { public KilnWalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KilnmouthDragon.java b/Mage.Sets/src/mage/cards/k/KilnmouthDragon.java index f1fd4cf23a4..ccd1da4b3e5 100644 --- a/Mage.Sets/src/mage/cards/k/KilnmouthDragon.java +++ b/Mage.Sets/src/mage/cards/k/KilnmouthDragon.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreatureOrPlayer; @@ -52,7 +53,7 @@ public class KilnmouthDragon extends CardImpl { public KilnmouthDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KinTreeWarden.java b/Mage.Sets/src/mage/cards/k/KinTreeWarden.java index b63054611d5..7257dcfba5a 100644 --- a/Mage.Sets/src/mage/cards/k/KinTreeWarden.java +++ b/Mage.Sets/src/mage/cards/k/KinTreeWarden.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class KinTreeWarden extends CardImpl { public KinTreeWarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/Kindercatch.java b/Mage.Sets/src/mage/cards/k/Kindercatch.java index 063ab89efd2..1695def63c5 100644 --- a/Mage.Sets/src/mage/cards/k/Kindercatch.java +++ b/Mage.Sets/src/mage/cards/k/Kindercatch.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class Kindercatch extends CardImpl { public Kindercatch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/k/KindlyStranger.java b/Mage.Sets/src/mage/cards/k/KindlyStranger.java index 07425ff2108..30f7961d5d2 100644 --- a/Mage.Sets/src/mage/cards/k/KindlyStranger.java +++ b/Mage.Sets/src/mage/cards/k/KindlyStranger.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.d.DemonPossessedWitch; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class KindlyStranger extends CardImpl { public KindlyStranger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KingCheetah.java b/Mage.Sets/src/mage/cards/k/KingCheetah.java index e5240f9da3c..2a9dce7d91e 100644 --- a/Mage.Sets/src/mage/cards/k/KingCheetah.java +++ b/Mage.Sets/src/mage/cards/k/KingCheetah.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class KingCheetah extends CardImpl { public KingCheetah(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KingCrab.java b/Mage.Sets/src/mage/cards/k/KingCrab.java index 792b1c149be..7e4abce70ee 100644 --- a/Mage.Sets/src/mage/cards/k/KingCrab.java +++ b/Mage.Sets/src/mage/cards/k/KingCrab.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.PutOnLibraryTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,7 +58,7 @@ public class KingCrab extends CardImpl { public KingCrab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Crab"); + this.subtype.add(SubType.CRAB); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KingMacarTheGoldCursed.java b/Mage.Sets/src/mage/cards/k/KingMacarTheGoldCursed.java index 9af28f97368..27b5d479bb5 100644 --- a/Mage.Sets/src/mage/cards/k/KingMacarTheGoldCursed.java +++ b/Mage.Sets/src/mage/cards/k/KingMacarTheGoldCursed.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.InspiredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.game.permanent.token.GoldToken; import mage.target.common.TargetCreaturePermanent; @@ -50,7 +51,7 @@ public class KingMacarTheGoldCursed extends CardImpl { public KingMacarTheGoldCursed(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KingSuleiman.java b/Mage.Sets/src/mage/cards/k/KingSuleiman.java index 4d54c4037e9..7b48ec7c27e 100644 --- a/Mage.Sets/src/mage/cards/k/KingSuleiman.java +++ b/Mage.Sets/src/mage/cards/k/KingSuleiman.java @@ -59,7 +59,7 @@ public class KingSuleiman extends CardImpl { public KingSuleiman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/Kingfisher.java b/Mage.Sets/src/mage/cards/k/Kingfisher.java index 0de5cf38e81..08be8a5483d 100644 --- a/Mage.Sets/src/mage/cards/k/Kingfisher.java +++ b/Mage.Sets/src/mage/cards/k/Kingfisher.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class Kingfisher extends CardImpl { public Kingfisher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KingpinsPet.java b/Mage.Sets/src/mage/cards/k/KingpinsPet.java index e21b2397ba8..f66ca88a44f 100644 --- a/Mage.Sets/src/mage/cards/k/KingpinsPet.java +++ b/Mage.Sets/src/mage/cards/k/KingpinsPet.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class KingpinsPet extends CardImpl { public KingpinsPet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{B}"); - this.subtype.add("Thrull"); + this.subtype.add(SubType.THRULL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KingsAssassin.java b/Mage.Sets/src/mage/cards/k/KingsAssassin.java index 0461b0701ed..856686ef799 100644 --- a/Mage.Sets/src/mage/cards/k/KingsAssassin.java +++ b/Mage.Sets/src/mage/cards/k/KingsAssassin.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.TappedPredicate; @@ -56,8 +57,8 @@ public class KingsAssassin extends CardImpl { public KingsAssassin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KinjallisSunwing.java b/Mage.Sets/src/mage/cards/k/KinjallisSunwing.java index 8f03a7d3afa..6fde2f046e9 100644 --- a/Mage.Sets/src/mage/cards/k/KinjallisSunwing.java +++ b/Mage.Sets/src/mage/cards/k/KinjallisSunwing.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class KinjallisSunwing extends CardImpl { public KinjallisSunwing(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Dinosaur"); + this.subtype.add(SubType.DINOSAUR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KinsbaileBalloonist.java b/Mage.Sets/src/mage/cards/k/KinsbaileBalloonist.java index 1b3ca0c1a44..9292e76e9bc 100644 --- a/Mage.Sets/src/mage/cards/k/KinsbaileBalloonist.java +++ b/Mage.Sets/src/mage/cards/k/KinsbaileBalloonist.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -47,8 +48,8 @@ public class KinsbaileBalloonist extends CardImpl { public KinsbaileBalloonist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KinsbaileBorderguard.java b/Mage.Sets/src/mage/cards/k/KinsbaileBorderguard.java index 2fb7082cd6b..d87d9f79ee0 100644 --- a/Mage.Sets/src/mage/cards/k/KinsbaileBorderguard.java +++ b/Mage.Sets/src/mage/cards/k/KinsbaileBorderguard.java @@ -63,8 +63,8 @@ public class KinsbaileBorderguard extends CardImpl { public KinsbaileBorderguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KinsbaileCavalier.java b/Mage.Sets/src/mage/cards/k/KinsbaileCavalier.java index fa533068be7..39b9e5a7d95 100644 --- a/Mage.Sets/src/mage/cards/k/KinsbaileCavalier.java +++ b/Mage.Sets/src/mage/cards/k/KinsbaileCavalier.java @@ -55,8 +55,8 @@ public class KinsbaileCavalier extends CardImpl { public KinsbaileCavalier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Knight"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KinsbaileSkirmisher.java b/Mage.Sets/src/mage/cards/k/KinsbaileSkirmisher.java index bc0b5e5941b..a5dc99b377c 100644 --- a/Mage.Sets/src/mage/cards/k/KinsbaileSkirmisher.java +++ b/Mage.Sets/src/mage/cards/k/KinsbaileSkirmisher.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -46,8 +47,8 @@ public class KinsbaileSkirmisher extends CardImpl { public KinsbaileSkirmisher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KinscaerHarpoonist.java b/Mage.Sets/src/mage/cards/k/KinscaerHarpoonist.java index e5bbd131d9a..011a077f365 100644 --- a/Mage.Sets/src/mage/cards/k/KinscaerHarpoonist.java +++ b/Mage.Sets/src/mage/cards/k/KinscaerHarpoonist.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class KinscaerHarpoonist extends CardImpl { public KinscaerHarpoonist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KioraMasterOfTheDepths.java b/Mage.Sets/src/mage/cards/k/KioraMasterOfTheDepths.java index 23deb6e2825..ed634488849 100644 --- a/Mage.Sets/src/mage/cards/k/KioraMasterOfTheDepths.java +++ b/Mage.Sets/src/mage/cards/k/KioraMasterOfTheDepths.java @@ -42,6 +42,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -67,7 +68,7 @@ public class KioraMasterOfTheDepths extends CardImpl { public KioraMasterOfTheDepths(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{G}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Kiora"); + this.subtype.add(SubType.KIORA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/k/KioraTheCrashingWave.java b/Mage.Sets/src/mage/cards/k/KioraTheCrashingWave.java index a40db76c085..d2107302852 100644 --- a/Mage.Sets/src/mage/cards/k/KioraTheCrashingWave.java +++ b/Mage.Sets/src/mage/cards/k/KioraTheCrashingWave.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.PlayAdditionalLandsControllerEff import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.TargetController; @@ -66,7 +67,7 @@ public class KioraTheCrashingWave extends CardImpl { public KioraTheCrashingWave(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{G}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Kiora"); + this.subtype.add(SubType.KIORA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(2)); diff --git a/Mage.Sets/src/mage/cards/k/KiorasFollower.java b/Mage.Sets/src/mage/cards/k/KiorasFollower.java index e2edeab9820..270e11bc33a 100644 --- a/Mage.Sets/src/mage/cards/k/KiorasFollower.java +++ b/Mage.Sets/src/mage/cards/k/KiorasFollower.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -54,7 +55,7 @@ public class KiorasFollower extends CardImpl { } public KiorasFollower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KiraGreatGlassSpinner.java b/Mage.Sets/src/mage/cards/k/KiraGreatGlassSpinner.java index 499f7c98618..1a99c590743 100644 --- a/Mage.Sets/src/mage/cards/k/KiraGreatGlassSpinner.java +++ b/Mage.Sets/src/mage/cards/k/KiraGreatGlassSpinner.java @@ -54,7 +54,7 @@ public class KiraGreatGlassSpinner extends CardImpl { public KiraGreatGlassSpinner(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); addSuperType(SuperType.LEGENDARY); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KirdApe.java b/Mage.Sets/src/mage/cards/k/KirdApe.java index 557faed25f7..9178fe0ca37 100644 --- a/Mage.Sets/src/mage/cards/k/KirdApe.java +++ b/Mage.Sets/src/mage/cards/k/KirdApe.java @@ -57,7 +57,7 @@ public class KirdApe extends CardImpl { public KirdApe(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Ape"); + this.subtype.add(SubType.APE); this.color.setRed(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KirdChieftain.java b/Mage.Sets/src/mage/cards/k/KirdChieftain.java index edfdf3c4bf5..5c80a54221b 100644 --- a/Mage.Sets/src/mage/cards/k/KirdChieftain.java +++ b/Mage.Sets/src/mage/cards/k/KirdChieftain.java @@ -65,7 +65,7 @@ public class KirdChieftain extends CardImpl { public KirdChieftain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Ape"); + this.subtype.add(SubType.APE); this.color.setRed(true); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KiriOnna.java b/Mage.Sets/src/mage/cards/k/KiriOnna.java index 36e6bd21ad2..7c82248bb69 100644 --- a/Mage.Sets/src/mage/cards/k/KiriOnna.java +++ b/Mage.Sets/src/mage/cards/k/KiriOnna.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class KiriOnna extends CardImpl { public KiriOnna(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KirtarsDesire.java b/Mage.Sets/src/mage/cards/k/KirtarsDesire.java index 6e0055b507a..1906384c886 100644 --- a/Mage.Sets/src/mage/cards/k/KirtarsDesire.java +++ b/Mage.Sets/src/mage/cards/k/KirtarsDesire.java @@ -44,6 +44,7 @@ import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -55,7 +56,7 @@ public class KirtarsDesire extends CardImpl { public KirtarsDesire(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/k/KitchenFinks.java b/Mage.Sets/src/mage/cards/k/KitchenFinks.java index 1ba1766963a..2ae886f5947 100644 --- a/Mage.Sets/src/mage/cards/k/KitchenFinks.java +++ b/Mage.Sets/src/mage/cards/k/KitchenFinks.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.PersistAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class KitchenFinks extends CardImpl { public KitchenFinks(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G/W}{G/W}"); - this.subtype.add("Ouphe"); + this.subtype.add(SubType.OUPHE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KiteShield.java b/Mage.Sets/src/mage/cards/k/KiteShield.java index 3e1eb10cf92..d2c10259a5a 100644 --- a/Mage.Sets/src/mage/cards/k/KiteShield.java +++ b/Mage.Sets/src/mage/cards/k/KiteShield.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class KiteShield extends CardImpl { public KiteShield (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{0}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(0, 3))); this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(3))); diff --git a/Mage.Sets/src/mage/cards/k/Kitesail.java b/Mage.Sets/src/mage/cards/k/Kitesail.java index 27acc30558a..73125167aad 100644 --- a/Mage.Sets/src/mage/cards/k/Kitesail.java +++ b/Mage.Sets/src/mage/cards/k/Kitesail.java @@ -46,7 +46,7 @@ public class Kitesail extends CardImpl { public Kitesail(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 0))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/k/KitesailApprentice.java b/Mage.Sets/src/mage/cards/k/KitesailApprentice.java index 127a99cbfac..1b06f9e1032 100644 --- a/Mage.Sets/src/mage/cards/k/KitesailApprentice.java +++ b/Mage.Sets/src/mage/cards/k/KitesailApprentice.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class KitesailApprentice extends CardImpl { public KitesailApprentice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Kor"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SOLDIER); this.color.setWhite(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KitesailFreebooter.java b/Mage.Sets/src/mage/cards/k/KitesailFreebooter.java index 697d6a5ab23..f4a359a71bc 100644 --- a/Mage.Sets/src/mage/cards/k/KitesailFreebooter.java +++ b/Mage.Sets/src/mage/cards/k/KitesailFreebooter.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -66,8 +67,8 @@ public class KitesailFreebooter extends CardImpl { public KitesailFreebooter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KitesailScout.java b/Mage.Sets/src/mage/cards/k/KitesailScout.java index 9a56e75eeff..90d320b2c2e 100644 --- a/Mage.Sets/src/mage/cards/k/KitesailScout.java +++ b/Mage.Sets/src/mage/cards/k/KitesailScout.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class KitesailScout extends CardImpl { public KitesailScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Kor"); - this.subtype.add("Scout"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KithkinDaggerdare.java b/Mage.Sets/src/mage/cards/k/KithkinDaggerdare.java index 9828c927de6..c5dd967804c 100644 --- a/Mage.Sets/src/mage/cards/k/KithkinDaggerdare.java +++ b/Mage.Sets/src/mage/cards/k/KithkinDaggerdare.java @@ -47,8 +47,8 @@ public class KithkinDaggerdare extends CardImpl { public KithkinDaggerdare(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KithkinGreatheart.java b/Mage.Sets/src/mage/cards/k/KithkinGreatheart.java index 3a3532b4b68..0858e873410 100644 --- a/Mage.Sets/src/mage/cards/k/KithkinGreatheart.java +++ b/Mage.Sets/src/mage/cards/k/KithkinGreatheart.java @@ -58,8 +58,8 @@ public class KithkinGreatheart extends CardImpl { public KithkinGreatheart(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); this.color.setWhite(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KithkinHarbinger.java b/Mage.Sets/src/mage/cards/k/KithkinHarbinger.java index ca4dcf1b017..f630bf9b8e1 100644 --- a/Mage.Sets/src/mage/cards/k/KithkinHarbinger.java +++ b/Mage.Sets/src/mage/cards/k/KithkinHarbinger.java @@ -53,8 +53,8 @@ public class KithkinHarbinger extends CardImpl { public KithkinHarbinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KithkinHealer.java b/Mage.Sets/src/mage/cards/k/KithkinHealer.java index e8375ffafab..44bd43f692a 100644 --- a/Mage.Sets/src/mage/cards/k/KithkinHealer.java +++ b/Mage.Sets/src/mage/cards/k/KithkinHealer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class KithkinHealer extends CardImpl { public KithkinHealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KithkinMourncaller.java b/Mage.Sets/src/mage/cards/k/KithkinMourncaller.java index 24c1d1841f1..a0a5fa779f7 100644 --- a/Mage.Sets/src/mage/cards/k/KithkinMourncaller.java +++ b/Mage.Sets/src/mage/cards/k/KithkinMourncaller.java @@ -53,8 +53,8 @@ public class KithkinMourncaller extends CardImpl { public KithkinMourncaller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Kithkin"); - this.subtype.add("Scout"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KithkinRabble.java b/Mage.Sets/src/mage/cards/k/KithkinRabble.java index 7007589c664..ef371e7e11e 100644 --- a/Mage.Sets/src/mage/cards/k/KithkinRabble.java +++ b/Mage.Sets/src/mage/cards/k/KithkinRabble.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -56,7 +57,7 @@ public class KithkinRabble extends CardImpl { public KithkinRabble(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Kithkin"); + this.subtype.add(SubType.KITHKIN); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/k/KithkinShielddare.java b/Mage.Sets/src/mage/cards/k/KithkinShielddare.java index f9a2f3e76d5..2370625603a 100644 --- a/Mage.Sets/src/mage/cards/k/KithkinShielddare.java +++ b/Mage.Sets/src/mage/cards/k/KithkinShielddare.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterBlockingCreature; @@ -52,8 +53,8 @@ public class KithkinShielddare extends CardImpl { public KithkinShielddare(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KithkinSpellduster.java b/Mage.Sets/src/mage/cards/k/KithkinSpellduster.java index 4563beb9f99..1f3f0de057a 100644 --- a/Mage.Sets/src/mage/cards/k/KithkinSpellduster.java +++ b/Mage.Sets/src/mage/cards/k/KithkinSpellduster.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.PersistAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetEnchantmentPermanent; @@ -50,8 +51,8 @@ public class KithkinSpellduster extends CardImpl { public KithkinSpellduster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KithkinZealot.java b/Mage.Sets/src/mage/cards/k/KithkinZealot.java index 10c82ef2442..e5ccbc0d17f 100644 --- a/Mage.Sets/src/mage/cards/k/KithkinZealot.java +++ b/Mage.Sets/src/mage/cards/k/KithkinZealot.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -52,8 +53,8 @@ public class KithkinZealot extends CardImpl { public KithkinZealot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KithkinZephyrnaut.java b/Mage.Sets/src/mage/cards/k/KithkinZephyrnaut.java index b68d1292879..7da57e2150f 100644 --- a/Mage.Sets/src/mage/cards/k/KithkinZephyrnaut.java +++ b/Mage.Sets/src/mage/cards/k/KithkinZephyrnaut.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -48,8 +49,8 @@ public class KithkinZephyrnaut extends CardImpl { public KithkinZephyrnaut(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KitsuneBlademaster.java b/Mage.Sets/src/mage/cards/k/KitsuneBlademaster.java index 96bb5a4545f..fd5d0ab1adf 100644 --- a/Mage.Sets/src/mage/cards/k/KitsuneBlademaster.java +++ b/Mage.Sets/src/mage/cards/k/KitsuneBlademaster.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class KitsuneBlademaster extends CardImpl { public KitsuneBlademaster (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Fox"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.FOX); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KitsuneBonesetter.java b/Mage.Sets/src/mage/cards/k/KitsuneBonesetter.java index 38c696ea70c..f300a116d56 100644 --- a/Mage.Sets/src/mage/cards/k/KitsuneBonesetter.java +++ b/Mage.Sets/src/mage/cards/k/KitsuneBonesetter.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class KitsuneBonesetter extends CardImpl { public KitsuneBonesetter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Fox"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.FOX); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KitsuneDawnblade.java b/Mage.Sets/src/mage/cards/k/KitsuneDawnblade.java index 984dffc7eb6..96f7e833280 100644 --- a/Mage.Sets/src/mage/cards/k/KitsuneDawnblade.java +++ b/Mage.Sets/src/mage/cards/k/KitsuneDawnblade.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.BushidoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -46,8 +47,8 @@ public class KitsuneDawnblade extends CardImpl { public KitsuneDawnblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Fox"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.FOX); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KitsuneDiviner.java b/Mage.Sets/src/mage/cards/k/KitsuneDiviner.java index cfdbb1558da..10a650a4866 100644 --- a/Mage.Sets/src/mage/cards/k/KitsuneDiviner.java +++ b/Mage.Sets/src/mage/cards/k/KitsuneDiviner.java @@ -57,8 +57,8 @@ public class KitsuneDiviner extends CardImpl { public KitsuneDiviner (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Fox"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.FOX); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KitsuneHealer.java b/Mage.Sets/src/mage/cards/k/KitsuneHealer.java index 036d4658c5a..2ccc828cbbc 100644 --- a/Mage.Sets/src/mage/cards/k/KitsuneHealer.java +++ b/Mage.Sets/src/mage/cards/k/KitsuneHealer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -58,8 +59,8 @@ public class KitsuneHealer extends CardImpl { public KitsuneHealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Fox"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.FOX); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KitsuneLoreweaver.java b/Mage.Sets/src/mage/cards/k/KitsuneLoreweaver.java index 4e7dd10bcf7..b1f2789f06e 100644 --- a/Mage.Sets/src/mage/cards/k/KitsuneLoreweaver.java +++ b/Mage.Sets/src/mage/cards/k/KitsuneLoreweaver.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class KitsuneLoreweaver extends CardImpl { public KitsuneLoreweaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Fox"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.FOX); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KitsuneMystic.java b/Mage.Sets/src/mage/cards/k/KitsuneMystic.java index c4b5221547e..fc9f92c35cb 100644 --- a/Mage.Sets/src/mage/cards/k/KitsuneMystic.java +++ b/Mage.Sets/src/mage/cards/k/KitsuneMystic.java @@ -58,8 +58,8 @@ public class KitsuneMystic extends CardImpl { public KitsuneMystic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Fox"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FOX); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); @@ -96,8 +96,8 @@ class AutumnTailKitsuneSage extends Token { addSuperType(SuperType.LEGENDARY); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Fox"); - subtype.add("Wizard"); + subtype.add(SubType.FOX); + subtype.add(SubType.WIZARD); power = new MageInt(4); toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KitsunePalliator.java b/Mage.Sets/src/mage/cards/k/KitsunePalliator.java index b93eaff7716..b2f8111a8a6 100644 --- a/Mage.Sets/src/mage/cards/k/KitsunePalliator.java +++ b/Mage.Sets/src/mage/cards/k/KitsunePalliator.java @@ -52,8 +52,8 @@ public class KitsunePalliator extends CardImpl { public KitsunePalliator(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Fox"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.FOX); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KitsuneRiftwalker.java b/Mage.Sets/src/mage/cards/k/KitsuneRiftwalker.java index 4fa1b9fc281..0802cfcbce8 100644 --- a/Mage.Sets/src/mage/cards/k/KitsuneRiftwalker.java +++ b/Mage.Sets/src/mage/cards/k/KitsuneRiftwalker.java @@ -52,8 +52,8 @@ public class KitsuneRiftwalker extends CardImpl { public KitsuneRiftwalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Fox"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FOX); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KiyomaroFirstToStand.java b/Mage.Sets/src/mage/cards/k/KiyomaroFirstToStand.java index f770fa98006..807693f06a2 100644 --- a/Mage.Sets/src/mage/cards/k/KiyomaroFirstToStand.java +++ b/Mage.Sets/src/mage/cards/k/KiyomaroFirstToStand.java @@ -46,6 +46,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.SuperType; @@ -63,7 +64,7 @@ public class KiyomaroFirstToStand extends CardImpl { public KiyomaroFirstToStand(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/k/KjeldoranDead.java b/Mage.Sets/src/mage/cards/k/KjeldoranDead.java index ff2166291dd..0a9bd0052de 100644 --- a/Mage.Sets/src/mage/cards/k/KjeldoranDead.java +++ b/Mage.Sets/src/mage/cards/k/KjeldoranDead.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.SacrificeControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -49,7 +50,7 @@ public class KjeldoranDead extends CardImpl { public KjeldoranDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KjeldoranFrostbeast.java b/Mage.Sets/src/mage/cards/k/KjeldoranFrostbeast.java index 7bb4231ec52..59f7d1d18a3 100644 --- a/Mage.Sets/src/mage/cards/k/KjeldoranFrostbeast.java +++ b/Mage.Sets/src/mage/cards/k/KjeldoranFrostbeast.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.permanent.BlockedByIdPredicate; @@ -49,8 +50,8 @@ public class KjeldoranFrostbeast extends CardImpl { public KjeldoranFrostbeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{W}"); - this.subtype.add("Elemental"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KjeldoranGargoyle.java b/Mage.Sets/src/mage/cards/k/KjeldoranGargoyle.java index e94fea2e38b..110598bc75f 100644 --- a/Mage.Sets/src/mage/cards/k/KjeldoranGargoyle.java +++ b/Mage.Sets/src/mage/cards/k/KjeldoranGargoyle.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class KjeldoranGargoyle extends CardImpl { public KjeldoranGargoyle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Gargoyle"); + this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KjeldoranOutrider.java b/Mage.Sets/src/mage/cards/k/KjeldoranOutrider.java index 3e78e36aafb..83d26ec8382 100644 --- a/Mage.Sets/src/mage/cards/k/KjeldoranOutrider.java +++ b/Mage.Sets/src/mage/cards/k/KjeldoranOutrider.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class KjeldoranOutrider extends CardImpl { public KjeldoranOutrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KjeldoranRoyalGuard.java b/Mage.Sets/src/mage/cards/k/KjeldoranRoyalGuard.java index bfc84c31913..87b11712502 100644 --- a/Mage.Sets/src/mage/cards/k/KjeldoranRoyalGuard.java +++ b/Mage.Sets/src/mage/cards/k/KjeldoranRoyalGuard.java @@ -36,6 +36,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class KjeldoranRoyalGuard extends CardImpl { public KjeldoranRoyalGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KnacksawClique.java b/Mage.Sets/src/mage/cards/k/KnacksawClique.java index 65e522ef4f0..8e860db8a81 100644 --- a/Mage.Sets/src/mage/cards/k/KnacksawClique.java +++ b/Mage.Sets/src/mage/cards/k/KnacksawClique.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class KnacksawClique extends CardImpl { public KnacksawClique(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KnightCaptainOfEos.java b/Mage.Sets/src/mage/cards/k/KnightCaptainOfEos.java index 9d11842b20d..796e1ed2cd6 100644 --- a/Mage.Sets/src/mage/cards/k/KnightCaptainOfEos.java +++ b/Mage.Sets/src/mage/cards/k/KnightCaptainOfEos.java @@ -60,8 +60,8 @@ public class KnightCaptainOfEos extends CardImpl { public KnightCaptainOfEos(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KnightErrant.java b/Mage.Sets/src/mage/cards/k/KnightErrant.java index 4febed0a398..e778ceefb6d 100644 --- a/Mage.Sets/src/mage/cards/k/KnightErrant.java +++ b/Mage.Sets/src/mage/cards/k/KnightErrant.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class KnightErrant extends CardImpl { public KnightErrant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KnightExemplar.java b/Mage.Sets/src/mage/cards/k/KnightExemplar.java index 02c755419ee..c3ff5eb3a71 100644 --- a/Mage.Sets/src/mage/cards/k/KnightExemplar.java +++ b/Mage.Sets/src/mage/cards/k/KnightExemplar.java @@ -58,8 +58,8 @@ public class KnightExemplar extends CardImpl { public KnightExemplar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KnightOfCliffhaven.java b/Mage.Sets/src/mage/cards/k/KnightOfCliffhaven.java index 44b3dd6a79e..e569b6e1ef9 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfCliffhaven.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfCliffhaven.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -49,8 +50,8 @@ public class KnightOfCliffhaven extends LevelerCard { public KnightOfCliffhaven(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Knight"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.KNIGHT); this.color.setWhite(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KnightOfDawn.java b/Mage.Sets/src/mage/cards/k/KnightOfDawn.java index 329371d4f98..09b5620f48f 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfDawn.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfDawn.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class KnightOfDawn extends CardImpl { public KnightOfDawn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KnightOfDusk.java b/Mage.Sets/src/mage/cards/k/KnightOfDusk.java index 765f60fbac7..52f6d613efc 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfDusk.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfDusk.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.BlockingAttackerIdPredicate; @@ -49,8 +50,8 @@ public class KnightOfDusk extends CardImpl { public KnightOfDusk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KnightOfGlory.java b/Mage.Sets/src/mage/cards/k/KnightOfGlory.java index d9e4c764934..022777f4b6c 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfGlory.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfGlory.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class KnightOfGlory extends CardImpl { public KnightOfGlory(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KnightOfInfamy.java b/Mage.Sets/src/mage/cards/k/KnightOfInfamy.java index dfee1202623..d93a9015bc8 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfInfamy.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfInfamy.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class KnightOfInfamy extends CardImpl { public KnightOfInfamy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KnightOfMeadowgrain.java b/Mage.Sets/src/mage/cards/k/KnightOfMeadowgrain.java index aa3711db915..cfe8be0525e 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfMeadowgrain.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfMeadowgrain.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class KnightOfMeadowgrain extends CardImpl { public KnightOfMeadowgrain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Knight"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KnightOfNewAlara.java b/Mage.Sets/src/mage/cards/k/KnightOfNewAlara.java index 3f522d19465..31dcc153534 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfNewAlara.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfNewAlara.java @@ -35,6 +35,7 @@ import mage.abilities.effects.ContinuousEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -53,8 +54,8 @@ public class KnightOfNewAlara extends CardImpl { public KnightOfNewAlara(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); diff --git a/Mage.Sets/src/mage/cards/k/KnightOfObligation.java b/Mage.Sets/src/mage/cards/k/KnightOfObligation.java index 811b720203c..c2fa88acbe5 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfObligation.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfObligation.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class KnightOfObligation extends CardImpl { public KnightOfObligation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KnightOfStromgald.java b/Mage.Sets/src/mage/cards/k/KnightOfStromgald.java index 1b0accc6490..434e17d6af0 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfStromgald.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfStromgald.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class KnightOfStromgald extends CardImpl { public KnightOfStromgald(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KnightOfSursi.java b/Mage.Sets/src/mage/cards/k/KnightOfSursi.java index 4980ca83864..4ed3fceeb31 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfSursi.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfSursi.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class KnightOfSursi extends CardImpl { public KnightOfSursi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KnightOfTheHolyNimbus.java b/Mage.Sets/src/mage/cards/k/KnightOfTheHolyNimbus.java index bc3925cee3a..13a9c9cb136 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfTheHolyNimbus.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfTheHolyNimbus.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlankingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,9 +55,9 @@ public class KnightOfTheHolyNimbus extends CardImpl { public KnightOfTheHolyNimbus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KnightOfThePilgrimsRoad.java b/Mage.Sets/src/mage/cards/k/KnightOfThePilgrimsRoad.java index 1d0050c7247..a024e9edeb1 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfThePilgrimsRoad.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfThePilgrimsRoad.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.RenownAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class KnightOfThePilgrimsRoad extends CardImpl { public KnightOfThePilgrimsRoad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KnightOfTheReliquary.java b/Mage.Sets/src/mage/cards/k/KnightOfTheReliquary.java index 3cdaee44743..279f3ede778 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfTheReliquary.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfTheReliquary.java @@ -64,8 +64,8 @@ public class KnightOfTheReliquary extends CardImpl { public KnightOfTheReliquary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KnightOfTheSkywardEye.java b/Mage.Sets/src/mage/cards/k/KnightOfTheSkywardEye.java index 70c6dedc2a3..b36d64cb66f 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfTheSkywardEye.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfTheSkywardEye.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class KnightOfTheSkywardEye extends CardImpl { public KnightOfTheSkywardEye(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KnightOfTheWhiteOrchid.java b/Mage.Sets/src/mage/cards/k/KnightOfTheWhiteOrchid.java index f889d9e8877..3821226f3fe 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfTheWhiteOrchid.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfTheWhiteOrchid.java @@ -51,8 +51,8 @@ public class KnightOfTheWhiteOrchid extends CardImpl { public KnightOfTheWhiteOrchid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KnightOfValor.java b/Mage.Sets/src/mage/cards/k/KnightOfValor.java index a411a95fa37..fd1fe4293ab 100644 --- a/Mage.Sets/src/mage/cards/k/KnightOfValor.java +++ b/Mage.Sets/src/mage/cards/k/KnightOfValor.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlankingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -51,8 +52,8 @@ public class KnightOfValor extends CardImpl { public KnightOfValor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KnightlyValor.java b/Mage.Sets/src/mage/cards/k/KnightlyValor.java index 4bccaeeaade..f259c6a2beb 100644 --- a/Mage.Sets/src/mage/cards/k/KnightlyValor.java +++ b/Mage.Sets/src/mage/cards/k/KnightlyValor.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class KnightlyValor extends CardImpl { public KnightlyValor (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/k/KnightsOfTheBlackRose.java b/Mage.Sets/src/mage/cards/k/KnightsOfTheBlackRose.java index 277d84c153d..48dbe1cf529 100644 --- a/Mage.Sets/src/mage/cards/k/KnightsOfTheBlackRose.java +++ b/Mage.Sets/src/mage/cards/k/KnightsOfTheBlackRose.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.WatcherScope; import mage.constants.Zone; import mage.game.Game; @@ -55,8 +56,8 @@ public class KnightsOfTheBlackRose extends CardImpl { public KnightsOfTheBlackRose(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{B}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KnollspineDragon.java b/Mage.Sets/src/mage/cards/k/KnollspineDragon.java index 6eaf03b6c86..4062a034408 100644 --- a/Mage.Sets/src/mage/cards/k/KnollspineDragon.java +++ b/Mage.Sets/src/mage/cards/k/KnollspineDragon.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -51,7 +52,7 @@ public class KnollspineDragon extends CardImpl { public KnollspineDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(7); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KnotvineMystic.java b/Mage.Sets/src/mage/cards/k/KnotvineMystic.java index 48aca24d50b..fdec96e2f54 100644 --- a/Mage.Sets/src/mage/cards/k/KnotvineMystic.java +++ b/Mage.Sets/src/mage/cards/k/KnotvineMystic.java @@ -38,6 +38,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -50,8 +51,8 @@ public class KnotvineMystic extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}{W}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KnotvinePaladin.java b/Mage.Sets/src/mage/cards/k/KnotvinePaladin.java index f36e9fb2323..76276d16a04 100644 --- a/Mage.Sets/src/mage/cards/k/KnotvinePaladin.java +++ b/Mage.Sets/src/mage/cards/k/KnotvinePaladin.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -54,8 +55,8 @@ public class KnotvinePaladin extends CardImpl { public KnotvinePaladin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); diff --git a/Mage.Sets/src/mage/cards/k/KnowledgeExploitation.java b/Mage.Sets/src/mage/cards/k/KnowledgeExploitation.java index bcfa9baee27..a46e5a5b0e1 100644 --- a/Mage.Sets/src/mage/cards/k/KnowledgeExploitation.java +++ b/Mage.Sets/src/mage/cards/k/KnowledgeExploitation.java @@ -35,6 +35,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterInstantOrSorceryCard; import mage.game.Game; @@ -50,7 +51,7 @@ public class KnowledgeExploitation extends CardImpl { public KnowledgeExploitation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.SORCERY},"{5}{U}{U}"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.ROGUE); // Prowl {3}{U} this.addAbility(new ProwlAbility(this, "{3}{U}")); diff --git a/Mage.Sets/src/mage/cards/k/KnuckleboneWitch.java b/Mage.Sets/src/mage/cards/k/KnuckleboneWitch.java index 0eea55dd359..fe5f4646bed 100644 --- a/Mage.Sets/src/mage/cards/k/KnuckleboneWitch.java +++ b/Mage.Sets/src/mage/cards/k/KnuckleboneWitch.java @@ -56,8 +56,8 @@ public class KnuckleboneWitch extends CardImpl { public KnuckleboneWitch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KoboldDrillSergeant.java b/Mage.Sets/src/mage/cards/k/KoboldDrillSergeant.java index b2263a153d5..7626686c947 100644 --- a/Mage.Sets/src/mage/cards/k/KoboldDrillSergeant.java +++ b/Mage.Sets/src/mage/cards/k/KoboldDrillSergeant.java @@ -58,8 +58,8 @@ public class KoboldDrillSergeant extends CardImpl { public KoboldDrillSergeant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Kobold"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KOBOLD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KoboldOverlord.java b/Mage.Sets/src/mage/cards/k/KoboldOverlord.java index cdecf5bf4a6..b25ddf00754 100644 --- a/Mage.Sets/src/mage/cards/k/KoboldOverlord.java +++ b/Mage.Sets/src/mage/cards/k/KoboldOverlord.java @@ -55,7 +55,7 @@ public class KoboldOverlord extends CardImpl { public KoboldOverlord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Kobold"); + this.subtype.add(SubType.KOBOLD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KoboldTaskmaster.java b/Mage.Sets/src/mage/cards/k/KoboldTaskmaster.java index 79597e38e46..3a53691f78e 100644 --- a/Mage.Sets/src/mage/cards/k/KoboldTaskmaster.java +++ b/Mage.Sets/src/mage/cards/k/KoboldTaskmaster.java @@ -53,7 +53,7 @@ public class KoboldTaskmaster extends CardImpl { public KoboldTaskmaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Kobold"); + this.subtype.add(SubType.KOBOLD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KoboldsOfKherKeep.java b/Mage.Sets/src/mage/cards/k/KoboldsOfKherKeep.java index d41a64aaef4..284e3115641 100644 --- a/Mage.Sets/src/mage/cards/k/KoboldsOfKherKeep.java +++ b/Mage.Sets/src/mage/cards/k/KoboldsOfKherKeep.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class KoboldsOfKherKeep extends CardImpl { public KoboldsOfKherKeep(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{0}"); this.color.setRed(true); - this.subtype.add("Kobold"); + this.subtype.add(SubType.KOBOLD); this.power = new MageInt(0); this.toughness = new MageInt(1); } diff --git a/Mage.Sets/src/mage/cards/k/KodamaOfTheCenterTree.java b/Mage.Sets/src/mage/cards/k/KodamaOfTheCenterTree.java index 20ebf0185cf..86305610ad2 100644 --- a/Mage.Sets/src/mage/cards/k/KodamaOfTheCenterTree.java +++ b/Mage.Sets/src/mage/cards/k/KodamaOfTheCenterTree.java @@ -54,7 +54,7 @@ public class KodamaOfTheCenterTree extends CardImpl { public KodamaOfTheCenterTree(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/k/KodamaOfTheNorthTree.java b/Mage.Sets/src/mage/cards/k/KodamaOfTheNorthTree.java index 5ca35ebce3d..102ed34acaa 100644 --- a/Mage.Sets/src/mage/cards/k/KodamaOfTheNorthTree.java +++ b/Mage.Sets/src/mage/cards/k/KodamaOfTheNorthTree.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -46,7 +47,7 @@ public class KodamaOfTheNorthTree extends CardImpl { public KodamaOfTheNorthTree (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KodamaOfTheSouthTree.java b/Mage.Sets/src/mage/cards/k/KodamaOfTheSouthTree.java index 6615ec17423..ace1fe57368 100644 --- a/Mage.Sets/src/mage/cards/k/KodamaOfTheSouthTree.java +++ b/Mage.Sets/src/mage/cards/k/KodamaOfTheSouthTree.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.filter.StaticFilters; @@ -50,7 +51,7 @@ public class KodamaOfTheSouthTree extends CardImpl { public KodamaOfTheSouthTree(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KodamasMight.java b/Mage.Sets/src/mage/cards/k/KodamasMight.java index c2758c65013..59577d47088 100644 --- a/Mage.Sets/src/mage/cards/k/KodamasMight.java +++ b/Mage.Sets/src/mage/cards/k/KodamasMight.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SpliceOntoArcaneAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -44,7 +45,7 @@ public class KodamasMight extends CardImpl { public KodamasMight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{G}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Target creature gets +2/+2 until end of turn. diff --git a/Mage.Sets/src/mage/cards/k/KokushoTheEveningStar.java b/Mage.Sets/src/mage/cards/k/KokushoTheEveningStar.java index 9947f14000b..dabed449cdb 100644 --- a/Mage.Sets/src/mage/cards/k/KokushoTheEveningStar.java +++ b/Mage.Sets/src/mage/cards/k/KokushoTheEveningStar.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.game.Game; @@ -49,8 +50,8 @@ public class KokushoTheEveningStar extends CardImpl { public KokushoTheEveningStar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DRAGON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KolaghanAspirant.java b/Mage.Sets/src/mage/cards/k/KolaghanAspirant.java index 59f3d23c5e5..65ef670bd07 100644 --- a/Mage.Sets/src/mage/cards/k/KolaghanAspirant.java +++ b/Mage.Sets/src/mage/cards/k/KolaghanAspirant.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class KolaghanAspirant extends CardImpl { public KolaghanAspirant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KolaghanForerunners.java b/Mage.Sets/src/mage/cards/k/KolaghanForerunners.java index cb1fa32496a..b5a1c8ac5fe 100644 --- a/Mage.Sets/src/mage/cards/k/KolaghanForerunners.java +++ b/Mage.Sets/src/mage/cards/k/KolaghanForerunners.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -50,8 +51,8 @@ public class KolaghanForerunners extends CardImpl { public KolaghanForerunners(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KolaghanMonument.java b/Mage.Sets/src/mage/cards/k/KolaghanMonument.java index f393365e187..8353e9a5780 100644 --- a/Mage.Sets/src/mage/cards/k/KolaghanMonument.java +++ b/Mage.Sets/src/mage/cards/k/KolaghanMonument.java @@ -38,6 +38,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -76,7 +77,7 @@ public class KolaghanMonument extends CardImpl { cardType.add(CardType.CREATURE); color.setBlack(true); color.setRed(true); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); power = new MageInt(4); toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/k/KolaghanSkirmisher.java b/Mage.Sets/src/mage/cards/k/KolaghanSkirmisher.java index e36d1d85e78..f1ebe5d5c39 100644 --- a/Mage.Sets/src/mage/cards/k/KolaghanSkirmisher.java +++ b/Mage.Sets/src/mage/cards/k/KolaghanSkirmisher.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class KolaghanSkirmisher extends CardImpl { public KolaghanSkirmisher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KolaghanStormsinger.java b/Mage.Sets/src/mage/cards/k/KolaghanStormsinger.java index ed367d85f81..3c8b80bc065 100644 --- a/Mage.Sets/src/mage/cards/k/KolaghanStormsinger.java +++ b/Mage.Sets/src/mage/cards/k/KolaghanStormsinger.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class KolaghanStormsinger extends CardImpl { public KolaghanStormsinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KolaghanTheStormsFury.java b/Mage.Sets/src/mage/cards/k/KolaghanTheStormsFury.java index f082e538f5e..1481d216ee7 100644 --- a/Mage.Sets/src/mage/cards/k/KolaghanTheStormsFury.java +++ b/Mage.Sets/src/mage/cards/k/KolaghanTheStormsFury.java @@ -57,7 +57,7 @@ public class KolaghanTheStormsFury extends CardImpl { public KolaghanTheStormsFury(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KondaLordOfEiganjo.java b/Mage.Sets/src/mage/cards/k/KondaLordOfEiganjo.java index 8f7f7ea86ce..a188f98baec 100644 --- a/Mage.Sets/src/mage/cards/k/KondaLordOfEiganjo.java +++ b/Mage.Sets/src/mage/cards/k/KondaLordOfEiganjo.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -45,8 +46,8 @@ public class KondaLordOfEiganjo extends CardImpl { public KondaLordOfEiganjo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KondasBanner.java b/Mage.Sets/src/mage/cards/k/KondasBanner.java index d71cc16ceb7..b0e4d987ed8 100644 --- a/Mage.Sets/src/mage/cards/k/KondasBanner.java +++ b/Mage.Sets/src/mage/cards/k/KondasBanner.java @@ -62,7 +62,7 @@ public class KondasBanner extends CardImpl { public KondasBanner(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); Target target = new TargetControlledCreaturePermanent(1, 1, legendaryFilter, false); // Konda's Banner can be attached only to a legendary creature. diff --git a/Mage.Sets/src/mage/cards/k/KondasHatamoto.java b/Mage.Sets/src/mage/cards/k/KondasHatamoto.java index a6de39a36e2..6a05dbbc0f8 100644 --- a/Mage.Sets/src/mage/cards/k/KondasHatamoto.java +++ b/Mage.Sets/src/mage/cards/k/KondasHatamoto.java @@ -60,8 +60,8 @@ public class KondasHatamoto extends CardImpl { public KondasHatamoto (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KongmingSleepingDragon.java b/Mage.Sets/src/mage/cards/k/KongmingSleepingDragon.java index 040913e25e4..3e2ab77b32c 100644 --- a/Mage.Sets/src/mage/cards/k/KongmingSleepingDragon.java +++ b/Mage.Sets/src/mage/cards/k/KongmingSleepingDragon.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class KongmingSleepingDragon extends CardImpl { public KongmingSleepingDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KopalaWardenOfWaves.java b/Mage.Sets/src/mage/cards/k/KopalaWardenOfWaves.java index ed4a51b1fd0..97ccc005796 100644 --- a/Mage.Sets/src/mage/cards/k/KopalaWardenOfWaves.java +++ b/Mage.Sets/src/mage/cards/k/KopalaWardenOfWaves.java @@ -60,8 +60,8 @@ public class KopalaWardenOfWaves extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KorAeronaut.java b/Mage.Sets/src/mage/cards/k/KorAeronaut.java index 16b583073e7..ae5c4bbb198 100644 --- a/Mage.Sets/src/mage/cards/k/KorAeronaut.java +++ b/Mage.Sets/src/mage/cards/k/KorAeronaut.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class KorAeronaut extends CardImpl { public KorAeronaut(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KorBladewhirl.java b/Mage.Sets/src/mage/cards/k/KorBladewhirl.java index c162f63f812..55079682084 100644 --- a/Mage.Sets/src/mage/cards/k/KorBladewhirl.java +++ b/Mage.Sets/src/mage/cards/k/KorBladewhirl.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; @@ -46,9 +47,9 @@ public class KorBladewhirl extends CardImpl { public KorBladewhirl(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Soldier"); - this.subtype.add("Ally"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KorCartographer.java b/Mage.Sets/src/mage/cards/k/KorCartographer.java index 7d0cf774f92..53c964802cd 100644 --- a/Mage.Sets/src/mage/cards/k/KorCartographer.java +++ b/Mage.Sets/src/mage/cards/k/KorCartographer.java @@ -46,8 +46,8 @@ public class KorCartographer extends CardImpl { public KorCartographer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Scout"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KorCastigator.java b/Mage.Sets/src/mage/cards/k/KorCastigator.java index af2289d2023..1a1a39fbbdb 100644 --- a/Mage.Sets/src/mage/cards/k/KorCastigator.java +++ b/Mage.Sets/src/mage/cards/k/KorCastigator.java @@ -54,9 +54,9 @@ public class KorCastigator extends CardImpl { public KorCastigator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Wizard"); - this.subtype.add("Ally"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.WIZARD); + this.subtype.add(SubType.ALLY); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KorDuelist.java b/Mage.Sets/src/mage/cards/k/KorDuelist.java index 441cb02b497..3f7442ddadd 100644 --- a/Mage.Sets/src/mage/cards/k/KorDuelist.java +++ b/Mage.Sets/src/mage/cards/k/KorDuelist.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -54,8 +55,8 @@ public class KorDuelist extends CardImpl { public KorDuelist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Kor"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KorEntanglers.java b/Mage.Sets/src/mage/cards/k/KorEntanglers.java index bf294fc722b..c56629d60de 100644 --- a/Mage.Sets/src/mage/cards/k/KorEntanglers.java +++ b/Mage.Sets/src/mage/cards/k/KorEntanglers.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -54,9 +55,9 @@ public class KorEntanglers extends CardImpl { public KorEntanglers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Soldier"); - this.subtype.add("Ally"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ALLY); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KorFirewalker.java b/Mage.Sets/src/mage/cards/k/KorFirewalker.java index f8008bc4032..f4333c061a4 100644 --- a/Mage.Sets/src/mage/cards/k/KorFirewalker.java +++ b/Mage.Sets/src/mage/cards/k/KorFirewalker.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -51,8 +52,8 @@ public class KorFirewalker extends CardImpl { public KorFirewalker (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SOLDIER); this.color.setWhite(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KorHookmaster.java b/Mage.Sets/src/mage/cards/k/KorHookmaster.java index 9228efb220c..adc42554b4f 100644 --- a/Mage.Sets/src/mage/cards/k/KorHookmaster.java +++ b/Mage.Sets/src/mage/cards/k/KorHookmaster.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -54,8 +55,8 @@ public class KorHookmaster extends CardImpl { public KorHookmaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KorLineSlinger.java b/Mage.Sets/src/mage/cards/k/KorLineSlinger.java index 6df9cb6d24a..ea944e5c530 100644 --- a/Mage.Sets/src/mage/cards/k/KorLineSlinger.java +++ b/Mage.Sets/src/mage/cards/k/KorLineSlinger.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -55,8 +56,8 @@ public class KorLineSlinger extends CardImpl { public KorLineSlinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Scout"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KorOutfitter.java b/Mage.Sets/src/mage/cards/k/KorOutfitter.java index 9c37c2639e9..8183066c071 100644 --- a/Mage.Sets/src/mage/cards/k/KorOutfitter.java +++ b/Mage.Sets/src/mage/cards/k/KorOutfitter.java @@ -58,8 +58,8 @@ public class KorOutfitter extends CardImpl { public KorOutfitter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KorSanctifiers.java b/Mage.Sets/src/mage/cards/k/KorSanctifiers.java index c137f0f7ef8..449aa0cd449 100644 --- a/Mage.Sets/src/mage/cards/k/KorSanctifiers.java +++ b/Mage.Sets/src/mage/cards/k/KorSanctifiers.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -49,8 +50,8 @@ public class KorSanctifiers extends CardImpl { public KorSanctifiers (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KorScythemaster.java b/Mage.Sets/src/mage/cards/k/KorScythemaster.java index 1833b779e26..113cdae3f86 100644 --- a/Mage.Sets/src/mage/cards/k/KorScythemaster.java +++ b/Mage.Sets/src/mage/cards/k/KorScythemaster.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,9 +48,9 @@ public class KorScythemaster extends CardImpl { public KorScythemaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Soldier"); - this.subtype.add("Ally"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ALLY); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KorSkyClimber.java b/Mage.Sets/src/mage/cards/k/KorSkyClimber.java index 91bedd6047f..7f23dc99963 100644 --- a/Mage.Sets/src/mage/cards/k/KorSkyClimber.java +++ b/Mage.Sets/src/mage/cards/k/KorSkyClimber.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,9 +48,9 @@ public class KorSkyClimber extends CardImpl { public KorSkyClimber(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Soldier"); - this.subtype.add("Ally"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ALLY); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KorSkyfisher.java b/Mage.Sets/src/mage/cards/k/KorSkyfisher.java index 97df84ed452..476b26065da 100644 --- a/Mage.Sets/src/mage/cards/k/KorSkyfisher.java +++ b/Mage.Sets/src/mage/cards/k/KorSkyfisher.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; /** @@ -46,8 +47,8 @@ public class KorSkyfisher extends CardImpl { public KorSkyfisher (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KorSpiritdancer.java b/Mage.Sets/src/mage/cards/k/KorSpiritdancer.java index 32a55ce24c2..9b26a911292 100644 --- a/Mage.Sets/src/mage/cards/k/KorSpiritdancer.java +++ b/Mage.Sets/src/mage/cards/k/KorSpiritdancer.java @@ -57,8 +57,8 @@ public class KorSpiritdancer extends CardImpl { public KorSpiritdancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KorlashHeirToBlackblade.java b/Mage.Sets/src/mage/cards/k/KorlashHeirToBlackblade.java index b63ee9bbfa4..283b3d1487e 100644 --- a/Mage.Sets/src/mage/cards/k/KorlashHeirToBlackblade.java +++ b/Mage.Sets/src/mage/cards/k/KorlashHeirToBlackblade.java @@ -63,8 +63,8 @@ public class KorlashHeirToBlackblade extends CardImpl { public KorlashHeirToBlackblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/k/KorozdaGorgon.java b/Mage.Sets/src/mage/cards/k/KorozdaGorgon.java index 260af2baf12..fbc2acde25c 100644 --- a/Mage.Sets/src/mage/cards/k/KorozdaGorgon.java +++ b/Mage.Sets/src/mage/cards/k/KorozdaGorgon.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -52,7 +53,7 @@ public class KorozdaGorgon extends CardImpl { public KorozdaGorgon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{G}"); - this.subtype.add("Gorgon"); + this.subtype.add(SubType.GORGON); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KorozdaGuildmage.java b/Mage.Sets/src/mage/cards/k/KorozdaGuildmage.java index 2420fb4d488..bd806262608 100644 --- a/Mage.Sets/src/mage/cards/k/KorozdaGuildmage.java +++ b/Mage.Sets/src/mage/cards/k/KorozdaGuildmage.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -64,8 +65,8 @@ public class KorozdaGuildmage extends CardImpl { public KorozdaGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KorozdaMonitor.java b/Mage.Sets/src/mage/cards/k/KorozdaMonitor.java index 9ddd7a0ff9f..424577e09c4 100644 --- a/Mage.Sets/src/mage/cards/k/KorozdaMonitor.java +++ b/Mage.Sets/src/mage/cards/k/KorozdaMonitor.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class KorozdaMonitor extends CardImpl { public KorozdaMonitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KothOfTheHammer.java b/Mage.Sets/src/mage/cards/k/KothOfTheHammer.java index d063895cfe9..5141763228f 100644 --- a/Mage.Sets/src/mage/cards/k/KothOfTheHammer.java +++ b/Mage.Sets/src/mage/cards/k/KothOfTheHammer.java @@ -69,7 +69,7 @@ public class KothOfTheHammer extends CardImpl { public KothOfTheHammer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Koth"); + this.subtype.add(SubType.KOTH); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); @@ -101,7 +101,7 @@ class KothOfTheHammerToken extends Token { public KothOfTheHammerToken() { super("Elemental", "4/4 red Elemental"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.color.setRed(true); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KothophedSoulHoarder.java b/Mage.Sets/src/mage/cards/k/KothophedSoulHoarder.java index 0607e646df7..f6752c0ed81 100644 --- a/Mage.Sets/src/mage/cards/k/KothophedSoulHoarder.java +++ b/Mage.Sets/src/mage/cards/k/KothophedSoulHoarder.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.constants.Zone; @@ -65,7 +66,7 @@ public class KothophedSoulHoarder extends CardImpl { public KothophedSoulHoarder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/k/KothsCourier.java b/Mage.Sets/src/mage/cards/k/KothsCourier.java index e3e82b7b3d6..d588a1a4f73 100644 --- a/Mage.Sets/src/mage/cards/k/KothsCourier.java +++ b/Mage.Sets/src/mage/cards/k/KothsCourier.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class KothsCourier extends CardImpl { public KothsCourier (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KozilekButcherOfTruth.java b/Mage.Sets/src/mage/cards/k/KozilekButcherOfTruth.java index 5794b5f3da8..1cad310e02a 100644 --- a/Mage.Sets/src/mage/cards/k/KozilekButcherOfTruth.java +++ b/Mage.Sets/src/mage/cards/k/KozilekButcherOfTruth.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.AnnihilatorAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -48,7 +49,7 @@ public class KozilekButcherOfTruth extends CardImpl { public KozilekButcherOfTruth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{10}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(12); this.toughness = new MageInt(12); diff --git a/Mage.Sets/src/mage/cards/k/KozilekTheGreatDistortion.java b/Mage.Sets/src/mage/cards/k/KozilekTheGreatDistortion.java index 0199eb3c183..31db10e3dc2 100644 --- a/Mage.Sets/src/mage/cards/k/KozilekTheGreatDistortion.java +++ b/Mage.Sets/src/mage/cards/k/KozilekTheGreatDistortion.java @@ -45,6 +45,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.SuperType; @@ -68,7 +69,7 @@ public class KozilekTheGreatDistortion extends CardImpl { public KozilekTheGreatDistortion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{8}{C}{C}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(12); this.toughness = new MageInt(12); diff --git a/Mage.Sets/src/mage/cards/k/KozileksChanneler.java b/Mage.Sets/src/mage/cards/k/KozileksChanneler.java index 524067c19d6..f97c58e9eb9 100644 --- a/Mage.Sets/src/mage/cards/k/KozileksChanneler.java +++ b/Mage.Sets/src/mage/cards/k/KozileksChanneler.java @@ -35,6 +35,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class KozileksChanneler extends CardImpl { public KozileksChanneler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KozileksPathfinder.java b/Mage.Sets/src/mage/cards/k/KozileksPathfinder.java index 64c00254ee7..743231782cb 100644 --- a/Mage.Sets/src/mage/cards/k/KozileksPathfinder.java +++ b/Mage.Sets/src/mage/cards/k/KozileksPathfinder.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByTargetSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class KozileksPathfinder extends CardImpl { public KozileksPathfinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KozileksPredator.java b/Mage.Sets/src/mage/cards/k/KozileksPredator.java index be6f7725836..c7be307c3fe 100644 --- a/Mage.Sets/src/mage/cards/k/KozileksPredator.java +++ b/Mage.Sets/src/mage/cards/k/KozileksPredator.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.EldraziSpawnToken; /** @@ -45,8 +46,8 @@ public class KozileksPredator extends CardImpl { public KozileksPredator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KozileksSentinel.java b/Mage.Sets/src/mage/cards/k/KozileksSentinel.java index 1b81f01ed6d..2a7f269e631 100644 --- a/Mage.Sets/src/mage/cards/k/KozileksSentinel.java +++ b/Mage.Sets/src/mage/cards/k/KozileksSentinel.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorlessPredicate; @@ -53,8 +54,8 @@ public class KozileksSentinel extends CardImpl { public KozileksSentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KozileksShrieker.java b/Mage.Sets/src/mage/cards/k/KozileksShrieker.java index f951d92096b..ef2a66100c4 100644 --- a/Mage.Sets/src/mage/cards/k/KozileksShrieker.java +++ b/Mage.Sets/src/mage/cards/k/KozileksShrieker.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class KozileksShrieker extends CardImpl { public KozileksShrieker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KozileksTranslator.java b/Mage.Sets/src/mage/cards/k/KozileksTranslator.java index 2aff4e0f047..d13fb7d652b 100644 --- a/Mage.Sets/src/mage/cards/k/KozileksTranslator.java +++ b/Mage.Sets/src/mage/cards/k/KozileksTranslator.java @@ -37,6 +37,7 @@ import mage.abilities.mana.ActivateOncePerTurnManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class KozileksTranslator extends CardImpl { public KozileksTranslator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KragmaButcher.java b/Mage.Sets/src/mage/cards/k/KragmaButcher.java index 9a3d2a775a9..bae2fbb1134 100644 --- a/Mage.Sets/src/mage/cards/k/KragmaButcher.java +++ b/Mage.Sets/src/mage/cards/k/KragmaButcher.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.InspiredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class KragmaButcher extends CardImpl { public KragmaButcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KragmaWarcaller.java b/Mage.Sets/src/mage/cards/k/KragmaWarcaller.java index 9a1b09b2e16..75966a015da 100644 --- a/Mage.Sets/src/mage/cards/k/KragmaWarcaller.java +++ b/Mage.Sets/src/mage/cards/k/KragmaWarcaller.java @@ -58,8 +58,8 @@ public class KragmaWarcaller extends CardImpl { public KragmaWarcaller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KrakenHatchling.java b/Mage.Sets/src/mage/cards/k/KrakenHatchling.java index db5850fab0a..d6e4663d7e3 100644 --- a/Mage.Sets/src/mage/cards/k/KrakenHatchling.java +++ b/Mage.Sets/src/mage/cards/k/KrakenHatchling.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class KrakenHatchling extends CardImpl { public KrakenHatchling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Kraken"); + this.subtype.add(SubType.KRAKEN); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KrakenOfTheStraits.java b/Mage.Sets/src/mage/cards/k/KrakenOfTheStraits.java index d7939796e55..bfaffa6121e 100644 --- a/Mage.Sets/src/mage/cards/k/KrakenOfTheStraits.java +++ b/Mage.Sets/src/mage/cards/k/KrakenOfTheStraits.java @@ -53,7 +53,7 @@ public class KrakenOfTheStraits extends CardImpl { public KrakenOfTheStraits(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Kraken"); + this.subtype.add(SubType.KRAKEN); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/k/Krakilin.java b/Mage.Sets/src/mage/cards/k/Krakilin.java index 04892f7cb71..e7ea1123b1c 100644 --- a/Mage.Sets/src/mage/cards/k/Krakilin.java +++ b/Mage.Sets/src/mage/cards/k/Krakilin.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -48,7 +49,7 @@ public class Krakilin extends CardImpl { public Krakilin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{X}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/k/KrallenhordeHowler.java b/Mage.Sets/src/mage/cards/k/KrallenhordeHowler.java index e144f17d23d..d47960b3583 100644 --- a/Mage.Sets/src/mage/cards/k/KrallenhordeHowler.java +++ b/Mage.Sets/src/mage/cards/k/KrallenhordeHowler.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterCard; @@ -60,7 +61,7 @@ public class KrallenhordeHowler extends CardImpl { public KrallenhordeHowler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(3); this.toughness = new MageInt(3); this.color.setGreen(true); diff --git a/Mage.Sets/src/mage/cards/k/KrallenhordeKiller.java b/Mage.Sets/src/mage/cards/k/KrallenhordeKiller.java index 8d8795bef03..d3d5eb34700 100644 --- a/Mage.Sets/src/mage/cards/k/KrallenhordeKiller.java +++ b/Mage.Sets/src/mage/cards/k/KrallenhordeKiller.java @@ -50,7 +50,7 @@ public class KrallenhordeKiller extends CardImpl { public KrallenhordeKiller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.color.setGreen(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KrallenhordeWantons.java b/Mage.Sets/src/mage/cards/k/KrallenhordeWantons.java index 6e1d20ed9aa..bf769ffb876 100644 --- a/Mage.Sets/src/mage/cards/k/KrallenhordeWantons.java +++ b/Mage.Sets/src/mage/cards/k/KrallenhordeWantons.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,7 +49,7 @@ public class KrallenhordeWantons extends CardImpl { public KrallenhordeWantons(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.color.setGreen(true); // this card is the second face of double-faced card diff --git a/Mage.Sets/src/mage/cards/k/Kranioceros.java b/Mage.Sets/src/mage/cards/k/Kranioceros.java index 8613a62fad0..9f03289ffc8 100644 --- a/Mage.Sets/src/mage/cards/k/Kranioceros.java +++ b/Mage.Sets/src/mage/cards/k/Kranioceros.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class Kranioceros extends CardImpl { public Kranioceros(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KrarkClanEngineers.java b/Mage.Sets/src/mage/cards/k/KrarkClanEngineers.java index 227b9e71c0a..49f64a4eb53 100644 --- a/Mage.Sets/src/mage/cards/k/KrarkClanEngineers.java +++ b/Mage.Sets/src/mage/cards/k/KrarkClanEngineers.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; import mage.target.common.TargetArtifactPermanent; @@ -50,8 +51,8 @@ public class KrarkClanEngineers extends CardImpl { public KrarkClanEngineers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KrarkClanGrunt.java b/Mage.Sets/src/mage/cards/k/KrarkClanGrunt.java index 34881aea4fa..2c448134443 100644 --- a/Mage.Sets/src/mage/cards/k/KrarkClanGrunt.java +++ b/Mage.Sets/src/mage/cards/k/KrarkClanGrunt.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -58,8 +59,8 @@ public class KrarkClanGrunt extends CardImpl { public KrarkClanGrunt(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KrarkClanOgre.java b/Mage.Sets/src/mage/cards/k/KrarkClanOgre.java index 69ed92cc267..868a0009039 100644 --- a/Mage.Sets/src/mage/cards/k/KrarkClanOgre.java +++ b/Mage.Sets/src/mage/cards/k/KrarkClanOgre.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.combat.CantBlockTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; @@ -51,7 +52,7 @@ public class KrarkClanOgre extends CardImpl { public KrarkClanOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.OGRE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KrarkClanShaman.java b/Mage.Sets/src/mage/cards/k/KrarkClanShaman.java index 3fa94ff7f13..b3f29c1107e 100644 --- a/Mage.Sets/src/mage/cards/k/KrarkClanShaman.java +++ b/Mage.Sets/src/mage/cards/k/KrarkClanShaman.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.common.FilterCreaturePermanent; @@ -60,8 +61,8 @@ public class KrarkClanShaman extends CardImpl { public KrarkClanShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KrarkClanStoker.java b/Mage.Sets/src/mage/cards/k/KrarkClanStoker.java index c4a3f6ebb56..8e5dadb7026 100644 --- a/Mage.Sets/src/mage/cards/k/KrarkClanStoker.java +++ b/Mage.Sets/src/mage/cards/k/KrarkClanStoker.java @@ -38,6 +38,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; import mage.target.common.TargetControlledPermanent; @@ -49,8 +50,8 @@ public class KrarkClanStoker extends CardImpl { public KrarkClanStoker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KrasisIncubation.java b/Mage.Sets/src/mage/cards/k/KrasisIncubation.java index ae0d8830497..eb7d2035ce6 100644 --- a/Mage.Sets/src/mage/cards/k/KrasisIncubation.java +++ b/Mage.Sets/src/mage/cards/k/KrasisIncubation.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -53,7 +54,7 @@ public class KrasisIncubation extends CardImpl { public KrasisIncubation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/k/KraulWarrior.java b/Mage.Sets/src/mage/cards/k/KraulWarrior.java index edeba3cfc45..fab7a541dd4 100644 --- a/Mage.Sets/src/mage/cards/k/KraulWarrior.java +++ b/Mage.Sets/src/mage/cards/k/KraulWarrior.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class KraulWarrior extends CardImpl { public KraulWarrior (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Insect"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KraumLudevicsOpus.java b/Mage.Sets/src/mage/cards/k/KraumLudevicsOpus.java index 25bb1b5c1e4..bc35b0ed996 100644 --- a/Mage.Sets/src/mage/cards/k/KraumLudevicsOpus.java +++ b/Mage.Sets/src/mage/cards/k/KraumLudevicsOpus.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.PartnerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.game.Game; @@ -54,8 +55,8 @@ public class KraumLudevicsOpus extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KrenkoMobBoss.java b/Mage.Sets/src/mage/cards/k/KrenkoMobBoss.java index 97dfea1732b..835c919e169 100644 --- a/Mage.Sets/src/mage/cards/k/KrenkoMobBoss.java +++ b/Mage.Sets/src/mage/cards/k/KrenkoMobBoss.java @@ -58,8 +58,8 @@ public class KrenkoMobBoss extends CardImpl { public KrenkoMobBoss(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KrenkosEnforcer.java b/Mage.Sets/src/mage/cards/k/KrenkosEnforcer.java index e449aa9681b..de9bec86994 100644 --- a/Mage.Sets/src/mage/cards/k/KrenkosEnforcer.java +++ b/Mage.Sets/src/mage/cards/k/KrenkosEnforcer.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class KrenkosEnforcer extends CardImpl { public KrenkosEnforcer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KreshTheBloodbraided.java b/Mage.Sets/src/mage/cards/k/KreshTheBloodbraided.java index f10734e0360..22bf665e988 100644 --- a/Mage.Sets/src/mage/cards/k/KreshTheBloodbraided.java +++ b/Mage.Sets/src/mage/cards/k/KreshTheBloodbraided.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class KreshTheBloodbraided extends CardImpl { public KreshTheBloodbraided(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KrisMage.java b/Mage.Sets/src/mage/cards/k/KrisMage.java index 24a199a2646..b68c394a9fd 100644 --- a/Mage.Sets/src/mage/cards/k/KrisMage.java +++ b/Mage.Sets/src/mage/cards/k/KrisMage.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -49,8 +50,8 @@ public class KrisMage extends CardImpl { public KrisMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KrondTheDawnClad.java b/Mage.Sets/src/mage/cards/k/KrondTheDawnClad.java index e8765707fd1..2f581caa992 100644 --- a/Mage.Sets/src/mage/cards/k/KrondTheDawnClad.java +++ b/Mage.Sets/src/mage/cards/k/KrondTheDawnClad.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class KrondTheDawnClad extends CardImpl { public KrondTheDawnClad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}{G}{W}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Archon"); + this.subtype.add(SubType.ARCHON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/k/KrosanArcher.java b/Mage.Sets/src/mage/cards/k/KrosanArcher.java index f45ee825034..6067977d1f5 100644 --- a/Mage.Sets/src/mage/cards/k/KrosanArcher.java +++ b/Mage.Sets/src/mage/cards/k/KrosanArcher.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class KrosanArcher extends CardImpl { public KrosanArcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Archer"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KrosanAvenger.java b/Mage.Sets/src/mage/cards/k/KrosanAvenger.java index 569843340d2..e73922a908c 100644 --- a/Mage.Sets/src/mage/cards/k/KrosanAvenger.java +++ b/Mage.Sets/src/mage/cards/k/KrosanAvenger.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,8 +50,8 @@ public class KrosanAvenger extends CardImpl { public KrosanAvenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KrosanBeast.java b/Mage.Sets/src/mage/cards/k/KrosanBeast.java index 87a035e9a31..e9b4631037e 100644 --- a/Mage.Sets/src/mage/cards/k/KrosanBeast.java +++ b/Mage.Sets/src/mage/cards/k/KrosanBeast.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class KrosanBeast extends CardImpl { public KrosanBeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Squirrel"); - this.subtype.add("Beast"); + this.subtype.add(SubType.SQUIRREL); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KrosanCloudscraper.java b/Mage.Sets/src/mage/cards/k/KrosanCloudscraper.java index c7c9480bac3..987ffb97d90 100644 --- a/Mage.Sets/src/mage/cards/k/KrosanCloudscraper.java +++ b/Mage.Sets/src/mage/cards/k/KrosanCloudscraper.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -46,8 +47,8 @@ public class KrosanCloudscraper extends CardImpl { public KrosanCloudscraper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{7}{G}{G}{G}"); - this.subtype.add("Beast"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.BEAST); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(13); this.toughness = new MageInt(13); diff --git a/Mage.Sets/src/mage/cards/k/KrosanColossus.java b/Mage.Sets/src/mage/cards/k/KrosanColossus.java index d1039d154e8..eef57eca2ca 100644 --- a/Mage.Sets/src/mage/cards/k/KrosanColossus.java +++ b/Mage.Sets/src/mage/cards/k/KrosanColossus.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class KrosanColossus extends CardImpl { public KrosanColossus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(9); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/k/KrosanConstrictor.java b/Mage.Sets/src/mage/cards/k/KrosanConstrictor.java index 2d009d451de..4760153f6da 100644 --- a/Mage.Sets/src/mage/cards/k/KrosanConstrictor.java +++ b/Mage.Sets/src/mage/cards/k/KrosanConstrictor.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -58,7 +59,7 @@ public class KrosanConstrictor extends CardImpl { public KrosanConstrictor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KrosanDrover.java b/Mage.Sets/src/mage/cards/k/KrosanDrover.java index 220bed9328a..b8237a2bebd 100644 --- a/Mage.Sets/src/mage/cards/k/KrosanDrover.java +++ b/Mage.Sets/src/mage/cards/k/KrosanDrover.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.FilterCard; @@ -55,7 +56,7 @@ public class KrosanDrover extends CardImpl { public KrosanDrover(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KrosanGroundshaker.java b/Mage.Sets/src/mage/cards/k/KrosanGroundshaker.java index bff9e2b0f6a..f9f5c6acbb6 100644 --- a/Mage.Sets/src/mage/cards/k/KrosanGroundshaker.java +++ b/Mage.Sets/src/mage/cards/k/KrosanGroundshaker.java @@ -58,7 +58,7 @@ public class KrosanGroundshaker extends CardImpl { public KrosanGroundshaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/k/KrosanRestorer.java b/Mage.Sets/src/mage/cards/k/KrosanRestorer.java index 99a56b48947..c70b9eff3f8 100644 --- a/Mage.Sets/src/mage/cards/k/KrosanRestorer.java +++ b/Mage.Sets/src/mage/cards/k/KrosanRestorer.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; import mage.target.common.TargetLandPermanent; @@ -51,8 +52,8 @@ public class KrosanRestorer extends CardImpl { public KrosanRestorer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KrosanTusker.java b/Mage.Sets/src/mage/cards/k/KrosanTusker.java index ab6605f75b9..8bfa0b8f7ad 100644 --- a/Mage.Sets/src/mage/cards/k/KrosanTusker.java +++ b/Mage.Sets/src/mage/cards/k/KrosanTusker.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.filter.common.FilterBasicLandCard; import mage.target.common.TargetCardInLibrary; @@ -48,8 +49,8 @@ public class KrosanTusker extends CardImpl { public KrosanTusker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Boar"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BOAR); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KrosanVorine.java b/Mage.Sets/src/mage/cards/k/KrosanVorine.java index 2417139768f..2caacffd4a6 100644 --- a/Mage.Sets/src/mage/cards/k/KrosanVorine.java +++ b/Mage.Sets/src/mage/cards/k/KrosanVorine.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class KrosanVorine extends CardImpl { public KrosanVorine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Cat"); - this.subtype.add("Beast"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KrosanWarchief.java b/Mage.Sets/src/mage/cards/k/KrosanWarchief.java index 7e7a8c66ad3..cd69b12c51d 100644 --- a/Mage.Sets/src/mage/cards/k/KrosanWarchief.java +++ b/Mage.Sets/src/mage/cards/k/KrosanWarchief.java @@ -61,7 +61,7 @@ public class KrosanWarchief extends CardImpl { public KrosanWarchief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KrosanWayfarer.java b/Mage.Sets/src/mage/cards/k/KrosanWayfarer.java index 0faba446263..2d8ff4b3916 100644 --- a/Mage.Sets/src/mage/cards/k/KrosanWayfarer.java +++ b/Mage.Sets/src/mage/cards/k/KrosanWayfarer.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PutLandFromHandOntoBattlefieldEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class KrosanWayfarer extends CardImpl { public KrosanWayfarer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KrovikanFetish.java b/Mage.Sets/src/mage/cards/k/KrovikanFetish.java index b769ab61048..16f946c035e 100644 --- a/Mage.Sets/src/mage/cards/k/KrovikanFetish.java +++ b/Mage.Sets/src/mage/cards/k/KrovikanFetish.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class KrovikanFetish extends CardImpl { public KrovikanFetish(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/k/KrovikanMist.java b/Mage.Sets/src/mage/cards/k/KrovikanMist.java index 17b9c8f116c..3cd681609cf 100644 --- a/Mage.Sets/src/mage/cards/k/KrovikanMist.java +++ b/Mage.Sets/src/mage/cards/k/KrovikanMist.java @@ -56,7 +56,7 @@ public class KrovikanMist extends CardImpl { public KrovikanMist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/k/KrovikanScoundrel.java b/Mage.Sets/src/mage/cards/k/KrovikanScoundrel.java index f16482c892b..9c3799b6f39 100644 --- a/Mage.Sets/src/mage/cards/k/KrovikanScoundrel.java +++ b/Mage.Sets/src/mage/cards/k/KrovikanScoundrel.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class KrovikanScoundrel extends CardImpl { public KrovikanScoundrel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KrovikanSorcerer.java b/Mage.Sets/src/mage/cards/k/KrovikanSorcerer.java index c4135aeb14e..e950d3a0584 100644 --- a/Mage.Sets/src/mage/cards/k/KrovikanSorcerer.java +++ b/Mage.Sets/src/mage/cards/k/KrovikanSorcerer.java @@ -42,6 +42,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -67,8 +68,8 @@ public class KrovikanSorcerer extends CardImpl { public KrovikanSorcerer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KruinOutlaw.java b/Mage.Sets/src/mage/cards/k/KruinOutlaw.java index 85c22f56c17..2a6b12b34ae 100644 --- a/Mage.Sets/src/mage/cards/k/KruinOutlaw.java +++ b/Mage.Sets/src/mage/cards/k/KruinOutlaw.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.t.TerrorOfKruinPass; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -50,9 +51,9 @@ public class KruinOutlaw extends CardImpl { public KruinOutlaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); + this.subtype.add(SubType.WEREWOLF); this.transformable = true; this.secondSideCardClazz = TerrorOfKruinPass.class; diff --git a/Mage.Sets/src/mage/cards/k/KruinStriker.java b/Mage.Sets/src/mage/cards/k/KruinStriker.java index 10455961b72..e93d5ca133e 100644 --- a/Mage.Sets/src/mage/cards/k/KruinStriker.java +++ b/Mage.Sets/src/mage/cards/k/KruinStriker.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; @@ -48,8 +49,8 @@ public class KruinStriker extends CardImpl { public KruinStriker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KrumarBondKin.java b/Mage.Sets/src/mage/cards/k/KrumarBondKin.java index c090e8a203a..3712a5ea94f 100644 --- a/Mage.Sets/src/mage/cards/k/KrumarBondKin.java +++ b/Mage.Sets/src/mage/cards/k/KrumarBondKin.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class KrumarBondKin extends CardImpl { public KrumarBondKin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Orc"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KruphixGodOfHorizons.java b/Mage.Sets/src/mage/cards/k/KruphixGodOfHorizons.java index 41b6e064955..c2cd7c15a77 100644 --- a/Mage.Sets/src/mage/cards/k/KruphixGodOfHorizons.java +++ b/Mage.Sets/src/mage/cards/k/KruphixGodOfHorizons.java @@ -52,7 +52,7 @@ public class KruphixGodOfHorizons extends CardImpl { public KruphixGodOfHorizons(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{3}{G}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(4); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/k/Kudzu.java b/Mage.Sets/src/mage/cards/k/Kudzu.java index 8223cc6c1f8..d15fb7dda08 100644 --- a/Mage.Sets/src/mage/cards/k/Kudzu.java +++ b/Mage.Sets/src/mage/cards/k/Kudzu.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.Filter; @@ -56,7 +57,7 @@ public class Kudzu extends CardImpl { public Kudzu(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{G}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/k/KujarSeedsculptor.java b/Mage.Sets/src/mage/cards/k/KujarSeedsculptor.java index 03112a29c4d..2f5a31646fc 100644 --- a/Mage.Sets/src/mage/cards/k/KujarSeedsculptor.java +++ b/Mage.Sets/src/mage/cards/k/KujarSeedsculptor.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetControlledCreaturePermanent; @@ -46,8 +47,8 @@ public class KujarSeedsculptor extends CardImpl { public KujarSeedsculptor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/k/KukemssaSerpent.java b/Mage.Sets/src/mage/cards/k/KukemssaSerpent.java index 58a3669f2e3..510632ae0b4 100644 --- a/Mage.Sets/src/mage/cards/k/KukemssaSerpent.java +++ b/Mage.Sets/src/mage/cards/k/KukemssaSerpent.java @@ -65,7 +65,7 @@ public class KukemssaSerpent extends CardImpl { public KukemssaSerpent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KuldothaFlamefiend.java b/Mage.Sets/src/mage/cards/k/KuldothaFlamefiend.java index 69f140b0edd..4559c938128 100644 --- a/Mage.Sets/src/mage/cards/k/KuldothaFlamefiend.java +++ b/Mage.Sets/src/mage/cards/k/KuldothaFlamefiend.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DoIfCostPaid; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledArtifactPermanent; import mage.target.common.TargetControlledPermanent; import mage.target.common.TargetCreatureOrPlayerAmount; @@ -48,7 +49,7 @@ public class KuldothaFlamefiend extends CardImpl { public KuldothaFlamefiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KuldothaForgemaster.java b/Mage.Sets/src/mage/cards/k/KuldothaForgemaster.java index 3d28603ef67..3de628d96b3 100644 --- a/Mage.Sets/src/mage/cards/k/KuldothaForgemaster.java +++ b/Mage.Sets/src/mage/cards/k/KuldothaForgemaster.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterArtifactCard; import mage.filter.common.FilterControlledArtifactPermanent; @@ -50,7 +51,7 @@ public class KuldothaForgemaster extends CardImpl { public KuldothaForgemaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{5}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/k/KuldothaPhoenix.java b/Mage.Sets/src/mage/cards/k/KuldothaPhoenix.java index 2300c3d8840..f75373f3ecc 100644 --- a/Mage.Sets/src/mage/cards/k/KuldothaPhoenix.java +++ b/Mage.Sets/src/mage/cards/k/KuldothaPhoenix.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class KuldothaPhoenix extends CardImpl { public KuldothaPhoenix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}{R}"); - this.subtype.add("Phoenix"); + this.subtype.add(SubType.PHOENIX); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KuldothaRingleader.java b/Mage.Sets/src/mage/cards/k/KuldothaRingleader.java index dbb17749073..a3402a1df2a 100644 --- a/Mage.Sets/src/mage/cards/k/KuldothaRingleader.java +++ b/Mage.Sets/src/mage/cards/k/KuldothaRingleader.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.BattleCryAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class KuldothaRingleader extends CardImpl { public KuldothaRingleader (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KulrathKnight.java b/Mage.Sets/src/mage/cards/k/KulrathKnight.java index 78c5e2aeeba..134d82686f1 100644 --- a/Mage.Sets/src/mage/cards/k/KulrathKnight.java +++ b/Mage.Sets/src/mage/cards/k/KulrathKnight.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class KulrathKnight extends CardImpl { public KulrathKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B/R}{B/R}"); - this.subtype.add("Elemental"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KumanoMasterYamabushi.java b/Mage.Sets/src/mage/cards/k/KumanoMasterYamabushi.java index 949b5bb379e..4149e6e6055 100644 --- a/Mage.Sets/src/mage/cards/k/KumanoMasterYamabushi.java +++ b/Mage.Sets/src/mage/cards/k/KumanoMasterYamabushi.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.replacement.DealtDamageToCreatureBySourceDi import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class KumanoMasterYamabushi extends CardImpl { public KumanoMasterYamabushi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KumanosBlessing.java b/Mage.Sets/src/mage/cards/k/KumanosBlessing.java index 08a1365722e..9f28b29f3bd 100644 --- a/Mage.Sets/src/mage/cards/k/KumanosBlessing.java +++ b/Mage.Sets/src/mage/cards/k/KumanosBlessing.java @@ -59,7 +59,7 @@ public class KumanosBlessing extends CardImpl { public KumanosBlessing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/k/KumanosPupils.java b/Mage.Sets/src/mage/cards/k/KumanosPupils.java index d6935099130..9f58cf9a744 100644 --- a/Mage.Sets/src/mage/cards/k/KumanosPupils.java +++ b/Mage.Sets/src/mage/cards/k/KumanosPupils.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.replacement.DealtDamageToCreatureBySourceDi import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.watchers.common.DamagedByWatcher; @@ -46,8 +47,8 @@ public class KumanosPupils extends CardImpl { public KumanosPupils(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KumenasSpeaker.java b/Mage.Sets/src/mage/cards/k/KumenasSpeaker.java index a6eeff50fc4..1174fba6aaa 100644 --- a/Mage.Sets/src/mage/cards/k/KumenasSpeaker.java +++ b/Mage.Sets/src/mage/cards/k/KumenasSpeaker.java @@ -62,7 +62,7 @@ public class KumenasSpeaker extends CardImpl { public KumenasSpeaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KuonOgreAscendant.java b/Mage.Sets/src/mage/cards/k/KuonOgreAscendant.java index 5c6a9dc3d7a..7fdffcc0f21 100644 --- a/Mage.Sets/src/mage/cards/k/KuonOgreAscendant.java +++ b/Mage.Sets/src/mage/cards/k/KuonOgreAscendant.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.SacrificeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class KuonOgreAscendant extends CardImpl { public KuonOgreAscendant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Ogre"); - this.subtype.add("Monk"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/Kurgadon.java b/Mage.Sets/src/mage/cards/k/Kurgadon.java index 629c3e5df44..dd8f6954b80 100644 --- a/Mage.Sets/src/mage/cards/k/Kurgadon.java +++ b/Mage.Sets/src/mage/cards/k/Kurgadon.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.counters.CounterType; import mage.filter.FilterSpell; @@ -55,7 +56,7 @@ public class Kurgadon extends CardImpl { public Kurgadon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KurkeshOnakkeAncient.java b/Mage.Sets/src/mage/cards/k/KurkeshOnakkeAncient.java index c442b243ead..5178e6ba44c 100644 --- a/Mage.Sets/src/mage/cards/k/KurkeshOnakkeAncient.java +++ b/Mage.Sets/src/mage/cards/k/KurkeshOnakkeAncient.java @@ -55,8 +55,8 @@ public class KurkeshOnakkeAncient extends CardImpl { public KurkeshOnakkeAncient(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Ogre"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KuroPitlord.java b/Mage.Sets/src/mage/cards/k/KuroPitlord.java index 84d979a3bd2..d4bddfa72a6 100644 --- a/Mage.Sets/src/mage/cards/k/KuroPitlord.java +++ b/Mage.Sets/src/mage/cards/k/KuroPitlord.java @@ -50,8 +50,8 @@ public class KuroPitlord extends CardImpl { public KuroPitlord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{B}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DEMON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(9); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/k/KurosTaken.java b/Mage.Sets/src/mage/cards/k/KurosTaken.java index 563835836bb..3940c781e85 100644 --- a/Mage.Sets/src/mage/cards/k/KurosTaken.java +++ b/Mage.Sets/src/mage/cards/k/KurosTaken.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.BushidoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class KurosTaken extends CardImpl { public KurosTaken(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Rat"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KusariGama.java b/Mage.Sets/src/mage/cards/k/KusariGama.java index 371718a1a28..201505ec31e 100644 --- a/Mage.Sets/src/mage/cards/k/KusariGama.java +++ b/Mage.Sets/src/mage/cards/k/KusariGama.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -61,7 +62,7 @@ public class KusariGama extends CardImpl { public KusariGama(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has "{2}: This creature gets +1/+0 until end of turn." Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new GenericManaCost(2)); diff --git a/Mage.Sets/src/mage/cards/k/KydeleChosenOfKruphix.java b/Mage.Sets/src/mage/cards/k/KydeleChosenOfKruphix.java index 34469f43969..070b285878f 100644 --- a/Mage.Sets/src/mage/cards/k/KydeleChosenOfKruphix.java +++ b/Mage.Sets/src/mage/cards/k/KydeleChosenOfKruphix.java @@ -39,6 +39,7 @@ import mage.abilities.mana.DynamicManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.WatcherScope; import mage.game.Game; @@ -55,8 +56,8 @@ public class KydeleChosenOfKruphix extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/k/KynaiosAndTiroOfMeletis.java b/Mage.Sets/src/mage/cards/k/KynaiosAndTiroOfMeletis.java index 08e51eed354..4e09766c15f 100644 --- a/Mage.Sets/src/mage/cards/k/KynaiosAndTiroOfMeletis.java +++ b/Mage.Sets/src/mage/cards/k/KynaiosAndTiroOfMeletis.java @@ -57,8 +57,8 @@ public class KynaiosAndTiroOfMeletis extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{G}{W}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/k/KyokiSanitysEclipse.java b/Mage.Sets/src/mage/cards/k/KyokiSanitysEclipse.java index d6792cf09f1..1df990a5ad1 100644 --- a/Mage.Sets/src/mage/cards/k/KyokiSanitysEclipse.java +++ b/Mage.Sets/src/mage/cards/k/KyokiSanitysEclipse.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ExileFromZoneTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterCard; @@ -50,8 +51,8 @@ public class KyokiSanitysEclipse extends CardImpl { public KyokiSanitysEclipse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DEMON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/k/KyrenGlider.java b/Mage.Sets/src/mage/cards/k/KyrenGlider.java index d3835831984..6294c3b1c0b 100644 --- a/Mage.Sets/src/mage/cards/k/KyrenGlider.java +++ b/Mage.Sets/src/mage/cards/k/KyrenGlider.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author BursegSardaukar @@ -43,7 +44,7 @@ public class KyrenGlider extends CardImpl { public KyrenGlider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KyrenLegate.java b/Mage.Sets/src/mage/cards/k/KyrenLegate.java index 92378237c6e..40d81148abe 100644 --- a/Mage.Sets/src/mage/cards/k/KyrenLegate.java +++ b/Mage.Sets/src/mage/cards/k/KyrenLegate.java @@ -58,7 +58,7 @@ public class KyrenLegate extends CardImpl { public KyrenLegate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KyrenSniper.java b/Mage.Sets/src/mage/cards/k/KyrenSniper.java index fee38c93195..40a0d91f347 100644 --- a/Mage.Sets/src/mage/cards/k/KyrenSniper.java +++ b/Mage.Sets/src/mage/cards/k/KyrenSniper.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.target.TargetPlayer; @@ -45,7 +46,7 @@ public class KyrenSniper extends CardImpl { public KyrenSniper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KytheonHeroOfAkros.java b/Mage.Sets/src/mage/cards/k/KytheonHeroOfAkros.java index b96e21c5067..098a8013f0e 100644 --- a/Mage.Sets/src/mage/cards/k/KytheonHeroOfAkros.java +++ b/Mage.Sets/src/mage/cards/k/KytheonHeroOfAkros.java @@ -45,6 +45,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.g.GideonBattleForged; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -61,8 +62,8 @@ public class KytheonHeroOfAkros extends CardImpl { public KytheonHeroOfAkros(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/k/KytheonsIrregulars.java b/Mage.Sets/src/mage/cards/k/KytheonsIrregulars.java index 3b13f7f5f3d..1ce60661596 100644 --- a/Mage.Sets/src/mage/cards/k/KytheonsIrregulars.java +++ b/Mage.Sets/src/mage/cards/k/KytheonsIrregulars.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.RenownAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class KytheonsIrregulars extends CardImpl { public KytheonsIrregulars(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LAATGunship.java b/Mage.Sets/src/mage/cards/l/LAATGunship.java index 0010f381d40..34f7cccc31f 100644 --- a/Mage.Sets/src/mage/cards/l/LAATGunship.java +++ b/Mage.Sets/src/mage/cards/l/LAATGunship.java @@ -1,73 +1,74 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.l; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.ActivateAsSorceryActivatedAbility; -import mage.abilities.common.AttacksTriggeredAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; -import mage.abilities.keyword.SpaceflightAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.game.permanent.token.TrooperToken; - -/** - * - * @author Styxo - */ -public class LAATGunship extends CardImpl { - - public LAATGunship(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Starship"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - - // When LAAT Gunship attacks, create a 1/1 white Trooper creature token on to battlefield tapped and attacking. - this.addAbility(new AttacksTriggeredAbility(new CreateTokenEffect(new TrooperToken(), 1, true, true), false)); - - // {W}: LAAT Gunship gains spaceflight until the end of turn. Activate this ability only as a sorcery - this.addAbility(new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(SpaceflightAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{W}"))); - - } - - public LAATGunship(final LAATGunship card) { - super(card); - } - - @Override - public LAATGunship copy() { - return new LAATGunship(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.l; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.ActivateAsSorceryActivatedAbility; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.keyword.SpaceflightAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.game.permanent.token.TrooperToken; + +/** + * + * @author Styxo + */ +public class LAATGunship extends CardImpl { + + public LAATGunship(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}{W}"); + this.subtype.add(SubType.STARSHIP); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // When LAAT Gunship attacks, create a 1/1 white Trooper creature token on to battlefield tapped and attacking. + this.addAbility(new AttacksTriggeredAbility(new CreateTokenEffect(new TrooperToken(), 1, true, true), false)); + + // {W}: LAAT Gunship gains spaceflight until the end of turn. Activate this ability only as a sorcery + this.addAbility(new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(SpaceflightAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{W}"))); + + } + + public LAATGunship(final LAATGunship card) { + super(card); + } + + @Override + public LAATGunship copy() { + return new LAATGunship(this); + } +} diff --git a/Mage.Sets/src/mage/cards/l/LaboratoryBrute.java b/Mage.Sets/src/mage/cards/l/LaboratoryBrute.java index d42990d4497..d690c70db89 100644 --- a/Mage.Sets/src/mage/cards/l/LaboratoryBrute.java +++ b/Mage.Sets/src/mage/cards/l/LaboratoryBrute.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class LaboratoryBrute extends CardImpl { public LaboratoryBrute(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LaboratoryManiac.java b/Mage.Sets/src/mage/cards/l/LaboratoryManiac.java index c5d5fb87a95..e22b1910938 100644 --- a/Mage.Sets/src/mage/cards/l/LaboratoryManiac.java +++ b/Mage.Sets/src/mage/cards/l/LaboratoryManiac.java @@ -35,6 +35,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class LaboratoryManiac extends CardImpl { public LaboratoryManiac(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LabyrinthChampion.java b/Mage.Sets/src/mage/cards/l/LabyrinthChampion.java index ab9942d85a8..8c2f1461276 100644 --- a/Mage.Sets/src/mage/cards/l/LabyrinthChampion.java +++ b/Mage.Sets/src/mage/cards/l/LabyrinthChampion.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; /** @@ -45,8 +46,8 @@ public class LabyrinthChampion extends CardImpl { public LabyrinthChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LabyrinthGuardian.java b/Mage.Sets/src/mage/cards/l/LabyrinthGuardian.java index 54c6e27df66..819afa3c267 100644 --- a/Mage.Sets/src/mage/cards/l/LabyrinthGuardian.java +++ b/Mage.Sets/src/mage/cards/l/LabyrinthGuardian.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EmbalmAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -53,8 +54,8 @@ public class LabyrinthGuardian extends CardImpl { public LabyrinthGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Illusion"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ILLUSION); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LadyCaleria.java b/Mage.Sets/src/mage/cards/l/LadyCaleria.java index 4970b8154dc..fc5aa91a672 100644 --- a/Mage.Sets/src/mage/cards/l/LadyCaleria.java +++ b/Mage.Sets/src/mage/cards/l/LadyCaleria.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.target.common.TargetAttackingOrBlockingCreature; @@ -49,8 +50,8 @@ public class LadyCaleria extends CardImpl { public LadyCaleria(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/l/LadyEvangela.java b/Mage.Sets/src/mage/cards/l/LadyEvangela.java index a2f5d5d9fa0..d58acea8ae7 100644 --- a/Mage.Sets/src/mage/cards/l/LadyEvangela.java +++ b/Mage.Sets/src/mage/cards/l/LadyEvangela.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.PreventDamageByTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class LadyEvangela extends CardImpl { public LadyEvangela(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LadyOrca.java b/Mage.Sets/src/mage/cards/l/LadyOrca.java index 508beccf866..4844ebd5319 100644 --- a/Mage.Sets/src/mage/cards/l/LadyOrca.java +++ b/Mage.Sets/src/mage/cards/l/LadyOrca.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -43,7 +44,7 @@ public class LadyOrca extends CardImpl { public LadyOrca(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(7); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LadySun.java b/Mage.Sets/src/mage/cards/l/LadySun.java index d1e250b31bb..25643ba4cdc 100644 --- a/Mage.Sets/src/mage/cards/l/LadySun.java +++ b/Mage.Sets/src/mage/cards/l/LadySun.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -59,8 +60,8 @@ public class LadySun extends CardImpl { public LadySun(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LadyZhurongWarriorQueen.java b/Mage.Sets/src/mage/cards/l/LadyZhurongWarriorQueen.java index 066e7133a3e..b50046a68a2 100644 --- a/Mage.Sets/src/mage/cards/l/LadyZhurongWarriorQueen.java +++ b/Mage.Sets/src/mage/cards/l/LadyZhurongWarriorQueen.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -44,9 +45,9 @@ public class LadyZhurongWarriorQueen extends CardImpl { public LadyZhurongWarriorQueen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LagacLizard.java b/Mage.Sets/src/mage/cards/l/LagacLizard.java index 7aff1444482..bdd86b56c2b 100644 --- a/Mage.Sets/src/mage/cards/l/LagacLizard.java +++ b/Mage.Sets/src/mage/cards/l/LagacLizard.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class LagacLizard extends CardImpl { public LagacLizard (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LagonnaBandElder.java b/Mage.Sets/src/mage/cards/l/LagonnaBandElder.java index cdb9b425e3d..17c73cc36eb 100644 --- a/Mage.Sets/src/mage/cards/l/LagonnaBandElder.java +++ b/Mage.Sets/src/mage/cards/l/LagonnaBandElder.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import java.util.UUID; @@ -47,8 +48,8 @@ public class LagonnaBandElder extends CardImpl { public LagonnaBandElder(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Centaur"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LagonnaBandTrailblazer.java b/Mage.Sets/src/mage/cards/l/LagonnaBandTrailblazer.java index 87f93f3fa4f..af66fb97138 100644 --- a/Mage.Sets/src/mage/cards/l/LagonnaBandTrailblazer.java +++ b/Mage.Sets/src/mage/cards/l/LagonnaBandTrailblazer.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -44,8 +45,8 @@ public class LagonnaBandTrailblazer extends CardImpl { public LagonnaBandTrailblazer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Centaur"); - this.subtype.add("Scout"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LairwatchGiant.java b/Mage.Sets/src/mage/cards/l/LairwatchGiant.java index aacddc2d9fa..b3c70d4e529 100644 --- a/Mage.Sets/src/mage/cards/l/LairwatchGiant.java +++ b/Mage.Sets/src/mage/cards/l/LairwatchGiant.java @@ -1,111 +1,112 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.l; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.combat.CanBlockAdditionalCreatureEffect; -import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; -import mage.abilities.keyword.FirstStrikeAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; -import mage.game.permanent.Permanent; - -/** - * - * @author Styxo - */ -public class LairwatchGiant extends CardImpl { - - public LairwatchGiant(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}"); - - this.subtype.add("Giant"); - this.subtype.add("Warrior"); - this.power = new MageInt(5); - this.toughness = new MageInt(3); - - // Lairwatch Giant can block an additional creature each combat. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CanBlockAdditionalCreatureEffect(1))); - - // Whenever Lairwatch Giant blocks two or more creatures, it gains first strike until end of turn. - this.addAbility(new LairwatchGiantTriggeredAbility()); - - } - - public LairwatchGiant(final LairwatchGiant card) { - super(card); - } - - @Override - public LairwatchGiant copy() { - return new LairwatchGiant(this); - } -} - -class LairwatchGiantTriggeredAbility extends TriggeredAbilityImpl { - - LairwatchGiantTriggeredAbility() { - super(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance())); - } - - LairwatchGiantTriggeredAbility(final LairwatchGiantTriggeredAbility ability) { - super(ability); - } - - @Override - public LairwatchGiantTriggeredAbility copy() { - return new LairwatchGiantTriggeredAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == EventType.DECLARED_BLOCKERS; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - Permanent permanent = game.getPermanent((this.getSourceId())); - if (permanent != null) { - return permanent.getBlocking() > 1; - } - return false; - } - - @Override - public String getRule() { - return "Whenever Lairwatch Giant blocks two or more creatures, it gains first strike until end of turn."; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.l; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.combat.CanBlockAdditionalCreatureEffect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.game.permanent.Permanent; + +/** + * + * @author Styxo + */ +public class LairwatchGiant extends CardImpl { + + public LairwatchGiant(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}"); + + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(5); + this.toughness = new MageInt(3); + + // Lairwatch Giant can block an additional creature each combat. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CanBlockAdditionalCreatureEffect(1))); + + // Whenever Lairwatch Giant blocks two or more creatures, it gains first strike until end of turn. + this.addAbility(new LairwatchGiantTriggeredAbility()); + + } + + public LairwatchGiant(final LairwatchGiant card) { + super(card); + } + + @Override + public LairwatchGiant copy() { + return new LairwatchGiant(this); + } +} + +class LairwatchGiantTriggeredAbility extends TriggeredAbilityImpl { + + LairwatchGiantTriggeredAbility() { + super(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance())); + } + + LairwatchGiantTriggeredAbility(final LairwatchGiantTriggeredAbility ability) { + super(ability); + } + + @Override + public LairwatchGiantTriggeredAbility copy() { + return new LairwatchGiantTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == EventType.DECLARED_BLOCKERS; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + Permanent permanent = game.getPermanent((this.getSourceId())); + if (permanent != null) { + return permanent.getBlocking() > 1; + } + return false; + } + + @Override + public String getRule() { + return "Whenever Lairwatch Giant blocks two or more creatures, it gains first strike until end of turn."; + } +} diff --git a/Mage.Sets/src/mage/cards/l/LambholtButcher.java b/Mage.Sets/src/mage/cards/l/LambholtButcher.java index b99a48a9ff9..70d5cc8998f 100644 --- a/Mage.Sets/src/mage/cards/l/LambholtButcher.java +++ b/Mage.Sets/src/mage/cards/l/LambholtButcher.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,7 +49,7 @@ public class LambholtButcher extends CardImpl { public LambholtButcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(4); this.toughness = new MageInt(4); this.color.setGreen(true); diff --git a/Mage.Sets/src/mage/cards/l/LambholtElder.java b/Mage.Sets/src/mage/cards/l/LambholtElder.java index 998c380b5a5..62f8cc4b7ef 100644 --- a/Mage.Sets/src/mage/cards/l/LambholtElder.java +++ b/Mage.Sets/src/mage/cards/l/LambholtElder.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.s.SilverpeltWerewolf; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -49,8 +50,8 @@ public class LambholtElder extends CardImpl { public LambholtElder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LambholtPacifist.java b/Mage.Sets/src/mage/cards/l/LambholtPacifist.java index 73a1b32d9ad..5cbd8b807ad 100644 --- a/Mage.Sets/src/mage/cards/l/LambholtPacifist.java +++ b/Mage.Sets/src/mage/cards/l/LambholtPacifist.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.TargetController; @@ -58,9 +59,9 @@ public class LambholtPacifist extends CardImpl { public LambholtPacifist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LammastideWeave.java b/Mage.Sets/src/mage/cards/l/LammastideWeave.java index 9b822ebc989..afd8334d5d4 100644 --- a/Mage.Sets/src/mage/cards/l/LammastideWeave.java +++ b/Mage.Sets/src/mage/cards/l/LammastideWeave.java @@ -1,109 +1,109 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.l; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.effects.common.NameACardEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.game.Game; -import mage.players.Player; -import mage.target.TargetPlayer; - -/** - * - * @author Styxo - */ -public class LammastideWeave extends CardImpl { - - public LammastideWeave(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{G}"); - - // Name a card, then target player puts the top card of his or her library into his or her graveyard. If that card is the named card, you gain life equal to its converted mana cost. - this.getSpellAbility().addEffect(new NameACardEffect(NameACardEffect.TypeOfName.ALL)); - this.getSpellAbility().addEffect(new LammastideWeaveEffect()); - this.getSpellAbility().addTarget(new TargetPlayer()); - - // Draw a card. - this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); - - } - - public LammastideWeave(final LammastideWeave card) { - super(card); - } - - @Override - public LammastideWeave copy() { - return new LammastideWeave(this); - } -} - -class LammastideWeaveEffect extends OneShotEffect { - - public LammastideWeaveEffect() { - super(Outcome.DrawCard); - this.staticText = ", then target player puts the top card of his or her library into his or her graveyard. " - + "If that card is the named card, you gain life equal to its converted mana cost."; - } - - public LammastideWeaveEffect(final LammastideWeaveEffect effect) { - super(effect); - } - - @Override - public LammastideWeaveEffect copy() { - return new LammastideWeaveEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - Player targetPlayer = game.getPlayer(source.getFirstTarget()); - String cardName = (String) game.getState().getValue(source.getSourceId().toString() + NameACardEffect.INFO_KEY); - if (controller != null && targetPlayer != null && cardName != null && !cardName.isEmpty()) { - Card card = targetPlayer.getLibrary().getFromTop(game); - if (card != null) { - controller.moveCards(card, Zone.GRAVEYARD, source, game); - if (card.getName().equals(cardName)) { - controller.gainLife(card.getConvertedManaCost(), game); - } - } - return true; - } - return false; - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.l; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.NameACardEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.game.Game; +import mage.players.Player; +import mage.target.TargetPlayer; + +/** + * + * @author Styxo + */ +public class LammastideWeave extends CardImpl { + + public LammastideWeave(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{G}"); + + // Name a card, then target player puts the top card of his or her library into his or her graveyard. If that card is the named card, you gain life equal to its converted mana cost. + this.getSpellAbility().addEffect(new NameACardEffect(NameACardEffect.TypeOfName.ALL)); + this.getSpellAbility().addEffect(new LammastideWeaveEffect()); + this.getSpellAbility().addTarget(new TargetPlayer()); + + // Draw a card. + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); + + } + + public LammastideWeave(final LammastideWeave card) { + super(card); + } + + @Override + public LammastideWeave copy() { + return new LammastideWeave(this); + } +} + +class LammastideWeaveEffect extends OneShotEffect { + + public LammastideWeaveEffect() { + super(Outcome.DrawCard); + this.staticText = ", then target player puts the top card of his or her library into his or her graveyard. " + + "If that card is the named card, you gain life equal to its converted mana cost."; + } + + public LammastideWeaveEffect(final LammastideWeaveEffect effect) { + super(effect); + } + + @Override + public LammastideWeaveEffect copy() { + return new LammastideWeaveEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + Player targetPlayer = game.getPlayer(source.getFirstTarget()); + String cardName = (String) game.getState().getValue(source.getSourceId().toString() + NameACardEffect.INFO_KEY); + if (controller != null && targetPlayer != null && cardName != null && !cardName.isEmpty()) { + Card card = targetPlayer.getLibrary().getFromTop(game); + if (card != null) { + controller.moveCards(card, Zone.GRAVEYARD, source, game); + if (card.getName().equals(cardName)) { + controller.gainLife(card.getConvertedManaCost(), game); + } + } + return true; + } + return false; + } + +} diff --git a/Mage.Sets/src/mage/cards/l/LamplighterOfSelhoff.java b/Mage.Sets/src/mage/cards/l/LamplighterOfSelhoff.java index 5a572855b2a..e7fa70d4d46 100644 --- a/Mage.Sets/src/mage/cards/l/LamplighterOfSelhoff.java +++ b/Mage.Sets/src/mage/cards/l/LamplighterOfSelhoff.java @@ -58,8 +58,8 @@ public class LamplighterOfSelhoff extends CardImpl { public LamplighterOfSelhoff(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/l/Lance.java b/Mage.Sets/src/mage/cards/l/Lance.java index f0645e917e5..0679d9551bf 100644 --- a/Mage.Sets/src/mage/cards/l/Lance.java +++ b/Mage.Sets/src/mage/cards/l/Lance.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class Lance extends CardImpl { public Lance(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/l/LancersEnKor.java b/Mage.Sets/src/mage/cards/l/LancersEnKor.java index 9dcb5d2fb20..ef7c613d9c1 100644 --- a/Mage.Sets/src/mage/cards/l/LancersEnKor.java +++ b/Mage.Sets/src/mage/cards/l/LancersEnKor.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -49,8 +50,8 @@ public class LancersEnKor extends CardImpl { public LancersEnKor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LandLeeches.java b/Mage.Sets/src/mage/cards/l/LandLeeches.java index 82e29b1c3a0..113479378ec 100644 --- a/Mage.Sets/src/mage/cards/l/LandLeeches.java +++ b/Mage.Sets/src/mage/cards/l/LandLeeches.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class LandLeeches extends CardImpl { public LandLeeches(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Leech"); + this.subtype.add(SubType.LEECH); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LandoCalrissian.java b/Mage.Sets/src/mage/cards/l/LandoCalrissian.java index 36ca4e1b0a4..3742d8ed729 100644 --- a/Mage.Sets/src/mage/cards/l/LandoCalrissian.java +++ b/Mage.Sets/src/mage/cards/l/LandoCalrissian.java @@ -59,8 +59,8 @@ public class LandoCalrissian extends CardImpl { public LandoCalrissian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LanternKami.java b/Mage.Sets/src/mage/cards/l/LanternKami.java index 6a91fc32cdf..4f4ae65d97d 100644 --- a/Mage.Sets/src/mage/cards/l/LanternKami.java +++ b/Mage.Sets/src/mage/cards/l/LanternKami.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class LanternKami extends CardImpl { public LanternKami (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LanternScout.java b/Mage.Sets/src/mage/cards/l/LanternScout.java index 97e84b451ba..c46ca86e3dc 100644 --- a/Mage.Sets/src/mage/cards/l/LanternScout.java +++ b/Mage.Sets/src/mage/cards/l/LanternScout.java @@ -53,9 +53,9 @@ public class LanternScout extends CardImpl { public LanternScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); + this.subtype.add(SubType.ALLY); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LanternSpirit.java b/Mage.Sets/src/mage/cards/l/LanternSpirit.java index 26098d9317e..131a97a5320 100644 --- a/Mage.Sets/src/mage/cards/l/LanternSpirit.java +++ b/Mage.Sets/src/mage/cards/l/LanternSpirit.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class LanternSpirit extends CardImpl { public LanternSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LaquatussChampion.java b/Mage.Sets/src/mage/cards/l/LaquatussChampion.java index ea4d32094e7..0e91897a874 100644 --- a/Mage.Sets/src/mage/cards/l/LaquatussChampion.java +++ b/Mage.Sets/src/mage/cards/l/LaquatussChampion.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -58,8 +59,8 @@ public class LaquatussChampion extends CardImpl { public LaquatussChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Nightmare"); - this.subtype.add("Horror"); + this.subtype.add(SubType.NIGHTMARE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(6); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LashweedLurker.java b/Mage.Sets/src/mage/cards/l/LashweedLurker.java index 422708468b7..c09868b1082 100644 --- a/Mage.Sets/src/mage/cards/l/LashweedLurker.java +++ b/Mage.Sets/src/mage/cards/l/LashweedLurker.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EmergeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterNonlandPermanent; import mage.target.TargetPermanent; @@ -48,8 +49,8 @@ public class LashweedLurker extends CardImpl { public LashweedLurker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{8}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.HORROR); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/Lashwrithe.java b/Mage.Sets/src/mage/cards/l/Lashwrithe.java index 61c372969b5..3fb138d5f9e 100644 --- a/Mage.Sets/src/mage/cards/l/Lashwrithe.java +++ b/Mage.Sets/src/mage/cards/l/Lashwrithe.java @@ -56,7 +56,7 @@ public class Lashwrithe extends CardImpl { public Lashwrithe(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new LivingWeaponAbility()); PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter); diff --git a/Mage.Sets/src/mage/cards/l/LatchSeeker.java b/Mage.Sets/src/mage/cards/l/LatchSeeker.java index 99b8d76e7fb..56bba3577b9 100644 --- a/Mage.Sets/src/mage/cards/l/LatchSeeker.java +++ b/Mage.Sets/src/mage/cards/l/LatchSeeker.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class LatchSeeker extends CardImpl { public LatchSeeker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LatchkeyFaerie.java b/Mage.Sets/src/mage/cards/l/LatchkeyFaerie.java index f63d4274f5e..31fb055fd20 100644 --- a/Mage.Sets/src/mage/cards/l/LatchkeyFaerie.java +++ b/Mage.Sets/src/mage/cards/l/LatchkeyFaerie.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ProwlAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,8 +48,8 @@ public class LatchkeyFaerie extends CardImpl { public LatchkeyFaerie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LathnuHellion.java b/Mage.Sets/src/mage/cards/l/LathnuHellion.java index 6f28a49298c..8ad0b510791 100644 --- a/Mage.Sets/src/mage/cards/l/LathnuHellion.java +++ b/Mage.Sets/src/mage/cards/l/LathnuHellion.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -50,7 +51,7 @@ public class LathnuHellion extends CardImpl { public LathnuHellion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Hellion"); + this.subtype.add(SubType.HELLION); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LathnuSailback.java b/Mage.Sets/src/mage/cards/l/LathnuSailback.java index f9102c3bbf0..8f8a2e70dc2 100644 --- a/Mage.Sets/src/mage/cards/l/LathnuSailback.java +++ b/Mage.Sets/src/mage/cards/l/LathnuSailback.java @@ -1,58 +1,59 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.l; - -import java.util.UUID; -import mage.MageInt; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class LathnuSailback extends CardImpl { - - public LathnuSailback(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); - - this.subtype.add("Lizard"); - this.power = new MageInt(5); - this.toughness = new MageInt(4); - } - - public LathnuSailback(final LathnuSailback card) { - super(card); - } - - @Override - public LathnuSailback copy() { - return new LathnuSailback(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.l; + +import java.util.UUID; +import mage.MageInt; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author Styxo + */ +public class LathnuSailback extends CardImpl { + + public LathnuSailback(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); + + this.subtype.add(SubType.LIZARD); + this.power = new MageInt(5); + this.toughness = new MageInt(4); + } + + public LathnuSailback(final LathnuSailback card) { + super(card); + } + + @Override + public LathnuSailback copy() { + return new LathnuSailback(this); + } +} diff --git a/Mage.Sets/src/mage/cards/l/LatullaKeldonOverseer.java b/Mage.Sets/src/mage/cards/l/LatullaKeldonOverseer.java index 25cb74833b8..f68c9237923 100644 --- a/Mage.Sets/src/mage/cards/l/LatullaKeldonOverseer.java +++ b/Mage.Sets/src/mage/cards/l/LatullaKeldonOverseer.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterCard; @@ -54,8 +55,8 @@ public class LatullaKeldonOverseer extends CardImpl { public LatullaKeldonOverseer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/Launch.java b/Mage.Sets/src/mage/cards/l/Launch.java index afb74e894a5..dfd5e0e47e6 100644 --- a/Mage.Sets/src/mage/cards/l/Launch.java +++ b/Mage.Sets/src/mage/cards/l/Launch.java @@ -1,77 +1,78 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.l; - -import java.util.UUID; -import mage.abilities.common.PutIntoGraveFromBattlefieldSourceTriggeredAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.ReturnToHandSourceEffect; -import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; -import mage.abilities.keyword.EnchantAbility; -import mage.abilities.keyword.FlyingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.AttachmentType; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Derpthemeus - */ -public class Launch extends CardImpl { - - public Launch(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); - - // Enchant creature - TargetCreaturePermanent auraTarget = new TargetCreaturePermanent(); - this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); - this.addAbility(new EnchantAbility(auraTarget.getTargetName())); - // Enchanted creature has flying. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield))); - // When Launch is put into a graveyard from the battlefield, return Launch to its owner's hand. - this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility(new ReturnToHandSourceEffect())); - - } - - public Launch(final Launch card) { - super(card); - } - - @Override - public Launch copy() { - return new Launch(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.l; + +import java.util.UUID; +import mage.abilities.common.PutIntoGraveFromBattlefieldSourceTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.ReturnToHandSourceEffect; +import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Derpthemeus + */ +public class Launch extends CardImpl { + + public Launch(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); + this.subtype.add(SubType.AURA); + + // Enchant creature + TargetCreaturePermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + this.addAbility(new EnchantAbility(auraTarget.getTargetName())); + // Enchanted creature has flying. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA, Duration.WhileOnBattlefield))); + // When Launch is put into a graveyard from the battlefield, return Launch to its owner's hand. + this.addAbility(new PutIntoGraveFromBattlefieldSourceTriggeredAbility(new ReturnToHandSourceEffect())); + + } + + public Launch(final Launch card) { + super(card); + } + + @Override + public Launch copy() { + return new Launch(this); + } +} diff --git a/Mage.Sets/src/mage/cards/l/LavaBlister.java b/Mage.Sets/src/mage/cards/l/LavaBlister.java index d69aa24458f..f5130d1ff18 100644 --- a/Mage.Sets/src/mage/cards/l/LavaBlister.java +++ b/Mage.Sets/src/mage/cards/l/LavaBlister.java @@ -1,99 +1,99 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.l; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.common.TargetNonBasicLandPermanent; - -/** - * - * @author Styxo - */ -public class LavaBlister extends CardImpl { - - public LavaBlister(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{R}"); - - // Destroy target nonbasic land unless its controller has Lava Blister deal 6 damage to him or her. - this.getSpellAbility().addTarget(new TargetNonBasicLandPermanent()); - this.getSpellAbility().addEffect(new LavaBlisterEffect()); - } - - public LavaBlister(final LavaBlister card) { - super(card); - } - - @Override - public LavaBlister copy() { - return new LavaBlister(this); - } -} - -class LavaBlisterEffect extends OneShotEffect { - - public LavaBlisterEffect() { - super(Outcome.Detriment); - this.staticText = "Destroy target nonbasic land unless its controller has {this} deal 6 damage to him or her"; - } - - public LavaBlisterEffect(final LavaBlisterEffect effect) { - super(effect); - } - - @Override - public LavaBlisterEffect copy() { - return new LavaBlisterEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Permanent permanent = game.getPermanent(source.getFirstTarget()); - if (permanent != null) { - Player player = game.getPlayer(permanent.getControllerId()); - if (player != null) { - String message = "Have Lava Blister do 6 damage to you?"; - if (player.chooseUse(Outcome.Damage, message, source, game)) { - player.damage(6, source.getSourceId(), game, false, true); - } else { - permanent.destroy(source.getId(), game, false); - } - return true; - } - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.l; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetNonBasicLandPermanent; + +/** + * + * @author Styxo + */ +public class LavaBlister extends CardImpl { + + public LavaBlister(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{R}"); + + // Destroy target nonbasic land unless its controller has Lava Blister deal 6 damage to him or her. + this.getSpellAbility().addTarget(new TargetNonBasicLandPermanent()); + this.getSpellAbility().addEffect(new LavaBlisterEffect()); + } + + public LavaBlister(final LavaBlister card) { + super(card); + } + + @Override + public LavaBlister copy() { + return new LavaBlister(this); + } +} + +class LavaBlisterEffect extends OneShotEffect { + + public LavaBlisterEffect() { + super(Outcome.Detriment); + this.staticText = "Destroy target nonbasic land unless its controller has {this} deal 6 damage to him or her"; + } + + public LavaBlisterEffect(final LavaBlisterEffect effect) { + super(effect); + } + + @Override + public LavaBlisterEffect copy() { + return new LavaBlisterEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent permanent = game.getPermanent(source.getFirstTarget()); + if (permanent != null) { + Player player = game.getPlayer(permanent.getControllerId()); + if (player != null) { + String message = "Have Lava Blister do 6 damage to you?"; + if (player.chooseUse(Outcome.Damage, message, source, game)) { + player.damage(6, source.getSourceId(), game, false, true); + } else { + permanent.destroy(source.getId(), game, false); + } + return true; + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/l/LavaHounds.java b/Mage.Sets/src/mage/cards/l/LavaHounds.java index d30f829293c..f5ee035b66e 100644 --- a/Mage.Sets/src/mage/cards/l/LavaHounds.java +++ b/Mage.Sets/src/mage/cards/l/LavaHounds.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class LavaHounds extends CardImpl { public LavaHounds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LavaRunner.java b/Mage.Sets/src/mage/cards/l/LavaRunner.java index 4eb7fa2f23e..128ab9a560d 100644 --- a/Mage.Sets/src/mage/cards/l/LavaRunner.java +++ b/Mage.Sets/src/mage/cards/l/LavaRunner.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; import mage.game.Game; @@ -51,7 +52,7 @@ public class LavaRunner extends CardImpl { public LavaRunner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LavaSpike.java b/Mage.Sets/src/mage/cards/l/LavaSpike.java index 93ddc383308..acddcf89c46 100644 --- a/Mage.Sets/src/mage/cards/l/LavaSpike.java +++ b/Mage.Sets/src/mage/cards/l/LavaSpike.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -43,7 +44,7 @@ public class LavaSpike extends CardImpl { public LavaSpike (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{R}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); this.getSpellAbility().addTarget(new TargetPlayer()); this.getSpellAbility().addEffect(new DamageTargetEffect(3)); diff --git a/Mage.Sets/src/mage/cards/l/LavaZombie.java b/Mage.Sets/src/mage/cards/l/LavaZombie.java index 9996d7ccdf9..560484b26ef 100644 --- a/Mage.Sets/src/mage/cards/l/LavaZombie.java +++ b/Mage.Sets/src/mage/cards/l/LavaZombie.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -59,7 +60,7 @@ public class LavaZombie extends CardImpl { public LavaZombie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LavabornMuse.java b/Mage.Sets/src/mage/cards/l/LavabornMuse.java index 8adfb01b725..5e24a521657 100644 --- a/Mage.Sets/src/mage/cards/l/LavabornMuse.java +++ b/Mage.Sets/src/mage/cards/l/LavabornMuse.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; @@ -50,7 +51,7 @@ public class LavabornMuse extends CardImpl { public LavabornMuse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LavaclawReaches.java b/Mage.Sets/src/mage/cards/l/LavaclawReaches.java index 1559b2c0666..849faa0647a 100644 --- a/Mage.Sets/src/mage/cards/l/LavaclawReaches.java +++ b/Mage.Sets/src/mage/cards/l/LavaclawReaches.java @@ -41,6 +41,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -79,7 +80,7 @@ class LavaclawReachesToken extends Token { public LavaclawReachesToken() { super("", "2/2 black and red Elemental creature with \"{X}: This creature gets +X/+0 until end of turn.\""); cardType.add(CardType.CREATURE); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); color.setRed(true); color.setBlack(true); power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LavacoreElemental.java b/Mage.Sets/src/mage/cards/l/LavacoreElemental.java index d3d25efad1e..ad655f95007 100644 --- a/Mage.Sets/src/mage/cards/l/LavacoreElemental.java +++ b/Mage.Sets/src/mage/cards/l/LavacoreElemental.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.VanishingUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SetTargetPointer; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -51,7 +52,7 @@ public class LavacoreElemental extends CardImpl { public LavacoreElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LavafumeInvoker.java b/Mage.Sets/src/mage/cards/l/LavafumeInvoker.java index c2f931ac064..d17b802a35f 100644 --- a/Mage.Sets/src/mage/cards/l/LavafumeInvoker.java +++ b/Mage.Sets/src/mage/cards/l/LavafumeInvoker.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class LavafumeInvoker extends CardImpl { public LavafumeInvoker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LavamancersSkill.java b/Mage.Sets/src/mage/cards/l/LavamancersSkill.java index 974aa4c03eb..3905a7dc75e 100644 --- a/Mage.Sets/src/mage/cards/l/LavamancersSkill.java +++ b/Mage.Sets/src/mage/cards/l/LavamancersSkill.java @@ -54,7 +54,7 @@ public class LavamancersSkill extends CardImpl { public LavamancersSkill(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/l/LavastepRaider.java b/Mage.Sets/src/mage/cards/l/LavastepRaider.java index 10414cb034e..957e8c93c4c 100644 --- a/Mage.Sets/src/mage/cards/l/LavastepRaider.java +++ b/Mage.Sets/src/mage/cards/l/LavastepRaider.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class LavastepRaider extends CardImpl { public LavastepRaider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LaviniaOfTheTenth.java b/Mage.Sets/src/mage/cards/l/LaviniaOfTheTenth.java index 89e23f35151..01a3c04799b 100644 --- a/Mage.Sets/src/mage/cards/l/LaviniaOfTheTenth.java +++ b/Mage.Sets/src/mage/cards/l/LaviniaOfTheTenth.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.constants.TargetController; @@ -61,8 +62,8 @@ public class LaviniaOfTheTenth extends CardImpl { public LaviniaOfTheTenth (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{U}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.addSuperType(SuperType.LEGENDARY); diff --git a/Mage.Sets/src/mage/cards/l/Lawbringer.java b/Mage.Sets/src/mage/cards/l/Lawbringer.java index 66d6787f618..8c0fffa79af 100644 --- a/Mage.Sets/src/mage/cards/l/Lawbringer.java +++ b/Mage.Sets/src/mage/cards/l/Lawbringer.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,8 +58,8 @@ public class Lawbringer extends CardImpl { public Lawbringer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.REBEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LawlessBroker.java b/Mage.Sets/src/mage/cards/l/LawlessBroker.java index 9f73e828ebe..16c0ea911e8 100644 --- a/Mage.Sets/src/mage/cards/l/LawlessBroker.java +++ b/Mage.Sets/src/mage/cards/l/LawlessBroker.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetControlledCreaturePermanent; @@ -46,8 +47,8 @@ public class LawlessBroker extends CardImpl { public LawlessBroker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Aetherborn"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.AETHERBORN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LayClaim.java b/Mage.Sets/src/mage/cards/l/LayClaim.java index e77009d44f4..dd843b55e4b 100644 --- a/Mage.Sets/src/mage/cards/l/LayClaim.java +++ b/Mage.Sets/src/mage/cards/l/LayClaim.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class LayClaim extends CardImpl { public LayClaim(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{5}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant permanent TargetPermanent auraTarget = new TargetPermanent(); diff --git a/Mage.Sets/src/mage/cards/l/LazavDimirMastermind.java b/Mage.Sets/src/mage/cards/l/LazavDimirMastermind.java index 229874c009e..57176ba918e 100644 --- a/Mage.Sets/src/mage/cards/l/LazavDimirMastermind.java +++ b/Mage.Sets/src/mage/cards/l/LazavDimirMastermind.java @@ -56,7 +56,7 @@ public class LazavDimirMastermind extends CardImpl { public LazavDimirMastermind(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}{U}{B}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LeadGolem.java b/Mage.Sets/src/mage/cards/l/LeadGolem.java index f4b48102127..1bc33273abf 100644 --- a/Mage.Sets/src/mage/cards/l/LeadGolem.java +++ b/Mage.Sets/src/mage/cards/l/LeadGolem.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DontUntapInControllersNextUntapStepSourceEf import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class LeadGolem extends CardImpl { public LeadGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/l/LeadenFists.java b/Mage.Sets/src/mage/cards/l/LeadenFists.java index da36643b007..209051ae981 100644 --- a/Mage.Sets/src/mage/cards/l/LeadenFists.java +++ b/Mage.Sets/src/mage/cards/l/LeadenFists.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class LeadenFists extends CardImpl { public LeadenFists(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/l/LeadenMyr.java b/Mage.Sets/src/mage/cards/l/LeadenMyr.java index c32270a6af9..1bd9d44b92b 100644 --- a/Mage.Sets/src/mage/cards/l/LeadenMyr.java +++ b/Mage.Sets/src/mage/cards/l/LeadenMyr.java @@ -34,6 +34,7 @@ import mage.abilities.mana.BlackManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class LeadenMyr extends CardImpl { public LeadenMyr (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(new BlackManaAbility()); diff --git a/Mage.Sets/src/mage/cards/l/LeafCrownedElder.java b/Mage.Sets/src/mage/cards/l/LeafCrownedElder.java index 1ddaab53a32..0680363bb10 100644 --- a/Mage.Sets/src/mage/cards/l/LeafCrownedElder.java +++ b/Mage.Sets/src/mage/cards/l/LeafCrownedElder.java @@ -36,6 +36,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -48,8 +49,8 @@ public class LeafCrownedElder extends CardImpl { public LeafCrownedElder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/l/LeafDancer.java b/Mage.Sets/src/mage/cards/l/LeafDancer.java index fd352719916..6b41c5d50ff 100644 --- a/Mage.Sets/src/mage/cards/l/LeafDancer.java +++ b/Mage.Sets/src/mage/cards/l/LeafDancer.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class LeafDancer extends CardImpl { public LeafDancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Centaur"); + this.subtype.add(SubType.CENTAUR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LeafGilder.java b/Mage.Sets/src/mage/cards/l/LeafGilder.java index 639b4a2f1bf..201d5d5c080 100644 --- a/Mage.Sets/src/mage/cards/l/LeafGilder.java +++ b/Mage.Sets/src/mage/cards/l/LeafGilder.java @@ -33,6 +33,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class LeafGilder extends CardImpl { public LeafGilder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LeafcrownDryad.java b/Mage.Sets/src/mage/cards/l/LeafcrownDryad.java index 579df7ac547..c9368e54add 100644 --- a/Mage.Sets/src/mage/cards/l/LeafcrownDryad.java +++ b/Mage.Sets/src/mage/cards/l/LeafcrownDryad.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -50,8 +51,8 @@ public class LeafcrownDryad extends CardImpl { public LeafcrownDryad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{1}{G}"); - this.subtype.add("Nymph"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.NYMPH); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LeafdrakeRoost.java b/Mage.Sets/src/mage/cards/l/LeafdrakeRoost.java index 86011206de1..288bfb792a2 100644 --- a/Mage.Sets/src/mage/cards/l/LeafdrakeRoost.java +++ b/Mage.Sets/src/mage/cards/l/LeafdrakeRoost.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class LeafdrakeRoost extends CardImpl { public LeafdrakeRoost(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{G}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/l/LeapingLizard.java b/Mage.Sets/src/mage/cards/l/LeapingLizard.java index 0a420f58b7e..04d857dcce5 100644 --- a/Mage.Sets/src/mage/cards/l/LeapingLizard.java +++ b/Mage.Sets/src/mage/cards/l/LeapingLizard.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class LeapingLizard extends CardImpl { public LeapingLizard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LeapingMaster.java b/Mage.Sets/src/mage/cards/l/LeapingMaster.java index fb15d4e4255..1ec4f4c9f42 100644 --- a/Mage.Sets/src/mage/cards/l/LeapingMaster.java +++ b/Mage.Sets/src/mage/cards/l/LeapingMaster.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class LeapingMaster extends CardImpl { public LeapingMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/Leashling.java b/Mage.Sets/src/mage/cards/l/Leashling.java index 0dc1975c39a..7f9d242fe31 100644 --- a/Mage.Sets/src/mage/cards/l/Leashling.java +++ b/Mage.Sets/src/mage/cards/l/Leashling.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -53,7 +54,7 @@ public class Leashling extends CardImpl { public Leashling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LeatherbackBaloth.java b/Mage.Sets/src/mage/cards/l/LeatherbackBaloth.java index 2a29b093bfd..53206255677 100644 --- a/Mage.Sets/src/mage/cards/l/LeatherbackBaloth.java +++ b/Mage.Sets/src/mage/cards/l/LeatherbackBaloth.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class LeatherbackBaloth extends CardImpl { public LeatherbackBaloth (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/l/LeaveChance.java b/Mage.Sets/src/mage/cards/l/LeaveChance.java index 51998a2ae81..c90da7714b3 100644 --- a/Mage.Sets/src/mage/cards/l/LeaveChance.java +++ b/Mage.Sets/src/mage/cards/l/LeaveChance.java @@ -1,124 +1,124 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.l; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.ReturnToHandTargetEffect; -import mage.abilities.keyword.AftermathAbility; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.Cards; -import mage.cards.SplitCard; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.SpellAbilityType; -import mage.constants.TargetController; -import mage.filter.FilterCard; -import mage.filter.FilterPermanent; -import mage.filter.predicate.other.OwnerPredicate; -import mage.game.Game; -import mage.players.Player; -import mage.target.TargetCard; -import mage.target.TargetPermanent; -import mage.target.common.TargetCardInHand; - -/** - * - * @author LevelX2 - */ -public class LeaveChance extends SplitCard { - - public LeaveChance(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, new CardType[]{CardType.SORCERY}, "{1}{W}", "{3}{R}", SpellAbilityType.SPLIT_AFTERMATH); - - // Return any number of target permanents you own to your hand. - FilterPermanent filter = new FilterPermanent("permanents you own"); - filter.add(new OwnerPredicate(TargetController.YOU)); - getLeftHalfCard().getSpellAbility().addEffect(new ReturnToHandTargetEffect()); - getLeftHalfCard().getSpellAbility().addTarget(new TargetPermanent(0, Integer.MAX_VALUE, filter, false)); - - // Chance - // Sorcery - // Aftermath - ((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility().setRuleAtTheTop(true)); - // Discard any number of cards, then draw that many cards. - getRightHalfCard().getSpellAbility().addEffect(new ChanceEffect()); - - } - - public LeaveChance(final LeaveChance card) { - super(card); - } - - @Override - public LeaveChance copy() { - return new LeaveChance(this); - } -} - -class ChanceEffect extends OneShotEffect { - - ChanceEffect() { - super(Outcome.DrawCard); - this.staticText = "Discard any number of cards, then draw that many cards"; - } - - ChanceEffect(final ChanceEffect effect) { - super(effect); - } - - @Override - public ChanceEffect copy() { - return new ChanceEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - Cards cardsInHand = controller.getHand().copy(); - TargetCard target = new TargetCardInHand(0, cardsInHand.size(), new FilterCard()); - controller.chooseTarget(outcome, cardsInHand, target, source, game); - if (!target.getTargets().isEmpty()) { - for (UUID cardId : target.getTargets()) { - Card card = game.getCard(cardId); - if (card != null) { - controller.discard(card, source, game); - } - } - game.applyEffects(); - controller.drawCards(target.getTargets().size(), game); - } - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.l; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.abilities.keyword.AftermathAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.Cards; +import mage.cards.SplitCard; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.SpellAbilityType; +import mage.constants.TargetController; +import mage.filter.FilterCard; +import mage.filter.FilterPermanent; +import mage.filter.predicate.other.OwnerPredicate; +import mage.game.Game; +import mage.players.Player; +import mage.target.TargetCard; +import mage.target.TargetPermanent; +import mage.target.common.TargetCardInHand; + +/** + * + * @author LevelX2 + */ +public class LeaveChance extends SplitCard { + + public LeaveChance(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, new CardType[]{CardType.SORCERY}, "{1}{W}", "{3}{R}", SpellAbilityType.SPLIT_AFTERMATH); + + // Return any number of target permanents you own to your hand. + FilterPermanent filter = new FilterPermanent("permanents you own"); + filter.add(new OwnerPredicate(TargetController.YOU)); + getLeftHalfCard().getSpellAbility().addEffect(new ReturnToHandTargetEffect()); + getLeftHalfCard().getSpellAbility().addTarget(new TargetPermanent(0, Integer.MAX_VALUE, filter, false)); + + // Chance + // Sorcery + // Aftermath + ((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility().setRuleAtTheTop(true)); + // Discard any number of cards, then draw that many cards. + getRightHalfCard().getSpellAbility().addEffect(new ChanceEffect()); + + } + + public LeaveChance(final LeaveChance card) { + super(card); + } + + @Override + public LeaveChance copy() { + return new LeaveChance(this); + } +} + +class ChanceEffect extends OneShotEffect { + + ChanceEffect() { + super(Outcome.DrawCard); + this.staticText = "Discard any number of cards, then draw that many cards"; + } + + ChanceEffect(final ChanceEffect effect) { + super(effect); + } + + @Override + public ChanceEffect copy() { + return new ChanceEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + Cards cardsInHand = controller.getHand().copy(); + TargetCard target = new TargetCardInHand(0, cardsInHand.size(), new FilterCard()); + controller.chooseTarget(outcome, cardsInHand, target, source, game); + if (!target.getTargets().isEmpty()) { + for (UUID cardId : target.getTargets()) { + Card card = game.getCard(cardId); + if (card != null) { + controller.discard(card, source, game); + } + } + game.applyEffects(); + controller.drawCards(target.getTargets().size(), game); + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/l/LeaveInTheDust.java b/Mage.Sets/src/mage/cards/l/LeaveInTheDust.java index fedc8545652..3bc7e01ceb0 100644 --- a/Mage.Sets/src/mage/cards/l/LeaveInTheDust.java +++ b/Mage.Sets/src/mage/cards/l/LeaveInTheDust.java @@ -1,64 +1,64 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.l; - -import java.util.UUID; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.effects.common.ReturnToHandTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.target.common.TargetNonlandPermanent; - -/** - * - * @author Styxo - */ -public class LeaveInTheDust extends CardImpl { - - public LeaveInTheDust(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{U}"); - - // Return target nonland permanent to its owner's hand. - this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); - this.getSpellAbility().addTarget(new TargetNonlandPermanent()); - - // Draw a card. - this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); - - } - - public LeaveInTheDust(final LeaveInTheDust card) { - super(card); - } - - @Override - public LeaveInTheDust copy() { - return new LeaveInTheDust(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.l; + +import java.util.UUID; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.target.common.TargetNonlandPermanent; + +/** + * + * @author Styxo + */ +public class LeaveInTheDust extends CardImpl { + + public LeaveInTheDust(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{U}"); + + // Return target nonland permanent to its owner's hand. + this.getSpellAbility().addEffect(new ReturnToHandTargetEffect()); + this.getSpellAbility().addTarget(new TargetNonlandPermanent()); + + // Draw a card. + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); + + } + + public LeaveInTheDust(final LeaveInTheDust card) { + super(card); + } + + @Override + public LeaveInTheDust copy() { + return new LeaveInTheDust(this); + } +} diff --git a/Mage.Sets/src/mage/cards/l/LeechBonder.java b/Mage.Sets/src/mage/cards/l/LeechBonder.java index 13b67c6d822..06af283385c 100644 --- a/Mage.Sets/src/mage/cards/l/LeechBonder.java +++ b/Mage.Sets/src/mage/cards/l/LeechBonder.java @@ -43,6 +43,7 @@ import mage.cards.CardSetInfo; import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.Counter; @@ -62,8 +63,8 @@ public class LeechBonder extends CardImpl { public LeechBonder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LeechingLicid.java b/Mage.Sets/src/mage/cards/l/LeechingLicid.java index 43c4ebea0b7..8f4b8fcb243 100644 --- a/Mage.Sets/src/mage/cards/l/LeechingLicid.java +++ b/Mage.Sets/src/mage/cards/l/LeechingLicid.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.TargetController; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class LeechingLicid extends CardImpl { public LeechingLicid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Licid"); + this.subtype.add(SubType.LICID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LeechingSliver.java b/Mage.Sets/src/mage/cards/l/LeechingSliver.java index 50d668c71d3..b05715f373b 100644 --- a/Mage.Sets/src/mage/cards/l/LeechingSliver.java +++ b/Mage.Sets/src/mage/cards/l/LeechingSliver.java @@ -55,7 +55,7 @@ public class LeechingSliver extends CardImpl { public LeechingSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LeechriddenSwamp.java b/Mage.Sets/src/mage/cards/l/LeechriddenSwamp.java index 549f3c268b5..88102afc4ce 100644 --- a/Mage.Sets/src/mage/cards/l/LeechriddenSwamp.java +++ b/Mage.Sets/src/mage/cards/l/LeechriddenSwamp.java @@ -41,6 +41,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.Zone; @@ -64,7 +65,7 @@ public class LeechriddenSwamp extends CardImpl { public LeechriddenSwamp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Swamp"); + this.subtype.add(SubType.SWAMP); // ({tap}: Add {B} to your mana pool.) this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(1), new TapSourceCost())); diff --git a/Mage.Sets/src/mage/cards/l/LeeringEmblem.java b/Mage.Sets/src/mage/cards/l/LeeringEmblem.java index 7d5d41da95f..abed3ffa43e 100644 --- a/Mage.Sets/src/mage/cards/l/LeeringEmblem.java +++ b/Mage.Sets/src/mage/cards/l/LeeringEmblem.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; @@ -46,7 +47,7 @@ public class LeeringEmblem extends CardImpl { public LeeringEmblem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new SpellCastControllerTriggeredAbility(new BoostEquippedEffect(2, 2, Duration.EndOfTurn), false)); this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2))); } diff --git a/Mage.Sets/src/mage/cards/l/LeeryFogbeast.java b/Mage.Sets/src/mage/cards/l/LeeryFogbeast.java index 53d7fab3ac6..d52cc61e44d 100644 --- a/Mage.Sets/src/mage/cards/l/LeeryFogbeast.java +++ b/Mage.Sets/src/mage/cards/l/LeeryFogbeast.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.PreventAllDamageByAllPermanentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class LeeryFogbeast extends CardImpl { public LeeryFogbeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LegionLoyalist.java b/Mage.Sets/src/mage/cards/l/LegionLoyalist.java index edb4d8ef2da..5cce67e5562 100644 --- a/Mage.Sets/src/mage/cards/l/LegionLoyalist.java +++ b/Mage.Sets/src/mage/cards/l/LegionLoyalist.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterControlledCreaturePermanent; import mage.game.Game; @@ -55,8 +56,8 @@ public class LegionLoyalist extends CardImpl { public LegionLoyalist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LegionsOfLimDul.java b/Mage.Sets/src/mage/cards/l/LegionsOfLimDul.java index e7f11c73c98..56ffa6a5abf 100644 --- a/Mage.Sets/src/mage/cards/l/LegionsOfLimDul.java +++ b/Mage.Sets/src/mage/cards/l/LegionsOfLimDul.java @@ -54,7 +54,7 @@ public class LegionsOfLimDul extends CardImpl { public LegionsOfLimDul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LeoninAbunas.java b/Mage.Sets/src/mage/cards/l/LeoninAbunas.java index ecff7463d55..7ed9975cc26 100644 --- a/Mage.Sets/src/mage/cards/l/LeoninAbunas.java +++ b/Mage.Sets/src/mage/cards/l/LeoninAbunas.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; @@ -46,8 +47,8 @@ public class LeoninAbunas extends CardImpl { public LeoninAbunas(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/l/LeoninArbiter.java b/Mage.Sets/src/mage/cards/l/LeoninArbiter.java index 7d4d85efed4..5ac928bdda0 100644 --- a/Mage.Sets/src/mage/cards/l/LeoninArbiter.java +++ b/Mage.Sets/src/mage/cards/l/LeoninArbiter.java @@ -53,8 +53,8 @@ public class LeoninArbiter extends CardImpl { public LeoninArbiter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LeoninArmorguard.java b/Mage.Sets/src/mage/cards/l/LeoninArmorguard.java index 1b1042bc4dd..ad068bb04c6 100644 --- a/Mage.Sets/src/mage/cards/l/LeoninArmorguard.java +++ b/Mage.Sets/src/mage/cards/l/LeoninArmorguard.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -53,8 +54,8 @@ public class LeoninArmorguard extends CardImpl { public LeoninArmorguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SOLDIER); diff --git a/Mage.Sets/src/mage/cards/l/LeoninBattlemage.java b/Mage.Sets/src/mage/cards/l/LeoninBattlemage.java index c6eb47e3717..4489cf6403b 100644 --- a/Mage.Sets/src/mage/cards/l/LeoninBattlemage.java +++ b/Mage.Sets/src/mage/cards/l/LeoninBattlemage.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class LeoninBattlemage extends CardImpl { public LeoninBattlemage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LeoninBola.java b/Mage.Sets/src/mage/cards/l/LeoninBola.java index 50a6e08e842..f5c28fc0736 100644 --- a/Mage.Sets/src/mage/cards/l/LeoninBola.java +++ b/Mage.Sets/src/mage/cards/l/LeoninBola.java @@ -50,7 +50,7 @@ public class LeoninBola extends CardImpl { public LeoninBola(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has "{tap}, Unattach Leonin Bola: Tap target creature." Ability gainAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/l/LeoninDenGuard.java b/Mage.Sets/src/mage/cards/l/LeoninDenGuard.java index c2d214825e7..dd7c35cf1e9 100644 --- a/Mage.Sets/src/mage/cards/l/LeoninDenGuard.java +++ b/Mage.Sets/src/mage/cards/l/LeoninDenGuard.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class LeoninDenGuard extends CardImpl { public LeoninDenGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SOLDIER); this.color.setWhite(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LeoninElder.java b/Mage.Sets/src/mage/cards/l/LeoninElder.java index e7c23e53a9a..4b070022fd1 100644 --- a/Mage.Sets/src/mage/cards/l/LeoninElder.java +++ b/Mage.Sets/src/mage/cards/l/LeoninElder.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; @@ -45,8 +46,8 @@ public class LeoninElder extends CardImpl { public LeoninElder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Cat"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LeoninIconoclast.java b/Mage.Sets/src/mage/cards/l/LeoninIconoclast.java index 9b1e0c5ca94..b0dd4681c7f 100644 --- a/Mage.Sets/src/mage/cards/l/LeoninIconoclast.java +++ b/Mage.Sets/src/mage/cards/l/LeoninIconoclast.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -57,8 +58,8 @@ public class LeoninIconoclast extends CardImpl { public LeoninIconoclast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Monk"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.MONK); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LeoninRelicWarder.java b/Mage.Sets/src/mage/cards/l/LeoninRelicWarder.java index 5edadb58275..7e970e1dd6f 100644 --- a/Mage.Sets/src/mage/cards/l/LeoninRelicWarder.java +++ b/Mage.Sets/src/mage/cards/l/LeoninRelicWarder.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnFromExileForSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -51,8 +52,8 @@ public class LeoninRelicWarder extends CardImpl { public LeoninRelicWarder (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LeoninScimitar.java b/Mage.Sets/src/mage/cards/l/LeoninScimitar.java index 6fb220e5abd..f4e4633b8e7 100644 --- a/Mage.Sets/src/mage/cards/l/LeoninScimitar.java +++ b/Mage.Sets/src/mage/cards/l/LeoninScimitar.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -45,7 +46,7 @@ public class LeoninScimitar extends CardImpl { public LeoninScimitar(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1))); diff --git a/Mage.Sets/src/mage/cards/l/LeoninShikari.java b/Mage.Sets/src/mage/cards/l/LeoninShikari.java index c53b4f4965e..4231cf6d650 100644 --- a/Mage.Sets/src/mage/cards/l/LeoninShikari.java +++ b/Mage.Sets/src/mage/cards/l/LeoninShikari.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class LeoninShikari extends CardImpl { public LeoninShikari(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LeoninSkyhunter.java b/Mage.Sets/src/mage/cards/l/LeoninSkyhunter.java index 7d2ad8640ef..34c19b2035b 100644 --- a/Mage.Sets/src/mage/cards/l/LeoninSkyhunter.java +++ b/Mage.Sets/src/mage/cards/l/LeoninSkyhunter.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class LeoninSkyhunter extends CardImpl { public LeoninSkyhunter (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Knight"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LeoninSnarecaster.java b/Mage.Sets/src/mage/cards/l/LeoninSnarecaster.java index d70b4ee5e47..a67bf103c3b 100644 --- a/Mage.Sets/src/mage/cards/l/LeoninSnarecaster.java +++ b/Mage.Sets/src/mage/cards/l/LeoninSnarecaster.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -45,8 +46,8 @@ public class LeoninSnarecaster extends CardImpl { public LeoninSnarecaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LeoninSquire.java b/Mage.Sets/src/mage/cards/l/LeoninSquire.java index 89f15be92db..d96733bf63b 100644 --- a/Mage.Sets/src/mage/cards/l/LeoninSquire.java +++ b/Mage.Sets/src/mage/cards/l/LeoninSquire.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterArtifactCard; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; @@ -53,8 +54,8 @@ public class LeoninSquire extends CardImpl { public LeoninSquire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LeovoldEmissaryOfTrest.java b/Mage.Sets/src/mage/cards/l/LeovoldEmissaryOfTrest.java index d11cbe93ebe..5cf3169c093 100644 --- a/Mage.Sets/src/mage/cards/l/LeovoldEmissaryOfTrest.java +++ b/Mage.Sets/src/mage/cards/l/LeovoldEmissaryOfTrest.java @@ -52,8 +52,8 @@ public class LeovoldEmissaryOfTrest extends CardImpl { public LeovoldEmissaryOfTrest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{G}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LeshracsRite.java b/Mage.Sets/src/mage/cards/l/LeshracsRite.java index 276df094b78..dde98d3b549 100644 --- a/Mage.Sets/src/mage/cards/l/LeshracsRite.java +++ b/Mage.Sets/src/mage/cards/l/LeshracsRite.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class LeshracsRite extends CardImpl { public LeshracsRite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/l/LesserGargadon.java b/Mage.Sets/src/mage/cards/l/LesserGargadon.java index 5387106f1de..f0cd4aba192 100644 --- a/Mage.Sets/src/mage/cards/l/LesserGargadon.java +++ b/Mage.Sets/src/mage/cards/l/LesserGargadon.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterLandPermanent; /** @@ -44,7 +45,7 @@ public class LesserGargadon extends CardImpl { public LesserGargadon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LethalVapors.java b/Mage.Sets/src/mage/cards/l/LethalVapors.java index 72df6e7024a..0ccc08e888f 100644 --- a/Mage.Sets/src/mage/cards/l/LethalVapors.java +++ b/Mage.Sets/src/mage/cards/l/LethalVapors.java @@ -1,78 +1,78 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.l; - -import java.util.UUID; -import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DestroySourceEffect; -import mage.abilities.effects.common.DestroyTargetEffect; -import mage.abilities.effects.common.InfoEffect; -import mage.abilities.effects.common.turn.SkipNextTurnSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SetTargetPointer; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.filter.StaticFilters; - -/** - * - * @author LevelX2 - */ -public class LethalVapors extends CardImpl { - - public LethalVapors(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}{B}"); - - // Whenever a creature enters the battlefield, destroy it. - this.addAbility(new EntersBattlefieldAllTriggeredAbility( - Zone.BATTLEFIELD, - new DestroyTargetEffect().setText("destroy it"), - StaticFilters.FILTER_PERMANENT_A_CREATURE, - false, SetTargetPointer.PERMANENT, null)); - - // {0}: Destroy Lethal Vapors. You skip your next turn. Any player may activate this ability. - SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroySourceEffect(), new ManaCostsImpl("{0}")); - ability.setMayActivate(TargetController.ANY); - ability.addEffect(new SkipNextTurnSourceEffect()); - ability.addEffect(new InfoEffect("Any player may activate this ability")); - this.addAbility(ability); - } - - public LethalVapors(final LethalVapors card) { - super(card); - } - - @Override - public LethalVapors copy() { - return new LethalVapors(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.l; + +import java.util.UUID; +import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.DestroySourceEffect; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.effects.common.InfoEffect; +import mage.abilities.effects.common.turn.SkipNextTurnSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SetTargetPointer; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.filter.StaticFilters; + +/** + * + * @author LevelX2 + */ +public class LethalVapors extends CardImpl { + + public LethalVapors(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}{B}"); + + // Whenever a creature enters the battlefield, destroy it. + this.addAbility(new EntersBattlefieldAllTriggeredAbility( + Zone.BATTLEFIELD, + new DestroyTargetEffect().setText("destroy it"), + StaticFilters.FILTER_PERMANENT_A_CREATURE, + false, SetTargetPointer.PERMANENT, null)); + + // {0}: Destroy Lethal Vapors. You skip your next turn. Any player may activate this ability. + SimpleActivatedAbility ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroySourceEffect(), new ManaCostsImpl("{0}")); + ability.setMayActivate(TargetController.ANY); + ability.addEffect(new SkipNextTurnSourceEffect()); + ability.addEffect(new InfoEffect("Any player may activate this ability")); + this.addAbility(ability); + } + + public LethalVapors(final LethalVapors card) { + super(card); + } + + @Override + public LethalVapors copy() { + return new LethalVapors(this); + } +} diff --git a/Mage.Sets/src/mage/cards/l/Leveler.java b/Mage.Sets/src/mage/cards/l/Leveler.java index c1f21a5a69e..ebf4a4ca55f 100644 --- a/Mage.Sets/src/mage/cards/l/Leveler.java +++ b/Mage.Sets/src/mage/cards/l/Leveler.java @@ -37,6 +37,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -50,7 +51,7 @@ public class Leveler extends CardImpl { public Leveler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Juggernaut"); + this.subtype.add(SubType.JUGGERNAUT); this.power = new MageInt(10); this.toughness = new MageInt(10); diff --git a/Mage.Sets/src/mage/cards/l/LeyDruid.java b/Mage.Sets/src/mage/cards/l/LeyDruid.java index 5a42cb37b53..90328786d0b 100644 --- a/Mage.Sets/src/mage/cards/l/LeyDruid.java +++ b/Mage.Sets/src/mage/cards/l/LeyDruid.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetLandPermanent; @@ -48,8 +49,8 @@ public class LeyDruid extends CardImpl { public LeyDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LeylinePhantom.java b/Mage.Sets/src/mage/cards/l/LeylinePhantom.java index 6b1b3df3a2e..dc78632914e 100644 --- a/Mage.Sets/src/mage/cards/l/LeylinePhantom.java +++ b/Mage.Sets/src/mage/cards/l/LeylinePhantom.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.DamagedEvent; @@ -49,7 +50,7 @@ public class LeylinePhantom extends CardImpl { public LeylinePhantom(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/l/Lhurgoyf.java b/Mage.Sets/src/mage/cards/l/Lhurgoyf.java index afb8823a0c2..cd6871737ae 100644 --- a/Mage.Sets/src/mage/cards/l/Lhurgoyf.java +++ b/Mage.Sets/src/mage/cards/l/Lhurgoyf.java @@ -36,6 +36,7 @@ import mage.abilities.effects.ContinuousEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -53,7 +54,7 @@ public class Lhurgoyf extends CardImpl { public Lhurgoyf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Lhurgoyf"); + this.subtype.add(SubType.LHURGOYF); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/l/LiberatedDwarf.java b/Mage.Sets/src/mage/cards/l/LiberatedDwarf.java index d99713d75a2..1c3dc666656 100644 --- a/Mage.Sets/src/mage/cards/l/LiberatedDwarf.java +++ b/Mage.Sets/src/mage/cards/l/LiberatedDwarf.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -61,7 +62,7 @@ public class LiberatedDwarf extends CardImpl { public LiberatedDwarf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Dwarf"); + this.subtype.add(SubType.DWARF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LichLordOfUnx.java b/Mage.Sets/src/mage/cards/l/LichLordOfUnx.java index 391ab999fe2..fe10e1bb909 100644 --- a/Mage.Sets/src/mage/cards/l/LichLordOfUnx.java +++ b/Mage.Sets/src/mage/cards/l/LichLordOfUnx.java @@ -61,8 +61,8 @@ public class LichLordOfUnx extends CardImpl { public LichLordOfUnx(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LiciaSanguineTribune.java b/Mage.Sets/src/mage/cards/l/LiciaSanguineTribune.java index 81526d2b8a8..2ded9d6db15 100644 --- a/Mage.Sets/src/mage/cards/l/LiciaSanguineTribune.java +++ b/Mage.Sets/src/mage/cards/l/LiciaSanguineTribune.java @@ -44,6 +44,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.CostModificationType; import mage.constants.Duration; import mage.constants.Outcome; @@ -65,8 +66,8 @@ public class LiciaSanguineTribune extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{R}{W}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LiegeOfTheAxe.java b/Mage.Sets/src/mage/cards/l/LiegeOfTheAxe.java index f85bbf063d8..d41c06831ce 100644 --- a/Mage.Sets/src/mage/cards/l/LiegeOfTheAxe.java +++ b/Mage.Sets/src/mage/cards/l/LiegeOfTheAxe.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class LiegeOfTheAxe extends CardImpl { public LiegeOfTheAxe(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LiegeOfThePit.java b/Mage.Sets/src/mage/cards/l/LiegeOfThePit.java index 8ba48215a2e..10463ec4a9c 100644 --- a/Mage.Sets/src/mage/cards/l/LiegeOfThePit.java +++ b/Mage.Sets/src/mage/cards/l/LiegeOfThePit.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class LiegeOfThePit extends CardImpl { public LiegeOfThePit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/l/LiegeOfTheTangle.java b/Mage.Sets/src/mage/cards/l/LiegeOfTheTangle.java index 0f30504c2dd..ed2d1246b36 100644 --- a/Mage.Sets/src/mage/cards/l/LiegeOfTheTangle.java +++ b/Mage.Sets/src/mage/cards/l/LiegeOfTheTangle.java @@ -59,7 +59,7 @@ public class LiegeOfTheTangle extends CardImpl { public LiegeOfTheTangle (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(8); this.toughness = new MageInt(8); @@ -190,7 +190,7 @@ class AwakeningLandToken extends Token { super("", "8/8 green Elemental creature"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(8); toughness = new MageInt(8); } diff --git a/Mage.Sets/src/mage/cards/l/LieutenantKirtar.java b/Mage.Sets/src/mage/cards/l/LieutenantKirtar.java index 741289be364..59ee8fbd7a8 100644 --- a/Mage.Sets/src/mage/cards/l/LieutenantKirtar.java +++ b/Mage.Sets/src/mage/cards/l/LieutenantKirtar.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.target.common.TargetAttackingCreature; @@ -51,8 +52,8 @@ public class LieutenantKirtar extends CardImpl { public LieutenantKirtar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LieutenantsOfTheGuard.java b/Mage.Sets/src/mage/cards/l/LieutenantsOfTheGuard.java index 79089091352..ecf1b453853 100644 --- a/Mage.Sets/src/mage/cards/l/LieutenantsOfTheGuard.java +++ b/Mage.Sets/src/mage/cards/l/LieutenantsOfTheGuard.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -53,8 +54,8 @@ public class LieutenantsOfTheGuard extends CardImpl { public LieutenantsOfTheGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LifeGoesOn.java b/Mage.Sets/src/mage/cards/l/LifeGoesOn.java index f14fda75c15..45360e2f7bf 100644 --- a/Mage.Sets/src/mage/cards/l/LifeGoesOn.java +++ b/Mage.Sets/src/mage/cards/l/LifeGoesOn.java @@ -1,62 +1,62 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.l; - -import java.util.UUID; -import mage.abilities.condition.common.MorbidCondition; -import mage.abilities.decorator.ConditionalOneShotEffect; -import mage.abilities.effects.common.GainLifeEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.watchers.common.MorbidWatcher; - -/** - * - * @author ciaccona007 - */ -public class LifeGoesOn extends CardImpl { - - public LifeGoesOn(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{G}"); - - - // You gain 4 life. If a creature died this turn, you gain 8 life instead. - getSpellAbility().addWatcher(new MorbidWatcher()); - getSpellAbility().addEffect(new ConditionalOneShotEffect(new GainLifeEffect(8), new GainLifeEffect(4), MorbidCondition.instance, "You gain 4 life. If a creature died this turn, you gain 8 life instead")); - } - - public LifeGoesOn(final LifeGoesOn card) { - super(card); - } - - @Override - public LifeGoesOn copy() { - return new LifeGoesOn(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.l; + +import java.util.UUID; +import mage.abilities.condition.common.MorbidCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.watchers.common.MorbidWatcher; + +/** + * + * @author ciaccona007 + */ +public class LifeGoesOn extends CardImpl { + + public LifeGoesOn(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{G}"); + + + // You gain 4 life. If a creature died this turn, you gain 8 life instead. + getSpellAbility().addWatcher(new MorbidWatcher()); + getSpellAbility().addEffect(new ConditionalOneShotEffect(new GainLifeEffect(8), new GainLifeEffect(4), MorbidCondition.instance, "You gain 4 life. If a creature died this turn, you gain 8 life instead")); + } + + public LifeGoesOn(final LifeGoesOn card) { + super(card); + } + + @Override + public LifeGoesOn copy() { + return new LifeGoesOn(this); + } +} diff --git a/Mage.Sets/src/mage/cards/l/LifebaneZombie.java b/Mage.Sets/src/mage/cards/l/LifebaneZombie.java index 94dbb6e8c60..cd4c95c5b2f 100644 --- a/Mage.Sets/src/mage/cards/l/LifebaneZombie.java +++ b/Mage.Sets/src/mage/cards/l/LifebaneZombie.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,8 +58,8 @@ public class LifebaneZombie extends CardImpl { public LifebaneZombie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LifebloodHydra.java b/Mage.Sets/src/mage/cards/l/LifebloodHydra.java index f715ff07089..d496a1b60e2 100644 --- a/Mage.Sets/src/mage/cards/l/LifebloodHydra.java +++ b/Mage.Sets/src/mage/cards/l/LifebloodHydra.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -52,7 +53,7 @@ public class LifebloodHydra extends CardImpl { public LifebloodHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{X}{G}{G}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/l/LifecraftAwakening.java b/Mage.Sets/src/mage/cards/l/LifecraftAwakening.java index 94901fb192e..7d54e405fa4 100644 --- a/Mage.Sets/src/mage/cards/l/LifecraftAwakening.java +++ b/Mage.Sets/src/mage/cards/l/LifecraftAwakening.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -118,7 +119,7 @@ class LifecraftAwakeningToken extends Token { this.cardType.add(CardType.ARTIFACT); this.cardType.add(CardType.CREATURE); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(0); this.toughness = new MageInt(0); } diff --git a/Mage.Sets/src/mage/cards/l/LifecraftCavalry.java b/Mage.Sets/src/mage/cards/l/LifecraftCavalry.java index d14fb90f457..8d0a1ccfd0a 100644 --- a/Mage.Sets/src/mage/cards/l/LifecraftCavalry.java +++ b/Mage.Sets/src/mage/cards/l/LifecraftCavalry.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.watchers.common.RevoltWatcher; @@ -48,8 +49,8 @@ public class LifecraftCavalry extends CardImpl { public LifecraftCavalry(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/Lifelink.java b/Mage.Sets/src/mage/cards/l/Lifelink.java index 01d9be7a4f5..1dd44832263 100644 --- a/Mage.Sets/src/mage/cards/l/Lifelink.java +++ b/Mage.Sets/src/mage/cards/l/Lifelink.java @@ -49,7 +49,7 @@ public class Lifelink extends CardImpl { public Lifelink (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/l/Lifesmith.java b/Mage.Sets/src/mage/cards/l/Lifesmith.java index a3b41c83890..59be63ada6b 100644 --- a/Mage.Sets/src/mage/cards/l/Lifesmith.java +++ b/Mage.Sets/src/mage/cards/l/Lifesmith.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterArtifactSpell; import mage.game.Game; @@ -49,8 +50,8 @@ import mage.players.Player; public class Lifesmith extends CardImpl { public Lifesmith (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/Lifespinner.java b/Mage.Sets/src/mage/cards/l/Lifespinner.java index fe4651079aa..36f280cd55e 100644 --- a/Mage.Sets/src/mage/cards/l/Lifespinner.java +++ b/Mage.Sets/src/mage/cards/l/Lifespinner.java @@ -61,7 +61,7 @@ public class Lifespinner extends CardImpl { public Lifespinner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LifespringDruid.java b/Mage.Sets/src/mage/cards/l/LifespringDruid.java index 81fb889befc..3da3ab00b54 100644 --- a/Mage.Sets/src/mage/cards/l/LifespringDruid.java +++ b/Mage.Sets/src/mage/cards/l/LifespringDruid.java @@ -33,6 +33,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class LifespringDruid extends CardImpl { public LifespringDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/Lightbringer.java b/Mage.Sets/src/mage/cards/l/Lightbringer.java index 73b00f27245..52f696dcbd0 100644 --- a/Mage.Sets/src/mage/cards/l/Lightbringer.java +++ b/Mage.Sets/src/mage/cards/l/Lightbringer.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,8 +58,8 @@ public class Lightbringer extends CardImpl { public Lightbringer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.REBEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LighthouseChronologist.java b/Mage.Sets/src/mage/cards/l/LighthouseChronologist.java index 9a98b9d3be3..9e21797c8f4 100644 --- a/Mage.Sets/src/mage/cards/l/LighthouseChronologist.java +++ b/Mage.Sets/src/mage/cards/l/LighthouseChronologist.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class LighthouseChronologist extends LevelerCard { public LighthouseChronologist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.color.setBlue(true); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LightkeeperOfEmeria.java b/Mage.Sets/src/mage/cards/l/LightkeeperOfEmeria.java index 01ab1968c6e..fa2f7f2d7ed 100644 --- a/Mage.Sets/src/mage/cards/l/LightkeeperOfEmeria.java +++ b/Mage.Sets/src/mage/cards/l/LightkeeperOfEmeria.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.MultikickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -48,7 +49,7 @@ public class LightkeeperOfEmeria extends CardImpl { public LightkeeperOfEmeria(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LightningAngel.java b/Mage.Sets/src/mage/cards/l/LightningAngel.java index 5d92e16d2cc..35847d28947 100644 --- a/Mage.Sets/src/mage/cards/l/LightningAngel.java +++ b/Mage.Sets/src/mage/cards/l/LightningAngel.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class LightningAngel extends CardImpl { public LightningAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{W}{U}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LightningBerserker.java b/Mage.Sets/src/mage/cards/l/LightningBerserker.java index a83a9c2141f..fc062a1edbe 100644 --- a/Mage.Sets/src/mage/cards/l/LightningBerserker.java +++ b/Mage.Sets/src/mage/cards/l/LightningBerserker.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class LightningBerserker extends CardImpl { public LightningBerserker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LightningCrafter.java b/Mage.Sets/src/mage/cards/l/LightningCrafter.java index 702cd544fea..3702258898f 100644 --- a/Mage.Sets/src/mage/cards/l/LightningCrafter.java +++ b/Mage.Sets/src/mage/cards/l/LightningCrafter.java @@ -50,8 +50,8 @@ public class LightningCrafter extends CardImpl { public LightningCrafter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LightningDiadem.java b/Mage.Sets/src/mage/cards/l/LightningDiadem.java index 15ad029ee70..6c7f4172432 100644 --- a/Mage.Sets/src/mage/cards/l/LightningDiadem.java +++ b/Mage.Sets/src/mage/cards/l/LightningDiadem.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class LightningDiadem extends CardImpl { public LightningDiadem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{5}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/l/LightningDragon.java b/Mage.Sets/src/mage/cards/l/LightningDragon.java index f2eb0233b21..a59b548d591 100644 --- a/Mage.Sets/src/mage/cards/l/LightningDragon.java +++ b/Mage.Sets/src/mage/cards/l/LightningDragon.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class LightningDragon extends CardImpl { public LightningDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LightningElemental.java b/Mage.Sets/src/mage/cards/l/LightningElemental.java index a534e33db33..8237fcdff7b 100644 --- a/Mage.Sets/src/mage/cards/l/LightningElemental.java +++ b/Mage.Sets/src/mage/cards/l/LightningElemental.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class LightningElemental extends CardImpl { public LightningElemental (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LightningGreaves.java b/Mage.Sets/src/mage/cards/l/LightningGreaves.java index 5fbb9b4a65e..5528ca760ca 100644 --- a/Mage.Sets/src/mage/cards/l/LightningGreaves.java +++ b/Mage.Sets/src/mage/cards/l/LightningGreaves.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class LightningGreaves extends CardImpl { public LightningGreaves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has haste and shroud. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(HasteAbility.getInstance(), AttachmentType.EQUIPMENT)); diff --git a/Mage.Sets/src/mage/cards/l/LightningHounds.java b/Mage.Sets/src/mage/cards/l/LightningHounds.java index 5e187db02a8..bcfb9deca92 100644 --- a/Mage.Sets/src/mage/cards/l/LightningHounds.java +++ b/Mage.Sets/src/mage/cards/l/LightningHounds.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class LightningHounds extends CardImpl { public LightningHounds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LightningMauler.java b/Mage.Sets/src/mage/cards/l/LightningMauler.java index 9439bf1e5da..346dfe95d33 100644 --- a/Mage.Sets/src/mage/cards/l/LightningMauler.java +++ b/Mage.Sets/src/mage/cards/l/LightningMauler.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,8 +50,8 @@ public class LightningMauler extends CardImpl { public LightningMauler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LightningProwess.java b/Mage.Sets/src/mage/cards/l/LightningProwess.java index 6ac076a267d..30a0f4340a8 100644 --- a/Mage.Sets/src/mage/cards/l/LightningProwess.java +++ b/Mage.Sets/src/mage/cards/l/LightningProwess.java @@ -52,7 +52,7 @@ public class LightningProwess extends CardImpl { public LightningProwess(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/l/LightningReaver.java b/Mage.Sets/src/mage/cards/l/LightningReaver.java index d483794a310..494cf7797a2 100644 --- a/Mage.Sets/src/mage/cards/l/LightningReaver.java +++ b/Mage.Sets/src/mage/cards/l/LightningReaver.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.counters.CounterType; @@ -55,8 +56,8 @@ public class LightningReaver extends CardImpl { public LightningReaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{R}"); - this.subtype.add("Zombie"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.BEAST); diff --git a/Mage.Sets/src/mage/cards/l/LightningReflexes.java b/Mage.Sets/src/mage/cards/l/LightningReflexes.java index 6c1a78e411a..96270e24927 100644 --- a/Mage.Sets/src/mage/cards/l/LightningReflexes.java +++ b/Mage.Sets/src/mage/cards/l/LightningReflexes.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class LightningReflexes extends CardImpl { public LightningReflexes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // You may cast Lightning Reflexes as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. this.addAbility(new SimpleStaticAbility(Zone.ALL, new CastAsThoughItHadFlashSourceEffect(Duration.EndOfGame))); diff --git a/Mage.Sets/src/mage/cards/l/LightningRunner.java b/Mage.Sets/src/mage/cards/l/LightningRunner.java index 3c992aee573..fe7bb2f5d1f 100644 --- a/Mage.Sets/src/mage/cards/l/LightningRunner.java +++ b/Mage.Sets/src/mage/cards/l/LightningRunner.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -57,8 +58,8 @@ public class LightningRunner extends CardImpl { public LightningRunner(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LightningSerpent.java b/Mage.Sets/src/mage/cards/l/LightningSerpent.java index 72f1abf99bf..37e36d2d728 100644 --- a/Mage.Sets/src/mage/cards/l/LightningSerpent.java +++ b/Mage.Sets/src/mage/cards/l/LightningSerpent.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.counters.CounterType; @@ -49,8 +50,8 @@ public class LightningSerpent extends CardImpl { public LightningSerpent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{X}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LightningShrieker.java b/Mage.Sets/src/mage/cards/l/LightningShrieker.java index 76cc81edb19..2765de7bd5d 100644 --- a/Mage.Sets/src/mage/cards/l/LightningShrieker.java +++ b/Mage.Sets/src/mage/cards/l/LightningShrieker.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class LightningShrieker extends CardImpl { public LightningShrieker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/l/LightningTalons.java b/Mage.Sets/src/mage/cards/l/LightningTalons.java index a905b43f7e6..ebac4d2c23b 100644 --- a/Mage.Sets/src/mage/cards/l/LightningTalons.java +++ b/Mage.Sets/src/mage/cards/l/LightningTalons.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class LightningTalons extends CardImpl { public LightningTalons(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/l/Lightsaber.java b/Mage.Sets/src/mage/cards/l/Lightsaber.java index 6f197b4dce0..1a89830e60c 100644 --- a/Mage.Sets/src/mage/cards/l/Lightsaber.java +++ b/Mage.Sets/src/mage/cards/l/Lightsaber.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -54,7 +55,7 @@ public class Lightsaber extends CardImpl { public Lightsaber(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equiped creature gets +1/+0 and has firsttrike this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 0))); diff --git a/Mage.Sets/src/mage/cards/l/Lightwalker.java b/Mage.Sets/src/mage/cards/l/Lightwalker.java index 2a892ce310c..5b47f648baa 100644 --- a/Mage.Sets/src/mage/cards/l/Lightwalker.java +++ b/Mage.Sets/src/mage/cards/l/Lightwalker.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -48,8 +49,8 @@ public class Lightwalker extends CardImpl { public Lightwalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LightwielderPaladin.java b/Mage.Sets/src/mage/cards/l/LightwielderPaladin.java index 16c589b9f05..1d56ead8951 100644 --- a/Mage.Sets/src/mage/cards/l/LightwielderPaladin.java +++ b/Mage.Sets/src/mage/cards/l/LightwielderPaladin.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -56,8 +57,8 @@ public class LightwielderPaladin extends CardImpl { public LightwielderPaladin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/Lignify.java b/Mage.Sets/src/mage/cards/l/Lignify.java index b2875c86715..3ca08be5d59 100644 --- a/Mage.Sets/src/mage/cards/l/Lignify.java +++ b/Mage.Sets/src/mage/cards/l/Lignify.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class Lignify extends CardImpl { public Lignify(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Aura"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); @@ -85,7 +86,7 @@ class LignifyTreefolkToken extends Token { public LignifyTreefolkToken() { super("Treefolk", "a Treefolk with base power and toughness 0/4 with no abilities"); cardType.add(CardType.CREATURE); - subtype.add("Treefolk"); + subtype.add(SubType.TREEFOLK); power = new MageInt(0); toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LilianaDeathWielder.java b/Mage.Sets/src/mage/cards/l/LilianaDeathWielder.java index 293c3dfd4d3..93bf9c481e4 100644 --- a/Mage.Sets/src/mage/cards/l/LilianaDeathWielder.java +++ b/Mage.Sets/src/mage/cards/l/LilianaDeathWielder.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -64,7 +65,7 @@ public class LilianaDeathWielder extends CardImpl { public LilianaDeathWielder(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{5}{B}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Liliana"); + this.subtype.add(SubType.LILIANA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/l/LilianaDeathsMajesty.java b/Mage.Sets/src/mage/cards/l/LilianaDeathsMajesty.java index 1feff72cedc..7e3ee59e207 100644 --- a/Mage.Sets/src/mage/cards/l/LilianaDeathsMajesty.java +++ b/Mage.Sets/src/mage/cards/l/LilianaDeathsMajesty.java @@ -62,7 +62,7 @@ public class LilianaDeathsMajesty extends CardImpl { public LilianaDeathsMajesty(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Liliana"); + this.subtype.add(SubType.LILIANA); //Starting Loyalty: 5 this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/l/LilianaDefiantNecromancer.java b/Mage.Sets/src/mage/cards/l/LilianaDefiantNecromancer.java index fc026e95522..0eaca90de68 100644 --- a/Mage.Sets/src/mage/cards/l/LilianaDefiantNecromancer.java +++ b/Mage.Sets/src/mage/cards/l/LilianaDefiantNecromancer.java @@ -65,7 +65,7 @@ public class LilianaDefiantNecromancer extends CardImpl { public LilianaDefiantNecromancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, ""); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Liliana"); + this.subtype.add(SubType.LILIANA); this.color.setBlack(true); this.nightCard = true; diff --git a/Mage.Sets/src/mage/cards/l/LilianaHereticalHealer.java b/Mage.Sets/src/mage/cards/l/LilianaHereticalHealer.java index 4fe37c853a3..61299397959 100644 --- a/Mage.Sets/src/mage/cards/l/LilianaHereticalHealer.java +++ b/Mage.Sets/src/mage/cards/l/LilianaHereticalHealer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -64,8 +65,8 @@ public class LilianaHereticalHealer extends CardImpl { public LilianaHereticalHealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LilianaOfTheDarkRealms.java b/Mage.Sets/src/mage/cards/l/LilianaOfTheDarkRealms.java index e8401937c8a..64ef224714f 100644 --- a/Mage.Sets/src/mage/cards/l/LilianaOfTheDarkRealms.java +++ b/Mage.Sets/src/mage/cards/l/LilianaOfTheDarkRealms.java @@ -63,7 +63,7 @@ public class LilianaOfTheDarkRealms extends CardImpl { public LilianaOfTheDarkRealms(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{B}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Liliana"); + this.subtype.add(SubType.LILIANA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/l/LilianaOfTheVeil.java b/Mage.Sets/src/mage/cards/l/LilianaOfTheVeil.java index deceec9435c..34c16ed54bf 100644 --- a/Mage.Sets/src/mage/cards/l/LilianaOfTheVeil.java +++ b/Mage.Sets/src/mage/cards/l/LilianaOfTheVeil.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.discard.DiscardEachPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.FilterPermanent; @@ -58,7 +59,7 @@ public class LilianaOfTheVeil extends CardImpl { public LilianaOfTheVeil(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{B}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Liliana"); + this.subtype.add(SubType.LILIANA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/l/LilianaTheLastHope.java b/Mage.Sets/src/mage/cards/l/LilianaTheLastHope.java index 81ae924b4bd..47174d5a4ca 100644 --- a/Mage.Sets/src/mage/cards/l/LilianaTheLastHope.java +++ b/Mage.Sets/src/mage/cards/l/LilianaTheLastHope.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SuperType; @@ -60,7 +61,7 @@ public class LilianaTheLastHope extends CardImpl { public LilianaTheLastHope(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{B}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Liliana"); + this.subtype.add(SubType.LILIANA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/l/LilianaVess.java b/Mage.Sets/src/mage/cards/l/LilianaVess.java index 193f718a78d..b904b6f3611 100644 --- a/Mage.Sets/src/mage/cards/l/LilianaVess.java +++ b/Mage.Sets/src/mage/cards/l/LilianaVess.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class LilianaVess extends CardImpl { public LilianaVess(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Liliana"); + this.subtype.add(SubType.LILIANA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); // +1: Target player discards a card. diff --git a/Mage.Sets/src/mage/cards/l/LilianasElite.java b/Mage.Sets/src/mage/cards/l/LilianasElite.java index 6d9b184a9c4..d0bcc9ff505 100644 --- a/Mage.Sets/src/mage/cards/l/LilianasElite.java +++ b/Mage.Sets/src/mage/cards/l/LilianasElite.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -49,7 +50,7 @@ public class LilianasElite extends CardImpl { public LilianasElite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LilianasReaver.java b/Mage.Sets/src/mage/cards/l/LilianasReaver.java index fe10a5da6cd..9f6a7b43c07 100644 --- a/Mage.Sets/src/mage/cards/l/LilianasReaver.java +++ b/Mage.Sets/src/mage/cards/l/LilianasReaver.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.ZombieToken; /** @@ -47,7 +48,7 @@ public class LilianasReaver extends CardImpl { public LilianasReaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LilianasShade.java b/Mage.Sets/src/mage/cards/l/LilianasShade.java index 1aa40de491c..10b271690aa 100644 --- a/Mage.Sets/src/mage/cards/l/LilianasShade.java +++ b/Mage.Sets/src/mage/cards/l/LilianasShade.java @@ -58,7 +58,7 @@ public class LilianasShade extends CardImpl { public LilianasShade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Shade"); + this.subtype.add(SubType.SHADE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LilianasSpecter.java b/Mage.Sets/src/mage/cards/l/LilianasSpecter.java index 512cb7c5ba7..94084fcabad 100644 --- a/Mage.Sets/src/mage/cards/l/LilianasSpecter.java +++ b/Mage.Sets/src/mage/cards/l/LilianasSpecter.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -46,7 +47,7 @@ public class LilianasSpecter extends CardImpl { public LilianasSpecter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Specter"); + this.subtype.add(SubType.SPECTER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LimDulTheNecromancer.java b/Mage.Sets/src/mage/cards/l/LimDulTheNecromancer.java index 4a520fde9fb..0e1abb3ccaa 100644 --- a/Mage.Sets/src/mage/cards/l/LimDulTheNecromancer.java +++ b/Mage.Sets/src/mage/cards/l/LimDulTheNecromancer.java @@ -69,8 +69,8 @@ public class LimDulTheNecromancer extends CardImpl { public LimDulTheNecromancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LimDulsHighGuard.java b/Mage.Sets/src/mage/cards/l/LimDulsHighGuard.java index 2211e5d0a46..60e628c343d 100644 --- a/Mage.Sets/src/mage/cards/l/LimDulsHighGuard.java +++ b/Mage.Sets/src/mage/cards/l/LimDulsHighGuard.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class LimDulsHighGuard extends CardImpl { public LimDulsHighGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LimDulsPaladin.java b/Mage.Sets/src/mage/cards/l/LimDulsPaladin.java index 6af3266003d..c363f1d2d41 100644 --- a/Mage.Sets/src/mage/cards/l/LimDulsPaladin.java +++ b/Mage.Sets/src/mage/cards/l/LimDulsPaladin.java @@ -44,6 +44,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -59,8 +60,8 @@ public class LimDulsPaladin extends CardImpl { public LimDulsPaladin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{R}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LinSivviDefiantHero.java b/Mage.Sets/src/mage/cards/l/LinSivviDefiantHero.java index b17190a5874..dffe54e9642 100644 --- a/Mage.Sets/src/mage/cards/l/LinSivviDefiantHero.java +++ b/Mage.Sets/src/mage/cards/l/LinSivviDefiantHero.java @@ -68,8 +68,8 @@ public class LinSivviDefiantHero extends CardImpl { public LinSivviDefiantHero(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LinessaZephyrMage.java b/Mage.Sets/src/mage/cards/l/LinessaZephyrMage.java index 7ab045d9dad..f1b2d931d3f 100644 --- a/Mage.Sets/src/mage/cards/l/LinessaZephyrMage.java +++ b/Mage.Sets/src/mage/cards/l/LinessaZephyrMage.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.SuperType; @@ -67,8 +68,8 @@ public class LinessaZephyrMage extends CardImpl { public LinessaZephyrMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LingeringMirage.java b/Mage.Sets/src/mage/cards/l/LingeringMirage.java index 6123b058aac..225a327e5be 100644 --- a/Mage.Sets/src/mage/cards/l/LingeringMirage.java +++ b/Mage.Sets/src/mage/cards/l/LingeringMirage.java @@ -53,7 +53,7 @@ public class LingeringMirage extends CardImpl { public LingeringMirage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/l/LingeringTormentor.java b/Mage.Sets/src/mage/cards/l/LingeringTormentor.java index 85710517d4c..04d1c14cef8 100644 --- a/Mage.Sets/src/mage/cards/l/LingeringTormentor.java +++ b/Mage.Sets/src/mage/cards/l/LingeringTormentor.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.PersistAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class LingeringTormentor extends CardImpl { public LingeringTormentor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LinvalaKeeperOfSilence.java b/Mage.Sets/src/mage/cards/l/LinvalaKeeperOfSilence.java index 81eff3e354f..cf92b3e21df 100644 --- a/Mage.Sets/src/mage/cards/l/LinvalaKeeperOfSilence.java +++ b/Mage.Sets/src/mage/cards/l/LinvalaKeeperOfSilence.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class LinvalaKeeperOfSilence extends CardImpl { public LinvalaKeeperOfSilence(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LinvalaThePreserver.java b/Mage.Sets/src/mage/cards/l/LinvalaThePreserver.java index cd5d8193dc7..5c7449909f2 100644 --- a/Mage.Sets/src/mage/cards/l/LinvalaThePreserver.java +++ b/Mage.Sets/src/mage/cards/l/LinvalaThePreserver.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; import mage.game.permanent.token.LinvalaAngelToken; @@ -52,7 +53,7 @@ public class LinvalaThePreserver extends CardImpl { public LinvalaThePreserver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/l/LionheartMaverick.java b/Mage.Sets/src/mage/cards/l/LionheartMaverick.java index 1e5729e1e5f..3ffcd7fc717 100644 --- a/Mage.Sets/src/mage/cards/l/LionheartMaverick.java +++ b/Mage.Sets/src/mage/cards/l/LionheartMaverick.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class LionheartMaverick extends CardImpl { public LionheartMaverick(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/Lithatog.java b/Mage.Sets/src/mage/cards/l/Lithatog.java index ee9e022a178..4bd4d5c01c8 100644 --- a/Mage.Sets/src/mage/cards/l/Lithatog.java +++ b/Mage.Sets/src/mage/cards/l/Lithatog.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; @@ -49,7 +50,7 @@ public class Lithatog extends CardImpl { public Lithatog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}"); - this.subtype.add("Atog"); + this.subtype.add(SubType.ATOG); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/Lithophage.java b/Mage.Sets/src/mage/cards/l/Lithophage.java index aea5572a74d..db6a9440705 100644 --- a/Mage.Sets/src/mage/cards/l/Lithophage.java +++ b/Mage.Sets/src/mage/cards/l/Lithophage.java @@ -56,7 +56,7 @@ public class Lithophage extends CardImpl { public Lithophage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/l/LiuBeiLordOfShu.java b/Mage.Sets/src/mage/cards/l/LiuBeiLordOfShu.java index 389cd3e398b..0f4b327f3f2 100644 --- a/Mage.Sets/src/mage/cards/l/LiuBeiLordOfShu.java +++ b/Mage.Sets/src/mage/cards/l/LiuBeiLordOfShu.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class LiuBeiLordOfShu extends CardImpl { public LiuBeiLordOfShu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LivewireLash.java b/Mage.Sets/src/mage/cards/l/LivewireLash.java index bc6ffeb8194..71c501cc66c 100644 --- a/Mage.Sets/src/mage/cards/l/LivewireLash.java +++ b/Mage.Sets/src/mage/cards/l/LivewireLash.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -55,7 +56,7 @@ public class LivewireLash extends CardImpl { public LivewireLash(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 0))); LivewireLashAbility ability = new LivewireLashAbility(); diff --git a/Mage.Sets/src/mage/cards/l/LivingAirship.java b/Mage.Sets/src/mage/cards/l/LivingAirship.java index eaa3d36b7e4..bd59195e159 100644 --- a/Mage.Sets/src/mage/cards/l/LivingAirship.java +++ b/Mage.Sets/src/mage/cards/l/LivingAirship.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class LivingAirship extends CardImpl { public LivingAirship(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Metathran"); + this.subtype.add(SubType.METATHRAN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LivingArtifact.java b/Mage.Sets/src/mage/cards/l/LivingArtifact.java index 904ad74f099..815d64e9503 100644 --- a/Mage.Sets/src/mage/cards/l/LivingArtifact.java +++ b/Mage.Sets/src/mage/cards/l/LivingArtifact.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -61,7 +62,7 @@ public class LivingArtifact extends CardImpl { public LivingArtifact(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact TargetPermanent auraTarget = new TargetArtifactPermanent(); diff --git a/Mage.Sets/src/mage/cards/l/LivingHive.java b/Mage.Sets/src/mage/cards/l/LivingHive.java index abfd50d4ac3..92df689154f 100644 --- a/Mage.Sets/src/mage/cards/l/LivingHive.java +++ b/Mage.Sets/src/mage/cards/l/LivingHive.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.token.InsectToken; @@ -50,8 +51,8 @@ public class LivingHive extends CardImpl { public LivingHive(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{G}"); - this.subtype.add("Elemental"); - this.subtype.add("Insect"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.INSECT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/l/LivingLore.java b/Mage.Sets/src/mage/cards/l/LivingLore.java index 256d20650ec..5ecd5a40710 100644 --- a/Mage.Sets/src/mage/cards/l/LivingLore.java +++ b/Mage.Sets/src/mage/cards/l/LivingLore.java @@ -41,6 +41,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -62,7 +63,7 @@ public class LivingLore extends CardImpl { public LivingLore(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/l/LivingTerrain.java b/Mage.Sets/src/mage/cards/l/LivingTerrain.java index d4729b43010..481cbb393e5 100644 --- a/Mage.Sets/src/mage/cards/l/LivingTerrain.java +++ b/Mage.Sets/src/mage/cards/l/LivingTerrain.java @@ -49,7 +49,7 @@ public class LivingTerrain extends CardImpl { public LivingTerrain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land @@ -78,7 +78,7 @@ class TreefolkToken extends Token { super("Treefolk", "5/6 green Treefolk creature"); cardType.add(CardType.CREATURE); this.color.setGreen(true); - subtype.add("Treefolk"); + subtype.add(SubType.TREEFOLK); power = new MageInt(5); toughness = new MageInt(6); } diff --git a/Mage.Sets/src/mage/cards/l/LivingTotem.java b/Mage.Sets/src/mage/cards/l/LivingTotem.java index 67b814e9577..534e4ce6961 100644 --- a/Mage.Sets/src/mage/cards/l/LivingTotem.java +++ b/Mage.Sets/src/mage/cards/l/LivingTotem.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ConvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -55,8 +56,8 @@ public class LivingTotem extends CardImpl { public LivingTotem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LivingTsunami.java b/Mage.Sets/src/mage/cards/l/LivingTsunami.java index 4b606ee6b58..b9d6e8efc38 100644 --- a/Mage.Sets/src/mage/cards/l/LivingTsunami.java +++ b/Mage.Sets/src/mage/cards/l/LivingTsunami.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -56,7 +57,7 @@ public class LivingTsunami extends CardImpl { public LivingTsunami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LivingWall.java b/Mage.Sets/src/mage/cards/l/LivingWall.java index 26cd45ae5f1..da50c0c62b3 100644 --- a/Mage.Sets/src/mage/cards/l/LivingWall.java +++ b/Mage.Sets/src/mage/cards/l/LivingWall.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class LivingWall extends CardImpl { public LivingWall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/l/LivonyaSilone.java b/Mage.Sets/src/mage/cards/l/LivonyaSilone.java index c0cfd725a90..17774439144 100644 --- a/Mage.Sets/src/mage/cards/l/LivonyaSilone.java +++ b/Mage.Sets/src/mage/cards/l/LivonyaSilone.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.LandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.mageobject.SupertypePredicate; @@ -53,8 +54,8 @@ public class LivonyaSilone extends CardImpl { public LivonyaSilone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}{G}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LizardWarrior.java b/Mage.Sets/src/mage/cards/l/LizardWarrior.java index 0bd52d7259a..547dc1a64a1 100644 --- a/Mage.Sets/src/mage/cards/l/LizardWarrior.java +++ b/Mage.Sets/src/mage/cards/l/LizardWarrior.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class LizardWarrior extends CardImpl { public LizardWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Lizard"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.LIZARD); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LlanowarAugur.java b/Mage.Sets/src/mage/cards/l/LlanowarAugur.java index 3fb1a9f008d..fdd3ae1b8c0 100644 --- a/Mage.Sets/src/mage/cards/l/LlanowarAugur.java +++ b/Mage.Sets/src/mage/cards/l/LlanowarAugur.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.PhaseStep; import mage.constants.Zone; @@ -53,8 +54,8 @@ public class LlanowarAugur extends CardImpl { public LlanowarAugur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LlanowarBehemoth.java b/Mage.Sets/src/mage/cards/l/LlanowarBehemoth.java index 3d4ca5aea97..a8e8fe870d8 100644 --- a/Mage.Sets/src/mage/cards/l/LlanowarBehemoth.java +++ b/Mage.Sets/src/mage/cards/l/LlanowarBehemoth.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -55,7 +56,7 @@ public class LlanowarBehemoth extends CardImpl { public LlanowarBehemoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LlanowarCavalry.java b/Mage.Sets/src/mage/cards/l/LlanowarCavalry.java index 3d7f8144ca0..ca6f1f6cb24 100644 --- a/Mage.Sets/src/mage/cards/l/LlanowarCavalry.java +++ b/Mage.Sets/src/mage/cards/l/LlanowarCavalry.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class LlanowarCavalry extends CardImpl { public LlanowarCavalry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LlanowarDead.java b/Mage.Sets/src/mage/cards/l/LlanowarDead.java index c7529aa1a79..2698ba2e16b 100644 --- a/Mage.Sets/src/mage/cards/l/LlanowarDead.java +++ b/Mage.Sets/src/mage/cards/l/LlanowarDead.java @@ -33,6 +33,7 @@ import mage.abilities.mana.BlackManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class LlanowarDead extends CardImpl { public LlanowarDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{G}"); - this.subtype.add("Zombie"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LlanowarDruid.java b/Mage.Sets/src/mage/cards/l/LlanowarDruid.java index b79505a1b57..c4b98bd94fc 100644 --- a/Mage.Sets/src/mage/cards/l/LlanowarDruid.java +++ b/Mage.Sets/src/mage/cards/l/LlanowarDruid.java @@ -54,8 +54,8 @@ public class LlanowarDruid extends CardImpl { public LlanowarDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LlanowarElite.java b/Mage.Sets/src/mage/cards/l/LlanowarElite.java index 6673c386617..100b4b63770 100644 --- a/Mage.Sets/src/mage/cards/l/LlanowarElite.java +++ b/Mage.Sets/src/mage/cards/l/LlanowarElite.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -49,7 +50,7 @@ public class LlanowarElite extends CardImpl { public LlanowarElite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LlanowarElves.java b/Mage.Sets/src/mage/cards/l/LlanowarElves.java index d181330b99b..248ba74027c 100644 --- a/Mage.Sets/src/mage/cards/l/LlanowarElves.java +++ b/Mage.Sets/src/mage/cards/l/LlanowarElves.java @@ -34,6 +34,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class LlanowarElves extends CardImpl { public LlanowarElves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LlanowarEmpath.java b/Mage.Sets/src/mage/cards/l/LlanowarEmpath.java index 7c00253e956..881dfabd2a4 100644 --- a/Mage.Sets/src/mage/cards/l/LlanowarEmpath.java +++ b/Mage.Sets/src/mage/cards/l/LlanowarEmpath.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -54,8 +55,8 @@ public class LlanowarEmpath extends CardImpl { public LlanowarEmpath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LlanowarKnight.java b/Mage.Sets/src/mage/cards/l/LlanowarKnight.java index 59f1eee609b..73d28c83c0b 100644 --- a/Mage.Sets/src/mage/cards/l/LlanowarKnight.java +++ b/Mage.Sets/src/mage/cards/l/LlanowarKnight.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class LlanowarKnight extends CardImpl { public LlanowarKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}"); - this.subtype.add("Elf"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LlanowarMentor.java b/Mage.Sets/src/mage/cards/l/LlanowarMentor.java index 230a0e42c74..c92afd3197b 100644 --- a/Mage.Sets/src/mage/cards/l/LlanowarMentor.java +++ b/Mage.Sets/src/mage/cards/l/LlanowarMentor.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.LlanowarElvesToken; @@ -49,8 +50,8 @@ public class LlanowarMentor extends CardImpl { public LlanowarMentor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}"); - this.subtype.add("Elf"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LlanowarSentinel.java b/Mage.Sets/src/mage/cards/l/LlanowarSentinel.java index ea6b820a808..704d43c4d1e 100644 --- a/Mage.Sets/src/mage/cards/l/LlanowarSentinel.java +++ b/Mage.Sets/src/mage/cards/l/LlanowarSentinel.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.NamePredicate; @@ -54,7 +55,7 @@ public class LlanowarSentinel extends CardImpl { public LlanowarSentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LlanowarVanguard.java b/Mage.Sets/src/mage/cards/l/LlanowarVanguard.java index f99fe0069c1..5eb813e1c40 100644 --- a/Mage.Sets/src/mage/cards/l/LlanowarVanguard.java +++ b/Mage.Sets/src/mage/cards/l/LlanowarVanguard.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class LlanowarVanguard extends CardImpl { public LlanowarVanguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LlawanCephalidEmpress.java b/Mage.Sets/src/mage/cards/l/LlawanCephalidEmpress.java index 6731e94edf2..bec6ee85515 100644 --- a/Mage.Sets/src/mage/cards/l/LlawanCephalidEmpress.java +++ b/Mage.Sets/src/mage/cards/l/LlawanCephalidEmpress.java @@ -66,7 +66,7 @@ public class LlawanCephalidEmpress extends CardImpl { public LlawanCephalidEmpress(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Cephalid"); + this.subtype.add(SubType.CEPHALID); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LoamDryad.java b/Mage.Sets/src/mage/cards/l/LoamDryad.java index 774778a3656..c69fa573db9 100644 --- a/Mage.Sets/src/mage/cards/l/LoamDryad.java +++ b/Mage.Sets/src/mage/cards/l/LoamDryad.java @@ -35,6 +35,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.permanent.TappedPredicate; @@ -54,8 +55,8 @@ public class LoamDryad extends CardImpl { public LoamDryad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Dryad"); - this.subtype.add("Horror"); + this.subtype.add(SubType.DRYAD); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LoamDweller.java b/Mage.Sets/src/mage/cards/l/LoamDweller.java index 9307cdf0ac0..2f338e36cc7 100644 --- a/Mage.Sets/src/mage/cards/l/LoamDweller.java +++ b/Mage.Sets/src/mage/cards/l/LoamDweller.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.PutLandFromHandOntoBattlefieldEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; /** @@ -44,7 +45,7 @@ public class LoamDweller extends CardImpl { public LoamDweller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LoamLarva.java b/Mage.Sets/src/mage/cards/l/LoamLarva.java index a832a0352ce..38e0791954b 100644 --- a/Mage.Sets/src/mage/cards/l/LoamLarva.java +++ b/Mage.Sets/src/mage/cards/l/LoamLarva.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutOnLibraryEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -46,7 +47,7 @@ public class LoamLarva extends CardImpl { public LoamLarva(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LoamLion.java b/Mage.Sets/src/mage/cards/l/LoamLion.java index 1971989ce69..cdb4f3bf698 100644 --- a/Mage.Sets/src/mage/cards/l/LoamLion.java +++ b/Mage.Sets/src/mage/cards/l/LoamLion.java @@ -57,7 +57,7 @@ public class LoamLion extends CardImpl { public LoamLion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.color.setWhite(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LoamdraggerGiant.java b/Mage.Sets/src/mage/cards/l/LoamdraggerGiant.java index f91e7459d64..d8561e17c3a 100644 --- a/Mage.Sets/src/mage/cards/l/LoamdraggerGiant.java +++ b/Mage.Sets/src/mage/cards/l/LoamdraggerGiant.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class LoamdraggerGiant extends CardImpl { public LoamdraggerGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R/G}{R/G}{R/G}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(7); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/l/LoamingShaman.java b/Mage.Sets/src/mage/cards/l/LoamingShaman.java index 85430feb223..9e202410427 100644 --- a/Mage.Sets/src/mage/cards/l/LoamingShaman.java +++ b/Mage.Sets/src/mage/cards/l/LoamingShaman.java @@ -38,6 +38,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -54,8 +55,8 @@ public class LoamingShaman extends CardImpl { public LoamingShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LoathsomeCatoblepas.java b/Mage.Sets/src/mage/cards/l/LoathsomeCatoblepas.java index e6e4e575d46..ac83543e0e7 100644 --- a/Mage.Sets/src/mage/cards/l/LoathsomeCatoblepas.java +++ b/Mage.Sets/src/mage/cards/l/LoathsomeCatoblepas.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class LoathsomeCatoblepas extends CardImpl { public LoathsomeCatoblepas(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LobberCrew.java b/Mage.Sets/src/mage/cards/l/LobberCrew.java index 296817f87a0..f2f6ea09b75 100644 --- a/Mage.Sets/src/mage/cards/l/LobberCrew.java +++ b/Mage.Sets/src/mage/cards/l/LobberCrew.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterSpell; @@ -58,8 +59,8 @@ public class LobberCrew extends CardImpl { public LobberCrew (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LochKorrigan.java b/Mage.Sets/src/mage/cards/l/LochKorrigan.java index 23fd385604c..ced24dbc37b 100644 --- a/Mage.Sets/src/mage/cards/l/LochKorrigan.java +++ b/Mage.Sets/src/mage/cards/l/LochKorrigan.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class LochKorrigan extends CardImpl { public LochKorrigan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LockjawSnapper.java b/Mage.Sets/src/mage/cards/l/LockjawSnapper.java index a37b5850ef3..846870ecf1f 100644 --- a/Mage.Sets/src/mage/cards/l/LockjawSnapper.java +++ b/Mage.Sets/src/mage/cards/l/LockjawSnapper.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -51,7 +52,7 @@ public class LockjawSnapper extends CardImpl { public LockjawSnapper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LocustMiser.java b/Mage.Sets/src/mage/cards/l/LocustMiser.java index fa3cc1ad567..da93f5b00a5 100644 --- a/Mage.Sets/src/mage/cards/l/LocustMiser.java +++ b/Mage.Sets/src/mage/cards/l/LocustMiser.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.MaximumHandSizeControllerEffect. import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class LocustMiser extends CardImpl { public LocustMiser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Rat"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LocustSwarm.java b/Mage.Sets/src/mage/cards/l/LocustSwarm.java index 174a91472ea..c594f9b283b 100644 --- a/Mage.Sets/src/mage/cards/l/LocustSwarm.java +++ b/Mage.Sets/src/mage/cards/l/LocustSwarm.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class LocustSwarm extends CardImpl { public LocustSwarm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LodestoneGolem.java b/Mage.Sets/src/mage/cards/l/LodestoneGolem.java index 9043929682a..a199f02e9ad 100644 --- a/Mage.Sets/src/mage/cards/l/LodestoneGolem.java +++ b/Mage.Sets/src/mage/cards/l/LodestoneGolem.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.CostModificationType; import mage.constants.Duration; import mage.constants.Outcome; @@ -53,7 +54,7 @@ public class LodestoneGolem extends CardImpl { public LodestoneGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LodestoneMyr.java b/Mage.Sets/src/mage/cards/l/LodestoneMyr.java index a977710eedb..a0e5730da85 100644 --- a/Mage.Sets/src/mage/cards/l/LodestoneMyr.java +++ b/Mage.Sets/src/mage/cards/l/LodestoneMyr.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; @@ -56,7 +57,7 @@ public class LodestoneMyr extends CardImpl { public LodestoneMyr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(TrampleAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/l/LoneMissionary.java b/Mage.Sets/src/mage/cards/l/LoneMissionary.java index d1621424cce..cdfb5d019fe 100644 --- a/Mage.Sets/src/mage/cards/l/LoneMissionary.java +++ b/Mage.Sets/src/mage/cards/l/LoneMissionary.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class LoneMissionary extends CardImpl { public LoneMissionary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Monk"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LoneRevenant.java b/Mage.Sets/src/mage/cards/l/LoneRevenant.java index 364f7b48d38..998fdf4f4c9 100644 --- a/Mage.Sets/src/mage/cards/l/LoneRevenant.java +++ b/Mage.Sets/src/mage/cards/l/LoneRevenant.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.common.FilterControlledCreaturePermanent; @@ -53,7 +54,7 @@ public class LoneRevenant extends CardImpl { public LoneRevenant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LoneRider.java b/Mage.Sets/src/mage/cards/l/LoneRider.java index 973d85ccd74..9b092ecf883 100644 --- a/Mage.Sets/src/mage/cards/l/LoneRider.java +++ b/Mage.Sets/src/mage/cards/l/LoneRider.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.i.ItThatRidesAsOne; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.game.events.GameEvent; import mage.watchers.common.PlayerGainedLifeWatcher; @@ -55,8 +56,8 @@ public class LoneRider extends CardImpl { public LoneRider(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LoneWolf.java b/Mage.Sets/src/mage/cards/l/LoneWolf.java index d3d29bd4ffd..51dc9fb0e78 100644 --- a/Mage.Sets/src/mage/cards/l/LoneWolf.java +++ b/Mage.Sets/src/mage/cards/l/LoneWolf.java @@ -33,6 +33,7 @@ import mage.abilities.common.DamageAsThoughNotBlockedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class LoneWolf extends CardImpl { public LoneWolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LoneWolfOfTheNatterknolls.java b/Mage.Sets/src/mage/cards/l/LoneWolfOfTheNatterknolls.java index 9342faff79a..74f9e155791 100644 --- a/Mage.Sets/src/mage/cards/l/LoneWolfOfTheNatterknolls.java +++ b/Mage.Sets/src/mage/cards/l/LoneWolfOfTheNatterknolls.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.FilterSpell; @@ -52,7 +53,7 @@ public class LoneWolfOfTheNatterknolls extends CardImpl { public LoneWolfOfTheNatterknolls(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(3); this.toughness = new MageInt(5); this.color.setGreen(true); diff --git a/Mage.Sets/src/mage/cards/l/LongFinnedSkywhale.java b/Mage.Sets/src/mage/cards/l/LongFinnedSkywhale.java index 26c61b8a823..139c356889d 100644 --- a/Mage.Sets/src/mage/cards/l/LongFinnedSkywhale.java +++ b/Mage.Sets/src/mage/cards/l/LongFinnedSkywhale.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class LongFinnedSkywhale extends CardImpl { public LongFinnedSkywhale(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Whale"); + this.subtype.add(SubType.WHALE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LongbowArcher.java b/Mage.Sets/src/mage/cards/l/LongbowArcher.java index a5a9d0cd4de..baf98372dde 100644 --- a/Mage.Sets/src/mage/cards/l/LongbowArcher.java +++ b/Mage.Sets/src/mage/cards/l/LongbowArcher.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,9 +44,9 @@ public class LongbowArcher extends CardImpl { public LongbowArcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LongshotSquad.java b/Mage.Sets/src/mage/cards/l/LongshotSquad.java index 88aa56d2b56..e0c0c7b42bd 100644 --- a/Mage.Sets/src/mage/cards/l/LongshotSquad.java +++ b/Mage.Sets/src/mage/cards/l/LongshotSquad.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -62,8 +63,8 @@ public class LongshotSquad extends CardImpl { public LongshotSquad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Hound"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HOUND); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LongtuskCub.java b/Mage.Sets/src/mage/cards/l/LongtuskCub.java index cfee0f98f63..10d33055510 100644 --- a/Mage.Sets/src/mage/cards/l/LongtuskCub.java +++ b/Mage.Sets/src/mage/cards/l/LongtuskCub.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -48,7 +49,7 @@ public class LongtuskCub extends CardImpl { public LongtuskCub(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LoomingHoverguard.java b/Mage.Sets/src/mage/cards/l/LoomingHoverguard.java index 75f6ba311d1..52fa0f709c2 100644 --- a/Mage.Sets/src/mage/cards/l/LoomingHoverguard.java +++ b/Mage.Sets/src/mage/cards/l/LoomingHoverguard.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.target.TargetPermanent; @@ -54,7 +55,7 @@ public class LoomingHoverguard extends CardImpl { public LoomingHoverguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Drone"); + this.subtype.add(SubType.DRONE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LoomingShade.java b/Mage.Sets/src/mage/cards/l/LoomingShade.java index 5478f811c5e..b8feb2a16c5 100644 --- a/Mage.Sets/src/mage/cards/l/LoomingShade.java +++ b/Mage.Sets/src/mage/cards/l/LoomingShade.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class LoomingShade extends CardImpl { public LoomingShade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Shade"); + this.subtype.add(SubType.SHADE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LooterIlKor.java b/Mage.Sets/src/mage/cards/l/LooterIlKor.java index 59c02bb9656..d28cab33fee 100644 --- a/Mage.Sets/src/mage/cards/l/LooterIlKor.java +++ b/Mage.Sets/src/mage/cards/l/LooterIlKor.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class LooterIlKor extends CardImpl { public LooterIlKor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Kor"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LordOfAtlantis.java b/Mage.Sets/src/mage/cards/l/LordOfAtlantis.java index 71af483bbb2..4bd200e3e96 100644 --- a/Mage.Sets/src/mage/cards/l/LordOfAtlantis.java +++ b/Mage.Sets/src/mage/cards/l/LordOfAtlantis.java @@ -58,7 +58,7 @@ public class LordOfAtlantis extends CardImpl { public LordOfAtlantis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LordOfExtinction.java b/Mage.Sets/src/mage/cards/l/LordOfExtinction.java index a997126d417..6cbdc095cb8 100644 --- a/Mage.Sets/src/mage/cards/l/LordOfExtinction.java +++ b/Mage.Sets/src/mage/cards/l/LordOfExtinction.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -50,7 +51,7 @@ public class LordOfExtinction extends CardImpl { public LordOfExtinction(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/l/LordOfLineage.java b/Mage.Sets/src/mage/cards/l/LordOfLineage.java index 77099cabf8f..1b4e4ddb05d 100644 --- a/Mage.Sets/src/mage/cards/l/LordOfLineage.java +++ b/Mage.Sets/src/mage/cards/l/LordOfLineage.java @@ -59,7 +59,7 @@ public class LordOfLineage extends CardImpl { public LordOfLineage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, ""); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.color.setBlack(true); this.power = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/l/LordOfShatterskullPass.java b/Mage.Sets/src/mage/cards/l/LordOfShatterskullPass.java index d1482436f68..6a9f5ede9dd 100644 --- a/Mage.Sets/src/mage/cards/l/LordOfShatterskullPass.java +++ b/Mage.Sets/src/mage/cards/l/LordOfShatterskullPass.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -55,8 +56,8 @@ public class LordOfShatterskullPass extends LevelerCard { public LordOfShatterskullPass(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.SHAMAN); this.color.setRed(true); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LordOfTheAccursed.java b/Mage.Sets/src/mage/cards/l/LordOfTheAccursed.java index 6b4c111be25..7ba04117a0b 100644 --- a/Mage.Sets/src/mage/cards/l/LordOfTheAccursed.java +++ b/Mage.Sets/src/mage/cards/l/LordOfTheAccursed.java @@ -55,7 +55,7 @@ public class LordOfTheAccursed extends CardImpl { public LordOfTheAccursed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LordOfThePit.java b/Mage.Sets/src/mage/cards/l/LordOfThePit.java index bdbd22495bb..3e2a945520c 100644 --- a/Mage.Sets/src/mage/cards/l/LordOfThePit.java +++ b/Mage.Sets/src/mage/cards/l/LordOfThePit.java @@ -53,7 +53,7 @@ public class LordOfThePit extends CardImpl { public LordOfThePit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/l/LordOfTheUndead.java b/Mage.Sets/src/mage/cards/l/LordOfTheUndead.java index 754160ff61e..9be024a3e7c 100644 --- a/Mage.Sets/src/mage/cards/l/LordOfTheUndead.java +++ b/Mage.Sets/src/mage/cards/l/LordOfTheUndead.java @@ -62,7 +62,7 @@ public class LordOfTheUndead extends CardImpl { public LordOfTheUndead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LordOfTheUnreal.java b/Mage.Sets/src/mage/cards/l/LordOfTheUnreal.java index 1c71b2be783..e31d47fac04 100644 --- a/Mage.Sets/src/mage/cards/l/LordOfTheUnreal.java +++ b/Mage.Sets/src/mage/cards/l/LordOfTheUnreal.java @@ -57,8 +57,8 @@ public class LordOfTheUnreal extends CardImpl { public LordOfTheUnreal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LordOfTheVoid.java b/Mage.Sets/src/mage/cards/l/LordOfTheVoid.java index 44bf64d9202..77883b2f39f 100644 --- a/Mage.Sets/src/mage/cards/l/LordOfTheVoid.java +++ b/Mage.Sets/src/mage/cards/l/LordOfTheVoid.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -55,7 +56,7 @@ public class LordOfTheVoid extends CardImpl { public LordOfTheVoid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/l/LordOfTresserhorn.java b/Mage.Sets/src/mage/cards/l/LordOfTresserhorn.java index f6d1b1aa67b..7d413eb0a33 100644 --- a/Mage.Sets/src/mage/cards/l/LordOfTresserhorn.java +++ b/Mage.Sets/src/mage/cards/l/LordOfTresserhorn.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.SacrificeControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -55,7 +56,7 @@ public class LordOfTresserhorn extends CardImpl { public LordOfTresserhorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{B}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(10); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LoreBroker.java b/Mage.Sets/src/mage/cards/l/LoreBroker.java index db1875d982d..b0ef0260917 100644 --- a/Mage.Sets/src/mage/cards/l/LoreBroker.java +++ b/Mage.Sets/src/mage/cards/l/LoreBroker.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardEachPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class LoreBroker extends CardImpl { public LoreBroker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LorescaleCoatl.java b/Mage.Sets/src/mage/cards/l/LorescaleCoatl.java index e5d7ac82237..9576862cc82 100644 --- a/Mage.Sets/src/mage/cards/l/LorescaleCoatl.java +++ b/Mage.Sets/src/mage/cards/l/LorescaleCoatl.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,7 +46,7 @@ public class LorescaleCoatl extends CardImpl { public LorescaleCoatl (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{U}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); diff --git a/Mage.Sets/src/mage/cards/l/LorthosTheTidemaker.java b/Mage.Sets/src/mage/cards/l/LorthosTheTidemaker.java index 264908e2ad2..527e466176c 100644 --- a/Mage.Sets/src/mage/cards/l/LorthosTheTidemaker.java +++ b/Mage.Sets/src/mage/cards/l/LorthosTheTidemaker.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterPermanent; import mage.target.TargetPermanent; @@ -53,7 +54,7 @@ public class LorthosTheTidemaker extends CardImpl { public LorthosTheTidemaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Octopus"); + this.subtype.add(SubType.OCTOPUS); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/l/LostAuramancers.java b/Mage.Sets/src/mage/cards/l/LostAuramancers.java index d210d14b7c6..cb5133a1f59 100644 --- a/Mage.Sets/src/mage/cards/l/LostAuramancers.java +++ b/Mage.Sets/src/mage/cards/l/LostAuramancers.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.VanishingUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterEnchantmentCard; @@ -55,8 +56,8 @@ public class LostAuramancers extends CardImpl { public LostAuramancers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LostLeonin.java b/Mage.Sets/src/mage/cards/l/LostLeonin.java index 7e19301b169..8ece0f23536 100644 --- a/Mage.Sets/src/mage/cards/l/LostLeonin.java +++ b/Mage.Sets/src/mage/cards/l/LostLeonin.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class LostLeonin extends CardImpl { public LostLeonin (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LostSoul.java b/Mage.Sets/src/mage/cards/l/LostSoul.java index 8ae5214410e..8366968d5d8 100644 --- a/Mage.Sets/src/mage/cards/l/LostSoul.java +++ b/Mage.Sets/src/mage/cards/l/LostSoul.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class LostSoul extends CardImpl { public LostSoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Spirit"); - this.subtype.add("Minion"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.MINION); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LotlethTroll.java b/Mage.Sets/src/mage/cards/l/LotlethTroll.java index 3217b30fa5c..634a17d8c80 100644 --- a/Mage.Sets/src/mage/cards/l/LotlethTroll.java +++ b/Mage.Sets/src/mage/cards/l/LotlethTroll.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreatureCard; @@ -53,8 +54,8 @@ public class LotlethTroll extends CardImpl { public LotlethTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{G}"); - this.subtype.add("Zombie"); - this.subtype.add("Troll"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.TROLL); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LotusCobra.java b/Mage.Sets/src/mage/cards/l/LotusCobra.java index 4eaade96609..a5d1c81d94a 100644 --- a/Mage.Sets/src/mage/cards/l/LotusCobra.java +++ b/Mage.Sets/src/mage/cards/l/LotusCobra.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.AddManaOfAnyColorEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class LotusCobra extends CardImpl { public LotusCobra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LotusEyeMystics.java b/Mage.Sets/src/mage/cards/l/LotusEyeMystics.java index bb607c551cf..a1226aacd5a 100644 --- a/Mage.Sets/src/mage/cards/l/LotusEyeMystics.java +++ b/Mage.Sets/src/mage/cards/l/LotusEyeMystics.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.target.common.TargetCardInYourGraveyard; @@ -54,8 +55,8 @@ public class LotusEyeMystics extends CardImpl { public LotusEyeMystics(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LotusGuardian.java b/Mage.Sets/src/mage/cards/l/LotusGuardian.java index a3fc2073dfa..3bcf336c5a1 100644 --- a/Mage.Sets/src/mage/cards/l/LotusGuardian.java +++ b/Mage.Sets/src/mage/cards/l/LotusGuardian.java @@ -34,6 +34,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class LotusGuardian extends CardImpl { public LotusGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LotusPathDjinn.java b/Mage.Sets/src/mage/cards/l/LotusPathDjinn.java index 60242970fa6..148a312cb98 100644 --- a/Mage.Sets/src/mage/cards/l/LotusPathDjinn.java +++ b/Mage.Sets/src/mage/cards/l/LotusPathDjinn.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class LotusPathDjinn extends CardImpl { public LotusPathDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Djinn"); - this.subtype.add("Monk"); + this.subtype.add(SubType.DJINN); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LovisaColdeyes.java b/Mage.Sets/src/mage/cards/l/LovisaColdeyes.java index 5b6444147bd..da45ba4a980 100644 --- a/Mage.Sets/src/mage/cards/l/LovisaColdeyes.java +++ b/Mage.Sets/src/mage/cards/l/LovisaColdeyes.java @@ -57,7 +57,7 @@ public class LovisaColdeyes extends CardImpl { public LovisaColdeyes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LowlandBasilisk.java b/Mage.Sets/src/mage/cards/l/LowlandBasilisk.java index 4fe4e4d2457..b55f6acf14f 100644 --- a/Mage.Sets/src/mage/cards/l/LowlandBasilisk.java +++ b/Mage.Sets/src/mage/cards/l/LowlandBasilisk.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class LowlandBasilisk extends CardImpl { public LowlandBasilisk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Basilisk"); + this.subtype.add(SubType.BASILISK); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LowlandGiant.java b/Mage.Sets/src/mage/cards/l/LowlandGiant.java index a370b0c44d6..6bcfc47790c 100644 --- a/Mage.Sets/src/mage/cards/l/LowlandGiant.java +++ b/Mage.Sets/src/mage/cards/l/LowlandGiant.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class LowlandGiant extends CardImpl { public LowlandGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LowlandOaf.java b/Mage.Sets/src/mage/cards/l/LowlandOaf.java index edeb7f8ccc2..76e272edeb8 100644 --- a/Mage.Sets/src/mage/cards/l/LowlandOaf.java +++ b/Mage.Sets/src/mage/cards/l/LowlandOaf.java @@ -1,124 +1,124 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.l; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.Effect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.SacrificeTargetEffect; -import mage.abilities.effects.common.continuous.BoostTargetEffect; -import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; -import mage.abilities.keyword.FlyingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.*; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.filter.predicate.permanent.ControllerPredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.target.common.TargetCreaturePermanent; -import mage.target.targetpointer.FixedTarget; - -/** - * - * @author Styxo - */ -public class LowlandOaf extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Goblin creature you control"); - - static { - filter.add(new SubtypePredicate(SubType.GOBLIN)); - filter.add(new ControllerPredicate(TargetController.YOU)); - } - - public LowlandOaf(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - - this.subtype.add("Giant"); - this.subtype.add("Warrior"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // {tap}: Target Goblin creature you control gets +1/+0 and gains flying until end of turn. Sacrifice that creature at the beginning of the next end step. - Effect effect = new BoostTargetEffect(1, 0, Duration.EndOfTurn); - effect.setText("Target Goblin creature you control gets +1/+0"); - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); - effect = new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn); - effect.setText("and gains flying until end of turn. "); - ability.addEffect(effect); - ability.addEffect(new LowlandOafEffect()); - ability.addTarget(new TargetCreaturePermanent(filter)); - this.addAbility(ability); - } - - public LowlandOaf(final LowlandOaf card) { - super(card); - } - - @Override - public LowlandOaf copy() { - return new LowlandOaf(this); - } -} - -class LowlandOafEffect extends OneShotEffect { - - public LowlandOafEffect() { - super(Outcome.Sacrifice); - this.staticText = "Sacrifice that creature at the beginning of the next end step"; - } - - public LowlandOafEffect(final LowlandOafEffect effect) { - super(effect); - } - - @Override - public LowlandOafEffect copy() { - return new LowlandOafEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Permanent targetCreature = game.getPermanent(source.getFirstTarget()); - if (targetCreature != null) { - SacrificeTargetEffect sacrificeEffect = new SacrificeTargetEffect("sacrifice this", source.getControllerId()); - sacrificeEffect.setTargetPointer(new FixedTarget(targetCreature, game)); - DelayedTriggeredAbility delayedAbility = new AtTheBeginOfNextEndStepDelayedTriggeredAbility(sacrificeEffect); - game.addDelayedTriggeredAbility(delayedAbility, source); - } - return true; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.l; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.DelayedTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.SacrificeTargetEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.target.common.TargetCreaturePermanent; +import mage.target.targetpointer.FixedTarget; + +/** + * + * @author Styxo + */ +public class LowlandOaf extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Goblin creature you control"); + + static { + filter.add(new SubtypePredicate(SubType.GOBLIN)); + filter.add(new ControllerPredicate(TargetController.YOU)); + } + + public LowlandOaf(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); + + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // {tap}: Target Goblin creature you control gets +1/+0 and gains flying until end of turn. Sacrifice that creature at the beginning of the next end step. + Effect effect = new BoostTargetEffect(1, 0, Duration.EndOfTurn); + effect.setText("Target Goblin creature you control gets +1/+0"); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); + effect = new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn); + effect.setText("and gains flying until end of turn. "); + ability.addEffect(effect); + ability.addEffect(new LowlandOafEffect()); + ability.addTarget(new TargetCreaturePermanent(filter)); + this.addAbility(ability); + } + + public LowlandOaf(final LowlandOaf card) { + super(card); + } + + @Override + public LowlandOaf copy() { + return new LowlandOaf(this); + } +} + +class LowlandOafEffect extends OneShotEffect { + + public LowlandOafEffect() { + super(Outcome.Sacrifice); + this.staticText = "Sacrifice that creature at the beginning of the next end step"; + } + + public LowlandOafEffect(final LowlandOafEffect effect) { + super(effect); + } + + @Override + public LowlandOafEffect copy() { + return new LowlandOafEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent targetCreature = game.getPermanent(source.getFirstTarget()); + if (targetCreature != null) { + SacrificeTargetEffect sacrificeEffect = new SacrificeTargetEffect("sacrifice this", source.getControllerId()); + sacrificeEffect.setTargetPointer(new FixedTarget(targetCreature, game)); + DelayedTriggeredAbility delayedAbility = new AtTheBeginOfNextEndStepDelayedTriggeredAbility(sacrificeEffect); + game.addDelayedTriggeredAbility(delayedAbility, source); + } + return true; + } +} diff --git a/Mage.Sets/src/mage/cards/l/LowlandTracker.java b/Mage.Sets/src/mage/cards/l/LowlandTracker.java index da465f820c6..100afab5cbd 100644 --- a/Mage.Sets/src/mage/cards/l/LowlandTracker.java +++ b/Mage.Sets/src/mage/cards/l/LowlandTracker.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class LowlandTracker extends CardImpl { public LowlandTracker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LoxodonAnchorite.java b/Mage.Sets/src/mage/cards/l/LoxodonAnchorite.java index d62dc9f3b8f..705e7518165 100644 --- a/Mage.Sets/src/mage/cards/l/LoxodonAnchorite.java +++ b/Mage.Sets/src/mage/cards/l/LoxodonAnchorite.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class LoxodonAnchorite extends CardImpl { public LoxodonAnchorite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Elephant"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LoxodonConvert.java b/Mage.Sets/src/mage/cards/l/LoxodonConvert.java index c2f66b599c4..3ef2cec0832 100644 --- a/Mage.Sets/src/mage/cards/l/LoxodonConvert.java +++ b/Mage.Sets/src/mage/cards/l/LoxodonConvert.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class LoxodonConvert extends CardImpl { public LoxodonConvert(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Elephant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LoxodonGatekeeper.java b/Mage.Sets/src/mage/cards/l/LoxodonGatekeeper.java index d8c667ba082..b7a8f657f78 100644 --- a/Mage.Sets/src/mage/cards/l/LoxodonGatekeeper.java +++ b/Mage.Sets/src/mage/cards/l/LoxodonGatekeeper.java @@ -35,6 +35,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class LoxodonGatekeeper extends CardImpl { public LoxodonGatekeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Elephant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LoxodonHierarch.java b/Mage.Sets/src/mage/cards/l/LoxodonHierarch.java index 0a34bb15ca7..49eb454675a 100644 --- a/Mage.Sets/src/mage/cards/l/LoxodonHierarch.java +++ b/Mage.Sets/src/mage/cards/l/LoxodonHierarch.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.RegenerateAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -58,8 +59,8 @@ public class LoxodonHierarch extends CardImpl { public LoxodonHierarch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{W}"); - this.subtype.add("Elephant"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LoxodonMender.java b/Mage.Sets/src/mage/cards/l/LoxodonMender.java index 829b5b189f1..60ec54f776f 100644 --- a/Mage.Sets/src/mage/cards/l/LoxodonMender.java +++ b/Mage.Sets/src/mage/cards/l/LoxodonMender.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.RegenerateTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -56,8 +57,8 @@ public class LoxodonMender extends CardImpl { public LoxodonMender(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Elephant"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LoxodonMystic.java b/Mage.Sets/src/mage/cards/l/LoxodonMystic.java index 0082f3da59d..02af4fca6d5 100644 --- a/Mage.Sets/src/mage/cards/l/LoxodonMystic.java +++ b/Mage.Sets/src/mage/cards/l/LoxodonMystic.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class LoxodonMystic extends CardImpl { public LoxodonMystic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Elephant"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LoxodonPartisan.java b/Mage.Sets/src/mage/cards/l/LoxodonPartisan.java index 5a1f0465afa..cdf8482c279 100644 --- a/Mage.Sets/src/mage/cards/l/LoxodonPartisan.java +++ b/Mage.Sets/src/mage/cards/l/LoxodonPartisan.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.BattleCryAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class LoxodonPartisan extends CardImpl { public LoxodonPartisan (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Elephant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LoxodonPunisher.java b/Mage.Sets/src/mage/cards/l/LoxodonPunisher.java index 8d7a509c71a..0f3cbfe59e4 100644 --- a/Mage.Sets/src/mage/cards/l/LoxodonPunisher.java +++ b/Mage.Sets/src/mage/cards/l/LoxodonPunisher.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class LoxodonPunisher extends CardImpl { public LoxodonPunisher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Elephant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LoxodonSmiter.java b/Mage.Sets/src/mage/cards/l/LoxodonSmiter.java index 037eec9e517..28cd9e041e0 100644 --- a/Mage.Sets/src/mage/cards/l/LoxodonSmiter.java +++ b/Mage.Sets/src/mage/cards/l/LoxodonSmiter.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DiscardOntoBattlefieldEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class LoxodonSmiter extends CardImpl { public LoxodonSmiter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}"); - this.subtype.add("Elephant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LoxodonStalwart.java b/Mage.Sets/src/mage/cards/l/LoxodonStalwart.java index 082b1cf74ce..ace74674e74 100644 --- a/Mage.Sets/src/mage/cards/l/LoxodonStalwart.java +++ b/Mage.Sets/src/mage/cards/l/LoxodonStalwart.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class LoxodonStalwart extends CardImpl { public LoxodonStalwart(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Elephant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LoxodonWarhammer.java b/Mage.Sets/src/mage/cards/l/LoxodonWarhammer.java index b96354f81cc..0208d39708c 100644 --- a/Mage.Sets/src/mage/cards/l/LoxodonWarhammer.java +++ b/Mage.Sets/src/mage/cards/l/LoxodonWarhammer.java @@ -49,7 +49,7 @@ public class LoxodonWarhammer extends CardImpl { public LoxodonWarhammer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +3/+0 and has trample and lifelink. (If the creature would assign enough damage to its blockers to destroy them, you may have it assign the rest of its damage to defending player or planeswalker. Damage dealt by the creature also causes its controller to gain that much life.) Effect effect = new BoostEquippedEffect(3, 0); diff --git a/Mage.Sets/src/mage/cards/l/LoxodonWayfarer.java b/Mage.Sets/src/mage/cards/l/LoxodonWayfarer.java index ea0a7129bcb..2ebeab069e6 100644 --- a/Mage.Sets/src/mage/cards/l/LoxodonWayfarer.java +++ b/Mage.Sets/src/mage/cards/l/LoxodonWayfarer.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class LoxodonWayfarer extends CardImpl { public LoxodonWayfarer (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Elephant"); - this.subtype.add("Monk"); + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.MONK); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/l/LoyalCathar.java b/Mage.Sets/src/mage/cards/l/LoyalCathar.java index ea011498f6d..e0805cb1458 100644 --- a/Mage.Sets/src/mage/cards/l/LoyalCathar.java +++ b/Mage.Sets/src/mage/cards/l/LoyalCathar.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.u.UnhallowedCathar; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -53,8 +54,8 @@ public class LoyalCathar extends CardImpl { public LoyalCathar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.transformable = true; this.secondSideCardClazz = UnhallowedCathar.class; diff --git a/Mage.Sets/src/mage/cards/l/LoyalGyrfalcon.java b/Mage.Sets/src/mage/cards/l/LoyalGyrfalcon.java index ce13720aacc..0ccdcac699c 100644 --- a/Mage.Sets/src/mage/cards/l/LoyalGyrfalcon.java +++ b/Mage.Sets/src/mage/cards/l/LoyalGyrfalcon.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.FilterSpell; @@ -60,7 +61,7 @@ public class LoyalGyrfalcon extends CardImpl { public LoyalGyrfalcon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.color.setWhite(true); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LoyalPegasus.java b/Mage.Sets/src/mage/cards/l/LoyalPegasus.java index 28bae319690..94e3f8839b0 100644 --- a/Mage.Sets/src/mage/cards/l/LoyalPegasus.java +++ b/Mage.Sets/src/mage/cards/l/LoyalPegasus.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class LoyalPegasus extends CardImpl { public LoyalPegasus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Pegasus"); + this.subtype.add(SubType.PEGASUS); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LoyalRetainers.java b/Mage.Sets/src/mage/cards/l/LoyalRetainers.java index 1c218ac608d..2dd42d1a941 100644 --- a/Mage.Sets/src/mage/cards/l/LoyalRetainers.java +++ b/Mage.Sets/src/mage/cards/l/LoyalRetainers.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -57,8 +58,8 @@ public class LoyalRetainers extends CardImpl { public LoyalRetainers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LoyalSentry.java b/Mage.Sets/src/mage/cards/l/LoyalSentry.java index e5867494631..0f58f0d88ae 100644 --- a/Mage.Sets/src/mage/cards/l/LoyalSentry.java +++ b/Mage.Sets/src/mage/cards/l/LoyalSentry.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -47,8 +48,8 @@ public class LoyalSentry extends CardImpl { public LoyalSentry(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LoyalTauntaun.java b/Mage.Sets/src/mage/cards/l/LoyalTauntaun.java index 090153bc561..414a203125e 100644 --- a/Mage.Sets/src/mage/cards/l/LoyalTauntaun.java +++ b/Mage.Sets/src/mage/cards/l/LoyalTauntaun.java @@ -1,70 +1,71 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.l; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.RegenerateTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class LoyalTauntaun extends CardImpl { - - public LoyalTauntaun(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Beast"); - this.power = new MageInt(2); - this.toughness = new MageInt(3); - - // {1}{G}, sacrifice Loyal Tauntaun: Regenerate target creature. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl("{1}{G}")); - ability.addCost(new SacrificeSourceCost()); - ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability); - } - - public LoyalTauntaun(final LoyalTauntaun card) { - super(card); - } - - @Override - public LoyalTauntaun copy() { - return new LoyalTauntaun(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.l; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.RegenerateTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class LoyalTauntaun extends CardImpl { + + public LoyalTauntaun(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); + this.subtype.add(SubType.BEAST); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // {1}{G}, sacrifice Loyal Tauntaun: Regenerate target creature. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateTargetEffect(), new ManaCostsImpl("{1}{G}")); + ability.addCost(new SacrificeSourceCost()); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public LoyalTauntaun(final LoyalTauntaun card) { + super(card); + } + + @Override + public LoyalTauntaun copy() { + return new LoyalTauntaun(this); + } +} diff --git a/Mage.Sets/src/mage/cards/l/LuBuMasterAtArms.java b/Mage.Sets/src/mage/cards/l/LuBuMasterAtArms.java index f8b3d4dad9e..5020773d0cb 100644 --- a/Mage.Sets/src/mage/cards/l/LuBuMasterAtArms.java +++ b/Mage.Sets/src/mage/cards/l/LuBuMasterAtArms.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -45,9 +46,9 @@ public class LuBuMasterAtArms extends CardImpl { public LuBuMasterAtArms(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LuMengWuGeneral.java b/Mage.Sets/src/mage/cards/l/LuMengWuGeneral.java index 6e65a29ef57..abb1406ee5f 100644 --- a/Mage.Sets/src/mage/cards/l/LuMengWuGeneral.java +++ b/Mage.Sets/src/mage/cards/l/LuMengWuGeneral.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -44,8 +45,8 @@ public class LuMengWuGeneral extends CardImpl { public LuMengWuGeneral(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LuSuWuAdvisor.java b/Mage.Sets/src/mage/cards/l/LuSuWuAdvisor.java index df16330bc4c..267fb23fd8b 100644 --- a/Mage.Sets/src/mage/cards/l/LuSuWuAdvisor.java +++ b/Mage.Sets/src/mage/cards/l/LuSuWuAdvisor.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class LuSuWuAdvisor extends CardImpl { public LuSuWuAdvisor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LuXunScholarGeneral.java b/Mage.Sets/src/mage/cards/l/LuXunScholarGeneral.java index 9539aeffeb9..7de1996ae17 100644 --- a/Mage.Sets/src/mage/cards/l/LuXunScholarGeneral.java +++ b/Mage.Sets/src/mage/cards/l/LuXunScholarGeneral.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -46,8 +47,8 @@ public class LuXunScholarGeneral extends CardImpl { public LuXunScholarGeneral(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LucentLiminid.java b/Mage.Sets/src/mage/cards/l/LucentLiminid.java index 45d7d8642c6..79bceea88cb 100644 --- a/Mage.Sets/src/mage/cards/l/LucentLiminid.java +++ b/Mage.Sets/src/mage/cards/l/LucentLiminid.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class LucentLiminid extends CardImpl { public LucentLiminid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LudevicNecroAlchemist.java b/Mage.Sets/src/mage/cards/l/LudevicNecroAlchemist.java index 30eb0c9c0fe..2cdc2facce5 100644 --- a/Mage.Sets/src/mage/cards/l/LudevicNecroAlchemist.java +++ b/Mage.Sets/src/mage/cards/l/LudevicNecroAlchemist.java @@ -53,8 +53,8 @@ public class LudevicNecroAlchemist extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LudevicsAbomination.java b/Mage.Sets/src/mage/cards/l/LudevicsAbomination.java index 77dd8f705b2..de40cec9fc5 100644 --- a/Mage.Sets/src/mage/cards/l/LudevicsAbomination.java +++ b/Mage.Sets/src/mage/cards/l/LudevicsAbomination.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class LudevicsAbomination extends CardImpl { public LudevicsAbomination(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Lizard"); - this.subtype.add("Horror"); + this.subtype.add(SubType.LIZARD); + this.subtype.add(SubType.HORROR); this.color.setBlue(true); // this card is the second face of double-faced card diff --git a/Mage.Sets/src/mage/cards/l/LudevicsTestSubject.java b/Mage.Sets/src/mage/cards/l/LudevicsTestSubject.java index ab141dbb948..941692c0937 100644 --- a/Mage.Sets/src/mage/cards/l/LudevicsTestSubject.java +++ b/Mage.Sets/src/mage/cards/l/LudevicsTestSubject.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -54,7 +55,7 @@ public class LudevicsTestSubject extends CardImpl { public LudevicsTestSubject(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LukeSkywalker.java b/Mage.Sets/src/mage/cards/l/LukeSkywalker.java index 5db1df1b12c..be07999a2a8 100644 --- a/Mage.Sets/src/mage/cards/l/LukeSkywalker.java +++ b/Mage.Sets/src/mage/cards/l/LukeSkywalker.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class LukeSkywalker extends CardImpl { public LukeSkywalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}{W}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Jedi"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.JEDI); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LullmageMentor.java b/Mage.Sets/src/mage/cards/l/LullmageMentor.java index 5ab5d7ca584..495396d8cd2 100644 --- a/Mage.Sets/src/mage/cards/l/LullmageMentor.java +++ b/Mage.Sets/src/mage/cards/l/LullmageMentor.java @@ -63,8 +63,8 @@ public class LullmageMentor extends CardImpl { public LullmageMentor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LumberingFalls.java b/Mage.Sets/src/mage/cards/l/LumberingFalls.java index f112fc4c33c..4e29df34600 100644 --- a/Mage.Sets/src/mage/cards/l/LumberingFalls.java +++ b/Mage.Sets/src/mage/cards/l/LumberingFalls.java @@ -39,6 +39,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -78,7 +79,7 @@ class LumberingFallsToken extends Token { public LumberingFallsToken() { super("", "3/3 green and blue Elemental creature with hexproof"); cardType.add(CardType.CREATURE); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); color.setBlue(true); color.setGreen(true); power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LumberingSatyr.java b/Mage.Sets/src/mage/cards/l/LumberingSatyr.java index 39f8c2d817f..b2483f53f9a 100644 --- a/Mage.Sets/src/mage/cards/l/LumberingSatyr.java +++ b/Mage.Sets/src/mage/cards/l/LumberingSatyr.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -47,8 +48,8 @@ public class LumberingSatyr extends CardImpl { public LumberingSatyr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Satyr"); - this.subtype.add("Beast"); + this.subtype.add(SubType.SATYR); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/Lumberknot.java b/Mage.Sets/src/mage/cards/l/Lumberknot.java index c2ee2713c78..94e374aada9 100644 --- a/Mage.Sets/src/mage/cards/l/Lumberknot.java +++ b/Mage.Sets/src/mage/cards/l/Lumberknot.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,7 +46,7 @@ public class Lumberknot extends CardImpl { public Lumberknot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LumengridDrake.java b/Mage.Sets/src/mage/cards/l/LumengridDrake.java index 97b92457e04..d509b645ded 100644 --- a/Mage.Sets/src/mage/cards/l/LumengridDrake.java +++ b/Mage.Sets/src/mage/cards/l/LumengridDrake.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -49,7 +50,7 @@ public class LumengridDrake extends CardImpl { public LumengridDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.color.setBlue(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LumengridGargoyle.java b/Mage.Sets/src/mage/cards/l/LumengridGargoyle.java index e66649961bd..aed93ba64c1 100644 --- a/Mage.Sets/src/mage/cards/l/LumengridGargoyle.java +++ b/Mage.Sets/src/mage/cards/l/LumengridGargoyle.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class LumengridGargoyle extends CardImpl { public LumengridGargoyle (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Gargoyle"); + this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(4); this.toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/l/LumengridSentinel.java b/Mage.Sets/src/mage/cards/l/LumengridSentinel.java index 7dae06a3ddf..59ea5716494 100644 --- a/Mage.Sets/src/mage/cards/l/LumengridSentinel.java +++ b/Mage.Sets/src/mage/cards/l/LumengridSentinel.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; import mage.target.TargetPermanent; @@ -48,8 +49,8 @@ public class LumengridSentinel extends CardImpl { public LumengridSentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LumengridWarden.java b/Mage.Sets/src/mage/cards/l/LumengridWarden.java index 7dddfef3ac0..4833878ea09 100644 --- a/Mage.Sets/src/mage/cards/l/LumengridWarden.java +++ b/Mage.Sets/src/mage/cards/l/LumengridWarden.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class LumengridWarden extends CardImpl { public LumengridWarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LuminatePrimordial.java b/Mage.Sets/src/mage/cards/l/LuminatePrimordial.java index 25d6b64cf79..301bad1dbcd 100644 --- a/Mage.Sets/src/mage/cards/l/LuminatePrimordial.java +++ b/Mage.Sets/src/mage/cards/l/LuminatePrimordial.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -53,7 +54,7 @@ public class LuminatePrimordial extends CardImpl { public LuminatePrimordial(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(4); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/l/Luminesce.java b/Mage.Sets/src/mage/cards/l/Luminesce.java index 75bee45c5c3..fb8116cb487 100644 --- a/Mage.Sets/src/mage/cards/l/Luminesce.java +++ b/Mage.Sets/src/mage/cards/l/Luminesce.java @@ -1,101 +1,101 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.l; - -import java.util.UUID; -import mage.MageObject; -import mage.ObjectColor; -import mage.abilities.Ability; -import mage.abilities.effects.PreventionEffectImpl; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.game.Game; -import mage.game.events.GameEvent; - -/** - * - * @author Styxo - */ -public class Luminesce extends CardImpl { - - public Luminesce(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}"); - - // Prevent all damage that black sources and red sources would deal this turn. - getSpellAbility().addEffect(new LuminescePreventionEffect()); - } - - public Luminesce(final Luminesce card) { - super(card); - } - - @Override - public Luminesce copy() { - return new Luminesce(this); - } -} - -class LuminescePreventionEffect extends PreventionEffectImpl { - - public LuminescePreventionEffect() { - super(Duration.EndOfTurn, Integer.MAX_VALUE, false, false); - staticText = "Prevent all damage that black sources and red sources would deal this turn"; - } - - public LuminescePreventionEffect(LuminescePreventionEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - return true; - } - - @Override - public boolean applies(GameEvent event, Ability source, Game game) { - if (super.applies(event, source, game)) { - if (event.getType() == GameEvent.EventType.DAMAGE_PLAYER - || event.getType() == GameEvent.EventType.DAMAGE_CREATURE - || event.getType() == GameEvent.EventType.DAMAGE_PLANESWALKER) { - MageObject sourceObject = game.getObject(event.getSourceId()); - if (sourceObject != null - && (sourceObject.getColor(game).shares(ObjectColor.BLACK) || sourceObject.getColor(game).shares(ObjectColor.RED))) { - return true; - } - } - } - return false; - } - - @Override - public LuminescePreventionEffect copy() { - return new LuminescePreventionEffect(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.l; + +import java.util.UUID; +import mage.MageObject; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.effects.PreventionEffectImpl; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.game.Game; +import mage.game.events.GameEvent; + +/** + * + * @author Styxo + */ +public class Luminesce extends CardImpl { + + public Luminesce(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}"); + + // Prevent all damage that black sources and red sources would deal this turn. + getSpellAbility().addEffect(new LuminescePreventionEffect()); + } + + public Luminesce(final Luminesce card) { + super(card); + } + + @Override + public Luminesce copy() { + return new Luminesce(this); + } +} + +class LuminescePreventionEffect extends PreventionEffectImpl { + + public LuminescePreventionEffect() { + super(Duration.EndOfTurn, Integer.MAX_VALUE, false, false); + staticText = "Prevent all damage that black sources and red sources would deal this turn"; + } + + public LuminescePreventionEffect(LuminescePreventionEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + if (super.applies(event, source, game)) { + if (event.getType() == GameEvent.EventType.DAMAGE_PLAYER + || event.getType() == GameEvent.EventType.DAMAGE_CREATURE + || event.getType() == GameEvent.EventType.DAMAGE_PLANESWALKER) { + MageObject sourceObject = game.getObject(event.getSourceId()); + if (sourceObject != null + && (sourceObject.getColor(game).shares(ObjectColor.BLACK) || sourceObject.getColor(game).shares(ObjectColor.RED))) { + return true; + } + } + } + return false; + } + + @Override + public LuminescePreventionEffect copy() { + return new LuminescePreventionEffect(this); + } +} diff --git a/Mage.Sets/src/mage/cards/l/LuminousAngel.java b/Mage.Sets/src/mage/cards/l/LuminousAngel.java index b0b2db57dbe..a7c77048d77 100644 --- a/Mage.Sets/src/mage/cards/l/LuminousAngel.java +++ b/Mage.Sets/src/mage/cards/l/LuminousAngel.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.game.permanent.token.SpiritWhiteToken; @@ -46,7 +47,7 @@ public class LuminousAngel extends CardImpl { public LuminousAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LuminousGuardian.java b/Mage.Sets/src/mage/cards/l/LuminousGuardian.java index f144ad608b1..5402f0e5570 100644 --- a/Mage.Sets/src/mage/cards/l/LuminousGuardian.java +++ b/Mage.Sets/src/mage/cards/l/LuminousGuardian.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class LuminousGuardian extends CardImpl { public LuminousGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LuminousWake.java b/Mage.Sets/src/mage/cards/l/LuminousWake.java index 5c749b976ac..052164363ac 100644 --- a/Mage.Sets/src/mage/cards/l/LuminousWake.java +++ b/Mage.Sets/src/mage/cards/l/LuminousWake.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class LuminousWake extends CardImpl { public LuminousWake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/l/LunarAvenger.java b/Mage.Sets/src/mage/cards/l/LunarAvenger.java index 898c98f150f..03efc35ea2b 100644 --- a/Mage.Sets/src/mage/cards/l/LunarAvenger.java +++ b/Mage.Sets/src/mage/cards/l/LunarAvenger.java @@ -42,6 +42,7 @@ import mage.cards.CardSetInfo; import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -61,7 +62,7 @@ public class LunarAvenger extends CardImpl { public LunarAvenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LunarMystic.java b/Mage.Sets/src/mage/cards/l/LunarMystic.java index 514687f1126..9ea63d92736 100644 --- a/Mage.Sets/src/mage/cards/l/LunarMystic.java +++ b/Mage.Sets/src/mage/cards/l/LunarMystic.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -53,8 +54,8 @@ public class LunarMystic extends CardImpl { public LunarMystic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LunarchInquisitors.java b/Mage.Sets/src/mage/cards/l/LunarchInquisitors.java index 742bad18d4d..6ffb7ea5c69 100644 --- a/Mage.Sets/src/mage/cards/l/LunarchInquisitors.java +++ b/Mage.Sets/src/mage/cards/l/LunarchInquisitors.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,8 +57,8 @@ public class LunarchInquisitors extends CardImpl { public LunarchInquisitors(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(4); this.toughness = new MageInt(4); this.color.setWhite(true); diff --git a/Mage.Sets/src/mage/cards/l/LunarchMantle.java b/Mage.Sets/src/mage/cards/l/LunarchMantle.java index c64838a6d37..45f8820ccb9 100644 --- a/Mage.Sets/src/mage/cards/l/LunarchMantle.java +++ b/Mage.Sets/src/mage/cards/l/LunarchMantle.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class LunarchMantle extends CardImpl { public LunarchMantle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/l/LunkErrant.java b/Mage.Sets/src/mage/cards/l/LunkErrant.java index 207a4fcc0a1..bc4ce508a8b 100644 --- a/Mage.Sets/src/mage/cards/l/LunkErrant.java +++ b/Mage.Sets/src/mage/cards/l/LunkErrant.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -48,8 +49,8 @@ public class LunkErrant extends CardImpl { public LunkErrant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LupinePrototype.java b/Mage.Sets/src/mage/cards/l/LupinePrototype.java index cd0e220dfb3..9bb3a39acbd 100644 --- a/Mage.Sets/src/mage/cards/l/LupinePrototype.java +++ b/Mage.Sets/src/mage/cards/l/LupinePrototype.java @@ -35,6 +35,7 @@ import mage.abilities.effects.RestrictionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -49,8 +50,8 @@ public class LupinePrototype extends CardImpl { public LupinePrototype(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Wolf"); - this.subtype.add("Construct"); + this.subtype.add(SubType.WOLF); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/l/LurchingRotbeast.java b/Mage.Sets/src/mage/cards/l/LurchingRotbeast.java index 17b48c6e564..ad9bf59bc25 100644 --- a/Mage.Sets/src/mage/cards/l/LurchingRotbeast.java +++ b/Mage.Sets/src/mage/cards/l/LurchingRotbeast.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class LurchingRotbeast extends CardImpl { public LurchingRotbeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/Lure.java b/Mage.Sets/src/mage/cards/l/Lure.java index 73fa7af4805..11822bcce48 100644 --- a/Mage.Sets/src/mage/cards/l/Lure.java +++ b/Mage.Sets/src/mage/cards/l/Lure.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class Lure extends CardImpl { public Lure (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/l/LureboundScarecrow.java b/Mage.Sets/src/mage/cards/l/LureboundScarecrow.java index 0a81f3f84d7..fe4b9f5b67d 100644 --- a/Mage.Sets/src/mage/cards/l/LureboundScarecrow.java +++ b/Mage.Sets/src/mage/cards/l/LureboundScarecrow.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class LureboundScarecrow extends CardImpl { public LureboundScarecrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/l/LurkingArynx.java b/Mage.Sets/src/mage/cards/l/LurkingArynx.java index 6a125a2ab15..22bac9ce5be 100644 --- a/Mage.Sets/src/mage/cards/l/LurkingArynx.java +++ b/Mage.Sets/src/mage/cards/l/LurkingArynx.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class LurkingArynx extends CardImpl { public LurkingArynx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Cat"); - this.subtype.add("Beast"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/l/LurkingCrocodile.java b/Mage.Sets/src/mage/cards/l/LurkingCrocodile.java index 5e199e905e7..2d144c1c0ae 100644 --- a/Mage.Sets/src/mage/cards/l/LurkingCrocodile.java +++ b/Mage.Sets/src/mage/cards/l/LurkingCrocodile.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class LurkingCrocodile extends CardImpl { public LurkingCrocodile(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Crocodile"); + this.subtype.add(SubType.CROCODILE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LurkingEvil.java b/Mage.Sets/src/mage/cards/l/LurkingEvil.java index 8bd61abbd9a..152b2df41fe 100644 --- a/Mage.Sets/src/mage/cards/l/LurkingEvil.java +++ b/Mage.Sets/src/mage/cards/l/LurkingEvil.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -114,7 +115,7 @@ class LurkingEvilToken extends Token { super("Horror", "4/4 Horror creature with flying"); power = new MageInt(4); toughness = new MageInt(4); - subtype.add("Horror"); + subtype.add(SubType.HORROR); cardType.add(CardType.CREATURE); this.addAbility(FlyingAbility.getInstance()); } diff --git a/Mage.Sets/src/mage/cards/l/LurkingInformant.java b/Mage.Sets/src/mage/cards/l/LurkingInformant.java index d112253f106..406d773d98a 100644 --- a/Mage.Sets/src/mage/cards/l/LurkingInformant.java +++ b/Mage.Sets/src/mage/cards/l/LurkingInformant.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.LookLibraryTopCardTargetPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -48,8 +49,8 @@ public class LurkingInformant extends CardImpl { public LurkingInformant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U/B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LurkingNightstalker.java b/Mage.Sets/src/mage/cards/l/LurkingNightstalker.java index b96f495dbaf..ca75d090ccf 100644 --- a/Mage.Sets/src/mage/cards/l/LurkingNightstalker.java +++ b/Mage.Sets/src/mage/cards/l/LurkingNightstalker.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class LurkingNightstalker extends CardImpl { public LurkingNightstalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Nightstalker"); + this.subtype.add(SubType.NIGHTSTALKER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LushGrowth.java b/Mage.Sets/src/mage/cards/l/LushGrowth.java index 3cfefb9d162..5e504d4f147 100644 --- a/Mage.Sets/src/mage/cards/l/LushGrowth.java +++ b/Mage.Sets/src/mage/cards/l/LushGrowth.java @@ -50,7 +50,7 @@ public class LushGrowth extends CardImpl { public LushGrowth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/l/LustForWar.java b/Mage.Sets/src/mage/cards/l/LustForWar.java index ad5b705d26a..ea575a26b9d 100644 --- a/Mage.Sets/src/mage/cards/l/LustForWar.java +++ b/Mage.Sets/src/mage/cards/l/LustForWar.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class LustForWar extends CardImpl { public LustForWar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/l/LuxaRiverShrine.java b/Mage.Sets/src/mage/cards/l/LuxaRiverShrine.java index acf3e5b15c4..1bca72cf265 100644 --- a/Mage.Sets/src/mage/cards/l/LuxaRiverShrine.java +++ b/Mage.Sets/src/mage/cards/l/LuxaRiverShrine.java @@ -1,77 +1,77 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.l; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.condition.Condition; -import mage.abilities.condition.common.SourceHasCounterCondition; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; -import mage.abilities.effects.common.GainLifeEffect; -import mage.abilities.effects.common.counter.AddCountersSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.counters.CounterType; - -/** - * - * @author jeffwadsworth - */ -public class LuxaRiverShrine extends CardImpl { - - private static final String rule = "{T}: You gain 2 life. Activate this ability only if there are three or more brick counters on {this}."; - - public LuxaRiverShrine(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); - - // {1}, {T}: You gain 1 life. Put a brick counter on Luxa River Shrine. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new ManaCostsImpl("{1}")); - ability.addCost(new TapSourceCost()); - ability.addEffect(new AddCountersSourceEffect(CounterType.BRICK.createInstance())); - this.addAbility(ability); - - // {T}: You gain 2 life. Activate this ability only if there are three or more brick counters on Luxa River Shrine. - Condition condition = new SourceHasCounterCondition(CounterType.BRICK, 3, Integer.MAX_VALUE); - this.addAbility(new ConditionalActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(2), new TapSourceCost(), condition, rule)); - - } - - public LuxaRiverShrine(final LuxaRiverShrine card) { - super(card); - } - - @Override - public LuxaRiverShrine copy() { - return new LuxaRiverShrine(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.l; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.SourceHasCounterCondition; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.counters.CounterType; + +/** + * + * @author jeffwadsworth + */ +public class LuxaRiverShrine extends CardImpl { + + private static final String rule = "{T}: You gain 2 life. Activate this ability only if there are three or more brick counters on {this}."; + + public LuxaRiverShrine(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); + + // {1}, {T}: You gain 1 life. Put a brick counter on Luxa River Shrine. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(1), new ManaCostsImpl("{1}")); + ability.addCost(new TapSourceCost()); + ability.addEffect(new AddCountersSourceEffect(CounterType.BRICK.createInstance())); + this.addAbility(ability); + + // {T}: You gain 2 life. Activate this ability only if there are three or more brick counters on Luxa River Shrine. + Condition condition = new SourceHasCounterCondition(CounterType.BRICK, 3, Integer.MAX_VALUE); + this.addAbility(new ConditionalActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(2), new TapSourceCost(), condition, rule)); + + } + + public LuxaRiverShrine(final LuxaRiverShrine card) { + super(card); + } + + @Override + public LuxaRiverShrine copy() { + return new LuxaRiverShrine(this); + } +} diff --git a/Mage.Sets/src/mage/cards/l/LyevSkyknight.java b/Mage.Sets/src/mage/cards/l/LyevSkyknight.java index d0f694a6dc5..e81d3f62284 100644 --- a/Mage.Sets/src/mage/cards/l/LyevSkyknight.java +++ b/Mage.Sets/src/mage/cards/l/LyevSkyknight.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterNonlandPermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -55,8 +56,8 @@ public class LyevSkyknight extends CardImpl { public LyevSkyknight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); diff --git a/Mage.Sets/src/mage/cards/l/LymphSliver.java b/Mage.Sets/src/mage/cards/l/LymphSliver.java index f67549e7a24..a8789cf76b5 100644 --- a/Mage.Sets/src/mage/cards/l/LymphSliver.java +++ b/Mage.Sets/src/mage/cards/l/LymphSliver.java @@ -53,7 +53,7 @@ public class LymphSliver extends CardImpl { public LymphSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/Lynx.java b/Mage.Sets/src/mage/cards/l/Lynx.java index 4b79a708eec..59a09ddea7a 100644 --- a/Mage.Sets/src/mage/cards/l/Lynx.java +++ b/Mage.Sets/src/mage/cards/l/Lynx.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class Lynx extends CardImpl { public Lynx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LysAlanaBowmaster.java b/Mage.Sets/src/mage/cards/l/LysAlanaBowmaster.java index 8ae1a7cd17b..1775d4844bd 100644 --- a/Mage.Sets/src/mage/cards/l/LysAlanaBowmaster.java +++ b/Mage.Sets/src/mage/cards/l/LysAlanaBowmaster.java @@ -60,8 +60,8 @@ public class LysAlanaBowmaster extends CardImpl { public LysAlanaBowmaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/l/LysAlanaHuntmaster.java b/Mage.Sets/src/mage/cards/l/LysAlanaHuntmaster.java index cb926c43eb1..fd13e010144 100644 --- a/Mage.Sets/src/mage/cards/l/LysAlanaHuntmaster.java +++ b/Mage.Sets/src/mage/cards/l/LysAlanaHuntmaster.java @@ -53,8 +53,8 @@ public class LysAlanaHuntmaster extends CardImpl { public LysAlanaHuntmaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/l/LysAlanaScarblade.java b/Mage.Sets/src/mage/cards/l/LysAlanaScarblade.java index f252e4953b5..c6075c10d7f 100644 --- a/Mage.Sets/src/mage/cards/l/LysAlanaScarblade.java +++ b/Mage.Sets/src/mage/cards/l/LysAlanaScarblade.java @@ -64,8 +64,8 @@ public class LysAlanaScarblade extends CardImpl { public LysAlanaScarblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Elf"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/l/LyzoldaTheBloodWitch.java b/Mage.Sets/src/mage/cards/l/LyzoldaTheBloodWitch.java index 8850fd7f5d7..91c7e81381e 100644 --- a/Mage.Sets/src/mage/cards/l/LyzoldaTheBloodWitch.java +++ b/Mage.Sets/src/mage/cards/l/LyzoldaTheBloodWitch.java @@ -43,6 +43,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -69,8 +70,8 @@ public class LyzoldaTheBloodWitch extends CardImpl { public LyzoldaTheBloodWitch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MaChaoWesternWarrior.java b/Mage.Sets/src/mage/cards/m/MaChaoWesternWarrior.java index ba59a112e83..908f47311e2 100644 --- a/Mage.Sets/src/mage/cards/m/MaChaoWesternWarrior.java +++ b/Mage.Sets/src/mage/cards/m/MaChaoWesternWarrior.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; @@ -48,9 +49,9 @@ public class MaChaoWesternWarrior extends CardImpl { public MaChaoWesternWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MaalfeldTwins.java b/Mage.Sets/src/mage/cards/m/MaalfeldTwins.java index 81e0c4e9e81..2bbea9ef2f5 100644 --- a/Mage.Sets/src/mage/cards/m/MaalfeldTwins.java +++ b/Mage.Sets/src/mage/cards/m/MaalfeldTwins.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.ZombieToken; /** @@ -44,7 +45,7 @@ public class MaalfeldTwins extends CardImpl { public MaalfeldTwins(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MaceWindu.java b/Mage.Sets/src/mage/cards/m/MaceWindu.java index ca4fdf01be9..3c088a14592 100644 --- a/Mage.Sets/src/mage/cards/m/MaceWindu.java +++ b/Mage.Sets/src/mage/cards/m/MaceWindu.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MeditateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.filter.common.FilterSpellOrPermanent; @@ -58,8 +59,8 @@ public class MaceWindu extends CardImpl { public MaceWindu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Jedi"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.JEDI); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MacetailHystrodon.java b/Mage.Sets/src/mage/cards/m/MacetailHystrodon.java index dfc5ce9a099..df688fe414b 100644 --- a/Mage.Sets/src/mage/cards/m/MacetailHystrodon.java +++ b/Mage.Sets/src/mage/cards/m/MacetailHystrodon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class MacetailHystrodon extends CardImpl { public MacetailHystrodon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MadAuntie.java b/Mage.Sets/src/mage/cards/m/MadAuntie.java index 86f1ebcf05a..dfedd9644c0 100644 --- a/Mage.Sets/src/mage/cards/m/MadAuntie.java +++ b/Mage.Sets/src/mage/cards/m/MadAuntie.java @@ -62,8 +62,8 @@ public class MadAuntie extends CardImpl { public MadAuntie(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MadProphet.java b/Mage.Sets/src/mage/cards/m/MadProphet.java index c25eac73156..7427d12c56b 100644 --- a/Mage.Sets/src/mage/cards/m/MadProphet.java +++ b/Mage.Sets/src/mage/cards/m/MadProphet.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCardInHand; @@ -49,8 +50,8 @@ public class MadProphet extends CardImpl { public MadProphet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MadblindMountain.java b/Mage.Sets/src/mage/cards/m/MadblindMountain.java index db1cdd3a38d..e2cb98306bd 100644 --- a/Mage.Sets/src/mage/cards/m/MadblindMountain.java +++ b/Mage.Sets/src/mage/cards/m/MadblindMountain.java @@ -40,6 +40,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -59,7 +60,7 @@ public class MadblindMountain extends CardImpl { public MadblindMountain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Mountain"); + this.subtype.add(SubType.MOUNTAIN); // ({tap}: Add {R} to your mana pool.) this.addAbility(new RedManaAbility()); diff --git a/Mage.Sets/src/mage/cards/m/MadcapSkills.java b/Mage.Sets/src/mage/cards/m/MadcapSkills.java index 5d43b147be1..b3c89573c6c 100644 --- a/Mage.Sets/src/mage/cards/m/MadcapSkills.java +++ b/Mage.Sets/src/mage/cards/m/MadcapSkills.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -52,7 +53,7 @@ public class MadcapSkills extends CardImpl { public MadcapSkills(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/m/MadrushCyclops.java b/Mage.Sets/src/mage/cards/m/MadrushCyclops.java index aed7e6fcb3b..b85a0e01a60 100644 --- a/Mage.Sets/src/mage/cards/m/MadrushCyclops.java +++ b/Mage.Sets/src/mage/cards/m/MadrushCyclops.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -48,8 +49,8 @@ public class MadrushCyclops extends CardImpl { public MadrushCyclops (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}{G}"); - this.subtype.add("Cyclops"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CYCLOPS); + this.subtype.add(SubType.WARRIOR); diff --git a/Mage.Sets/src/mage/cards/m/MaelstromArchangel.java b/Mage.Sets/src/mage/cards/m/MaelstromArchangel.java index 2970660722d..1c644aab712 100644 --- a/Mage.Sets/src/mage/cards/m/MaelstromArchangel.java +++ b/Mage.Sets/src/mage/cards/m/MaelstromArchangel.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.FilterCard; import mage.filter.common.FilterNonlandCard; @@ -53,7 +54,7 @@ public class MaelstromArchangel extends CardImpl { public MaelstromArchangel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}{B}{R}{G}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MaelstromDjinn.java b/Mage.Sets/src/mage/cards/m/MaelstromDjinn.java index 95c21543ada..25ed49bda19 100644 --- a/Mage.Sets/src/mage/cards/m/MaelstromDjinn.java +++ b/Mage.Sets/src/mage/cards/m/MaelstromDjinn.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.VanishingUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.counters.CounterType; @@ -53,7 +54,7 @@ public class MaelstromDjinn extends CardImpl { public MaelstromDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{7}{U}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/m/MaelstromWanderer.java b/Mage.Sets/src/mage/cards/m/MaelstromWanderer.java index 6579d59d055..7e0b2d9765f 100644 --- a/Mage.Sets/src/mage/cards/m/MaelstromWanderer.java +++ b/Mage.Sets/src/mage/cards/m/MaelstromWanderer.java @@ -53,7 +53,7 @@ public class MaelstromWanderer extends CardImpl { public MaelstromWanderer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(7); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MagaTraitorToMortals.java b/Mage.Sets/src/mage/cards/m/MagaTraitorToMortals.java index cea2aba1c92..54b1e4f4dd2 100644 --- a/Mage.Sets/src/mage/cards/m/MagaTraitorToMortals.java +++ b/Mage.Sets/src/mage/cards/m/MagaTraitorToMortals.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.counters.CounterType; import mage.target.TargetPlayer; @@ -51,8 +52,8 @@ public class MagaTraitorToMortals extends CardImpl { public MagaTraitorToMortals(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{X}{B}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MageIlVec.java b/Mage.Sets/src/mage/cards/m/MageIlVec.java index 3093360f472..aa9a1571c86 100644 --- a/Mage.Sets/src/mage/cards/m/MageIlVec.java +++ b/Mage.Sets/src/mage/cards/m/MageIlVec.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class MageIlVec extends CardImpl { public MageIlVec(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MageRingBully.java b/Mage.Sets/src/mage/cards/m/MageRingBully.java index 9b36c4f5639..4d3d6f34c15 100644 --- a/Mage.Sets/src/mage/cards/m/MageRingBully.java +++ b/Mage.Sets/src/mage/cards/m/MageRingBully.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class MageRingBully extends CardImpl { public MageRingBully(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MageRingResponder.java b/Mage.Sets/src/mage/cards/m/MageRingResponder.java index 11b10396d75..2c35ab315f7 100644 --- a/Mage.Sets/src/mage/cards/m/MageRingResponder.java +++ b/Mage.Sets/src/mage/cards/m/MageRingResponder.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -55,7 +56,7 @@ public class MageRingResponder extends CardImpl { public MageRingResponder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/m/MageSlayer.java b/Mage.Sets/src/mage/cards/m/MageSlayer.java index a433610ca56..5846113861e 100644 --- a/Mage.Sets/src/mage/cards/m/MageSlayer.java +++ b/Mage.Sets/src/mage/cards/m/MageSlayer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -50,7 +51,7 @@ public class MageSlayer extends CardImpl { public MageSlayer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}{R}{G}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Whenever equipped creature attacks, it deals damage equal to its power to defending player. this.addAbility(new AttacksAttachedTriggeredAbility(new MageSlayerEffect(), false)); diff --git a/Mage.Sets/src/mage/cards/m/MagebaneArmor.java b/Mage.Sets/src/mage/cards/m/MagebaneArmor.java index a91a22f9f6b..74ed3cdbd54 100644 --- a/Mage.Sets/src/mage/cards/m/MagebaneArmor.java +++ b/Mage.Sets/src/mage/cards/m/MagebaneArmor.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class MagebaneArmor extends CardImpl { public MagebaneArmor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+4 and loses flying. this.addAbility(new MagebaneArmorAbility()); diff --git a/Mage.Sets/src/mage/cards/m/MagefireWings.java b/Mage.Sets/src/mage/cards/m/MagefireWings.java index 24aae58a82d..4ba11539c1d 100644 --- a/Mage.Sets/src/mage/cards/m/MagefireWings.java +++ b/Mage.Sets/src/mage/cards/m/MagefireWings.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class MagefireWings extends CardImpl { public MagefireWings (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); diff --git a/Mage.Sets/src/mage/cards/m/MagetaTheLion.java b/Mage.Sets/src/mage/cards/m/MagetaTheLion.java index 21f4975ef29..cc06630f48c 100644 --- a/Mage.Sets/src/mage/cards/m/MagetaTheLion.java +++ b/Mage.Sets/src/mage/cards/m/MagetaTheLion.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterCard; @@ -62,8 +63,8 @@ public class MagetaTheLion extends CardImpl { public MagetaTheLion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MagetasBoon.java b/Mage.Sets/src/mage/cards/m/MagetasBoon.java index 3a649fb879b..16699415444 100644 --- a/Mage.Sets/src/mage/cards/m/MagetasBoon.java +++ b/Mage.Sets/src/mage/cards/m/MagetasBoon.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class MagetasBoon extends CardImpl { public MagetasBoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/m/MaggotCarrier.java b/Mage.Sets/src/mage/cards/m/MaggotCarrier.java index 5d3ba19e1ff..20fdc9b3dd4 100644 --- a/Mage.Sets/src/mage/cards/m/MaggotCarrier.java +++ b/Mage.Sets/src/mage/cards/m/MaggotCarrier.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.LoseLifeAllPlayersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class MaggotCarrier extends CardImpl { public MaggotCarrier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MaggotTherapy.java b/Mage.Sets/src/mage/cards/m/MaggotTherapy.java index 31d1a6725fa..6c7f57fdb64 100644 --- a/Mage.Sets/src/mage/cards/m/MaggotTherapy.java +++ b/Mage.Sets/src/mage/cards/m/MaggotTherapy.java @@ -49,7 +49,7 @@ public class MaggotTherapy extends CardImpl { public MaggotTherapy(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/m/MagisterOfWorth.java b/Mage.Sets/src/mage/cards/m/MagisterOfWorth.java index 958c4672607..9a48ccc4386 100644 --- a/Mage.Sets/src/mage/cards/m/MagisterOfWorth.java +++ b/Mage.Sets/src/mage/cards/m/MagisterOfWorth.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -56,7 +57,7 @@ public class MagisterOfWorth extends CardImpl { public MagisterOfWorth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{B}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MagisterSphinx.java b/Mage.Sets/src/mage/cards/m/MagisterSphinx.java index a636ba9ab8a..3f588ddb74d 100644 --- a/Mage.Sets/src/mage/cards/m/MagisterSphinx.java +++ b/Mage.Sets/src/mage/cards/m/MagisterSphinx.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -49,7 +50,7 @@ public class MagisterSphinx extends CardImpl { public MagisterSphinx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{W}{U}{B}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MagmaGiant.java b/Mage.Sets/src/mage/cards/m/MagmaGiant.java index 80c03cabca5..78bca9c1fb3 100644 --- a/Mage.Sets/src/mage/cards/m/MagmaGiant.java +++ b/Mage.Sets/src/mage/cards/m/MagmaGiant.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageEverythingEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class MagmaGiant extends CardImpl { public MagmaGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MagmaPhoenix.java b/Mage.Sets/src/mage/cards/m/MagmaPhoenix.java index 13e8b0df327..056ed4c24dc 100644 --- a/Mage.Sets/src/mage/cards/m/MagmaPhoenix.java +++ b/Mage.Sets/src/mage/cards/m/MagmaPhoenix.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,7 +50,7 @@ public class MagmaPhoenix extends CardImpl { public MagmaPhoenix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Phoenix"); + this.subtype.add(SubType.PHOENIX); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MagmaSliver.java b/Mage.Sets/src/mage/cards/m/MagmaSliver.java index 21d2b0cf56f..01ad8dd8283 100644 --- a/Mage.Sets/src/mage/cards/m/MagmaSliver.java +++ b/Mage.Sets/src/mage/cards/m/MagmaSliver.java @@ -56,7 +56,7 @@ public class MagmaSliver extends CardImpl { public MagmaSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/Magmaroth.java b/Mage.Sets/src/mage/cards/m/Magmaroth.java index 66774866b71..a6821c005ae 100644 --- a/Mage.Sets/src/mage/cards/m/Magmaroth.java +++ b/Mage.Sets/src/mage/cards/m/Magmaroth.java @@ -9,6 +9,7 @@ import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.FilterSpell; @@ -25,7 +26,7 @@ public class Magmaroth extends CardImpl{ public Magmaroth(UUID ownerId, CardSetInfo cardSetInfo){ super(ownerId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(5); toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MagmaticForce.java b/Mage.Sets/src/mage/cards/m/MagmaticForce.java index b2a94ebd43e..b017368f30e 100644 --- a/Mage.Sets/src/mage/cards/m/MagmaticForce.java +++ b/Mage.Sets/src/mage/cards/m/MagmaticForce.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -47,7 +48,7 @@ public class MagmaticForce extends CardImpl { public MagmaticForce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/m/Magmaw.java b/Mage.Sets/src/mage/cards/m/Magmaw.java index dabf0ccc1f5..a4a9ed2622d 100644 --- a/Mage.Sets/src/mage/cards/m/Magmaw.java +++ b/Mage.Sets/src/mage/cards/m/Magmaw.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; @@ -57,7 +58,7 @@ public class Magmaw extends CardImpl { public Magmaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MagnigothTreefolk.java b/Mage.Sets/src/mage/cards/m/MagnigothTreefolk.java index ca99b08a70a..e1d470b1eb5 100644 --- a/Mage.Sets/src/mage/cards/m/MagnigothTreefolk.java +++ b/Mage.Sets/src/mage/cards/m/MagnigothTreefolk.java @@ -58,7 +58,7 @@ public class MagnigothTreefolk extends CardImpl { public MagnigothTreefolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(2); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/m/Magnivore.java b/Mage.Sets/src/mage/cards/m/Magnivore.java index ab19cc55be5..550708147ff 100644 --- a/Mage.Sets/src/mage/cards/m/Magnivore.java +++ b/Mage.Sets/src/mage/cards/m/Magnivore.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterCard; @@ -54,7 +55,7 @@ public class Magnivore extends CardImpl { public Magnivore(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Lhurgoyf"); + this.subtype.add(SubType.LHURGOYF); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheAbyss.java b/Mage.Sets/src/mage/cards/m/MagusOfTheAbyss.java index 0856dfd782b..e9ac9a63f29 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheAbyss.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheAbyss.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -53,8 +54,8 @@ public class MagusOfTheAbyss extends CardImpl { public MagusOfTheAbyss(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheArena.java b/Mage.Sets/src/mage/cards/m/MagusOfTheArena.java index 79082571e4f..170d16e373a 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheArena.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheArena.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.FightTargetsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -54,8 +55,8 @@ public class MagusOfTheArena extends CardImpl { public MagusOfTheArena(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheBazaar.java b/Mage.Sets/src/mage/cards/m/MagusOfTheBazaar.java index a1600b05aef..6f13d313d31 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheBazaar.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheBazaar.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class MagusOfTheBazaar extends CardImpl { public MagusOfTheBazaar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheCandelabra.java b/Mage.Sets/src/mage/cards/m/MagusOfTheCandelabra.java index 2c189a48b5c..16507b49f16 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheCandelabra.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheCandelabra.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.game.Game; @@ -52,8 +53,8 @@ public class MagusOfTheCandelabra extends CardImpl { public MagusOfTheCandelabra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheCoffers.java b/Mage.Sets/src/mage/cards/m/MagusOfTheCoffers.java index cb9d7e6eb4d..086e5595f35 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheCoffers.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheCoffers.java @@ -56,8 +56,8 @@ public class MagusOfTheCoffers extends CardImpl { public MagusOfTheCoffers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheDisk.java b/Mage.Sets/src/mage/cards/m/MagusOfTheDisk.java index 77f6d72a547..abfea2f3a58 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheDisk.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheDisk.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -60,8 +61,8 @@ public class MagusOfTheDisk extends CardImpl { public MagusOfTheDisk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheFuture.java b/Mage.Sets/src/mage/cards/m/MagusOfTheFuture.java index bbc107ce7f5..dbe0b871bdc 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheFuture.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheFuture.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.PlayWithTheTopCardRevealedEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class MagusOfTheFuture extends CardImpl { public MagusOfTheFuture(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheJar.java b/Mage.Sets/src/mage/cards/m/MagusOfTheJar.java index 221cf6a6b3f..52f8960a49a 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheJar.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheJar.java @@ -1,197 +1,198 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.Iterator; -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.Effect; -import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.Cards; -import mage.cards.CardsImpl; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.players.Player; - -/** - * - * @author HCrescent - */ -public class MagusOfTheJar extends CardImpl { - - public MagusOfTheJar(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}"); - - this.subtype.add("Human"); - this.subtype.add("Wizard"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // {tap}, Sacrifice Magus of the Jar: Each player exiles all cards from his or her hand face down and draws seven cards. At the beginning of the next end step, each player discards his or her hand and returns to his or her hand each card he or she exiled this way. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MagusoftheJarEffect(), new TapSourceCost()); - ability.addCost(new SacrificeSourceCost()); - this.addAbility(ability); - - } - - public MagusOfTheJar(final MagusOfTheJar card) { - super(card); - } - - @Override - public MagusOfTheJar copy() { - return new MagusOfTheJar(this); - } -} - -class MagusoftheJarEffect extends OneShotEffect { - - public MagusoftheJarEffect() { - super(Outcome.DrawCard); - staticText = "Each player exiles all cards from his or her hand face down and draws seven cards. At the beginning of the next end step, each player discards his or her hand and returns to his or her hand each card he or she exiled this way."; - } - - public MagusoftheJarEffect(final MagusoftheJarEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Cards cards = new CardsImpl(); - //Exile hand - for (UUID playerId : game.getState().getPlayersInRange(source.getControllerId(), game)) { - Player player = game.getPlayer(playerId); - if (player != null) { - Cards hand = player.getHand(); - while (!hand.isEmpty()) { - Card card = hand.get(hand.iterator().next(), game); - if (card != null) { - card.moveToExile(getId(), "Magus of the Jar", source.getSourceId(), game); - card.setFaceDown(true, game); - cards.add(card); - } - } - } - } - //Draw 7 cards - for (UUID playerId : game.getState().getPlayersInRange(source.getControllerId(), game)) { - Player player = game.getPlayer(playerId); - if (player != null) { - player.drawCards(7, game); - } - } - //Delayed ability - Effect effect = new MagusoftheJarDelayedEffect(); - effect.setValue("MagusoftheJarCards", cards); - game.addDelayedTriggeredAbility(new MagusoftheJarDelayedTriggeredAbility(effect), source); - return true; - } - - @Override - public MagusoftheJarEffect copy() { - return new MagusoftheJarEffect(this); - } -} - -class MagusoftheJarDelayedEffect extends OneShotEffect { - - public MagusoftheJarDelayedEffect() { - super(Outcome.DrawCard); - staticText = "At the beginning of the next end step, each player discards his or her hand and returns to his or her hand each card he or she exiled this way"; - } - - public MagusoftheJarDelayedEffect(final MagusoftheJarDelayedEffect effect) { - super(effect); - } - - @Override - public MagusoftheJarDelayedEffect copy() { - return new MagusoftheJarDelayedEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Cards cards = (Cards) this.getValue("MagusoftheJarCards"); - - if (cards != null) { - //Discard - for (UUID playerId : game.getState().getPlayersInRange(source.getControllerId(), game)) { - Player player = game.getPlayer(playerId); - if (player != null) { - player.discard(player.getHand().size(), false, source, game); - } - } - //Return to hand - for (Iterator it = cards.getCards(game).iterator(); it.hasNext();) { - Card card = it.next(); - card.moveToZone(Zone.HAND, source.getSourceId(), game, true); - } - return true; - } - return false; - } - -} - -class MagusoftheJarDelayedTriggeredAbility extends DelayedTriggeredAbility { - - public MagusoftheJarDelayedTriggeredAbility(Effect effect) { - super(effect); - } - - public MagusoftheJarDelayedTriggeredAbility(final MagusoftheJarDelayedTriggeredAbility ability) { - super(ability); - } - - @Override - public MagusoftheJarDelayedTriggeredAbility copy() { - return new MagusoftheJarDelayedTriggeredAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.END_TURN_STEP_PRE; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - return true; - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.Iterator; +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.DelayedTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.Cards; +import mage.cards.CardsImpl; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.players.Player; + +/** + * + * @author HCrescent + */ +public class MagusOfTheJar extends CardImpl { + + public MagusOfTheJar(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // {tap}, Sacrifice Magus of the Jar: Each player exiles all cards from his or her hand face down and draws seven cards. At the beginning of the next end step, each player discards his or her hand and returns to his or her hand each card he or she exiled this way. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MagusoftheJarEffect(), new TapSourceCost()); + ability.addCost(new SacrificeSourceCost()); + this.addAbility(ability); + + } + + public MagusOfTheJar(final MagusOfTheJar card) { + super(card); + } + + @Override + public MagusOfTheJar copy() { + return new MagusOfTheJar(this); + } +} + +class MagusoftheJarEffect extends OneShotEffect { + + public MagusoftheJarEffect() { + super(Outcome.DrawCard); + staticText = "Each player exiles all cards from his or her hand face down and draws seven cards. At the beginning of the next end step, each player discards his or her hand and returns to his or her hand each card he or she exiled this way."; + } + + public MagusoftheJarEffect(final MagusoftheJarEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Cards cards = new CardsImpl(); + //Exile hand + for (UUID playerId : game.getState().getPlayersInRange(source.getControllerId(), game)) { + Player player = game.getPlayer(playerId); + if (player != null) { + Cards hand = player.getHand(); + while (!hand.isEmpty()) { + Card card = hand.get(hand.iterator().next(), game); + if (card != null) { + card.moveToExile(getId(), "Magus of the Jar", source.getSourceId(), game); + card.setFaceDown(true, game); + cards.add(card); + } + } + } + } + //Draw 7 cards + for (UUID playerId : game.getState().getPlayersInRange(source.getControllerId(), game)) { + Player player = game.getPlayer(playerId); + if (player != null) { + player.drawCards(7, game); + } + } + //Delayed ability + Effect effect = new MagusoftheJarDelayedEffect(); + effect.setValue("MagusoftheJarCards", cards); + game.addDelayedTriggeredAbility(new MagusoftheJarDelayedTriggeredAbility(effect), source); + return true; + } + + @Override + public MagusoftheJarEffect copy() { + return new MagusoftheJarEffect(this); + } +} + +class MagusoftheJarDelayedEffect extends OneShotEffect { + + public MagusoftheJarDelayedEffect() { + super(Outcome.DrawCard); + staticText = "At the beginning of the next end step, each player discards his or her hand and returns to his or her hand each card he or she exiled this way"; + } + + public MagusoftheJarDelayedEffect(final MagusoftheJarDelayedEffect effect) { + super(effect); + } + + @Override + public MagusoftheJarDelayedEffect copy() { + return new MagusoftheJarDelayedEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Cards cards = (Cards) this.getValue("MagusoftheJarCards"); + + if (cards != null) { + //Discard + for (UUID playerId : game.getState().getPlayersInRange(source.getControllerId(), game)) { + Player player = game.getPlayer(playerId); + if (player != null) { + player.discard(player.getHand().size(), false, source, game); + } + } + //Return to hand + for (Iterator it = cards.getCards(game).iterator(); it.hasNext();) { + Card card = it.next(); + card.moveToZone(Zone.HAND, source.getSourceId(), game, true); + } + return true; + } + return false; + } + +} + +class MagusoftheJarDelayedTriggeredAbility extends DelayedTriggeredAbility { + + public MagusoftheJarDelayedTriggeredAbility(Effect effect) { + super(effect); + } + + public MagusoftheJarDelayedTriggeredAbility(final MagusoftheJarDelayedTriggeredAbility ability) { + super(ability); + } + + @Override + public MagusoftheJarDelayedTriggeredAbility copy() { + return new MagusoftheJarDelayedTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.END_TURN_STEP_PRE; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + return true; + } + +} diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheLibrary.java b/Mage.Sets/src/mage/cards/m/MagusOfTheLibrary.java index 462151e3a2f..756a0a2a80c 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheLibrary.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheLibrary.java @@ -37,6 +37,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class MagusOfTheLibrary extends CardImpl { public MagusOfTheLibrary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheMind.java b/Mage.Sets/src/mage/cards/m/MagusOfTheMind.java index eff7793c91b..69594e1e54a 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheMind.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheMind.java @@ -44,6 +44,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -61,8 +62,8 @@ public class MagusOfTheMind extends CardImpl { public MagusOfTheMind(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheMirror.java b/Mage.Sets/src/mage/cards/m/MagusOfTheMirror.java index 791b1cdb984..13baec75148 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheMirror.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheMirror.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ExchangeLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; import mage.constants.Zone; import mage.target.common.TargetOpponent; @@ -50,8 +51,8 @@ public class MagusOfTheMirror extends CardImpl { public MagusOfTheMirror(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheMoat.java b/Mage.Sets/src/mage/cards/m/MagusOfTheMoat.java index dbd3f49ad0e..8e6915977f0 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheMoat.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheMoat.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -54,8 +55,8 @@ public class MagusOfTheMoat extends CardImpl { public MagusOfTheMoat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheMoon.java b/Mage.Sets/src/mage/cards/m/MagusOfTheMoon.java index 5b894a2d6da..ad08dd929a8 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheMoon.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheMoon.java @@ -56,8 +56,8 @@ public class MagusOfTheMoon extends CardImpl { public MagusOfTheMoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheScroll.java b/Mage.Sets/src/mage/cards/m/MagusOfTheScroll.java index 4de52b4a1ad..3c84e6ae224 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheScroll.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheScroll.java @@ -42,6 +42,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -57,8 +58,8 @@ public class MagusOfTheScroll extends CardImpl { public MagusOfTheScroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheTabernacle.java b/Mage.Sets/src/mage/cards/m/MagusOfTheTabernacle.java index 09ededc6779..a85772a723e 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheTabernacle.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheTabernacle.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.GainAbilityAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -53,8 +54,8 @@ public class MagusOfTheTabernacle extends CardImpl { public MagusOfTheTabernacle(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.color.setWhite(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheUnseen.java b/Mage.Sets/src/mage/cards/m/MagusOfTheUnseen.java index d802b68a8e3..bb561dd1d9c 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheUnseen.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheUnseen.java @@ -44,6 +44,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -67,8 +68,8 @@ public class MagusOfTheUnseen extends CardImpl { public MagusOfTheUnseen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheVineyard.java b/Mage.Sets/src/mage/cards/m/MagusOfTheVineyard.java index d9b0efc9cd3..3a6cc09124f 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheVineyard.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheVineyard.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.AddManaToManaPoolTargetControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class MagusOfTheVineyard extends CardImpl { public MagusOfTheVineyard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheWheel.java b/Mage.Sets/src/mage/cards/m/MagusOfTheWheel.java index f59f9775aa4..2a90b3896a4 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheWheel.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheWheel.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.discard.DiscardHandAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -50,8 +51,8 @@ public class MagusOfTheWheel extends CardImpl { public MagusOfTheWheel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MagusOfTheWill.java b/Mage.Sets/src/mage/cards/m/MagusOfTheWill.java index aec58ccc07b..93661d6a645 100644 --- a/Mage.Sets/src/mage/cards/m/MagusOfTheWill.java +++ b/Mage.Sets/src/mage/cards/m/MagusOfTheWill.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -61,8 +62,8 @@ public class MagusOfTheWill extends CardImpl { public MagusOfTheWill(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MahamotiDjinn.java b/Mage.Sets/src/mage/cards/m/MahamotiDjinn.java index 0b15ac678ff..d7ec3717f89 100644 --- a/Mage.Sets/src/mage/cards/m/MahamotiDjinn.java +++ b/Mage.Sets/src/mage/cards/m/MahamotiDjinn.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class MahamotiDjinn extends CardImpl { public MahamotiDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/m/MaintenanceDroid.java b/Mage.Sets/src/mage/cards/m/MaintenanceDroid.java index d609df426f4..04685f33c53 100644 --- a/Mage.Sets/src/mage/cards/m/MaintenanceDroid.java +++ b/Mage.Sets/src/mage/cards/m/MaintenanceDroid.java @@ -1,145 +1,146 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.abilities.effects.common.counter.RemoveCounterTargetEffect; -import mage.abilities.keyword.RepairAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.choices.Choice; -import mage.choices.ChoiceImpl; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.filter.FilterCard; -import mage.filter.predicate.other.CounterCardPredicate; -import mage.game.Game; -import mage.players.Player; -import mage.target.common.TargetCardInYourGraveyard; - -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; - -/** - * - * @author Styxo - */ -public class MaintenanceDroid extends CardImpl { - - private static final FilterCard filter = new FilterCard("target card you own with a repair counter on it"); - - static { - filter.add(new CounterCardPredicate(CounterType.REPAIR)); - } - - public MaintenanceDroid(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{W}{U}"); - this.subtype.add("Droid"); - this.power = new MageInt(1); - this.toughness = new MageInt(2); - - // {T}: Choose target card you own with a repair counter on it. You may remove a repair counter from it or put another repair counter on it. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MaintenanceDroidEffect(), new TapSourceCost()); - ability.addTarget(new TargetCardInYourGraveyard(filter)); - this.addAbility(ability); - - // Repair 4 - this.addAbility(new RepairAbility(4)); - } - - public MaintenanceDroid(final MaintenanceDroid card) { - super(card); - } - - @Override - public MaintenanceDroid copy() { - return new MaintenanceDroid(this); - } -} - -class MaintenanceDroidEffect extends OneShotEffect { - - private static final Set choices = new HashSet<>(); - - static { - choices.add("Remove a repair counter"); - choices.add("Add another repair counter"); - } - - public MaintenanceDroidEffect() { - super(Outcome.BoostCreature); - staticText = "Choose target card you own with a repair counter on it. You may remove a repair counter from it or put another repair counter on it"; - } - - public MaintenanceDroidEffect(final MaintenanceDroidEffect effect) { - super(effect); - } - - @Override - public MaintenanceDroidEffect copy() { - return new MaintenanceDroidEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - Choice choice = new ChoiceImpl(true); - choice.setMessage("Choose mode"); - choice.setChoices(choices); - while (!controller.choose(outcome, choice, game)) { - if (!controller.canRespond()) { - return false; - } - } - - String chosen = choice.getChoice(); - switch (chosen) { - case "Remove a repair counter": - new RemoveCounterTargetEffect(CounterType.REPAIR.createInstance()).apply(game, source); - break; - default: //"Add another repair counter" - new AddCountersTargetEffect(CounterType.REPAIR.createInstance()).apply(game, source); - break; - } - return true; - - } - - return false; - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.effects.common.counter.RemoveCounterTargetEffect; +import mage.abilities.keyword.RepairAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.choices.Choice; +import mage.choices.ChoiceImpl; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.filter.FilterCard; +import mage.filter.predicate.other.CounterCardPredicate; +import mage.game.Game; +import mage.players.Player; +import mage.target.common.TargetCardInYourGraveyard; + +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + +/** + * + * @author Styxo + */ +public class MaintenanceDroid extends CardImpl { + + private static final FilterCard filter = new FilterCard("target card you own with a repair counter on it"); + + static { + filter.add(new CounterCardPredicate(CounterType.REPAIR)); + } + + public MaintenanceDroid(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{W}{U}"); + this.subtype.add(SubType.DROID); + this.power = new MageInt(1); + this.toughness = new MageInt(2); + + // {T}: Choose target card you own with a repair counter on it. You may remove a repair counter from it or put another repair counter on it. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MaintenanceDroidEffect(), new TapSourceCost()); + ability.addTarget(new TargetCardInYourGraveyard(filter)); + this.addAbility(ability); + + // Repair 4 + this.addAbility(new RepairAbility(4)); + } + + public MaintenanceDroid(final MaintenanceDroid card) { + super(card); + } + + @Override + public MaintenanceDroid copy() { + return new MaintenanceDroid(this); + } +} + +class MaintenanceDroidEffect extends OneShotEffect { + + private static final Set choices = new HashSet<>(); + + static { + choices.add("Remove a repair counter"); + choices.add("Add another repair counter"); + } + + public MaintenanceDroidEffect() { + super(Outcome.BoostCreature); + staticText = "Choose target card you own with a repair counter on it. You may remove a repair counter from it or put another repair counter on it"; + } + + public MaintenanceDroidEffect(final MaintenanceDroidEffect effect) { + super(effect); + } + + @Override + public MaintenanceDroidEffect copy() { + return new MaintenanceDroidEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + Choice choice = new ChoiceImpl(true); + choice.setMessage("Choose mode"); + choice.setChoices(choices); + while (!controller.choose(outcome, choice, game)) { + if (!controller.canRespond()) { + return false; + } + } + + String chosen = choice.getChoice(); + switch (chosen) { + case "Remove a repair counter": + new RemoveCounterTargetEffect(CounterType.REPAIR.createInstance()).apply(game, source); + break; + default: //"Add another repair counter" + new AddCountersTargetEffect(CounterType.REPAIR.createInstance()).apply(game, source); + break; + } + return true; + + } + + return false; + } + +} diff --git a/Mage.Sets/src/mage/cards/m/MaintenanceHangar.java b/Mage.Sets/src/mage/cards/m/MaintenanceHangar.java index 99cfb25ee69..c22a64b03b7 100644 --- a/Mage.Sets/src/mage/cards/m/MaintenanceHangar.java +++ b/Mage.Sets/src/mage/cards/m/MaintenanceHangar.java @@ -1,151 +1,151 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.Set; -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.ContinuousEffectImpl; -import mage.abilities.effects.Effect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; -import mage.abilities.keyword.RepairAbility; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.*; -import mage.filter.common.FilterCreatureCard; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.game.Game; -import mage.players.Player; - -/** - * - * @author Styxo - */ -public class MaintenanceHangar extends CardImpl { - - private static final FilterCreaturePermanent filterPermanent = new FilterCreaturePermanent("Starship creatures"); - - static { - filterPermanent.add(new SubtypePredicate(SubType.STARSHIP)); - } - - public MaintenanceHangar(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - - // At the beginning of your upkeep, remove an additional repair counter from each card in your graveyard. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RemoveCounterMaintenanceHangarEffect(), TargetController.YOU, false)); - - // Starship creatures you control and starship creatures in your graveyard have Repair 6. - Effect effect = new GainAbilityControlledEffect(new RepairAbility(6), Duration.WhileOnBattlefield, filterPermanent); - effect.setText("Starship creatures you control"); - Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect); - ability.addEffect(new MaintenanceHangarEffect()); - this.addAbility(ability); - } - - public MaintenanceHangar(final MaintenanceHangar card) { - super(card); - } - - @Override - public MaintenanceHangar copy() { - return new MaintenanceHangar(this); - } -} - -class RemoveCounterMaintenanceHangarEffect extends OneShotEffect { - - public RemoveCounterMaintenanceHangarEffect() { - super(Outcome.Detriment); - staticText = "remove an additional repair counter from each card in your graveyard"; - } - - public RemoveCounterMaintenanceHangarEffect(final RemoveCounterMaintenanceHangarEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - for (Card card : controller.getGraveyard().getCards(game)) { - if (card.getCounters(game).getCount("repair") > 0) { - card.removeCounters("repair", 1, game); - } - } - return true; - } - return false; - } - - @Override - public RemoveCounterMaintenanceHangarEffect copy() { - return new RemoveCounterMaintenanceHangarEffect(this); - } -} - -class MaintenanceHangarEffect extends ContinuousEffectImpl { - - private static final FilterCreatureCard filterCard = new FilterCreatureCard("Starship creatures"); - - static { - filterCard.add(new SubtypePredicate(SubType.STARSHIP)); - } - - public MaintenanceHangarEffect() { - super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility); - this.staticText = "and starship creatures in your graveyard have Repair 6"; - } - - public MaintenanceHangarEffect(final MaintenanceHangarEffect effect) { - super(effect); - } - - @Override - public MaintenanceHangarEffect copy() { - return new MaintenanceHangarEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - Set cards = controller.getGraveyard().getCards(filterCard, game); - cards.stream().forEach((card) -> { - game.getState().addOtherAbility(card, new RepairAbility(6)); - }); - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.Set; +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.ContinuousEffectImpl; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.RepairAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.filter.common.FilterCreatureCard; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.Game; +import mage.players.Player; + +/** + * + * @author Styxo + */ +public class MaintenanceHangar extends CardImpl { + + private static final FilterCreaturePermanent filterPermanent = new FilterCreaturePermanent("Starship creatures"); + + static { + filterPermanent.add(new SubtypePredicate(SubType.STARSHIP)); + } + + public MaintenanceHangar(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); + + // At the beginning of your upkeep, remove an additional repair counter from each card in your graveyard. + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new RemoveCounterMaintenanceHangarEffect(), TargetController.YOU, false)); + + // Starship creatures you control and starship creatures in your graveyard have Repair 6. + Effect effect = new GainAbilityControlledEffect(new RepairAbility(6), Duration.WhileOnBattlefield, filterPermanent); + effect.setText("Starship creatures you control"); + Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect); + ability.addEffect(new MaintenanceHangarEffect()); + this.addAbility(ability); + } + + public MaintenanceHangar(final MaintenanceHangar card) { + super(card); + } + + @Override + public MaintenanceHangar copy() { + return new MaintenanceHangar(this); + } +} + +class RemoveCounterMaintenanceHangarEffect extends OneShotEffect { + + public RemoveCounterMaintenanceHangarEffect() { + super(Outcome.Detriment); + staticText = "remove an additional repair counter from each card in your graveyard"; + } + + public RemoveCounterMaintenanceHangarEffect(final RemoveCounterMaintenanceHangarEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + for (Card card : controller.getGraveyard().getCards(game)) { + if (card.getCounters(game).getCount("repair") > 0) { + card.removeCounters("repair", 1, game); + } + } + return true; + } + return false; + } + + @Override + public RemoveCounterMaintenanceHangarEffect copy() { + return new RemoveCounterMaintenanceHangarEffect(this); + } +} + +class MaintenanceHangarEffect extends ContinuousEffectImpl { + + private static final FilterCreatureCard filterCard = new FilterCreatureCard("Starship creatures"); + + static { + filterCard.add(new SubtypePredicate(SubType.STARSHIP)); + } + + public MaintenanceHangarEffect() { + super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility); + this.staticText = "and starship creatures in your graveyard have Repair 6"; + } + + public MaintenanceHangarEffect(final MaintenanceHangarEffect effect) { + super(effect); + } + + @Override + public MaintenanceHangarEffect copy() { + return new MaintenanceHangarEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + Set cards = controller.getGraveyard().getCards(filterCard, game); + cards.stream().forEach((card) -> { + game.getState().addOtherAbility(card, new RepairAbility(6)); + }); + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/m/MairsilThePretender.java b/Mage.Sets/src/mage/cards/m/MairsilThePretender.java index 1002c53067c..4e4b5cb0505 100644 --- a/Mage.Sets/src/mage/cards/m/MairsilThePretender.java +++ b/Mage.Sets/src/mage/cards/m/MairsilThePretender.java @@ -47,6 +47,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -82,8 +83,8 @@ public class MairsilThePretender extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MajesticMyriarch.java b/Mage.Sets/src/mage/cards/m/MajesticMyriarch.java index 506126d24e1..eb20db682b9 100644 --- a/Mage.Sets/src/mage/cards/m/MajesticMyriarch.java +++ b/Mage.Sets/src/mage/cards/m/MajesticMyriarch.java @@ -54,6 +54,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -71,7 +72,7 @@ public class MajesticMyriarch extends CardImpl { public MajesticMyriarch(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); - this.subtype.add("Chimera"); + this.subtype.add(SubType.CHIMERA); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MajorTeroh.java b/Mage.Sets/src/mage/cards/m/MajorTeroh.java index 904845127de..a917efc3c58 100644 --- a/Mage.Sets/src/mage/cards/m/MajorTeroh.java +++ b/Mage.Sets/src/mage/cards/m/MajorTeroh.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -58,8 +59,8 @@ public class MajorTeroh extends CardImpl { public MajorTeroh(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MakeshiftMauler.java b/Mage.Sets/src/mage/cards/m/MakeshiftMauler.java index e0658e561ce..505d82b3ae7 100644 --- a/Mage.Sets/src/mage/cards/m/MakeshiftMauler.java +++ b/Mage.Sets/src/mage/cards/m/MakeshiftMauler.java @@ -33,6 +33,7 @@ import mage.abilities.costs.common.ExileFromGraveCost; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInYourGraveyard; @@ -44,8 +45,8 @@ public class MakeshiftMauler extends CardImpl { public MakeshiftMauler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MakindiAeronaut.java b/Mage.Sets/src/mage/cards/m/MakindiAeronaut.java index 51cada1b60d..e84f5a9856d 100644 --- a/Mage.Sets/src/mage/cards/m/MakindiAeronaut.java +++ b/Mage.Sets/src/mage/cards/m/MakindiAeronaut.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,9 +43,9 @@ public class MakindiAeronaut extends CardImpl { public MakindiAeronaut(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Scout"); - this.subtype.add("Ally"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SCOUT); + this.subtype.add(SubType.ALLY); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MakindiGriffin.java b/Mage.Sets/src/mage/cards/m/MakindiGriffin.java index 67fdfb155c7..bee6220a801 100644 --- a/Mage.Sets/src/mage/cards/m/MakindiGriffin.java +++ b/Mage.Sets/src/mage/cards/m/MakindiGriffin.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class MakindiGriffin extends CardImpl { public MakindiGriffin (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MakindiPatrol.java b/Mage.Sets/src/mage/cards/m/MakindiPatrol.java index 2c7c72f9b12..b1d7a40aef3 100644 --- a/Mage.Sets/src/mage/cards/m/MakindiPatrol.java +++ b/Mage.Sets/src/mage/cards/m/MakindiPatrol.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterControlledCreaturePermanent; @@ -46,9 +47,9 @@ public class MakindiPatrol extends CardImpl { public MakindiPatrol(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MakindiShieldmate.java b/Mage.Sets/src/mage/cards/m/MakindiShieldmate.java index 10e6d980f5e..c6f9212e31f 100644 --- a/Mage.Sets/src/mage/cards/m/MakindiShieldmate.java +++ b/Mage.Sets/src/mage/cards/m/MakindiShieldmate.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,9 +46,9 @@ public class MakindiShieldmate extends CardImpl { public MakindiShieldmate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Soldier"); - this.subtype.add("Ally"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ALLY); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MakindiSliderunner.java b/Mage.Sets/src/mage/cards/m/MakindiSliderunner.java index c71a0c5b0cd..051715953bd 100644 --- a/Mage.Sets/src/mage/cards/m/MakindiSliderunner.java +++ b/Mage.Sets/src/mage/cards/m/MakindiSliderunner.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class MakindiSliderunner extends CardImpl { public MakindiSliderunner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MalachOfTheDawn.java b/Mage.Sets/src/mage/cards/m/MalachOfTheDawn.java index 2fb9ede47ac..e21480e46e3 100644 --- a/Mage.Sets/src/mage/cards/m/MalachOfTheDawn.java +++ b/Mage.Sets/src/mage/cards/m/MalachOfTheDawn.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class MalachOfTheDawn extends CardImpl { public MalachOfTheDawn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MalachiteGolem.java b/Mage.Sets/src/mage/cards/m/MalachiteGolem.java index 6bfef5d335a..406e925c1d1 100644 --- a/Mage.Sets/src/mage/cards/m/MalachiteGolem.java +++ b/Mage.Sets/src/mage/cards/m/MalachiteGolem.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class MalachiteGolem extends CardImpl { public MalachiteGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(5); this.toughness = new MageInt(3); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{G}"))); diff --git a/Mage.Sets/src/mage/cards/m/MalakirBloodwitch.java b/Mage.Sets/src/mage/cards/m/MalakirBloodwitch.java index 988b32a68de..93279a028ab 100644 --- a/Mage.Sets/src/mage/cards/m/MalakirBloodwitch.java +++ b/Mage.Sets/src/mage/cards/m/MalakirBloodwitch.java @@ -54,8 +54,8 @@ public class MalakirBloodwitch extends CardImpl { public MalakirBloodwitch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MalakirCullblade.java b/Mage.Sets/src/mage/cards/m/MalakirCullblade.java index bc5aad1b3ef..e9eb7979ce3 100644 --- a/Mage.Sets/src/mage/cards/m/MalakirCullblade.java +++ b/Mage.Sets/src/mage/cards/m/MalakirCullblade.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -53,8 +54,8 @@ public class MalakirCullblade extends CardImpl { public MalakirCullblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MalakirFamiliar.java b/Mage.Sets/src/mage/cards/m/MalakirFamiliar.java index 553e149359f..d40fc586786 100644 --- a/Mage.Sets/src/mage/cards/m/MalakirFamiliar.java +++ b/Mage.Sets/src/mage/cards/m/MalakirFamiliar.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,7 +47,7 @@ public class MalakirFamiliar extends CardImpl { public MalakirFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Bat"); + this.subtype.add(SubType.BAT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MalakirSoothsayer.java b/Mage.Sets/src/mage/cards/m/MalakirSoothsayer.java index 2ff12109684..457a9862d46 100644 --- a/Mage.Sets/src/mage/cards/m/MalakirSoothsayer.java +++ b/Mage.Sets/src/mage/cards/m/MalakirSoothsayer.java @@ -62,9 +62,9 @@ public class MalakirSoothsayer extends CardImpl { public MalakirSoothsayer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Shaman"); - this.subtype.add("Ally"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SHAMAN); + this.subtype.add(SubType.ALLY); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/Malfegor.java b/Mage.Sets/src/mage/cards/m/Malfegor.java index 808c1722888..999ca60a96b 100644 --- a/Mage.Sets/src/mage/cards/m/Malfegor.java +++ b/Mage.Sets/src/mage/cards/m/Malfegor.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -54,8 +55,8 @@ public class Malfegor extends CardImpl { public Malfegor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DEMON); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/m/Malfunction.java b/Mage.Sets/src/mage/cards/m/Malfunction.java index d1eb6f3ea8c..fc286bf2cb6 100644 --- a/Mage.Sets/src/mage/cards/m/Malfunction.java +++ b/Mage.Sets/src/mage/cards/m/Malfunction.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -61,7 +62,7 @@ public class Malfunction extends CardImpl { public Malfunction(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact or creature. TargetPermanent auraTarget = new TargetPermanent(filter); diff --git a/Mage.Sets/src/mage/cards/m/MaliciousIntent.java b/Mage.Sets/src/mage/cards/m/MaliciousIntent.java index 72a2d5cc572..f3ce97a07ef 100644 --- a/Mage.Sets/src/mage/cards/m/MaliciousIntent.java +++ b/Mage.Sets/src/mage/cards/m/MaliciousIntent.java @@ -51,7 +51,7 @@ public class MaliciousIntent extends CardImpl { public MaliciousIntent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/m/Malignus.java b/Mage.Sets/src/mage/cards/m/Malignus.java index 01d5a0e9a0d..06598dbba93 100644 --- a/Mage.Sets/src/mage/cards/m/Malignus.java +++ b/Mage.Sets/src/mage/cards/m/Malignus.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,8 +54,8 @@ public class Malignus extends CardImpl { public Malignus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MammothUmbra.java b/Mage.Sets/src/mage/cards/m/MammothUmbra.java index 0710c2cee49..922a9e704aa 100644 --- a/Mage.Sets/src/mage/cards/m/MammothUmbra.java +++ b/Mage.Sets/src/mage/cards/m/MammothUmbra.java @@ -50,7 +50,7 @@ public class MammothUmbra extends CardImpl { public MammothUmbra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/m/ManOWar.java b/Mage.Sets/src/mage/cards/m/ManOWar.java index 0e14acb9c8e..58fa9372d95 100644 --- a/Mage.Sets/src/mage/cards/m/ManOWar.java +++ b/Mage.Sets/src/mage/cards/m/ManOWar.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -45,7 +46,7 @@ public class ManOWar extends CardImpl { public ManOWar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Jellyfish"); + this.subtype.add(SubType.JELLYFISH); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/ManaChains.java b/Mage.Sets/src/mage/cards/m/ManaChains.java index e4555b346fb..20472b3ca3b 100644 --- a/Mage.Sets/src/mage/cards/m/ManaChains.java +++ b/Mage.Sets/src/mage/cards/m/ManaChains.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -52,7 +53,7 @@ public class ManaChains extends CardImpl { public ManaChains(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/m/ManaChargedDragon.java b/Mage.Sets/src/mage/cards/m/ManaChargedDragon.java index 98ee2da6f8f..2b5f9c42019 100644 --- a/Mage.Sets/src/mage/cards/m/ManaChargedDragon.java +++ b/Mage.Sets/src/mage/cards/m/ManaChargedDragon.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.game.Game; @@ -55,7 +56,7 @@ public class ManaChargedDragon extends CardImpl { public ManaChargedDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/ManaLeech.java b/Mage.Sets/src/mage/cards/m/ManaLeech.java index cbd05303a9b..e8a855b9e17 100644 --- a/Mage.Sets/src/mage/cards/m/ManaLeech.java +++ b/Mage.Sets/src/mage/cards/m/ManaLeech.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetLandPermanent; @@ -49,7 +50,7 @@ public class ManaLeech extends CardImpl { public ManaLeech(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Leech"); + this.subtype.add(SubType.LEECH); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/ManaSkimmer.java b/Mage.Sets/src/mage/cards/m/ManaSkimmer.java index 07414a25647..03da8f58961 100644 --- a/Mage.Sets/src/mage/cards/m/ManaSkimmer.java +++ b/Mage.Sets/src/mage/cards/m/ManaSkimmer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -52,7 +53,7 @@ public class ManaSkimmer extends CardImpl { public ManaSkimmer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Leech"); + this.subtype.add(SubType.LEECH); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/ManaclesOfDecay.java b/Mage.Sets/src/mage/cards/m/ManaclesOfDecay.java index e28f284843b..ea85d17521d 100644 --- a/Mage.Sets/src/mage/cards/m/ManaclesOfDecay.java +++ b/Mage.Sets/src/mage/cards/m/ManaclesOfDecay.java @@ -50,7 +50,7 @@ public class ManaclesOfDecay extends CardImpl { public ManaclesOfDecay(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/m/ManaforceMace.java b/Mage.Sets/src/mage/cards/m/ManaforceMace.java index f87083eeeb5..8892ae127f3 100644 --- a/Mage.Sets/src/mage/cards/m/ManaforceMace.java +++ b/Mage.Sets/src/mage/cards/m/ManaforceMace.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class ManaforceMace extends CardImpl { public ManaforceMace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Domain - Equipped creature gets +1/+1 for each basic land type among lands you control. DomainValue value = new DomainValue(); diff --git a/Mage.Sets/src/mage/cards/m/ManaforgeCinder.java b/Mage.Sets/src/mage/cards/m/ManaforgeCinder.java index 7481e406660..4157248aa00 100644 --- a/Mage.Sets/src/mage/cards/m/ManaforgeCinder.java +++ b/Mage.Sets/src/mage/cards/m/ManaforgeCinder.java @@ -41,6 +41,7 @@ import mage.cards.CardSetInfo; import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -54,8 +55,8 @@ public class ManaforgeCinder extends CardImpl { public ManaforgeCinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B/R}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/ManagorgerHydra.java b/Mage.Sets/src/mage/cards/m/ManagorgerHydra.java index 6c3946c7932..09ebc8307a4 100644 --- a/Mage.Sets/src/mage/cards/m/ManagorgerHydra.java +++ b/Mage.Sets/src/mage/cards/m/ManagorgerHydra.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,7 +46,7 @@ public class ManagorgerHydra extends CardImpl { public ManagorgerHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/Manakin.java b/Mage.Sets/src/mage/cards/m/Manakin.java index f71153b8b00..2f33000a144 100644 --- a/Mage.Sets/src/mage/cards/m/Manakin.java +++ b/Mage.Sets/src/mage/cards/m/Manakin.java @@ -33,6 +33,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class Manakin extends CardImpl { public Manakin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(new ColorlessManaAbility()); diff --git a/Mage.Sets/src/mage/cards/m/Manaplasm.java b/Mage.Sets/src/mage/cards/m/Manaplasm.java index 84b6ddd25a3..09417365762 100644 --- a/Mage.Sets/src/mage/cards/m/Manaplasm.java +++ b/Mage.Sets/src/mage/cards/m/Manaplasm.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class Manaplasm extends CardImpl { public Manaplasm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Ooze"); + this.subtype.add(SubType.OOZE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/ManaweftSliver.java b/Mage.Sets/src/mage/cards/m/ManaweftSliver.java index f3f3a298fca..f26076952dd 100644 --- a/Mage.Sets/src/mage/cards/m/ManaweftSliver.java +++ b/Mage.Sets/src/mage/cards/m/ManaweftSliver.java @@ -36,6 +36,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -48,7 +49,7 @@ public class ManaweftSliver extends CardImpl { public ManaweftSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MangaraOfCorondor.java b/Mage.Sets/src/mage/cards/m/MangaraOfCorondor.java index 0cd2ede4437..718cfcd57fa 100644 --- a/Mage.Sets/src/mage/cards/m/MangaraOfCorondor.java +++ b/Mage.Sets/src/mage/cards/m/MangaraOfCorondor.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -50,8 +51,8 @@ public class MangaraOfCorondor extends CardImpl { public MangaraOfCorondor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MangarasTome.java b/Mage.Sets/src/mage/cards/m/MangarasTome.java index 6cf03fd2c36..43ae15ed3eb 100644 --- a/Mage.Sets/src/mage/cards/m/MangarasTome.java +++ b/Mage.Sets/src/mage/cards/m/MangarasTome.java @@ -1,154 +1,154 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.ReplacementEffectImpl; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.FilterCard; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.common.TargetCardInLibrary; -import mage.util.CardUtil; - -/** - * - * @author emerald000 - */ -public class MangarasTome extends CardImpl { - - public MangarasTome(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{5}"); - - - // When Mangara's Tome enters the battlefield, search your library for five cards, exile them in a face-down pile, and shuffle that pile. Then shuffle your library. - this.addAbility(new EntersBattlefieldTriggeredAbility(new MangarasTomeSearchEffect())); - - // {2}: The next time you would draw a card this turn, instead put the top card of the exiled pile into its owner's hand. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new MangarasTomeReplacementEffect(), new GenericManaCost(2))); - } - - public MangarasTome(final MangarasTome card) { - super(card); - } - - @Override - public MangarasTome copy() { - return new MangarasTome(this); - } -} - -class MangarasTomeSearchEffect extends OneShotEffect { - - MangarasTomeSearchEffect() { - super(Outcome.Neutral); - this.staticText = "When Mangara's Tome enters the battlefield, search your library for five cards, exile them in a face-down pile, and shuffle that pile. Then shuffle your library"; - } - - MangarasTomeSearchEffect(final MangarasTomeSearchEffect effect) { - super(effect); - } - - @Override - public MangarasTomeSearchEffect copy() { - return new MangarasTomeSearchEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - Permanent permanent = game.getPermanentOrLKIBattlefield(source.getSourceId()); - if (controller != null && permanent != null) { - TargetCardInLibrary target = new TargetCardInLibrary(5, new FilterCard()); - if (controller.searchLibrary(target, game)) { - for (UUID targetId : target.getTargets()) { - Card card = controller.getLibrary().getCard(targetId, game); - if (card != null) { - controller.moveCardsToExile(card, source, game, false, CardUtil.getCardExileZoneId(game, source), permanent.getLogName()); - card.setFaceDown(true, game); - } - } - } - return true; - } - return false; - } -} - -class MangarasTomeReplacementEffect extends ReplacementEffectImpl { - - MangarasTomeReplacementEffect() { - super(Duration.EndOfTurn, Outcome.DrawCard); - staticText = "The next time you would draw a card this turn, instead put the top card of the exiled pile into its owner's hand"; - } - - MangarasTomeReplacementEffect(final MangarasTomeReplacementEffect effect) { - super(effect); - } - - @Override - public MangarasTomeReplacementEffect copy() { - return new MangarasTomeReplacementEffect(this); - } - - @Override - public boolean replaceEvent(GameEvent event, Ability source, Game game) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - Card card = game.getExile().getExileZone(CardUtil.getCardExileZoneId(game, source)).getRandom(game); - if (card != null) { - controller.moveCards(card, Zone.HAND, source, game); - } - } - return true; - } - - @Override - public boolean checksEventType(GameEvent event, Game game) { - return event.getType() == EventType.DRAW_CARD; - } - - @Override - public boolean applies(GameEvent event, Ability source, Game game) { - return source.getControllerId().equals(event.getPlayerId()); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.ReplacementEffectImpl; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetCardInLibrary; +import mage.util.CardUtil; + +/** + * + * @author emerald000 + */ +public class MangarasTome extends CardImpl { + + public MangarasTome(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{5}"); + + + // When Mangara's Tome enters the battlefield, search your library for five cards, exile them in a face-down pile, and shuffle that pile. Then shuffle your library. + this.addAbility(new EntersBattlefieldTriggeredAbility(new MangarasTomeSearchEffect())); + + // {2}: The next time you would draw a card this turn, instead put the top card of the exiled pile into its owner's hand. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new MangarasTomeReplacementEffect(), new GenericManaCost(2))); + } + + public MangarasTome(final MangarasTome card) { + super(card); + } + + @Override + public MangarasTome copy() { + return new MangarasTome(this); + } +} + +class MangarasTomeSearchEffect extends OneShotEffect { + + MangarasTomeSearchEffect() { + super(Outcome.Neutral); + this.staticText = "When Mangara's Tome enters the battlefield, search your library for five cards, exile them in a face-down pile, and shuffle that pile. Then shuffle your library"; + } + + MangarasTomeSearchEffect(final MangarasTomeSearchEffect effect) { + super(effect); + } + + @Override + public MangarasTomeSearchEffect copy() { + return new MangarasTomeSearchEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + Permanent permanent = game.getPermanentOrLKIBattlefield(source.getSourceId()); + if (controller != null && permanent != null) { + TargetCardInLibrary target = new TargetCardInLibrary(5, new FilterCard()); + if (controller.searchLibrary(target, game)) { + for (UUID targetId : target.getTargets()) { + Card card = controller.getLibrary().getCard(targetId, game); + if (card != null) { + controller.moveCardsToExile(card, source, game, false, CardUtil.getCardExileZoneId(game, source), permanent.getLogName()); + card.setFaceDown(true, game); + } + } + } + return true; + } + return false; + } +} + +class MangarasTomeReplacementEffect extends ReplacementEffectImpl { + + MangarasTomeReplacementEffect() { + super(Duration.EndOfTurn, Outcome.DrawCard); + staticText = "The next time you would draw a card this turn, instead put the top card of the exiled pile into its owner's hand"; + } + + MangarasTomeReplacementEffect(final MangarasTomeReplacementEffect effect) { + super(effect); + } + + @Override + public MangarasTomeReplacementEffect copy() { + return new MangarasTomeReplacementEffect(this); + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + Card card = game.getExile().getExileZone(CardUtil.getCardExileZoneId(game, source)).getRandom(game); + if (card != null) { + controller.moveCards(card, Zone.HAND, source, game); + } + } + return true; + } + + @Override + public boolean checksEventType(GameEvent event, Game game) { + return event.getType() == EventType.DRAW_CARD; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + return source.getControllerId().equals(event.getPlayerId()); + } +} diff --git a/Mage.Sets/src/mage/cards/m/Manglehorn.java b/Mage.Sets/src/mage/cards/m/Manglehorn.java index 4119ef0a64e..3f35fc0f36c 100644 --- a/Mage.Sets/src/mage/cards/m/Manglehorn.java +++ b/Mage.Sets/src/mage/cards/m/Manglehorn.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class Manglehorn extends CardImpl { public Manglehorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/ManiacalRage.java b/Mage.Sets/src/mage/cards/m/ManiacalRage.java index a12be42db80..8f1eae9024c 100644 --- a/Mage.Sets/src/mage/cards/m/ManiacalRage.java +++ b/Mage.Sets/src/mage/cards/m/ManiacalRage.java @@ -48,7 +48,7 @@ public class ManiacalRage extends CardImpl { public ManiacalRage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/m/ManicScribe.java b/Mage.Sets/src/mage/cards/m/ManicScribe.java index 93df92a24ea..f031a12b825 100644 --- a/Mage.Sets/src/mage/cards/m/ManicScribe.java +++ b/Mage.Sets/src/mage/cards/m/ManicScribe.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class ManicScribe extends CardImpl { public ManicScribe(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/ManicVandal.java b/Mage.Sets/src/mage/cards/m/ManicVandal.java index 47ebcf7e8d9..f5b374a3050 100644 --- a/Mage.Sets/src/mage/cards/m/ManicVandal.java +++ b/Mage.Sets/src/mage/cards/m/ManicVandal.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetArtifactPermanent; /** @@ -45,8 +46,8 @@ public class ManicVandal extends CardImpl { public ManicVandal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MannichiTheFeveredDream.java b/Mage.Sets/src/mage/cards/m/MannichiTheFeveredDream.java index 050fe0194e1..67cd74e9bdf 100644 --- a/Mage.Sets/src/mage/cards/m/MannichiTheFeveredDream.java +++ b/Mage.Sets/src/mage/cards/m/MannichiTheFeveredDream.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.SwitchPowerToughnessAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class MannichiTheFeveredDream extends CardImpl { public MannichiTheFeveredDream(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/ManorGargoyle.java b/Mage.Sets/src/mage/cards/m/ManorGargoyle.java index 4085eaddc3a..b65fa090746 100644 --- a/Mage.Sets/src/mage/cards/m/ManorGargoyle.java +++ b/Mage.Sets/src/mage/cards/m/ManorGargoyle.java @@ -45,6 +45,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.DependencyType; import mage.constants.Duration; import mage.constants.Zone; @@ -61,7 +62,7 @@ public class ManorGargoyle extends CardImpl { public ManorGargoyle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Gargoyle"); + this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/ManorSkeleton.java b/Mage.Sets/src/mage/cards/m/ManorSkeleton.java index 41a765d8c2b..454d3670c75 100644 --- a/Mage.Sets/src/mage/cards/m/ManorSkeleton.java +++ b/Mage.Sets/src/mage/cards/m/ManorSkeleton.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class ManorSkeleton extends CardImpl { public ManorSkeleton(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/ManrikiGusari.java b/Mage.Sets/src/mage/cards/m/ManrikiGusari.java index b90b60db32c..5f8311298cf 100644 --- a/Mage.Sets/src/mage/cards/m/ManrikiGusari.java +++ b/Mage.Sets/src/mage/cards/m/ManrikiGusari.java @@ -58,7 +58,7 @@ public class ManrikiGusari extends CardImpl { public ManrikiGusari(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+2 and has "{tap}: Destroy target Equipment." this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 2))); Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/m/MantaRay.java b/Mage.Sets/src/mage/cards/m/MantaRay.java index bf8f4221b7f..f2707d1fda7 100644 --- a/Mage.Sets/src/mage/cards/m/MantaRay.java +++ b/Mage.Sets/src/mage/cards/m/MantaRay.java @@ -58,7 +58,7 @@ public class MantaRay extends CardImpl { public MantaRay(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Fish"); + this.subtype.add(SubType.FISH); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MantaRiders.java b/Mage.Sets/src/mage/cards/m/MantaRiders.java index bd134faea75..37468f51d80 100644 --- a/Mage.Sets/src/mage/cards/m/MantaRiders.java +++ b/Mage.Sets/src/mage/cards/m/MantaRiders.java @@ -45,7 +45,7 @@ public class MantaRiders extends CardImpl { public MantaRiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MantellianSavrip.java b/Mage.Sets/src/mage/cards/m/MantellianSavrip.java index 75365b9c5bc..5f472fc18ae 100644 --- a/Mage.Sets/src/mage/cards/m/MantellianSavrip.java +++ b/Mage.Sets/src/mage/cards/m/MantellianSavrip.java @@ -1,100 +1,101 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.RestrictionEffect; -import mage.abilities.keyword.MonstrosityAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.permanent.Permanent; - -/** - * - * @author Styxo - */ -public class MantellianSavrip extends CardImpl { - - public MantellianSavrip(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); - this.subtype.add("Mantellian"); - this.subtype.add("Berserker"); - this.power = new MageInt(4); - this.toughness = new MageInt(4); - - // {5}{G}{G}: Monstrosity 2. - this.addAbility(new MonstrosityAbility("{5}{G}{G}", 2)); - - // Creatures with power less than Mantellian Savrip's power can't block it. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MantellianSavripRestrictionEffect())); - - } - - public MantellianSavrip(final MantellianSavrip card) { - super(card); - } - - @Override - public MantellianSavrip copy() { - return new MantellianSavrip(this); - } -} - -class MantellianSavripRestrictionEffect extends RestrictionEffect { - - public MantellianSavripRestrictionEffect() { - super(Duration.WhileOnBattlefield); - staticText = "Creatures with power less than {this}'s power can't block it"; - } - - public MantellianSavripRestrictionEffect(final MantellianSavripRestrictionEffect effect) { - super(effect); - } - - @Override - public boolean applies(Permanent permanent, Ability source, Game game) { - return permanent.getId().equals(source.getSourceId()); - } - - @Override - public boolean canBeBlocked(Permanent attacker, Permanent blocker, Ability source, Game game) { - return (blocker.getPower().getValue() >= attacker.getPower().getValue()); - } - - @Override - public MantellianSavripRestrictionEffect copy() { - return new MantellianSavripRestrictionEffect(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.RestrictionEffect; +import mage.abilities.keyword.MonstrosityAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.permanent.Permanent; + +/** + * + * @author Styxo + */ +public class MantellianSavrip extends CardImpl { + + public MantellianSavrip(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); + this.subtype.add(SubType.MANTELLIAN); + this.subtype.add(SubType.BERSERKER); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // {5}{G}{G}: Monstrosity 2. + this.addAbility(new MonstrosityAbility("{5}{G}{G}", 2)); + + // Creatures with power less than Mantellian Savrip's power can't block it. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MantellianSavripRestrictionEffect())); + + } + + public MantellianSavrip(final MantellianSavrip card) { + super(card); + } + + @Override + public MantellianSavrip copy() { + return new MantellianSavrip(this); + } +} + +class MantellianSavripRestrictionEffect extends RestrictionEffect { + + public MantellianSavripRestrictionEffect() { + super(Duration.WhileOnBattlefield); + staticText = "Creatures with power less than {this}'s power can't block it"; + } + + public MantellianSavripRestrictionEffect(final MantellianSavripRestrictionEffect effect) { + super(effect); + } + + @Override + public boolean applies(Permanent permanent, Ability source, Game game) { + return permanent.getId().equals(source.getSourceId()); + } + + @Override + public boolean canBeBlocked(Permanent attacker, Permanent blocker, Ability source, Game game) { + return (blocker.getPower().getValue() >= attacker.getPower().getValue()); + } + + @Override + public MantellianSavripRestrictionEffect copy() { + return new MantellianSavripRestrictionEffect(this); + } +} diff --git a/Mage.Sets/src/mage/cards/m/ManticoreEternal.java b/Mage.Sets/src/mage/cards/m/ManticoreEternal.java index 39dfeb740c2..a90daf0fa38 100644 --- a/Mage.Sets/src/mage/cards/m/ManticoreEternal.java +++ b/Mage.Sets/src/mage/cards/m/ManticoreEternal.java @@ -7,13 +7,14 @@ import mage.abilities.keyword.AfflictAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; public class ManticoreEternal extends CardImpl { public ManticoreEternal(UUID ownerId, CardSetInfo cardSetInfo) { super(ownerId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); - subtype.add("Zombie"); - subtype.add("Manticore"); + subtype.add(SubType.ZOMBIE); + subtype.add(SubType.MANTICORE); power = new MageInt(5); toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/ManticoreOfTheGauntlet.java b/Mage.Sets/src/mage/cards/m/ManticoreOfTheGauntlet.java index 1b23ea35b65..c6371855c5e 100644 --- a/Mage.Sets/src/mage/cards/m/ManticoreOfTheGauntlet.java +++ b/Mage.Sets/src/mage/cards/m/ManticoreOfTheGauntlet.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetOpponent; @@ -53,7 +54,7 @@ public class ManticoreOfTheGauntlet extends CardImpl { public ManticoreOfTheGauntlet(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); - this.subtype.add("Manticore"); + this.subtype.add(SubType.MANTICORE); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MantisEngine.java b/Mage.Sets/src/mage/cards/m/MantisEngine.java index dd500e8f557..d5a2739917d 100644 --- a/Mage.Sets/src/mage/cards/m/MantisEngine.java +++ b/Mage.Sets/src/mage/cards/m/MantisEngine.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class MantisEngine extends CardImpl { public MantisEngine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MantisRider.java b/Mage.Sets/src/mage/cards/m/MantisRider.java index bf415735c5f..994216da121 100644 --- a/Mage.Sets/src/mage/cards/m/MantisRider.java +++ b/Mage.Sets/src/mage/cards/m/MantisRider.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class MantisRider extends CardImpl { public MantisRider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{R}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MantleOfWebs.java b/Mage.Sets/src/mage/cards/m/MantleOfWebs.java index 8007d2ed121..1a1163d22cc 100644 --- a/Mage.Sets/src/mage/cards/m/MantleOfWebs.java +++ b/Mage.Sets/src/mage/cards/m/MantleOfWebs.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class MantleOfWebs extends CardImpl { public MantleOfWebs(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/m/MaralenOfTheMornsong.java b/Mage.Sets/src/mage/cards/m/MaralenOfTheMornsong.java index 728becf994f..35b89caf0f7 100644 --- a/Mage.Sets/src/mage/cards/m/MaralenOfTheMornsong.java +++ b/Mage.Sets/src/mage/cards/m/MaralenOfTheMornsong.java @@ -52,8 +52,8 @@ public class MaralenOfTheMornsong extends CardImpl { public MaralenOfTheMornsong(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MarangRiverProwler.java b/Mage.Sets/src/mage/cards/m/MarangRiverProwler.java index 346b0b4b7ee..016ffa97651 100644 --- a/Mage.Sets/src/mage/cards/m/MarangRiverProwler.java +++ b/Mage.Sets/src/mage/cards/m/MarangRiverProwler.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class MarangRiverProwler extends CardImpl { public MarangRiverProwler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MarangRiverSkeleton.java b/Mage.Sets/src/mage/cards/m/MarangRiverSkeleton.java index cef9d743b53..3a1f983371d 100644 --- a/Mage.Sets/src/mage/cards/m/MarangRiverSkeleton.java +++ b/Mage.Sets/src/mage/cards/m/MarangRiverSkeleton.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class MarangRiverSkeleton extends CardImpl { public MarangRiverSkeleton(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MarathWillOfTheWild.java b/Mage.Sets/src/mage/cards/m/MarathWillOfTheWild.java index 56584fb3abf..cac2b03bc5f 100644 --- a/Mage.Sets/src/mage/cards/m/MarathWillOfTheWild.java +++ b/Mage.Sets/src/mage/cards/m/MarathWillOfTheWild.java @@ -48,6 +48,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -69,8 +70,8 @@ public class MarathWillOfTheWild extends CardImpl { public MarathWillOfTheWild(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elemental"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.BEAST); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MaraudingBoneslasher.java b/Mage.Sets/src/mage/cards/m/MaraudingBoneslasher.java index 80ae641bf6b..4b885df2907 100644 --- a/Mage.Sets/src/mage/cards/m/MaraudingBoneslasher.java +++ b/Mage.Sets/src/mage/cards/m/MaraudingBoneslasher.java @@ -56,8 +56,8 @@ public class MaraudingBoneslasher extends CardImpl { public MaraudingBoneslasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Minotaur"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.MINOTAUR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MaraudingKnight.java b/Mage.Sets/src/mage/cards/m/MaraudingKnight.java index 7f3957d40ec..1206ab6369d 100644 --- a/Mage.Sets/src/mage/cards/m/MaraudingKnight.java +++ b/Mage.Sets/src/mage/cards/m/MaraudingKnight.java @@ -55,8 +55,8 @@ public class MaraudingKnight extends CardImpl { public MaraudingKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MaraudingLooter.java b/Mage.Sets/src/mage/cards/m/MaraudingLooter.java index 7743db82ce4..516dc9dec14 100644 --- a/Mage.Sets/src/mage/cards/m/MaraudingLooter.java +++ b/Mage.Sets/src/mage/cards/m/MaraudingLooter.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.watchers.common.PlayerAttackedWatcher; @@ -49,8 +50,8 @@ public class MaraudingLooter extends CardImpl { public MaraudingLooter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{R}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MaraudingMaulhorn.java b/Mage.Sets/src/mage/cards/m/MaraudingMaulhorn.java index 7fb3df812b5..ed9afee0d0a 100644 --- a/Mage.Sets/src/mage/cards/m/MaraudingMaulhorn.java +++ b/Mage.Sets/src/mage/cards/m/MaraudingMaulhorn.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.AttacksIfAbleSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.filter.common.FilterControlledCreaturePermanent; @@ -55,7 +56,7 @@ public class MaraudingMaulhorn extends CardImpl { public MaraudingMaulhorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MaraxusOfKeld.java b/Mage.Sets/src/mage/cards/m/MaraxusOfKeld.java index fae9beab6cf..90b5e462b44 100644 --- a/Mage.Sets/src/mage/cards/m/MaraxusOfKeld.java +++ b/Mage.Sets/src/mage/cards/m/MaraxusOfKeld.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -62,8 +63,8 @@ public class MaraxusOfKeld extends CardImpl { public MaraxusOfKeld(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MarbleTitan.java b/Mage.Sets/src/mage/cards/m/MarbleTitan.java index f456f4df7d7..ce78a645de9 100644 --- a/Mage.Sets/src/mage/cards/m/MarbleTitan.java +++ b/Mage.Sets/src/mage/cards/m/MarbleTitan.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DontUntapInControllersUntapStepAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.TargetController; @@ -55,7 +56,7 @@ public class MarbleTitan extends CardImpl { public MarbleTitan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MarchOfTheDroids.java b/Mage.Sets/src/mage/cards/m/MarchOfTheDroids.java index 4ea357833c9..60b1d2dfd54 100644 --- a/Mage.Sets/src/mage/cards/m/MarchOfTheDroids.java +++ b/Mage.Sets/src/mage/cards/m/MarchOfTheDroids.java @@ -1,113 +1,113 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.Cards; -import mage.cards.CardsImpl; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.filter.FilterPermanent; -import mage.game.Game; -import mage.game.permanent.token.DroidToken; -import mage.players.Player; - -/** - * - * @author Styxo - */ -public class MarchOfTheDroids extends CardImpl { - - public MarchOfTheDroids(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{W}{U}{B}"); - - // Remove all repair counters from all cards in your graveyard. Return each card with a repair counter removed this way from graveyard to the battlefield. - this.getSpellAbility().addEffect(new MarchOfTheDroidsEffect()); - - // Create 1/1 colorles Droid artifact creature token for each Droid you control. - this.getSpellAbility().addEffect(new CreateTokenEffect(new DroidToken(), new PermanentsOnBattlefieldCount(new FilterPermanent(SubType.DROID, "Droid you control")))); - } - - public MarchOfTheDroids(final MarchOfTheDroids card) { - super(card); - } - - @Override - public MarchOfTheDroids copy() { - return new MarchOfTheDroids(this); - } -} - -class MarchOfTheDroidsEffect extends OneShotEffect { - - public MarchOfTheDroidsEffect() { - super(Outcome.Benefit); - this.staticText = "Remove all repair counters from all cards in your graveyard. Return each card with a repair counter removed this way from graveyard to the battlefield"; - } - - public MarchOfTheDroidsEffect(final MarchOfTheDroidsEffect effect) { - super(effect); - } - - @Override - public MarchOfTheDroidsEffect copy() { - return new MarchOfTheDroidsEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - Cards cardsToReturn = new CardsImpl(); - for (Card card : controller.getGraveyard().getCards(game)) { - if (card.getOwnerId().equals(controller.getId()) && card.getCounters(game).getCount(CounterType.REPAIR) > 0) { - int number = card.getCounters(game).getCount(CounterType.REPAIR); - if (number > 0) { - cardsToReturn.add(card); - card.removeCounters(CounterType.REPAIR.createInstance(number), game); - } - } - } - if (!cardsToReturn.isEmpty()) { - controller.moveCards(cardsToReturn, Zone.BATTLEFIELD, source, game); - } - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.Cards; +import mage.cards.CardsImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.filter.FilterPermanent; +import mage.game.Game; +import mage.game.permanent.token.DroidToken; +import mage.players.Player; + +/** + * + * @author Styxo + */ +public class MarchOfTheDroids extends CardImpl { + + public MarchOfTheDroids(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{W}{U}{B}"); + + // Remove all repair counters from all cards in your graveyard. Return each card with a repair counter removed this way from graveyard to the battlefield. + this.getSpellAbility().addEffect(new MarchOfTheDroidsEffect()); + + // Create 1/1 colorles Droid artifact creature token for each Droid you control. + this.getSpellAbility().addEffect(new CreateTokenEffect(new DroidToken(), new PermanentsOnBattlefieldCount(new FilterPermanent(SubType.DROID, "Droid you control")))); + } + + public MarchOfTheDroids(final MarchOfTheDroids card) { + super(card); + } + + @Override + public MarchOfTheDroids copy() { + return new MarchOfTheDroids(this); + } +} + +class MarchOfTheDroidsEffect extends OneShotEffect { + + public MarchOfTheDroidsEffect() { + super(Outcome.Benefit); + this.staticText = "Remove all repair counters from all cards in your graveyard. Return each card with a repair counter removed this way from graveyard to the battlefield"; + } + + public MarchOfTheDroidsEffect(final MarchOfTheDroidsEffect effect) { + super(effect); + } + + @Override + public MarchOfTheDroidsEffect copy() { + return new MarchOfTheDroidsEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + Cards cardsToReturn = new CardsImpl(); + for (Card card : controller.getGraveyard().getCards(game)) { + if (card.getOwnerId().equals(controller.getId()) && card.getCounters(game).getCount(CounterType.REPAIR) > 0) { + int number = card.getCounters(game).getCount(CounterType.REPAIR); + if (number > 0) { + cardsToReturn.add(card); + card.removeCounters(CounterType.REPAIR.createInstance(number), game); + } + } + } + if (!cardsToReturn.isEmpty()) { + controller.moveCards(cardsToReturn, Zone.BATTLEFIELD, source, game); + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/m/MarchesaTheBlackRose.java b/Mage.Sets/src/mage/cards/m/MarchesaTheBlackRose.java index 887d0a679f9..15f0cdff9b3 100644 --- a/Mage.Sets/src/mage/cards/m/MarchesaTheBlackRose.java +++ b/Mage.Sets/src/mage/cards/m/MarchesaTheBlackRose.java @@ -61,8 +61,8 @@ public class MarchesaTheBlackRose extends CardImpl { public MarchesaTheBlackRose(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MarchesasEmissary.java b/Mage.Sets/src/mage/cards/m/MarchesasEmissary.java index ded46708646..d6242a1194a 100644 --- a/Mage.Sets/src/mage/cards/m/MarchesasEmissary.java +++ b/Mage.Sets/src/mage/cards/m/MarchesasEmissary.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class MarchesasEmissary extends CardImpl { public MarchesasEmissary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MarchesasInfiltrator.java b/Mage.Sets/src/mage/cards/m/MarchesasInfiltrator.java index d51c4059e00..d520c8a7a9d 100644 --- a/Mage.Sets/src/mage/cards/m/MarchesasInfiltrator.java +++ b/Mage.Sets/src/mage/cards/m/MarchesasInfiltrator.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DethroneAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class MarchesasInfiltrator extends CardImpl { public MarchesasInfiltrator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MarchesasSmuggler.java b/Mage.Sets/src/mage/cards/m/MarchesasSmuggler.java index 563bfe49563..c719c7480f6 100644 --- a/Mage.Sets/src/mage/cards/m/MarchesasSmuggler.java +++ b/Mage.Sets/src/mage/cards/m/MarchesasSmuggler.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -52,8 +53,8 @@ public class MarchesasSmuggler extends CardImpl { public MarchesasSmuggler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{R}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MarduBlazebringer.java b/Mage.Sets/src/mage/cards/m/MarduBlazebringer.java index c4c3a3d460b..03d61427ddc 100644 --- a/Mage.Sets/src/mage/cards/m/MarduBlazebringer.java +++ b/Mage.Sets/src/mage/cards/m/MarduBlazebringer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class MarduBlazebringer extends CardImpl { public MarduBlazebringer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MarduHateblade.java b/Mage.Sets/src/mage/cards/m/MarduHateblade.java index ca802d0436d..00c35691003 100644 --- a/Mage.Sets/src/mage/cards/m/MarduHateblade.java +++ b/Mage.Sets/src/mage/cards/m/MarduHateblade.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class MarduHateblade extends CardImpl { public MarduHateblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MarduHeartPiercer.java b/Mage.Sets/src/mage/cards/m/MarduHeartPiercer.java index 65f3ff47016..78291c4edd8 100644 --- a/Mage.Sets/src/mage/cards/m/MarduHeartPiercer.java +++ b/Mage.Sets/src/mage/cards/m/MarduHeartPiercer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; import mage.watchers.common.PlayerAttackedWatcher; @@ -48,8 +49,8 @@ public class MarduHeartPiercer extends CardImpl { public MarduHeartPiercer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MarduHordechief.java b/Mage.Sets/src/mage/cards/m/MarduHordechief.java index 77c0120fa28..1d2e30556f3 100644 --- a/Mage.Sets/src/mage/cards/m/MarduHordechief.java +++ b/Mage.Sets/src/mage/cards/m/MarduHordechief.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.WarriorToken; import mage.watchers.common.PlayerAttackedWatcher; @@ -47,8 +48,8 @@ public class MarduHordechief extends CardImpl { public MarduHordechief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MarduRoughrider.java b/Mage.Sets/src/mage/cards/m/MarduRoughrider.java index 0f4bf611e03..f674be5b397 100644 --- a/Mage.Sets/src/mage/cards/m/MarduRoughrider.java +++ b/Mage.Sets/src/mage/cards/m/MarduRoughrider.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CantBlockTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -45,8 +46,8 @@ public class MarduRoughrider extends CardImpl { public MarduRoughrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{W}{B}"); - this.subtype.add("Orc"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MarduRunemark.java b/Mage.Sets/src/mage/cards/m/MarduRunemark.java index 2d9c00df340..3e44bdaadd4 100644 --- a/Mage.Sets/src/mage/cards/m/MarduRunemark.java +++ b/Mage.Sets/src/mage/cards/m/MarduRunemark.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -65,7 +66,7 @@ public class MarduRunemark extends CardImpl { public MarduRunemark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/m/MarduScout.java b/Mage.Sets/src/mage/cards/m/MarduScout.java index f056ba9fd95..814f2c2af2b 100644 --- a/Mage.Sets/src/mage/cards/m/MarduScout.java +++ b/Mage.Sets/src/mage/cards/m/MarduScout.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class MarduScout extends CardImpl { public MarduScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Scout"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MarduShadowspear.java b/Mage.Sets/src/mage/cards/m/MarduShadowspear.java index b4729f2ab9d..3e66278bfbc 100644 --- a/Mage.Sets/src/mage/cards/m/MarduShadowspear.java +++ b/Mage.Sets/src/mage/cards/m/MarduShadowspear.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * * @author fireshoes @@ -43,8 +44,8 @@ public class MarduShadowspear extends CardImpl { public MarduShadowspear(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MarduSkullhunter.java b/Mage.Sets/src/mage/cards/m/MarduSkullhunter.java index e8275a44177..53c90d3d2bc 100644 --- a/Mage.Sets/src/mage/cards/m/MarduSkullhunter.java +++ b/Mage.Sets/src/mage/cards/m/MarduSkullhunter.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetOpponent; import mage.watchers.common.PlayerAttackedWatcher; @@ -49,8 +50,8 @@ public class MarduSkullhunter extends CardImpl { public MarduSkullhunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MarduStrikeLeader.java b/Mage.Sets/src/mage/cards/m/MarduStrikeLeader.java index d1a5142c1ff..95f0888c582 100644 --- a/Mage.Sets/src/mage/cards/m/MarduStrikeLeader.java +++ b/Mage.Sets/src/mage/cards/m/MarduStrikeLeader.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.MarduStrikeLeaderWarriorToken; /** @@ -45,8 +46,8 @@ public class MarduStrikeLeader extends CardImpl { public MarduStrikeLeader(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MarduWarshrieker.java b/Mage.Sets/src/mage/cards/m/MarduWarshrieker.java index 7076d36e265..420b09859f6 100644 --- a/Mage.Sets/src/mage/cards/m/MarduWarshrieker.java +++ b/Mage.Sets/src/mage/cards/m/MarduWarshrieker.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.AddManaToManaPoolSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.watchers.common.PlayerAttackedWatcher; /** @@ -47,8 +48,8 @@ public class MarduWarshrieker extends CardImpl { public MarduWarshrieker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Orc"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MarduWoeReaper.java b/Mage.Sets/src/mage/cards/m/MarduWoeReaper.java index 7be5c73e3e1..b64af7093a8 100644 --- a/Mage.Sets/src/mage/cards/m/MarduWoeReaper.java +++ b/Mage.Sets/src/mage/cards/m/MarduWoeReaper.java @@ -54,8 +54,8 @@ public class MarduWoeReaper extends CardImpl { public MarduWoeReaper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MarhaultElsdragon.java b/Mage.Sets/src/mage/cards/m/MarhaultElsdragon.java index 71b9e20853e..4a6308b9470 100644 --- a/Mage.Sets/src/mage/cards/m/MarhaultElsdragon.java +++ b/Mage.Sets/src/mage/cards/m/MarhaultElsdragon.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.RampageAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -44,8 +45,8 @@ public class MarhaultElsdragon extends CardImpl { public MarhaultElsdragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/m/MarionetteMaster.java b/Mage.Sets/src/mage/cards/m/MarionetteMaster.java index 6bd1518aca3..09462846592 100644 --- a/Mage.Sets/src/mage/cards/m/MarionetteMaster.java +++ b/Mage.Sets/src/mage/cards/m/MarionetteMaster.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FabricateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledArtifactPermanent; import mage.target.common.TargetOpponent; @@ -49,8 +50,8 @@ public class MarionetteMaster extends CardImpl { public MarionetteMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MarisisTwinclaws.java b/Mage.Sets/src/mage/cards/m/MarisisTwinclaws.java index 168a7efcac2..858af431a70 100644 --- a/Mage.Sets/src/mage/cards/m/MarisisTwinclaws.java +++ b/Mage.Sets/src/mage/cards/m/MarisisTwinclaws.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class MarisisTwinclaws extends CardImpl { public MarisisTwinclaws (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R/W}{G}"); - this.subtype.add("Cat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WARRIOR); diff --git a/Mage.Sets/src/mage/cards/m/MaritimeGuard.java b/Mage.Sets/src/mage/cards/m/MaritimeGuard.java index 750398793e7..42454fe01d3 100644 --- a/Mage.Sets/src/mage/cards/m/MaritimeGuard.java +++ b/Mage.Sets/src/mage/cards/m/MaritimeGuard.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class MaritimeGuard extends CardImpl { public MaritimeGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(3); } diff --git a/Mage.Sets/src/mage/cards/m/Marjhan.java b/Mage.Sets/src/mage/cards/m/Marjhan.java index 550ca6f4aae..09c6170e2f7 100644 --- a/Mage.Sets/src/mage/cards/m/Marjhan.java +++ b/Mage.Sets/src/mage/cards/m/Marjhan.java @@ -69,7 +69,7 @@ public class Marjhan extends CardImpl { public Marjhan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/m/MarkOfEviction.java b/Mage.Sets/src/mage/cards/m/MarkOfEviction.java index a9d77f49931..e7a87d816f7 100644 --- a/Mage.Sets/src/mage/cards/m/MarkOfEviction.java +++ b/Mage.Sets/src/mage/cards/m/MarkOfEviction.java @@ -1,120 +1,121 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.AttachEffect; -import mage.abilities.keyword.EnchantAbility; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.TargetPermanent; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author LevelX2 - */ -public class MarkOfEviction extends CardImpl { - - public MarkOfEviction(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{U}"); - - this.subtype.add("Aura"); - - // Enchant creature - TargetPermanent auraTarget = new TargetCreaturePermanent(); - this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); - Ability ability = new EnchantAbility(auraTarget.getTargetName()); - this.addAbility(ability); - - // At the beginning of your upkeep, return enchanted creature and all Auras attached to that creature to their owners' hands. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MarkOfEvictionEffect(), TargetController.YOU, false)); - } - - public MarkOfEviction(final MarkOfEviction card) { - super(card); - } - - @Override - public MarkOfEviction copy() { - return new MarkOfEviction(this); - } -} - -class MarkOfEvictionEffect extends OneShotEffect { - - public MarkOfEvictionEffect() { - super(Outcome.Benefit); - this.staticText = "return enchanted creature and all Auras attached to that creature to their owners' hands"; - } - - public MarkOfEvictionEffect(final MarkOfEvictionEffect effect) { - super(effect); - } - - @Override - public MarkOfEvictionEffect copy() { - return new MarkOfEvictionEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - Permanent sourceObject = game.getPermanentOrLKIBattlefield(source.getSourceId()); - if (controller != null && sourceObject != null && sourceObject.getAttachedTo() != null) { - Permanent enchanted = game.getPermanent(sourceObject.getAttachedTo()); - if (enchanted != null) { - Set toHand = new HashSet<>(); - toHand.add(enchanted); - for (UUID attachmentId : enchanted.getAttachments()) { - Permanent attachment = game.getPermanent(attachmentId); - if (attachment != null && attachment.getSubtype(game).contains("Aura")) { - toHand.add(attachment); - } - } - controller.moveCards(toHand, Zone.HAND, source, game); - return true; - } - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class MarkOfEviction extends CardImpl { + + public MarkOfEviction(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{U}"); + + this.subtype.add(SubType.AURA); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + + // At the beginning of your upkeep, return enchanted creature and all Auras attached to that creature to their owners' hands. + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MarkOfEvictionEffect(), TargetController.YOU, false)); + } + + public MarkOfEviction(final MarkOfEviction card) { + super(card); + } + + @Override + public MarkOfEviction copy() { + return new MarkOfEviction(this); + } +} + +class MarkOfEvictionEffect extends OneShotEffect { + + public MarkOfEvictionEffect() { + super(Outcome.Benefit); + this.staticText = "return enchanted creature and all Auras attached to that creature to their owners' hands"; + } + + public MarkOfEvictionEffect(final MarkOfEvictionEffect effect) { + super(effect); + } + + @Override + public MarkOfEvictionEffect copy() { + return new MarkOfEvictionEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + Permanent sourceObject = game.getPermanentOrLKIBattlefield(source.getSourceId()); + if (controller != null && sourceObject != null && sourceObject.getAttachedTo() != null) { + Permanent enchanted = game.getPermanent(sourceObject.getAttachedTo()); + if (enchanted != null) { + Set toHand = new HashSet<>(); + toHand.add(enchanted); + for (UUID attachmentId : enchanted.getAttachments()) { + Permanent attachment = game.getPermanent(attachmentId); + if (attachment != null && attachment.getSubtype(game).contains("Aura")) { + toHand.add(attachment); + } + } + controller.moveCards(toHand, Zone.HAND, source, game); + return true; + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/m/MarkOfFury.java b/Mage.Sets/src/mage/cards/m/MarkOfFury.java index 7e9909a74ec..9b940774f2f 100644 --- a/Mage.Sets/src/mage/cards/m/MarkOfFury.java +++ b/Mage.Sets/src/mage/cards/m/MarkOfFury.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class MarkOfFury extends CardImpl { public MarkOfFury(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/m/MarkOfSakiko.java b/Mage.Sets/src/mage/cards/m/MarkOfSakiko.java index 27932f60a83..b1c9e4b8d3f 100644 --- a/Mage.Sets/src/mage/cards/m/MarkOfSakiko.java +++ b/Mage.Sets/src/mage/cards/m/MarkOfSakiko.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -59,7 +60,7 @@ public class MarkOfSakiko extends CardImpl { public MarkOfSakiko(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/m/MarkOfTheOni.java b/Mage.Sets/src/mage/cards/m/MarkOfTheOni.java index 81945fc3679..6e4985da0a1 100644 --- a/Mage.Sets/src/mage/cards/m/MarkOfTheOni.java +++ b/Mage.Sets/src/mage/cards/m/MarkOfTheOni.java @@ -53,7 +53,7 @@ public class MarkOfTheOni extends CardImpl { public MarkOfTheOni(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/m/MarkOfTheVampire.java b/Mage.Sets/src/mage/cards/m/MarkOfTheVampire.java index 3322c75f714..0ffebe20cdc 100644 --- a/Mage.Sets/src/mage/cards/m/MarkOfTheVampire.java +++ b/Mage.Sets/src/mage/cards/m/MarkOfTheVampire.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class MarkOfTheVampire extends CardImpl { public MarkOfTheVampire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/m/MarkedByHonor.java b/Mage.Sets/src/mage/cards/m/MarkedByHonor.java index c20562c1d0b..4771ec5a020 100644 --- a/Mage.Sets/src/mage/cards/m/MarkedByHonor.java +++ b/Mage.Sets/src/mage/cards/m/MarkedByHonor.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class MarkedByHonor extends CardImpl { public MarkedByHonor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/m/MarkerBeetles.java b/Mage.Sets/src/mage/cards/m/MarkerBeetles.java index df26bec5877..70c223a07c1 100644 --- a/Mage.Sets/src/mage/cards/m/MarkerBeetles.java +++ b/Mage.Sets/src/mage/cards/m/MarkerBeetles.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -51,7 +52,7 @@ public class MarkerBeetles extends CardImpl { public MarkerBeetles(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MarketFestival.java b/Mage.Sets/src/mage/cards/m/MarketFestival.java index 8d4a7261cae..c8f0680272a 100644 --- a/Mage.Sets/src/mage/cards/m/MarketFestival.java +++ b/Mage.Sets/src/mage/cards/m/MarketFestival.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.choices.ChoiceColor; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -57,7 +58,7 @@ public class MarketFestival extends CardImpl { public MarketFestival(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/m/MarkovBlademaster.java b/Mage.Sets/src/mage/cards/m/MarkovBlademaster.java index 126ab072593..8ed744684a4 100644 --- a/Mage.Sets/src/mage/cards/m/MarkovBlademaster.java +++ b/Mage.Sets/src/mage/cards/m/MarkovBlademaster.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,8 +46,8 @@ public class MarkovBlademaster extends CardImpl { public MarkovBlademaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Vampire"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MarkovCrusader.java b/Mage.Sets/src/mage/cards/m/MarkovCrusader.java index b89690e0e78..83f256a1221 100644 --- a/Mage.Sets/src/mage/cards/m/MarkovCrusader.java +++ b/Mage.Sets/src/mage/cards/m/MarkovCrusader.java @@ -61,8 +61,8 @@ public class MarkovCrusader extends CardImpl { public MarkovCrusader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Knight"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MarkovDreadknight.java b/Mage.Sets/src/mage/cards/m/MarkovDreadknight.java index 573ea6156b1..27f81163a85 100644 --- a/Mage.Sets/src/mage/cards/m/MarkovDreadknight.java +++ b/Mage.Sets/src/mage/cards/m/MarkovDreadknight.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -49,8 +50,8 @@ public class MarkovDreadknight extends CardImpl { public MarkovDreadknight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Knight"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MarkovPatrician.java b/Mage.Sets/src/mage/cards/m/MarkovPatrician.java index f66ec1d1288..8a03e5f4c08 100644 --- a/Mage.Sets/src/mage/cards/m/MarkovPatrician.java +++ b/Mage.Sets/src/mage/cards/m/MarkovPatrician.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class MarkovPatrician extends CardImpl { public MarkovPatrician(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MarkovWarlord.java b/Mage.Sets/src/mage/cards/m/MarkovWarlord.java index f78ca9050b6..dc0fb78d411 100644 --- a/Mage.Sets/src/mage/cards/m/MarkovWarlord.java +++ b/Mage.Sets/src/mage/cards/m/MarkovWarlord.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -46,8 +47,8 @@ public class MarkovWarlord extends CardImpl { public MarkovWarlord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Vampire"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MarkovsServant.java b/Mage.Sets/src/mage/cards/m/MarkovsServant.java index d5c0ee2e9ed..9310330be18 100644 --- a/Mage.Sets/src/mage/cards/m/MarkovsServant.java +++ b/Mage.Sets/src/mage/cards/m/MarkovsServant.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class MarkovsServant extends CardImpl { public MarkovsServant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},null); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.color.setBlack(true); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/Maro.java b/Mage.Sets/src/mage/cards/m/Maro.java index e2883e014e8..ae80d60da9a 100644 --- a/Mage.Sets/src/mage/cards/m/Maro.java +++ b/Mage.Sets/src/mage/cards/m/Maro.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class Maro extends CardImpl { public Maro(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MarrowBats.java b/Mage.Sets/src/mage/cards/m/MarrowBats.java index cc221d6d4f2..7a5b89a8dc2 100644 --- a/Mage.Sets/src/mage/cards/m/MarrowBats.java +++ b/Mage.Sets/src/mage/cards/m/MarrowBats.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class MarrowBats extends CardImpl { public MarrowBats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Bat"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.BAT); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MarrowChomper.java b/Mage.Sets/src/mage/cards/m/MarrowChomper.java index 088d4dc38cd..55e400aa9da 100644 --- a/Mage.Sets/src/mage/cards/m/MarrowChomper.java +++ b/Mage.Sets/src/mage/cards/m/MarrowChomper.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DevourAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class MarrowChomper extends CardImpl { public MarrowChomper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{G}"); - this.subtype.add("Zombie"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.LIZARD); diff --git a/Mage.Sets/src/mage/cards/m/MarrowGnawer.java b/Mage.Sets/src/mage/cards/m/MarrowGnawer.java index 523b1209176..14c7678c984 100644 --- a/Mage.Sets/src/mage/cards/m/MarrowGnawer.java +++ b/Mage.Sets/src/mage/cards/m/MarrowGnawer.java @@ -68,8 +68,8 @@ public class MarrowGnawer extends CardImpl { public MarrowGnawer (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Rat"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MarshBoa.java b/Mage.Sets/src/mage/cards/m/MarshBoa.java index 249932a2872..c0ac88ad43b 100644 --- a/Mage.Sets/src/mage/cards/m/MarshBoa.java +++ b/Mage.Sets/src/mage/cards/m/MarshBoa.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class MarshBoa extends CardImpl { public MarshBoa(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MarshCrocodile.java b/Mage.Sets/src/mage/cards/m/MarshCrocodile.java index 74ae2188e9c..05e8ab7af7e 100644 --- a/Mage.Sets/src/mage/cards/m/MarshCrocodile.java +++ b/Mage.Sets/src/mage/cards/m/MarshCrocodile.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.discard.DiscardEachPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -55,7 +56,7 @@ public class MarshCrocodile extends CardImpl { public MarshCrocodile(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{B}"); - this.subtype.add("Crocodile"); + this.subtype.add(SubType.CROCODILE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MarshFlitter.java b/Mage.Sets/src/mage/cards/m/MarshFlitter.java index eed3a665352..63469b07b57 100644 --- a/Mage.Sets/src/mage/cards/m/MarshFlitter.java +++ b/Mage.Sets/src/mage/cards/m/MarshFlitter.java @@ -59,8 +59,8 @@ public class MarshFlitter extends CardImpl { public MarshFlitter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MarshGoblins.java b/Mage.Sets/src/mage/cards/m/MarshGoblins.java index 2d4738337ca..ece9e86905a 100644 --- a/Mage.Sets/src/mage/cards/m/MarshGoblins.java +++ b/Mage.Sets/src/mage/cards/m/MarshGoblins.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class MarshGoblins extends CardImpl { public MarshGoblins(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MarshHulk.java b/Mage.Sets/src/mage/cards/m/MarshHulk.java index 7a1af5443a6..6681f1c9399 100644 --- a/Mage.Sets/src/mage/cards/m/MarshHulk.java +++ b/Mage.Sets/src/mage/cards/m/MarshHulk.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class MarshHulk extends CardImpl { public MarshHulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.OGRE); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/m/MarshLurker.java b/Mage.Sets/src/mage/cards/m/MarshLurker.java index 109d9f3bf02..f57c232265e 100644 --- a/Mage.Sets/src/mage/cards/m/MarshLurker.java +++ b/Mage.Sets/src/mage/cards/m/MarshLurker.java @@ -57,7 +57,7 @@ public class MarshLurker extends CardImpl { public MarshLurker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MarshThreader.java b/Mage.Sets/src/mage/cards/m/MarshThreader.java index bf3f411ab56..c27772f6bef 100644 --- a/Mage.Sets/src/mage/cards/m/MarshThreader.java +++ b/Mage.Sets/src/mage/cards/m/MarshThreader.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class MarshThreader extends CardImpl { public MarshThreader (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Scout"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SCOUT); this.color.setWhite(true); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MarshViper.java b/Mage.Sets/src/mage/cards/m/MarshViper.java index bec681c6a44..0f7a48f5e07 100644 --- a/Mage.Sets/src/mage/cards/m/MarshViper.java +++ b/Mage.Sets/src/mage/cards/m/MarshViper.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddPoisonCounterTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class MarshViper extends CardImpl { public MarshViper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MarshdrinkerGiant.java b/Mage.Sets/src/mage/cards/m/MarshdrinkerGiant.java index d69d9b7f3d1..05f6cbed93c 100644 --- a/Mage.Sets/src/mage/cards/m/MarshdrinkerGiant.java +++ b/Mage.Sets/src/mage/cards/m/MarshdrinkerGiant.java @@ -60,8 +60,8 @@ public class MarshdrinkerGiant extends CardImpl { public MarshdrinkerGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MarshmistTitan.java b/Mage.Sets/src/mage/cards/m/MarshmistTitan.java index 9bb374f2de3..d623f3dfbc4 100644 --- a/Mage.Sets/src/mage/cards/m/MarshmistTitan.java +++ b/Mage.Sets/src/mage/cards/m/MarshmistTitan.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.cost.CostModificationEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.CostModificationType; import mage.constants.Duration; @@ -53,7 +54,7 @@ public class MarshmistTitan extends CardImpl { public MarshmistTitan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{B}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MartonStromgald.java b/Mage.Sets/src/mage/cards/m/MartonStromgald.java index 0d510b5fc6d..4716cb90042 100644 --- a/Mage.Sets/src/mage/cards/m/MartonStromgald.java +++ b/Mage.Sets/src/mage/cards/m/MartonStromgald.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.filter.common.FilterAttackingCreature; @@ -59,8 +60,8 @@ public class MartonStromgald extends CardImpl { public MartonStromgald(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MartyrOfAshes.java b/Mage.Sets/src/mage/cards/m/MartyrOfAshes.java index 7801c5e7383..13a8b52c9d9 100644 --- a/Mage.Sets/src/mage/cards/m/MartyrOfAshes.java +++ b/Mage.Sets/src/mage/cards/m/MartyrOfAshes.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.common.FilterCreaturePermanent; @@ -66,8 +67,8 @@ public class MartyrOfAshes extends CardImpl { public MartyrOfAshes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MartyrOfBones.java b/Mage.Sets/src/mage/cards/m/MartyrOfBones.java index c12265a4712..eeda1f3e4df 100644 --- a/Mage.Sets/src/mage/cards/m/MartyrOfBones.java +++ b/Mage.Sets/src/mage/cards/m/MartyrOfBones.java @@ -43,6 +43,7 @@ import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.ColorPredicate; @@ -61,8 +62,8 @@ public class MartyrOfBones extends CardImpl { public MartyrOfBones(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MartyrOfFrost.java b/Mage.Sets/src/mage/cards/m/MartyrOfFrost.java index 59c467da0ff..d9de1dbe9fe 100644 --- a/Mage.Sets/src/mage/cards/m/MartyrOfFrost.java +++ b/Mage.Sets/src/mage/cards/m/MartyrOfFrost.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.CounterUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.ColorPredicate; @@ -60,8 +61,8 @@ public class MartyrOfFrost extends CardImpl { public MartyrOfFrost(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MartyrOfSands.java b/Mage.Sets/src/mage/cards/m/MartyrOfSands.java index 2d549dfdc77..b215a69bd51 100644 --- a/Mage.Sets/src/mage/cards/m/MartyrOfSands.java +++ b/Mage.Sets/src/mage/cards/m/MartyrOfSands.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.ColorPredicate; @@ -61,8 +62,8 @@ public class MartyrOfSands extends CardImpl { public MartyrOfSands(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MartyrOfSpores.java b/Mage.Sets/src/mage/cards/m/MartyrOfSpores.java index 104c8d45ee4..bfa15bc6cd5 100644 --- a/Mage.Sets/src/mage/cards/m/MartyrOfSpores.java +++ b/Mage.Sets/src/mage/cards/m/MartyrOfSpores.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterCard; @@ -61,8 +62,8 @@ public class MartyrOfSpores extends CardImpl { public MartyrOfSpores(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MartyredRusalka.java b/Mage.Sets/src/mage/cards/m/MartyredRusalka.java index b661d42df3a..7c307ef7fa6 100644 --- a/Mage.Sets/src/mage/cards/m/MartyredRusalka.java +++ b/Mage.Sets/src/mage/cards/m/MartyredRusalka.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.combat.CantAttackTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -50,7 +51,7 @@ public class MartyredRusalka extends CardImpl { public MartyredRusalka(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MartyrsOfKorlis.java b/Mage.Sets/src/mage/cards/m/MartyrsOfKorlis.java index 051b24c4956..24821e4f554 100644 --- a/Mage.Sets/src/mage/cards/m/MartyrsOfKorlis.java +++ b/Mage.Sets/src/mage/cards/m/MartyrsOfKorlis.java @@ -38,6 +38,7 @@ import mage.abilities.effects.RedirectionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class MartyrsOfKorlis extends CardImpl { public MartyrsOfKorlis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/m/MasakoTheHumorless.java b/Mage.Sets/src/mage/cards/m/MasakoTheHumorless.java index 2c706550f79..9f1f9402f73 100644 --- a/Mage.Sets/src/mage/cards/m/MasakoTheHumorless.java +++ b/Mage.Sets/src/mage/cards/m/MasakoTheHumorless.java @@ -48,8 +48,8 @@ public class MasakoTheHumorless extends CardImpl { public MasakoTheHumorless(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MaskOfAvacyn.java b/Mage.Sets/src/mage/cards/m/MaskOfAvacyn.java index 616c2372984..3dcde06944d 100644 --- a/Mage.Sets/src/mage/cards/m/MaskOfAvacyn.java +++ b/Mage.Sets/src/mage/cards/m/MaskOfAvacyn.java @@ -47,7 +47,7 @@ public class MaskOfAvacyn extends CardImpl { public MaskOfAvacyn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equip {3} this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(3))); diff --git a/Mage.Sets/src/mage/cards/m/MaskOfLawAndGrace.java b/Mage.Sets/src/mage/cards/m/MaskOfLawAndGrace.java index 5acfcaabe62..5f413cfaf0f 100644 --- a/Mage.Sets/src/mage/cards/m/MaskOfLawAndGrace.java +++ b/Mage.Sets/src/mage/cards/m/MaskOfLawAndGrace.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class MaskOfLawAndGrace extends CardImpl { public MaskOfLawAndGrace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/m/MaskOfMemory.java b/Mage.Sets/src/mage/cards/m/MaskOfMemory.java index 47cd42820f9..1bc255a504d 100644 --- a/Mage.Sets/src/mage/cards/m/MaskOfMemory.java +++ b/Mage.Sets/src/mage/cards/m/MaskOfMemory.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; /** @@ -48,7 +49,7 @@ public class MaskOfMemory extends CardImpl { public MaskOfMemory(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Whenever equipped creature deals combat damage to a player, you may draw two cards. If you do, discard a card. Ability ability = new DealsDamageToAPlayerAttachedTriggeredAbility(new DrawCardSourceControllerEffect(2), "equipped creature", true); diff --git a/Mage.Sets/src/mage/cards/m/MaskOfRiddles.java b/Mage.Sets/src/mage/cards/m/MaskOfRiddles.java index 3184c3a5e6c..a1363419a67 100644 --- a/Mage.Sets/src/mage/cards/m/MaskOfRiddles.java +++ b/Mage.Sets/src/mage/cards/m/MaskOfRiddles.java @@ -47,7 +47,7 @@ public class MaskOfRiddles extends CardImpl { public MaskOfRiddles(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{U}{B}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has fear. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FearAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/m/MaskedAdmirers.java b/Mage.Sets/src/mage/cards/m/MaskedAdmirers.java index aa795e0970e..812374358a0 100644 --- a/Mage.Sets/src/mage/cards/m/MaskedAdmirers.java +++ b/Mage.Sets/src/mage/cards/m/MaskedAdmirers.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -50,8 +51,8 @@ public class MaskedAdmirers extends CardImpl { public MaskedAdmirers(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MaskedGorgon.java b/Mage.Sets/src/mage/cards/m/MaskedGorgon.java index 7d1db8c01eb..1cdd22d09b3 100644 --- a/Mage.Sets/src/mage/cards/m/MaskedGorgon.java +++ b/Mage.Sets/src/mage/cards/m/MaskedGorgon.java @@ -62,7 +62,7 @@ public class MaskedGorgon extends CardImpl { public MaskedGorgon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Gorgon"); + this.subtype.add(SubType.GORGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MassOfGhouls.java b/Mage.Sets/src/mage/cards/m/MassOfGhouls.java index 4039ad73dd2..801b8bc6d43 100644 --- a/Mage.Sets/src/mage/cards/m/MassOfGhouls.java +++ b/Mage.Sets/src/mage/cards/m/MassOfGhouls.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class MassOfGhouls extends CardImpl { public MassOfGhouls(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MassacreWurm.java b/Mage.Sets/src/mage/cards/m/MassacreWurm.java index 26b03ea713d..adaac2f4fa8 100644 --- a/Mage.Sets/src/mage/cards/m/MassacreWurm.java +++ b/Mage.Sets/src/mage/cards/m/MassacreWurm.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostOpponentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -55,7 +56,7 @@ public class MassacreWurm extends CardImpl { public MassacreWurm (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MassiffSwarm.java b/Mage.Sets/src/mage/cards/m/MassiffSwarm.java index cf5a5c1111b..75058565a00 100644 --- a/Mage.Sets/src/mage/cards/m/MassiffSwarm.java +++ b/Mage.Sets/src/mage/cards/m/MassiffSwarm.java @@ -1,63 +1,64 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.keyword.MonstrosityAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class MassiffSwarm extends CardImpl { - - public MassiffSwarm(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Crocodile"); - this.subtype.add("Beast"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // {6}{G}: Monstrosity 3. - this.addAbility(new MonstrosityAbility("{6}{G}", 3)); - - } - - public MassiffSwarm(final MassiffSwarm card) { - super(card); - } - - @Override - public MassiffSwarm copy() { - return new MassiffSwarm(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.keyword.MonstrosityAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author Styxo + */ +public class MassiffSwarm extends CardImpl { + + public MassiffSwarm(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); + this.subtype.add(SubType.CROCODILE); + this.subtype.add(SubType.BEAST); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // {6}{G}: Monstrosity 3. + this.addAbility(new MonstrosityAbility("{6}{G}", 3)); + + } + + public MassiffSwarm(final MassiffSwarm card) { + super(card); + } + + @Override + public MassiffSwarm copy() { + return new MassiffSwarm(this); + } +} diff --git a/Mage.Sets/src/mage/cards/m/MasterApothecary.java b/Mage.Sets/src/mage/cards/m/MasterApothecary.java index 7d775a8dbc1..d967abe6432 100644 --- a/Mage.Sets/src/mage/cards/m/MasterApothecary.java +++ b/Mage.Sets/src/mage/cards/m/MasterApothecary.java @@ -61,8 +61,8 @@ public class MasterApothecary extends CardImpl { public MasterApothecary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MasterBiomancer.java b/Mage.Sets/src/mage/cards/m/MasterBiomancer.java index 742088f4557..60036c66d9c 100644 --- a/Mage.Sets/src/mage/cards/m/MasterBiomancer.java +++ b/Mage.Sets/src/mage/cards/m/MasterBiomancer.java @@ -53,8 +53,8 @@ public class MasterBiomancer extends CardImpl { public MasterBiomancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{U}"); - this.subtype.add("Elf"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MasterDecoy.java b/Mage.Sets/src/mage/cards/m/MasterDecoy.java index 3849748474d..0e69f8ed03b 100644 --- a/Mage.Sets/src/mage/cards/m/MasterDecoy.java +++ b/Mage.Sets/src/mage/cards/m/MasterDecoy.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class MasterDecoy extends CardImpl { public MasterDecoy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MasterHealer.java b/Mage.Sets/src/mage/cards/m/MasterHealer.java index 4ee1f955755..7d9aaa733ca 100644 --- a/Mage.Sets/src/mage/cards/m/MasterHealer.java +++ b/Mage.Sets/src/mage/cards/m/MasterHealer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class MasterHealer extends CardImpl { public MasterHealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MasterOfArms.java b/Mage.Sets/src/mage/cards/m/MasterOfArms.java index 42912d25d42..898a49171bb 100644 --- a/Mage.Sets/src/mage/cards/m/MasterOfArms.java +++ b/Mage.Sets/src/mage/cards/m/MasterOfArms.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.BlockingAttackerIdPredicate; @@ -50,8 +51,8 @@ public class MasterOfArms extends CardImpl { public MasterOfArms(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MasterOfCruelties.java b/Mage.Sets/src/mage/cards/m/MasterOfCruelties.java index 56dc45a1e8c..782e70b6e7f 100644 --- a/Mage.Sets/src/mage/cards/m/MasterOfCruelties.java +++ b/Mage.Sets/src/mage/cards/m/MasterOfCruelties.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class MasterOfCruelties extends CardImpl { public MasterOfCruelties(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{R}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MasterOfDiversion.java b/Mage.Sets/src/mage/cards/m/MasterOfDiversion.java index 9d6a45cafb3..ccde73ad0d1 100644 --- a/Mage.Sets/src/mage/cards/m/MasterOfDiversion.java +++ b/Mage.Sets/src/mage/cards/m/MasterOfDiversion.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; import mage.game.Game; @@ -50,8 +51,8 @@ public class MasterOfDiversion extends CardImpl { public MasterOfDiversion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MasterOfEtherium.java b/Mage.Sets/src/mage/cards/m/MasterOfEtherium.java index 0ed32b45231..f1493ae15e9 100644 --- a/Mage.Sets/src/mage/cards/m/MasterOfEtherium.java +++ b/Mage.Sets/src/mage/cards/m/MasterOfEtherium.java @@ -58,8 +58,8 @@ public class MasterOfEtherium extends CardImpl { public MasterOfEtherium(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MasterOfPearls.java b/Mage.Sets/src/mage/cards/m/MasterOfPearls.java index a3d5e9e1549..1b4e2a77dfe 100644 --- a/Mage.Sets/src/mage/cards/m/MasterOfPearls.java +++ b/Mage.Sets/src/mage/cards/m/MasterOfPearls.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; @@ -47,8 +48,8 @@ public class MasterOfPearls extends CardImpl { public MasterOfPearls(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MasterOfPredicaments.java b/Mage.Sets/src/mage/cards/m/MasterOfPredicaments.java index a736e53bb4a..67edf0fb6e3 100644 --- a/Mage.Sets/src/mage/cards/m/MasterOfPredicaments.java +++ b/Mage.Sets/src/mage/cards/m/MasterOfPredicaments.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.FilterCard; import mage.game.Game; @@ -52,7 +53,7 @@ public class MasterOfPredicaments extends CardImpl { public MasterOfPredicaments(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MasterOfTheFeast.java b/Mage.Sets/src/mage/cards/m/MasterOfTheFeast.java index eb44f572fca..d7c1e7d6849 100644 --- a/Mage.Sets/src/mage/cards/m/MasterOfTheFeast.java +++ b/Mage.Sets/src/mage/cards/m/MasterOfTheFeast.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,7 +46,7 @@ public class MasterOfTheFeast extends CardImpl { public MasterOfTheFeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MasterOfThePearlTrident.java b/Mage.Sets/src/mage/cards/m/MasterOfThePearlTrident.java index 734ca5f0710..ddd4e234643 100644 --- a/Mage.Sets/src/mage/cards/m/MasterOfThePearlTrident.java +++ b/Mage.Sets/src/mage/cards/m/MasterOfThePearlTrident.java @@ -56,7 +56,7 @@ public class MasterOfThePearlTrident extends CardImpl { public MasterOfThePearlTrident(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MasterOfTheWildHunt.java b/Mage.Sets/src/mage/cards/m/MasterOfTheWildHunt.java index 9a82b1b219e..943fa398efd 100644 --- a/Mage.Sets/src/mage/cards/m/MasterOfTheWildHunt.java +++ b/Mage.Sets/src/mage/cards/m/MasterOfTheWildHunt.java @@ -64,8 +64,8 @@ public class MasterOfTheWildHunt extends CardImpl { public MasterOfTheWildHunt(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MasterOfWaves.java b/Mage.Sets/src/mage/cards/m/MasterOfWaves.java index b1a64cd4ae0..336583b0515 100644 --- a/Mage.Sets/src/mage/cards/m/MasterOfWaves.java +++ b/Mage.Sets/src/mage/cards/m/MasterOfWaves.java @@ -57,8 +57,8 @@ public class MasterOfWaves extends CardImpl { public MasterOfWaves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MasterSplicer.java b/Mage.Sets/src/mage/cards/m/MasterSplicer.java index 379c5b00814..2d162a219ff 100644 --- a/Mage.Sets/src/mage/cards/m/MasterSplicer.java +++ b/Mage.Sets/src/mage/cards/m/MasterSplicer.java @@ -57,8 +57,8 @@ public class MasterSplicer extends CardImpl { public MasterSplicer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MasterThief.java b/Mage.Sets/src/mage/cards/m/MasterThief.java index 3df28d433eb..1e530ab13c8 100644 --- a/Mage.Sets/src/mage/cards/m/MasterThief.java +++ b/Mage.Sets/src/mage/cards/m/MasterThief.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -55,8 +56,8 @@ public class MasterThief extends CardImpl { public MasterThief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MasterTransmuter.java b/Mage.Sets/src/mage/cards/m/MasterTransmuter.java index 14bb7d5fffb..c9e2b9359bf 100644 --- a/Mage.Sets/src/mage/cards/m/MasterTransmuter.java +++ b/Mage.Sets/src/mage/cards/m/MasterTransmuter.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.PutPermanentOnBattlefieldEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterArtifactCard; import mage.filter.common.FilterControlledArtifactPermanent; @@ -51,8 +52,8 @@ public class MasterTransmuter extends CardImpl { public MasterTransmuter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MasterTrinketeer.java b/Mage.Sets/src/mage/cards/m/MasterTrinketeer.java index afcf2ab54ce..e91391e8b30 100644 --- a/Mage.Sets/src/mage/cards/m/MasterTrinketeer.java +++ b/Mage.Sets/src/mage/cards/m/MasterTrinketeer.java @@ -60,8 +60,8 @@ public class MasterTrinketeer extends CardImpl { public MasterTrinketeer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Dwarf"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MasterworkOfIngenuity.java b/Mage.Sets/src/mage/cards/m/MasterworkOfIngenuity.java index 2e00887011e..7071b7734bf 100644 --- a/Mage.Sets/src/mage/cards/m/MasterworkOfIngenuity.java +++ b/Mage.Sets/src/mage/cards/m/MasterworkOfIngenuity.java @@ -53,7 +53,7 @@ public class MasterworkOfIngenuity extends CardImpl { public MasterworkOfIngenuity(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // You may have Masterwork of Ingenuity enter the battlefield as a copy of any Equipment on the battlefield. this.addAbility(new EntersBattlefieldAbility(new CopyPermanentEffect(filter), true)); diff --git a/Mage.Sets/src/mage/cards/m/Masticore.java b/Mage.Sets/src/mage/cards/m/Masticore.java index 11d133686db..313797ae404 100644 --- a/Mage.Sets/src/mage/cards/m/Masticore.java +++ b/Mage.Sets/src/mage/cards/m/Masticore.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.target.common.TargetCardInHand; @@ -53,7 +54,7 @@ public class Masticore extends CardImpl { public Masticore(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Masticore"); + this.subtype.add(SubType.MASTICORE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MasumaroFirstToLive.java b/Mage.Sets/src/mage/cards/m/MasumaroFirstToLive.java index 3064e3faa90..ab9c354b35c 100644 --- a/Mage.Sets/src/mage/cards/m/MasumaroFirstToLive.java +++ b/Mage.Sets/src/mage/cards/m/MasumaroFirstToLive.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class MasumaroFirstToLive extends CardImpl { public MasumaroFirstToLive(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MatcaRioters.java b/Mage.Sets/src/mage/cards/m/MatcaRioters.java index efc1f2449bd..deea6569788 100644 --- a/Mage.Sets/src/mage/cards/m/MatcaRioters.java +++ b/Mage.Sets/src/mage/cards/m/MatcaRioters.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class MatcaRioters extends CardImpl { public MatcaRioters(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MathasFiendSeeker.java b/Mage.Sets/src/mage/cards/m/MathasFiendSeeker.java index e123dd9db12..5e9422278a3 100644 --- a/Mage.Sets/src/mage/cards/m/MathasFiendSeeker.java +++ b/Mage.Sets/src/mage/cards/m/MathasFiendSeeker.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SuperType; @@ -70,7 +71,7 @@ public class MathasFiendSeeker extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{W}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MatsuTribeBirdstalker.java b/Mage.Sets/src/mage/cards/m/MatsuTribeBirdstalker.java index f3cb95439bb..89f576e0b13 100644 --- a/Mage.Sets/src/mage/cards/m/MatsuTribeBirdstalker.java +++ b/Mage.Sets/src/mage/cards/m/MatsuTribeBirdstalker.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,9 +52,9 @@ public class MatsuTribeBirdstalker extends CardImpl { public MatsuTribeBirdstalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Snake"); - this.subtype.add("Warrior"); - this.subtype.add("Archer"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MatsuTribeDecoy.java b/Mage.Sets/src/mage/cards/m/MatsuTribeDecoy.java index 597a78b7192..e1fb9f15d7e 100644 --- a/Mage.Sets/src/mage/cards/m/MatsuTribeDecoy.java +++ b/Mage.Sets/src/mage/cards/m/MatsuTribeDecoy.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.combat.MustBeBlockedByTargetSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class MatsuTribeDecoy extends CardImpl { public MatsuTribeDecoy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Snake"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MatsuTribeSniper.java b/Mage.Sets/src/mage/cards/m/MatsuTribeSniper.java index cec2110d820..ec3a913052e 100644 --- a/Mage.Sets/src/mage/cards/m/MatsuTribeSniper.java +++ b/Mage.Sets/src/mage/cards/m/MatsuTribeSniper.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -59,9 +60,9 @@ public class MatsuTribeSniper extends CardImpl { public MatsuTribeSniper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Snake"); - this.subtype.add("Warrior"); - this.subtype.add("Archer"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MatterReshaper.java b/Mage.Sets/src/mage/cards/m/MatterReshaper.java index 22ee558551c..8a7f6aef6cb 100644 --- a/Mage.Sets/src/mage/cards/m/MatterReshaper.java +++ b/Mage.Sets/src/mage/cards/m/MatterReshaper.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class MatterReshaper extends CardImpl { public MatterReshaper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{C}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MaulSplicer.java b/Mage.Sets/src/mage/cards/m/MaulSplicer.java index b9703753116..7477090f03d 100644 --- a/Mage.Sets/src/mage/cards/m/MaulSplicer.java +++ b/Mage.Sets/src/mage/cards/m/MaulSplicer.java @@ -60,8 +60,8 @@ public class MaulSplicer extends CardImpl { public MaulSplicer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MaulfistDoorbuster.java b/Mage.Sets/src/mage/cards/m/MaulfistDoorbuster.java index 3c075ff28e1..34fdba8e85e 100644 --- a/Mage.Sets/src/mage/cards/m/MaulfistDoorbuster.java +++ b/Mage.Sets/src/mage/cards/m/MaulfistDoorbuster.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class MaulfistDoorbuster extends CardImpl { public MaulfistDoorbuster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MaulfistRevolutionary.java b/Mage.Sets/src/mage/cards/m/MaulfistRevolutionary.java index 499006c4b23..b580ca2f33f 100644 --- a/Mage.Sets/src/mage/cards/m/MaulfistRevolutionary.java +++ b/Mage.Sets/src/mage/cards/m/MaulfistRevolutionary.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.Counter; import mage.counters.CounterType; @@ -55,8 +56,8 @@ public class MaulfistRevolutionary extends CardImpl { public MaulfistRevolutionary(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MaulfistSquad.java b/Mage.Sets/src/mage/cards/m/MaulfistSquad.java index cab8f63daca..21ba08c1b11 100644 --- a/Mage.Sets/src/mage/cards/m/MaulfistSquad.java +++ b/Mage.Sets/src/mage/cards/m/MaulfistSquad.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class MaulfistSquad extends CardImpl { public MaulfistSquad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MausoleumGuard.java b/Mage.Sets/src/mage/cards/m/MausoleumGuard.java index a6094f6f84a..c9534096cdb 100644 --- a/Mage.Sets/src/mage/cards/m/MausoleumGuard.java +++ b/Mage.Sets/src/mage/cards/m/MausoleumGuard.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.SpiritWhiteToken; /** @@ -43,8 +44,8 @@ public class MausoleumGuard extends CardImpl { public MausoleumGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MausoleumTurnkey.java b/Mage.Sets/src/mage/cards/m/MausoleumTurnkey.java index acf71a30fa1..d703318cc36 100644 --- a/Mage.Sets/src/mage/cards/m/MausoleumTurnkey.java +++ b/Mage.Sets/src/mage/cards/m/MausoleumTurnkey.java @@ -1,124 +1,125 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.common.FilterCreatureCard; -import mage.filter.predicate.other.OwnerIdPredicate; -import mage.game.Game; -import mage.players.Player; -import mage.target.Target; -import mage.target.common.TargetCardInGraveyard; -import mage.target.common.TargetOpponent; - -/** - * - * @author LevelX2 - */ -public class MausoleumTurnkey extends CardImpl { - - public MausoleumTurnkey(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - - this.subtype.add("Ogre"); - this.subtype.add("Rogue"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - - // When Mausoleum Turnkey enters the battlefield, return target creature card of an opponent's choice from your graveyard to your hand. - this.addAbility(new EntersBattlefieldTriggeredAbility(new MausoleumTurnkeyEffect(), false)); - - } - - public MausoleumTurnkey(final MausoleumTurnkey card) { - super(card); - } - - @Override - public MausoleumTurnkey copy() { - return new MausoleumTurnkey(this); - } -} - -class MausoleumTurnkeyEffect extends OneShotEffect { - - public MausoleumTurnkeyEffect() { - super(Outcome.Benefit); - this.staticText = "return target creature card of an opponent's choice from your graveyard to your hand"; - } - - public MausoleumTurnkeyEffect(final MausoleumTurnkeyEffect effect) { - super(effect); - } - - @Override - public MausoleumTurnkeyEffect copy() { - return new MausoleumTurnkeyEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - UUID opponentId = null; - if (game.getOpponents(controller.getId()).size() > 1) { - Target target = new TargetOpponent(true); - if (controller.chooseTarget(outcome, target, source, game)) { - opponentId = target.getFirstTarget(); - } - } else { - opponentId = game.getOpponents(controller.getId()).iterator().next(); - } - if (opponentId != null) { - Player opponent = game.getPlayer(opponentId); - if (opponent != null) { - FilterCreatureCard filter = new FilterCreatureCard("creature card from " + controller.getLogName() + " graveyard"); - filter.add(new OwnerIdPredicate(controller.getId())); - Target target = new TargetCardInGraveyard(filter); - opponent.chooseTarget(outcome, target, source, game); - Card card = game.getCard(target.getFirstTarget()); - if (card != null) { - controller.moveCards(card, Zone.HAND, source, game); - } - } - } - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.common.FilterCreatureCard; +import mage.filter.predicate.other.OwnerIdPredicate; +import mage.game.Game; +import mage.players.Player; +import mage.target.Target; +import mage.target.common.TargetCardInGraveyard; +import mage.target.common.TargetOpponent; + +/** + * + * @author LevelX2 + */ +public class MausoleumTurnkey extends CardImpl { + + public MausoleumTurnkey(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); + + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.ROGUE); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // When Mausoleum Turnkey enters the battlefield, return target creature card of an opponent's choice from your graveyard to your hand. + this.addAbility(new EntersBattlefieldTriggeredAbility(new MausoleumTurnkeyEffect(), false)); + + } + + public MausoleumTurnkey(final MausoleumTurnkey card) { + super(card); + } + + @Override + public MausoleumTurnkey copy() { + return new MausoleumTurnkey(this); + } +} + +class MausoleumTurnkeyEffect extends OneShotEffect { + + public MausoleumTurnkeyEffect() { + super(Outcome.Benefit); + this.staticText = "return target creature card of an opponent's choice from your graveyard to your hand"; + } + + public MausoleumTurnkeyEffect(final MausoleumTurnkeyEffect effect) { + super(effect); + } + + @Override + public MausoleumTurnkeyEffect copy() { + return new MausoleumTurnkeyEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + UUID opponentId = null; + if (game.getOpponents(controller.getId()).size() > 1) { + Target target = new TargetOpponent(true); + if (controller.chooseTarget(outcome, target, source, game)) { + opponentId = target.getFirstTarget(); + } + } else { + opponentId = game.getOpponents(controller.getId()).iterator().next(); + } + if (opponentId != null) { + Player opponent = game.getPlayer(opponentId); + if (opponent != null) { + FilterCreatureCard filter = new FilterCreatureCard("creature card from " + controller.getLogName() + " graveyard"); + filter.add(new OwnerIdPredicate(controller.getId())); + Target target = new TargetCardInGraveyard(filter); + opponent.chooseTarget(outcome, target, source, game); + Card card = game.getCard(target.getFirstTarget()); + if (card != null) { + controller.moveCards(card, Zone.HAND, source, game); + } + } + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/m/MausoleumWanderer.java b/Mage.Sets/src/mage/cards/m/MausoleumWanderer.java index 380bbb361ab..ccac2ee2810 100644 --- a/Mage.Sets/src/mage/cards/m/MausoleumWanderer.java +++ b/Mage.Sets/src/mage/cards/m/MausoleumWanderer.java @@ -63,7 +63,7 @@ public class MausoleumWanderer extends CardImpl { public MausoleumWanderer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MaverickThopterist.java b/Mage.Sets/src/mage/cards/m/MaverickThopterist.java index b7696c26be3..c405cc22886 100644 --- a/Mage.Sets/src/mage/cards/m/MaverickThopterist.java +++ b/Mage.Sets/src/mage/cards/m/MaverickThopterist.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ImproviseAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.ThopterColorlessToken; /** @@ -46,8 +47,8 @@ public class MaverickThopterist extends CardImpl { public MaverickThopterist(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{R}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MavrenFeinDuskApostle.java b/Mage.Sets/src/mage/cards/m/MavrenFeinDuskApostle.java index d1b2227e0ec..bd1251ac894 100644 --- a/Mage.Sets/src/mage/cards/m/MavrenFeinDuskApostle.java +++ b/Mage.Sets/src/mage/cards/m/MavrenFeinDuskApostle.java @@ -58,8 +58,8 @@ public class MavrenFeinDuskApostle extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MawOfKozilek.java b/Mage.Sets/src/mage/cards/m/MawOfKozilek.java index 00099a2d680..91cb05bedd0 100644 --- a/Mage.Sets/src/mage/cards/m/MawOfKozilek.java +++ b/Mage.Sets/src/mage/cards/m/MawOfKozilek.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class MawOfKozilek extends CardImpl { public MawOfKozilek(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MawOfTheObzedat.java b/Mage.Sets/src/mage/cards/m/MawOfTheObzedat.java index ec6786ff54e..eab32a37b71 100644 --- a/Mage.Sets/src/mage/cards/m/MawOfTheObzedat.java +++ b/Mage.Sets/src/mage/cards/m/MawOfTheObzedat.java @@ -53,7 +53,7 @@ public class MawOfTheObzedat extends CardImpl { public MawOfTheObzedat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{B}"); - this.subtype.add("Thrull"); + this.subtype.add(SubType.THRULL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/Mawcor.java b/Mage.Sets/src/mage/cards/m/Mawcor.java index 0a61dd33ae5..939f6d72910 100644 --- a/Mage.Sets/src/mage/cards/m/Mawcor.java +++ b/Mage.Sets/src/mage/cards/m/Mawcor.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,7 +49,7 @@ public class Mawcor extends CardImpl { public Mawcor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MayaelTheAnima.java b/Mage.Sets/src/mage/cards/m/MayaelTheAnima.java index ebede6804a1..67b21639b51 100644 --- a/Mage.Sets/src/mage/cards/m/MayaelTheAnima.java +++ b/Mage.Sets/src/mage/cards/m/MayaelTheAnima.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.constants.Zone; @@ -58,8 +59,8 @@ public class MayaelTheAnima extends CardImpl { public MayaelTheAnima(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MayorOfAvabruck.java b/Mage.Sets/src/mage/cards/m/MayorOfAvabruck.java index 6bf717b6d2f..4421d2dd961 100644 --- a/Mage.Sets/src/mage/cards/m/MayorOfAvabruck.java +++ b/Mage.Sets/src/mage/cards/m/MayorOfAvabruck.java @@ -64,9 +64,9 @@ public class MayorOfAvabruck extends CardImpl { public MayorOfAvabruck(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); + this.subtype.add(SubType.WEREWOLF); this.transformable = true; this.secondSideCardClazz = HowlpackAlpha.class; diff --git a/Mage.Sets/src/mage/cards/m/MazeAbomination.java b/Mage.Sets/src/mage/cards/m/MazeAbomination.java index 2e81b0119f5..e32d4b53721 100644 --- a/Mage.Sets/src/mage/cards/m/MazeAbomination.java +++ b/Mage.Sets/src/mage/cards/m/MazeAbomination.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -56,7 +57,7 @@ public class MazeAbomination extends CardImpl { public MazeAbomination (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MazeBehemoth.java b/Mage.Sets/src/mage/cards/m/MazeBehemoth.java index 8f6ba5938e0..4bd819dd2f9 100644 --- a/Mage.Sets/src/mage/cards/m/MazeBehemoth.java +++ b/Mage.Sets/src/mage/cards/m/MazeBehemoth.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -56,7 +57,7 @@ public class MazeBehemoth extends CardImpl { public MazeBehemoth (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MazeGlider.java b/Mage.Sets/src/mage/cards/m/MazeGlider.java index f0850b52a87..485adfde53e 100644 --- a/Mage.Sets/src/mage/cards/m/MazeGlider.java +++ b/Mage.Sets/src/mage/cards/m/MazeGlider.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -56,7 +57,7 @@ public class MazeGlider extends CardImpl { public MazeGlider (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MazeRusher.java b/Mage.Sets/src/mage/cards/m/MazeRusher.java index 75b1e4a93d8..fdffb934e00 100644 --- a/Mage.Sets/src/mage/cards/m/MazeRusher.java +++ b/Mage.Sets/src/mage/cards/m/MazeRusher.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -56,7 +57,7 @@ public class MazeRusher extends CardImpl { public MazeRusher (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MazeSentinel.java b/Mage.Sets/src/mage/cards/m/MazeSentinel.java index 0db569ee590..f3b2791b8e4 100644 --- a/Mage.Sets/src/mage/cards/m/MazeSentinel.java +++ b/Mage.Sets/src/mage/cards/m/MazeSentinel.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -56,7 +57,7 @@ public class MazeSentinel extends CardImpl { public MazeSentinel (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/m/MazirekKraulDeathPriest.java b/Mage.Sets/src/mage/cards/m/MazirekKraulDeathPriest.java index dc1858c7c29..1478de1d2e5 100644 --- a/Mage.Sets/src/mage/cards/m/MazirekKraulDeathPriest.java +++ b/Mage.Sets/src/mage/cards/m/MazirekKraulDeathPriest.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.counters.CounterType; @@ -54,8 +55,8 @@ public class MazirekKraulDeathPriest extends CardImpl { public MazirekKraulDeathPriest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Insect"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/Meadowboon.java b/Mage.Sets/src/mage/cards/m/Meadowboon.java index 8b41df1fc48..6579404a7db 100644 --- a/Mage.Sets/src/mage/cards/m/Meadowboon.java +++ b/Mage.Sets/src/mage/cards/m/Meadowboon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.StaticFilters; @@ -52,7 +53,7 @@ public class Meadowboon extends CardImpl { public Meadowboon(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MeanderingTowershell.java b/Mage.Sets/src/mage/cards/m/MeanderingTowershell.java index 250d59acf86..022073192cb 100644 --- a/Mage.Sets/src/mage/cards/m/MeanderingTowershell.java +++ b/Mage.Sets/src/mage/cards/m/MeanderingTowershell.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -68,7 +69,7 @@ public class MeanderingTowershell extends CardImpl { public MeanderingTowershell(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Turtle"); + this.subtype.add(SubType.TURTLE); this.power = new MageInt(5); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/m/MechanizedProduction.java b/Mage.Sets/src/mage/cards/m/MechanizedProduction.java index b05eaaa0f8e..a768b685b6f 100644 --- a/Mage.Sets/src/mage/cards/m/MechanizedProduction.java +++ b/Mage.Sets/src/mage/cards/m/MechanizedProduction.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.common.FilterArtifactPermanent; @@ -60,7 +61,7 @@ public class MechanizedProduction extends CardImpl { public MechanizedProduction(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact you control TargetPermanent auraTarget = new TargetControlledPermanent(new FilterControlledArtifactPermanent()); diff --git a/Mage.Sets/src/mage/cards/m/MeddlingMage.java b/Mage.Sets/src/mage/cards/m/MeddlingMage.java index a38550d7372..950f6f544d5 100644 --- a/Mage.Sets/src/mage/cards/m/MeddlingMage.java +++ b/Mage.Sets/src/mage/cards/m/MeddlingMage.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.NameACardEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,8 +54,8 @@ public class MeddlingMage extends CardImpl { public MeddlingMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MedicineRunner.java b/Mage.Sets/src/mage/cards/m/MedicineRunner.java index 7b1f9405e09..2d1af0b1d1d 100644 --- a/Mage.Sets/src/mage/cards/m/MedicineRunner.java +++ b/Mage.Sets/src/mage/cards/m/MedicineRunner.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.RemoveCounterTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPermanent; /** @@ -45,8 +46,8 @@ public class MedicineRunner extends CardImpl { public MedicineRunner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G/W}"); - this.subtype.add("Elf"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MedomaiTheAgeless.java b/Mage.Sets/src/mage/cards/m/MedomaiTheAgeless.java index 5ee1d614b4b..149db52cd17 100644 --- a/Mage.Sets/src/mage/cards/m/MedomaiTheAgeless.java +++ b/Mage.Sets/src/mage/cards/m/MedomaiTheAgeless.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class MedomaiTheAgeless extends CardImpl { public MedomaiTheAgeless(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MeganticSliver.java b/Mage.Sets/src/mage/cards/m/MeganticSliver.java index 0df67e37f47..0ad8b1539be 100644 --- a/Mage.Sets/src/mage/cards/m/MeganticSliver.java +++ b/Mage.Sets/src/mage/cards/m/MeganticSliver.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -46,7 +47,7 @@ public class MeganticSliver extends CardImpl { public MeganticSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/Megatog.java b/Mage.Sets/src/mage/cards/m/Megatog.java index c254a989939..465793ce300 100644 --- a/Mage.Sets/src/mage/cards/m/Megatog.java +++ b/Mage.Sets/src/mage/cards/m/Megatog.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -57,7 +58,7 @@ public class Megatog extends CardImpl { public Megatog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Atog"); + this.subtype.add(SubType.ATOG); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/Meglonoth.java b/Mage.Sets/src/mage/cards/m/Meglonoth.java index affbc2684a3..f066f741e14 100644 --- a/Mage.Sets/src/mage/cards/m/Meglonoth.java +++ b/Mage.Sets/src/mage/cards/m/Meglonoth.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -49,7 +50,7 @@ public class Meglonoth extends CardImpl { public Meglonoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{G}{W}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/m/Melancholy.java b/Mage.Sets/src/mage/cards/m/Melancholy.java index 87478866d10..069dbe20677 100644 --- a/Mage.Sets/src/mage/cards/m/Melancholy.java +++ b/Mage.Sets/src/mage/cards/m/Melancholy.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class Melancholy extends CardImpl { public Melancholy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/m/MelekIzzetParagon.java b/Mage.Sets/src/mage/cards/m/MelekIzzetParagon.java index 56f50b581a3..0fc0cbfb133 100644 --- a/Mage.Sets/src/mage/cards/m/MelekIzzetParagon.java +++ b/Mage.Sets/src/mage/cards/m/MelekIzzetParagon.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.PlayWithTheTopCardRevealedEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterCard; @@ -66,8 +67,8 @@ public class MelekIzzetParagon extends CardImpl { public MelekIzzetParagon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Weird"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.WEIRD); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MelesseSpirit.java b/Mage.Sets/src/mage/cards/m/MelesseSpirit.java index c6bc77c8e86..5c30eaedfc4 100644 --- a/Mage.Sets/src/mage/cards/m/MelesseSpirit.java +++ b/Mage.Sets/src/mage/cards/m/MelesseSpirit.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class MelesseSpirit extends CardImpl { public MelesseSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Angel"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ANGEL); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MeletisAstronomer.java b/Mage.Sets/src/mage/cards/m/MeletisAstronomer.java index 6011b1dece6..240c02d8620 100644 --- a/Mage.Sets/src/mage/cards/m/MeletisAstronomer.java +++ b/Mage.Sets/src/mage/cards/m/MeletisAstronomer.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -51,8 +52,8 @@ public class MeletisAstronomer extends CardImpl { public MeletisAstronomer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MeletisCharlatan.java b/Mage.Sets/src/mage/cards/m/MeletisCharlatan.java index 9d250035379..3e2491306ac 100644 --- a/Mage.Sets/src/mage/cards/m/MeletisCharlatan.java +++ b/Mage.Sets/src/mage/cards/m/MeletisCharlatan.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -55,8 +56,8 @@ public class MeletisCharlatan extends CardImpl { public MeletisCharlatan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MeliraSylvokOutcast.java b/Mage.Sets/src/mage/cards/m/MeliraSylvokOutcast.java index ff633528864..f5fc8bd06e9 100644 --- a/Mage.Sets/src/mage/cards/m/MeliraSylvokOutcast.java +++ b/Mage.Sets/src/mage/cards/m/MeliraSylvokOutcast.java @@ -54,8 +54,8 @@ public class MeliraSylvokOutcast extends CardImpl { public MeliraSylvokOutcast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MelirasKeepers.java b/Mage.Sets/src/mage/cards/m/MelirasKeepers.java index 49855d138b0..82d8887002f 100644 --- a/Mage.Sets/src/mage/cards/m/MelirasKeepers.java +++ b/Mage.Sets/src/mage/cards/m/MelirasKeepers.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ruleModifying.CantHaveCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -44,8 +45,8 @@ public class MelirasKeepers extends CardImpl { public MelirasKeepers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MelokuTheCloudedMirror.java b/Mage.Sets/src/mage/cards/m/MelokuTheCloudedMirror.java index 0ef94d095f0..8267b1c40e0 100644 --- a/Mage.Sets/src/mage/cards/m/MelokuTheCloudedMirror.java +++ b/Mage.Sets/src/mage/cards/m/MelokuTheCloudedMirror.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -55,8 +56,8 @@ public class MelokuTheCloudedMirror extends CardImpl { public MelokuTheCloudedMirror(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Moonfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MOONFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/Memnarch.java b/Mage.Sets/src/mage/cards/m/Memnarch.java index 0faf446e554..1d4e583c06f 100644 --- a/Mage.Sets/src/mage/cards/m/Memnarch.java +++ b/Mage.Sets/src/mage/cards/m/Memnarch.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class Memnarch extends CardImpl { public Memnarch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Wizard"); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/Memnite.java b/Mage.Sets/src/mage/cards/m/Memnite.java index dc59aae98aa..08d3fe32309 100644 --- a/Mage.Sets/src/mage/cards/m/Memnite.java +++ b/Mage.Sets/src/mage/cards/m/Memnite.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class Memnite extends CardImpl { public Memnite (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{0}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(1); } diff --git a/Mage.Sets/src/mage/cards/m/MenacingOgre.java b/Mage.Sets/src/mage/cards/m/MenacingOgre.java index 4997b1be685..09c4bb28ab6 100644 --- a/Mage.Sets/src/mage/cards/m/MenacingOgre.java +++ b/Mage.Sets/src/mage/cards/m/MenacingOgre.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -54,7 +55,7 @@ public class MenacingOgre extends CardImpl { public MenacingOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.OGRE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MenagerieLiberator.java b/Mage.Sets/src/mage/cards/m/MenagerieLiberator.java index c764ef3a5bc..51cdc5d9715 100644 --- a/Mage.Sets/src/mage/cards/m/MenagerieLiberator.java +++ b/Mage.Sets/src/mage/cards/m/MenagerieLiberator.java @@ -1,66 +1,67 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.keyword.MeleeAbility; -import mage.abilities.keyword.TrampleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author emerald000 - */ -public class MenagerieLiberator extends CardImpl { - - public MenagerieLiberator(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - - // Trample - this.addAbility(TrampleAbility.getInstance()); - - // Melee - this.addAbility(new MeleeAbility()); - } - - public MenagerieLiberator(final MenagerieLiberator card) { - super(card); - } - - @Override - public MenagerieLiberator copy() { - return new MenagerieLiberator(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.keyword.MeleeAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author emerald000 + */ +public class MenagerieLiberator extends CardImpl { + + public MenagerieLiberator(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + + // Melee + this.addAbility(new MeleeAbility()); + } + + public MenagerieLiberator(final MenagerieLiberator card) { + super(card); + } + + @Override + public MenagerieLiberator copy() { + return new MenagerieLiberator(this); + } +} diff --git a/Mage.Sets/src/mage/cards/m/MengHuoBarbarianKing.java b/Mage.Sets/src/mage/cards/m/MengHuoBarbarianKing.java index 1f7171368d7..897d5f4ca42 100644 --- a/Mage.Sets/src/mage/cards/m/MengHuoBarbarianKing.java +++ b/Mage.Sets/src/mage/cards/m/MengHuoBarbarianKing.java @@ -55,9 +55,9 @@ public class MengHuoBarbarianKing extends CardImpl { public MengHuoBarbarianKing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Barbarian"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BARBARIAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MengHuosHorde.java b/Mage.Sets/src/mage/cards/m/MengHuosHorde.java index 7daca26392a..e5f5f4d578a 100644 --- a/Mage.Sets/src/mage/cards/m/MengHuosHorde.java +++ b/Mage.Sets/src/mage/cards/m/MengHuosHorde.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class MengHuosHorde extends CardImpl { public MengHuosHorde(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MentorOfTheMeek.java b/Mage.Sets/src/mage/cards/m/MentorOfTheMeek.java index 6fda9cfabe3..eb781ffaaf0 100644 --- a/Mage.Sets/src/mage/cards/m/MentorOfTheMeek.java +++ b/Mage.Sets/src/mage/cards/m/MentorOfTheMeek.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -59,8 +60,8 @@ public class MentorOfTheMeek extends CardImpl { public MentorOfTheMeek(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MephidrossVampire.java b/Mage.Sets/src/mage/cards/m/MephidrossVampire.java index 7be32c77790..3d95b59e693 100644 --- a/Mage.Sets/src/mage/cards/m/MephidrossVampire.java +++ b/Mage.Sets/src/mage/cards/m/MephidrossVampire.java @@ -54,7 +54,7 @@ public class MephidrossVampire extends CardImpl { public MephidrossVampire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MephiticOoze.java b/Mage.Sets/src/mage/cards/m/MephiticOoze.java index d690a2d3792..80bb6e8de99 100644 --- a/Mage.Sets/src/mage/cards/m/MephiticOoze.java +++ b/Mage.Sets/src/mage/cards/m/MephiticOoze.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -58,7 +59,7 @@ public class MephiticOoze extends CardImpl { public MephiticOoze(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Ooze"); + this.subtype.add(SubType.OOZE); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MerEkNightblade.java b/Mage.Sets/src/mage/cards/m/MerEkNightblade.java index 60366750c0d..0f7976eee82 100644 --- a/Mage.Sets/src/mage/cards/m/MerEkNightblade.java +++ b/Mage.Sets/src/mage/cards/m/MerEkNightblade.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.OutlastAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -61,8 +62,8 @@ public class MerEkNightblade extends CardImpl { public MerEkNightblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Orc"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MercenaryInformer.java b/Mage.Sets/src/mage/cards/m/MercenaryInformer.java index c85ef87bf2d..c2dbd980d7f 100644 --- a/Mage.Sets/src/mage/cards/m/MercenaryInformer.java +++ b/Mage.Sets/src/mage/cards/m/MercenaryInformer.java @@ -68,9 +68,9 @@ public class MercenaryInformer extends CardImpl { public MercenaryInformer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MercenaryKnight.java b/Mage.Sets/src/mage/cards/m/MercenaryKnight.java index 39dc4d246fb..38bcf0468d1 100644 --- a/Mage.Sets/src/mage/cards/m/MercenaryKnight.java +++ b/Mage.Sets/src/mage/cards/m/MercenaryKnight.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInHand; @@ -47,9 +48,9 @@ public class MercenaryKnight extends CardImpl { public MercenaryKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Mercenary"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MERCENARY); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MerchantOfSecrets.java b/Mage.Sets/src/mage/cards/m/MerchantOfSecrets.java index bf049d1728d..82334ff2de3 100644 --- a/Mage.Sets/src/mage/cards/m/MerchantOfSecrets.java +++ b/Mage.Sets/src/mage/cards/m/MerchantOfSecrets.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class MerchantOfSecrets extends CardImpl { public MerchantOfSecrets(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MerchantShip.java b/Mage.Sets/src/mage/cards/m/MerchantShip.java index fce2203bd40..9eeffdf3582 100644 --- a/Mage.Sets/src/mage/cards/m/MerchantShip.java +++ b/Mage.Sets/src/mage/cards/m/MerchantShip.java @@ -51,7 +51,7 @@ public class MerchantShip extends CardImpl { public MerchantShip(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MerchantsDockhand.java b/Mage.Sets/src/mage/cards/m/MerchantsDockhand.java index c29addde80a..16dde61bb96 100644 --- a/Mage.Sets/src/mage/cards/m/MerchantsDockhand.java +++ b/Mage.Sets/src/mage/cards/m/MerchantsDockhand.java @@ -44,6 +44,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -64,7 +65,7 @@ public class MerchantsDockhand extends CardImpl { public MerchantsDockhand(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MercilessEternal.java b/Mage.Sets/src/mage/cards/m/MercilessEternal.java index d2fa6791bab..1cbe44f6bdf 100644 --- a/Mage.Sets/src/mage/cards/m/MercilessEternal.java +++ b/Mage.Sets/src/mage/cards/m/MercilessEternal.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.AfflictAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class MercilessEternal extends CardImpl { public MercilessEternal(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MercilessExecutioner.java b/Mage.Sets/src/mage/cards/m/MercilessExecutioner.java index c88bc64fb30..4c69f745604 100644 --- a/Mage.Sets/src/mage/cards/m/MercilessExecutioner.java +++ b/Mage.Sets/src/mage/cards/m/MercilessExecutioner.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; /** @@ -44,8 +45,8 @@ public class MercilessExecutioner extends CardImpl { public MercilessExecutioner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Orc"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MercilessJavelineer.java b/Mage.Sets/src/mage/cards/m/MercilessJavelineer.java index 2907ec4df0b..b88554face4 100644 --- a/Mage.Sets/src/mage/cards/m/MercilessJavelineer.java +++ b/Mage.Sets/src/mage/cards/m/MercilessJavelineer.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class MercilessJavelineer extends CardImpl { public MercilessJavelineer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MercilessPredator.java b/Mage.Sets/src/mage/cards/m/MercilessPredator.java index 53e6b948955..d2a9c9e57d9 100644 --- a/Mage.Sets/src/mage/cards/m/MercilessPredator.java +++ b/Mage.Sets/src/mage/cards/m/MercilessPredator.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -47,7 +48,7 @@ public class MercilessPredator extends CardImpl { public MercilessPredator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.color.setRed(true); // this card is the second face of double-faced card diff --git a/Mage.Sets/src/mage/cards/m/MercurialChemister.java b/Mage.Sets/src/mage/cards/m/MercurialChemister.java index 2d4975ec9af..0e3963e2990 100644 --- a/Mage.Sets/src/mage/cards/m/MercurialChemister.java +++ b/Mage.Sets/src/mage/cards/m/MercurialChemister.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -51,8 +52,8 @@ public class MercurialChemister extends CardImpl { public MercurialChemister(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MercurialGeists.java b/Mage.Sets/src/mage/cards/m/MercurialGeists.java index c9dacba120a..56881522c5c 100644 --- a/Mage.Sets/src/mage/cards/m/MercurialGeists.java +++ b/Mage.Sets/src/mage/cards/m/MercurialGeists.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; @@ -46,7 +47,7 @@ public class MercurialGeists extends CardImpl { public MercurialGeists(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MercurialKite.java b/Mage.Sets/src/mage/cards/m/MercurialKite.java index 6c28c04d329..b36bc71d321 100644 --- a/Mage.Sets/src/mage/cards/m/MercurialKite.java +++ b/Mage.Sets/src/mage/cards/m/MercurialKite.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class MercurialKite extends CardImpl { public MercurialKite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MercurialPretender.java b/Mage.Sets/src/mage/cards/m/MercurialPretender.java index 821c02c0f98..c6a27793f5f 100644 --- a/Mage.Sets/src/mage/cards/m/MercurialPretender.java +++ b/Mage.Sets/src/mage/cards/m/MercurialPretender.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.util.functions.AbilityApplier; @@ -52,7 +53,7 @@ public class MercurialPretender extends CardImpl { public MercurialPretender(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.color.setBlue(true); this.power = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MerenOfClanNelToth.java b/Mage.Sets/src/mage/cards/m/MerenOfClanNelToth.java index e94724cc4e4..2cf595f639b 100644 --- a/Mage.Sets/src/mage/cards/m/MerenOfClanNelToth.java +++ b/Mage.Sets/src/mage/cards/m/MerenOfClanNelToth.java @@ -65,8 +65,8 @@ public class MerenOfClanNelToth extends CardImpl { public MerenOfClanNelToth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MerfolkAssassin.java b/Mage.Sets/src/mage/cards/m/MerfolkAssassin.java index 745d3476b51..55d8aa9907e 100644 --- a/Mage.Sets/src/mage/cards/m/MerfolkAssassin.java +++ b/Mage.Sets/src/mage/cards/m/MerfolkAssassin.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -56,8 +57,8 @@ public class MerfolkAssassin extends CardImpl { public MerfolkAssassin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MerfolkLooter.java b/Mage.Sets/src/mage/cards/m/MerfolkLooter.java index 919215f3173..1021632cb2b 100644 --- a/Mage.Sets/src/mage/cards/m/MerfolkLooter.java +++ b/Mage.Sets/src/mage/cards/m/MerfolkLooter.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class MerfolkLooter extends CardImpl { public MerfolkLooter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MerfolkMesmerist.java b/Mage.Sets/src/mage/cards/m/MerfolkMesmerist.java index b4c3a6901c6..ebdee8fb46e 100644 --- a/Mage.Sets/src/mage/cards/m/MerfolkMesmerist.java +++ b/Mage.Sets/src/mage/cards/m/MerfolkMesmerist.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -49,8 +50,8 @@ public class MerfolkMesmerist extends CardImpl { public MerfolkMesmerist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MerfolkObserver.java b/Mage.Sets/src/mage/cards/m/MerfolkObserver.java index 4d5b826f3db..09e49ff9dc3 100644 --- a/Mage.Sets/src/mage/cards/m/MerfolkObserver.java +++ b/Mage.Sets/src/mage/cards/m/MerfolkObserver.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.LookLibraryTopCardTargetPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -44,8 +45,8 @@ public class MerfolkObserver extends CardImpl { public MerfolkObserver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MerfolkOfTheDepths.java b/Mage.Sets/src/mage/cards/m/MerfolkOfTheDepths.java index 6ddbb75c38b..f477278b988 100644 --- a/Mage.Sets/src/mage/cards/m/MerfolkOfTheDepths.java +++ b/Mage.Sets/src/mage/cards/m/MerfolkOfTheDepths.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class MerfolkOfTheDepths extends CardImpl { public MerfolkOfTheDepths(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G/U}{G/U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MerfolkOfThePearlTrident.java b/Mage.Sets/src/mage/cards/m/MerfolkOfThePearlTrident.java index a66b49aaebf..65d0fa53ae8 100644 --- a/Mage.Sets/src/mage/cards/m/MerfolkOfThePearlTrident.java +++ b/Mage.Sets/src/mage/cards/m/MerfolkOfThePearlTrident.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class MerfolkOfThePearlTrident extends CardImpl { public MerfolkOfThePearlTrident(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MerfolkRaiders.java b/Mage.Sets/src/mage/cards/m/MerfolkRaiders.java index 76168fd2874..21611866db1 100644 --- a/Mage.Sets/src/mage/cards/m/MerfolkRaiders.java +++ b/Mage.Sets/src/mage/cards/m/MerfolkRaiders.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.PhasingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class MerfolkRaiders extends CardImpl { public MerfolkRaiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MerfolkSeastalkers.java b/Mage.Sets/src/mage/cards/m/MerfolkSeastalkers.java index 5f3b4819bd0..c196bd64ffb 100644 --- a/Mage.Sets/src/mage/cards/m/MerfolkSeastalkers.java +++ b/Mage.Sets/src/mage/cards/m/MerfolkSeastalkers.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -57,8 +58,8 @@ public class MerfolkSeastalkers extends CardImpl { public MerfolkSeastalkers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Scout"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MerfolkSeer.java b/Mage.Sets/src/mage/cards/m/MerfolkSeer.java index f75c26cf5f3..7dffc90a663 100644 --- a/Mage.Sets/src/mage/cards/m/MerfolkSeer.java +++ b/Mage.Sets/src/mage/cards/m/MerfolkSeer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class MerfolkSeer extends CardImpl { public MerfolkSeer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MerfolkSkyscout.java b/Mage.Sets/src/mage/cards/m/MerfolkSkyscout.java index b3c5f33c793..d803753ff8a 100644 --- a/Mage.Sets/src/mage/cards/m/MerfolkSkyscout.java +++ b/Mage.Sets/src/mage/cards/m/MerfolkSkyscout.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPermanent; /** @@ -45,8 +46,8 @@ public class MerfolkSkyscout extends CardImpl { public MerfolkSkyscout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Scout"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MerfolkSovereign.java b/Mage.Sets/src/mage/cards/m/MerfolkSovereign.java index 0f4b1128b2b..a733f6eefd0 100644 --- a/Mage.Sets/src/mage/cards/m/MerfolkSovereign.java +++ b/Mage.Sets/src/mage/cards/m/MerfolkSovereign.java @@ -62,7 +62,7 @@ public class MerfolkSovereign extends CardImpl { public MerfolkSovereign(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MerfolkSpy.java b/Mage.Sets/src/mage/cards/m/MerfolkSpy.java index 5bd87440f8e..f248e7cdf9e 100644 --- a/Mage.Sets/src/mage/cards/m/MerfolkSpy.java +++ b/Mage.Sets/src/mage/cards/m/MerfolkSpy.java @@ -39,6 +39,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -51,8 +52,8 @@ public class MerfolkSpy extends CardImpl { public MerfolkSpy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MerfolkThaumaturgist.java b/Mage.Sets/src/mage/cards/m/MerfolkThaumaturgist.java index 6729e14af1e..7b6c0335683 100644 --- a/Mage.Sets/src/mage/cards/m/MerfolkThaumaturgist.java +++ b/Mage.Sets/src/mage/cards/m/MerfolkThaumaturgist.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.SwitchPowerToughnessTargetEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class MerfolkThaumaturgist extends CardImpl { public MerfolkThaumaturgist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MerfolkTraders.java b/Mage.Sets/src/mage/cards/m/MerfolkTraders.java index 57fa84c55ca..394e3dfdd59 100644 --- a/Mage.Sets/src/mage/cards/m/MerfolkTraders.java +++ b/Mage.Sets/src/mage/cards/m/MerfolkTraders.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class MerfolkTraders extends CardImpl { public MerfolkTraders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MerfolkWayfinder.java b/Mage.Sets/src/mage/cards/m/MerfolkWayfinder.java index 920c76f42e6..0c5561d7c53 100644 --- a/Mage.Sets/src/mage/cards/m/MerfolkWayfinder.java +++ b/Mage.Sets/src/mage/cards/m/MerfolkWayfinder.java @@ -55,8 +55,8 @@ public class MerfolkWayfinder extends CardImpl { public MerfolkWayfinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Scout"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MeriekeRiBerit.java b/Mage.Sets/src/mage/cards/m/MeriekeRiBerit.java index d819f9d8ed4..5e9ead3e467 100644 --- a/Mage.Sets/src/mage/cards/m/MeriekeRiBerit.java +++ b/Mage.Sets/src/mage/cards/m/MeriekeRiBerit.java @@ -61,7 +61,7 @@ public class MeriekeRiBerit extends CardImpl { public MeriekeRiBerit(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{U}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MerrowBonegnawer.java b/Mage.Sets/src/mage/cards/m/MerrowBonegnawer.java index 7ca995c6c6f..089a13e1082 100644 --- a/Mage.Sets/src/mage/cards/m/MerrowBonegnawer.java +++ b/Mage.Sets/src/mage/cards/m/MerrowBonegnawer.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.FilterSpell; @@ -61,8 +62,8 @@ public class MerrowBonegnawer extends CardImpl { public MerrowBonegnawer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MerrowCommerce.java b/Mage.Sets/src/mage/cards/m/MerrowCommerce.java index ffd7dce50df..6bd4989dbe8 100644 --- a/Mage.Sets/src/mage/cards/m/MerrowCommerce.java +++ b/Mage.Sets/src/mage/cards/m/MerrowCommerce.java @@ -51,7 +51,7 @@ public class MerrowCommerce extends CardImpl { public MerrowCommerce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); // At the beginning of your end step, untap all Merfolk you control. diff --git a/Mage.Sets/src/mage/cards/m/MerrowGrimeblotter.java b/Mage.Sets/src/mage/cards/m/MerrowGrimeblotter.java index 8dfa2278c66..268d6a58f4a 100644 --- a/Mage.Sets/src/mage/cards/m/MerrowGrimeblotter.java +++ b/Mage.Sets/src/mage/cards/m/MerrowGrimeblotter.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class MerrowGrimeblotter extends CardImpl { public MerrowGrimeblotter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U/B}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MerrowHarbinger.java b/Mage.Sets/src/mage/cards/m/MerrowHarbinger.java index 9c985b44465..ca4fb5ddf9f 100644 --- a/Mage.Sets/src/mage/cards/m/MerrowHarbinger.java +++ b/Mage.Sets/src/mage/cards/m/MerrowHarbinger.java @@ -55,8 +55,8 @@ public class MerrowHarbinger extends CardImpl { public MerrowHarbinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MerrowLevitator.java b/Mage.Sets/src/mage/cards/m/MerrowLevitator.java index 826ca6ea1da..aff356768db 100644 --- a/Mage.Sets/src/mage/cards/m/MerrowLevitator.java +++ b/Mage.Sets/src/mage/cards/m/MerrowLevitator.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterSpell; @@ -61,8 +62,8 @@ public class MerrowLevitator extends CardImpl { public MerrowLevitator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MerrowReejerey.java b/Mage.Sets/src/mage/cards/m/MerrowReejerey.java index 31440e24ff3..c08ec64252a 100644 --- a/Mage.Sets/src/mage/cards/m/MerrowReejerey.java +++ b/Mage.Sets/src/mage/cards/m/MerrowReejerey.java @@ -61,8 +61,8 @@ public class MerrowReejerey extends CardImpl { public MerrowReejerey(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MerrowWavebreakers.java b/Mage.Sets/src/mage/cards/m/MerrowWavebreakers.java index 6d0fcdb07bb..f891255496b 100644 --- a/Mage.Sets/src/mage/cards/m/MerrowWavebreakers.java +++ b/Mage.Sets/src/mage/cards/m/MerrowWavebreakers.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class MerrowWavebreakers extends CardImpl { public MerrowWavebreakers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MerrowWitsniper.java b/Mage.Sets/src/mage/cards/m/MerrowWitsniper.java index 0587a44a81d..a83d3818c9a 100644 --- a/Mage.Sets/src/mage/cards/m/MerrowWitsniper.java +++ b/Mage.Sets/src/mage/cards/m/MerrowWitsniper.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -45,8 +46,8 @@ public class MerrowWitsniper extends CardImpl { public MerrowWitsniper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MesaEnchantress.java b/Mage.Sets/src/mage/cards/m/MesaEnchantress.java index 2171e1f379c..36b50680fd3 100644 --- a/Mage.Sets/src/mage/cards/m/MesaEnchantress.java +++ b/Mage.Sets/src/mage/cards/m/MesaEnchantress.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -51,8 +52,8 @@ public class MesaEnchantress extends CardImpl { public MesaEnchantress(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MesaFalcon.java b/Mage.Sets/src/mage/cards/m/MesaFalcon.java index 0de45f88d66..0cf71e97af1 100644 --- a/Mage.Sets/src/mage/cards/m/MesaFalcon.java +++ b/Mage.Sets/src/mage/cards/m/MesaFalcon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class MesaFalcon extends CardImpl { public MesaFalcon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MesmericFiend.java b/Mage.Sets/src/mage/cards/m/MesmericFiend.java index c9fb78aa4a9..a8930feceaa 100644 --- a/Mage.Sets/src/mage/cards/m/MesmericFiend.java +++ b/Mage.Sets/src/mage/cards/m/MesmericFiend.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterNonlandCard; @@ -58,8 +59,8 @@ public class MesmericFiend extends CardImpl { public MesmericFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Nightmare"); - this.subtype.add("Horror"); + this.subtype.add(SubType.NIGHTMARE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MesmericSliver.java b/Mage.Sets/src/mage/cards/m/MesmericSliver.java index acb262e4a49..a6e48a72d5b 100644 --- a/Mage.Sets/src/mage/cards/m/MesmericSliver.java +++ b/Mage.Sets/src/mage/cards/m/MesmericSliver.java @@ -57,7 +57,7 @@ public class MesmericSliver extends CardImpl { public MesmericSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MessengerDrake.java b/Mage.Sets/src/mage/cards/m/MessengerDrake.java index d82834aa7a4..b997433eb69 100644 --- a/Mage.Sets/src/mage/cards/m/MessengerDrake.java +++ b/Mage.Sets/src/mage/cards/m/MessengerDrake.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class MessengerDrake extends CardImpl { public MessengerDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MessengerFalcons.java b/Mage.Sets/src/mage/cards/m/MessengerFalcons.java index dc93f30c7ef..efdcbb84b93 100644 --- a/Mage.Sets/src/mage/cards/m/MessengerFalcons.java +++ b/Mage.Sets/src/mage/cards/m/MessengerFalcons.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class MessengerFalcons extends CardImpl { public MessengerFalcons(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G/U}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); diff --git a/Mage.Sets/src/mage/cards/m/MessengerJays.java b/Mage.Sets/src/mage/cards/m/MessengerJays.java index 5bf7ae21fc3..26090e4ba5d 100644 --- a/Mage.Sets/src/mage/cards/m/MessengerJays.java +++ b/Mage.Sets/src/mage/cards/m/MessengerJays.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -53,7 +54,7 @@ public class MessengerJays extends CardImpl { public MessengerJays(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MessengersSpeed.java b/Mage.Sets/src/mage/cards/m/MessengersSpeed.java index bd3d8cfd86d..aa260288104 100644 --- a/Mage.Sets/src/mage/cards/m/MessengersSpeed.java +++ b/Mage.Sets/src/mage/cards/m/MessengersSpeed.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class MessengersSpeed extends CardImpl { public MessengersSpeed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/m/MetallicMimic.java b/Mage.Sets/src/mage/cards/m/MetallicMimic.java index c265729e6fe..8295c1adaf0 100644 --- a/Mage.Sets/src/mage/cards/m/MetallicMimic.java +++ b/Mage.Sets/src/mage/cards/m/MetallicMimic.java @@ -54,7 +54,7 @@ public class MetallicMimic extends CardImpl { public MetallicMimic(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MetallicSliver.java b/Mage.Sets/src/mage/cards/m/MetallicSliver.java index 79f6a652f5f..75e098dee26 100644 --- a/Mage.Sets/src/mage/cards/m/MetallicSliver.java +++ b/Mage.Sets/src/mage/cards/m/MetallicSliver.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class MetallicSliver extends CardImpl { public MetallicSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/Metallurgeon.java b/Mage.Sets/src/mage/cards/m/Metallurgeon.java index fccf526c913..cf7fe0e611f 100644 --- a/Mage.Sets/src/mage/cards/m/Metallurgeon.java +++ b/Mage.Sets/src/mage/cards/m/Metallurgeon.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.RegenerateTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetArtifactPermanent; @@ -47,8 +48,8 @@ public class Metallurgeon extends CardImpl { public Metallurgeon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MetalspinnersPuzzleknot.java b/Mage.Sets/src/mage/cards/m/MetalspinnersPuzzleknot.java index 3406bc2164d..f33e2e3d5de 100644 --- a/Mage.Sets/src/mage/cards/m/MetalspinnersPuzzleknot.java +++ b/Mage.Sets/src/mage/cards/m/MetalspinnersPuzzleknot.java @@ -1,77 +1,77 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.effects.common.LoseLifeSourceControllerEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; - -/** - * - * @author emerald000 - */ -public class MetalspinnersPuzzleknot extends CardImpl { - - public MetalspinnersPuzzleknot(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - - // When Metalspinner's Puzzleknot enters the battlefield, you draw a card and you lose 1 life. - Effect drawEffect = new DrawCardSourceControllerEffect(1); - drawEffect.setText("you draw a card"); - Ability ability = new EntersBattlefieldTriggeredAbility(drawEffect); - Effect lifeEffect = new LoseLifeSourceControllerEffect(1); - lifeEffect.setText("and you lose 1 life"); - ability.addEffect(lifeEffect); - this.addAbility(ability); - - // {2}{B}, Sacrifice Metalspinner's Puzzleknot: You draw a card and you lose 1 life. - ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, drawEffect, new ManaCostsImpl<>("{2}{B}")); - ability.addCost(new SacrificeSourceCost()); - ability.addEffect(lifeEffect); - this.addAbility(ability); - } - - public MetalspinnersPuzzleknot(final MetalspinnersPuzzleknot card) { - super(card); - } - - @Override - public MetalspinnersPuzzleknot copy() { - return new MetalspinnersPuzzleknot(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.LoseLifeSourceControllerEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; + +/** + * + * @author emerald000 + */ +public class MetalspinnersPuzzleknot extends CardImpl { + + public MetalspinnersPuzzleknot(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); + + // When Metalspinner's Puzzleknot enters the battlefield, you draw a card and you lose 1 life. + Effect drawEffect = new DrawCardSourceControllerEffect(1); + drawEffect.setText("you draw a card"); + Ability ability = new EntersBattlefieldTriggeredAbility(drawEffect); + Effect lifeEffect = new LoseLifeSourceControllerEffect(1); + lifeEffect.setText("and you lose 1 life"); + ability.addEffect(lifeEffect); + this.addAbility(ability); + + // {2}{B}, Sacrifice Metalspinner's Puzzleknot: You draw a card and you lose 1 life. + ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, drawEffect, new ManaCostsImpl<>("{2}{B}")); + ability.addCost(new SacrificeSourceCost()); + ability.addEffect(lifeEffect); + this.addAbility(ability); + } + + public MetalspinnersPuzzleknot(final MetalspinnersPuzzleknot card) { + super(card); + } + + @Override + public MetalspinnersPuzzleknot copy() { + return new MetalspinnersPuzzleknot(this); + } +} diff --git a/Mage.Sets/src/mage/cards/m/MetalworkColossus.java b/Mage.Sets/src/mage/cards/m/MetalworkColossus.java index d0423b345e6..7eace2db31d 100644 --- a/Mage.Sets/src/mage/cards/m/MetalworkColossus.java +++ b/Mage.Sets/src/mage/cards/m/MetalworkColossus.java @@ -1,119 +1,120 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.SpellAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.common.SacrificeTargetCost; -import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; -import mage.abilities.effects.common.cost.CostModificationEffectImpl; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.CostModificationType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.FilterPermanent; -import mage.filter.common.FilterControlledArtifactPermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.CardTypePredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.target.common.TargetControlledPermanent; -import mage.util.CardUtil; - -/** - * - * @author emerald000 - */ -public class MetalworkColossus extends CardImpl { - - public MetalworkColossus(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{11}"); - this.subtype.add("Construct"); - this.power = new MageInt(10); - this.toughness = new MageInt(10); - - // Metalwork Colossus costs {X} less to cast, where X is the total converted mana cost of noncreature artifacts you control. - this.addAbility(new SimpleStaticAbility(Zone.STACK, new MetalworkColossusCostReductionEffect())); - - // Sacrifice two artifacts: Return Metalwork Colossus from your graveyard to your hand. - this.addAbility(new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new SacrificeTargetCost(new TargetControlledPermanent(2, 2, new FilterControlledArtifactPermanent("two artifacts"), true)))); - } - - public MetalworkColossus(final MetalworkColossus card) { - super(card); - } - - @Override - public MetalworkColossus copy() { - return new MetalworkColossus(this); - } -} - -class MetalworkColossusCostReductionEffect extends CostModificationEffectImpl { - - private static final FilterPermanent filter = new FilterControlledArtifactPermanent("noncreature artifacts you control"); - static { - filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE))); - } - - MetalworkColossusCostReductionEffect() { - super(Duration.Custom, Outcome.Benefit, CostModificationType.REDUCE_COST); - staticText = "{this} costs {X} less to cast, where X is the total converted mana cost of noncreature artifacts you control"; - } - - MetalworkColossusCostReductionEffect(final MetalworkColossusCostReductionEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source, Ability abilityToModify) { - int totalCMC = 0; - for (Permanent permanent : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game)) { - totalCMC += permanent.getConvertedManaCost(); - } - CardUtil.reduceCost(abilityToModify, totalCMC); - return true; - } - - @Override - public boolean applies(Ability abilityToModify, Ability source, Game game) { - return abilityToModify.getSourceId().equals(source.getSourceId()) && (abilityToModify instanceof SpellAbility); - } - - @Override - public MetalworkColossusCostReductionEffect copy() { - return new MetalworkColossusCostReductionEffect(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.SpellAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; +import mage.abilities.effects.common.cost.CostModificationEffectImpl; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.CostModificationType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterControlledArtifactPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.target.common.TargetControlledPermanent; +import mage.util.CardUtil; + +/** + * + * @author emerald000 + */ +public class MetalworkColossus extends CardImpl { + + public MetalworkColossus(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{11}"); + this.subtype.add(SubType.CONSTRUCT); + this.power = new MageInt(10); + this.toughness = new MageInt(10); + + // Metalwork Colossus costs {X} less to cast, where X is the total converted mana cost of noncreature artifacts you control. + this.addAbility(new SimpleStaticAbility(Zone.STACK, new MetalworkColossusCostReductionEffect())); + + // Sacrifice two artifacts: Return Metalwork Colossus from your graveyard to your hand. + this.addAbility(new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToHandEffect(), new SacrificeTargetCost(new TargetControlledPermanent(2, 2, new FilterControlledArtifactPermanent("two artifacts"), true)))); + } + + public MetalworkColossus(final MetalworkColossus card) { + super(card); + } + + @Override + public MetalworkColossus copy() { + return new MetalworkColossus(this); + } +} + +class MetalworkColossusCostReductionEffect extends CostModificationEffectImpl { + + private static final FilterPermanent filter = new FilterControlledArtifactPermanent("noncreature artifacts you control"); + static { + filter.add(Predicates.not(new CardTypePredicate(CardType.CREATURE))); + } + + MetalworkColossusCostReductionEffect() { + super(Duration.Custom, Outcome.Benefit, CostModificationType.REDUCE_COST); + staticText = "{this} costs {X} less to cast, where X is the total converted mana cost of noncreature artifacts you control"; + } + + MetalworkColossusCostReductionEffect(final MetalworkColossusCostReductionEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source, Ability abilityToModify) { + int totalCMC = 0; + for (Permanent permanent : game.getBattlefield().getActivePermanents(filter, source.getControllerId(), source.getSourceId(), game)) { + totalCMC += permanent.getConvertedManaCost(); + } + CardUtil.reduceCost(abilityToModify, totalCMC); + return true; + } + + @Override + public boolean applies(Ability abilityToModify, Ability source, Game game) { + return abilityToModify.getSourceId().equals(source.getSourceId()) && (abilityToModify instanceof SpellAbility); + } + + @Override + public MetalworkColossusCostReductionEffect copy() { + return new MetalworkColossusCostReductionEffect(this); + } +} diff --git a/Mage.Sets/src/mage/cards/m/Metalworker.java b/Mage.Sets/src/mage/cards/m/Metalworker.java index 534abd7a1da..873951bd32f 100644 --- a/Mage.Sets/src/mage/cards/m/Metalworker.java +++ b/Mage.Sets/src/mage/cards/m/Metalworker.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -56,7 +57,7 @@ public class Metalworker extends CardImpl { public Metalworker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MetamorphicWurm.java b/Mage.Sets/src/mage/cards/m/MetamorphicWurm.java index a729ca7d9a0..ab74ff6e369 100644 --- a/Mage.Sets/src/mage/cards/m/MetamorphicWurm.java +++ b/Mage.Sets/src/mage/cards/m/MetamorphicWurm.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class MetamorphicWurm extends CardImpl { public MetamorphicWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elephant"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.WURM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MetathranSoldier.java b/Mage.Sets/src/mage/cards/m/MetathranSoldier.java index 0e257b75c07..13c63b85e6a 100644 --- a/Mage.Sets/src/mage/cards/m/MetathranSoldier.java +++ b/Mage.Sets/src/mage/cards/m/MetathranSoldier.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class MetathranSoldier extends CardImpl { public MetathranSoldier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Metathran"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.METATHRAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MetathranTransport.java b/Mage.Sets/src/mage/cards/m/MetathranTransport.java index cc65e094cbb..b79ee1bcbe8 100644 --- a/Mage.Sets/src/mage/cards/m/MetathranTransport.java +++ b/Mage.Sets/src/mage/cards/m/MetathranTransport.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -60,7 +61,7 @@ public class MetathranTransport extends CardImpl { public MetathranTransport(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Metathran"); + this.subtype.add(SubType.METATHRAN); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MetathranZombie.java b/Mage.Sets/src/mage/cards/m/MetathranZombie.java index 7a111fd0110..2947cb4719e 100644 --- a/Mage.Sets/src/mage/cards/m/MetathranZombie.java +++ b/Mage.Sets/src/mage/cards/m/MetathranZombie.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class MetathranZombie extends CardImpl { public MetathranZombie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Metathran"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.METATHRAN); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MetropolisSprite.java b/Mage.Sets/src/mage/cards/m/MetropolisSprite.java index 19251986536..6e6497a4d2a 100644 --- a/Mage.Sets/src/mage/cards/m/MetropolisSprite.java +++ b/Mage.Sets/src/mage/cards/m/MetropolisSprite.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class MetropolisSprite extends CardImpl { public MetropolisSprite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MiasmicMummy.java b/Mage.Sets/src/mage/cards/m/MiasmicMummy.java index 6b80b702265..0fb753fe79b 100644 --- a/Mage.Sets/src/mage/cards/m/MiasmicMummy.java +++ b/Mage.Sets/src/mage/cards/m/MiasmicMummy.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.discard.DiscardEachPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class MiasmicMummy extends CardImpl { public MiasmicMummy(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Jackal"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.JACKAL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MichikoKondaTruthSeeker.java b/Mage.Sets/src/mage/cards/m/MichikoKondaTruthSeeker.java index 2fdae80fb34..0de609dd1e8 100644 --- a/Mage.Sets/src/mage/cards/m/MichikoKondaTruthSeeker.java +++ b/Mage.Sets/src/mage/cards/m/MichikoKondaTruthSeeker.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -50,8 +51,8 @@ public class MichikoKondaTruthSeeker extends CardImpl { public MichikoKondaTruthSeeker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MidnightBanshee.java b/Mage.Sets/src/mage/cards/m/MidnightBanshee.java index 4fb5e996274..050d97c2b06 100644 --- a/Mage.Sets/src/mage/cards/m/MidnightBanshee.java +++ b/Mage.Sets/src/mage/cards/m/MidnightBanshee.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -56,7 +57,7 @@ public class MidnightBanshee extends CardImpl { public MidnightBanshee(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MidnightCovenant.java b/Mage.Sets/src/mage/cards/m/MidnightCovenant.java index 137e5867e2c..caff4ffb048 100644 --- a/Mage.Sets/src/mage/cards/m/MidnightCovenant.java +++ b/Mage.Sets/src/mage/cards/m/MidnightCovenant.java @@ -50,7 +50,7 @@ public class MidnightCovenant extends CardImpl { public MidnightCovenant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/m/MidnightDuelist.java b/Mage.Sets/src/mage/cards/m/MidnightDuelist.java index 287a7c88201..7b0ea330a91 100644 --- a/Mage.Sets/src/mage/cards/m/MidnightDuelist.java +++ b/Mage.Sets/src/mage/cards/m/MidnightDuelist.java @@ -53,8 +53,8 @@ public class MidnightDuelist extends CardImpl { public MidnightDuelist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MidnightEntourage.java b/Mage.Sets/src/mage/cards/m/MidnightEntourage.java index e8b3f3eb061..f2fac94f850 100644 --- a/Mage.Sets/src/mage/cards/m/MidnightEntourage.java +++ b/Mage.Sets/src/mage/cards/m/MidnightEntourage.java @@ -1,86 +1,86 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.DiesThisOrAnotherCreatureTriggeredAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.effects.common.LoseLifeSourceControllerEffect; -import mage.abilities.effects.common.continuous.BoostAllEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.*; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.filter.predicate.permanent.ControllerPredicate; - -/** - * - * @author Styxo - */ -public class MidnightEntourage extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Aetherborn you control"); - - static { - filter.add(new SubtypePredicate(SubType.AETHERBORN)); - filter.add(new ControllerPredicate(TargetController.YOU)); - } - - public MidnightEntourage(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}"); - - this.subtype.add("Aetherborn"); - this.subtype.add("Rogue"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // Other Aetherborn you control get +1/+1. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, true))); - - // Whenever Midnight Entourage or another Aetherborn you control dies, you draw a card and you lose 1 life. - Ability ability = new DiesThisOrAnotherCreatureTriggeredAbility(new DrawCardSourceControllerEffect(1), false, filter); - Effect effect = new LoseLifeSourceControllerEffect(1); - effect.setText("and you lose 1 life"); - ability.addEffect(effect); - this.addAbility(ability); - } - - public MidnightEntourage(final MidnightEntourage card) { - super(card); - } - - @Override - public MidnightEntourage copy() { - return new MidnightEntourage(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DiesThisOrAnotherCreatureTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.LoseLifeSourceControllerEffect; +import mage.abilities.effects.common.continuous.BoostAllEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.predicate.permanent.ControllerPredicate; + +/** + * + * @author Styxo + */ +public class MidnightEntourage extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Aetherborn you control"); + + static { + filter.add(new SubtypePredicate(SubType.AETHERBORN)); + filter.add(new ControllerPredicate(TargetController.YOU)); + } + + public MidnightEntourage(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}"); + + this.subtype.add(SubType.AETHERBORN); + this.subtype.add(SubType.ROGUE); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Other Aetherborn you control get +1/+1. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostAllEffect(1, 1, Duration.WhileOnBattlefield, filter, true))); + + // Whenever Midnight Entourage or another Aetherborn you control dies, you draw a card and you lose 1 life. + Ability ability = new DiesThisOrAnotherCreatureTriggeredAbility(new DrawCardSourceControllerEffect(1), false, filter); + Effect effect = new LoseLifeSourceControllerEffect(1); + effect.setText("and you lose 1 life"); + ability.addEffect(effect); + this.addAbility(ability); + } + + public MidnightEntourage(final MidnightEntourage card) { + super(card); + } + + @Override + public MidnightEntourage copy() { + return new MidnightEntourage(this); + } +} diff --git a/Mage.Sets/src/mage/cards/m/MidnightGuard.java b/Mage.Sets/src/mage/cards/m/MidnightGuard.java index 8cf460bce88..6b00c054c1b 100644 --- a/Mage.Sets/src/mage/cards/m/MidnightGuard.java +++ b/Mage.Sets/src/mage/cards/m/MidnightGuard.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -51,8 +52,8 @@ public class MidnightGuard extends CardImpl { public MidnightGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MidnightScavengers.java b/Mage.Sets/src/mage/cards/m/MidnightScavengers.java index 0d7cbb4057f..8d8d3d8138e 100644 --- a/Mage.Sets/src/mage/cards/m/MidnightScavengers.java +++ b/Mage.Sets/src/mage/cards/m/MidnightScavengers.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -58,8 +59,8 @@ public class MidnightScavengers extends CardImpl { public MidnightScavengers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MidvastProtector.java b/Mage.Sets/src/mage/cards/m/MidvastProtector.java index c03f5cd0c47..c7ac4030ee4 100644 --- a/Mage.Sets/src/mage/cards/m/MidvastProtector.java +++ b/Mage.Sets/src/mage/cards/m/MidvastProtector.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.GainProtectionFromColorTargetEff import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetControlledCreaturePermanent; @@ -45,8 +46,8 @@ public class MidvastProtector extends CardImpl { public MidvastProtector(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MightSliver.java b/Mage.Sets/src/mage/cards/m/MightSliver.java index 658a4fa65e5..639aa85209d 100644 --- a/Mage.Sets/src/mage/cards/m/MightSliver.java +++ b/Mage.Sets/src/mage/cards/m/MightSliver.java @@ -54,7 +54,7 @@ public class MightSliver extends CardImpl { public MightSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MightWeaver.java b/Mage.Sets/src/mage/cards/m/MightWeaver.java index cc335326e66..c1abff9f3e7 100644 --- a/Mage.Sets/src/mage/cards/m/MightWeaver.java +++ b/Mage.Sets/src/mage/cards/m/MightWeaver.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -61,8 +62,8 @@ public class MightWeaver extends CardImpl { public MightWeaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MijaeDjinn.java b/Mage.Sets/src/mage/cards/m/MijaeDjinn.java index dda7f24f347..79d61fee1e5 100644 --- a/Mage.Sets/src/mage/cards/m/MijaeDjinn.java +++ b/Mage.Sets/src/mage/cards/m/MijaeDjinn.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -48,7 +49,7 @@ public class MijaeDjinn extends CardImpl { public MijaeDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{R}{R}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(6); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MikaeusTheLunarch.java b/Mage.Sets/src/mage/cards/m/MikaeusTheLunarch.java index 8e418829249..09390ad4fc8 100644 --- a/Mage.Sets/src/mage/cards/m/MikaeusTheLunarch.java +++ b/Mage.Sets/src/mage/cards/m/MikaeusTheLunarch.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.counters.CounterType; @@ -61,8 +62,8 @@ public class MikaeusTheLunarch extends CardImpl { public MikaeusTheLunarch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{X}{W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MikaeusTheUnhallowed.java b/Mage.Sets/src/mage/cards/m/MikaeusTheUnhallowed.java index 31df4c8ca9e..af0f12dc210 100644 --- a/Mage.Sets/src/mage/cards/m/MikaeusTheUnhallowed.java +++ b/Mage.Sets/src/mage/cards/m/MikaeusTheUnhallowed.java @@ -63,8 +63,8 @@ public class MikaeusTheUnhallowed extends CardImpl { public MikaeusTheUnhallowed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MilitantInquisitor.java b/Mage.Sets/src/mage/cards/m/MilitantInquisitor.java index fd5b93d4608..05df6afc78a 100644 --- a/Mage.Sets/src/mage/cards/m/MilitantInquisitor.java +++ b/Mage.Sets/src/mage/cards/m/MilitantInquisitor.java @@ -58,8 +58,8 @@ public class MilitantInquisitor extends CardImpl { public MilitantInquisitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MilitantMonk.java b/Mage.Sets/src/mage/cards/m/MilitantMonk.java index e86c709be76..a302c41e160 100644 --- a/Mage.Sets/src/mage/cards/m/MilitantMonk.java +++ b/Mage.Sets/src/mage/cards/m/MilitantMonk.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -49,9 +50,9 @@ public class MilitantMonk extends CardImpl { public MilitantMonk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MilitiasPride.java b/Mage.Sets/src/mage/cards/m/MilitiasPride.java index d7ed2c955a7..58b1a6a10df 100644 --- a/Mage.Sets/src/mage/cards/m/MilitiasPride.java +++ b/Mage.Sets/src/mage/cards/m/MilitiasPride.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DoIfCostPaid; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -53,7 +54,7 @@ public class MilitiasPride extends CardImpl { public MilitiasPride(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Kithkin"); + this.subtype.add(SubType.KITHKIN); // Whenever a creature you control attacks, you may pay {W}. If you do create a 1/1 white Kithkin Soldier creature token in play tapped and attacking this.addAbility(new MilitiasPrideTriggerAbility()); diff --git a/Mage.Sets/src/mage/cards/m/MillennialGargoyle.java b/Mage.Sets/src/mage/cards/m/MillennialGargoyle.java index d5f7b2fc224..186399e98e6 100644 --- a/Mage.Sets/src/mage/cards/m/MillennialGargoyle.java +++ b/Mage.Sets/src/mage/cards/m/MillennialGargoyle.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class MillennialGargoyle extends CardImpl { public MillennialGargoyle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Gargoyle"); + this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MillenniumFalcon.java b/Mage.Sets/src/mage/cards/m/MillenniumFalcon.java index 377502bcf1e..d82b39f63a9 100644 --- a/Mage.Sets/src/mage/cards/m/MillenniumFalcon.java +++ b/Mage.Sets/src/mage/cards/m/MillenniumFalcon.java @@ -1,75 +1,76 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; -import mage.abilities.keyword.FlashAbility; -import mage.abilities.keyword.HexproofAbility; -import mage.abilities.keyword.SpaceflightAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SuperType; -import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; - -/** - * - * @author Styxo - */ -public class MillenniumFalcon extends CardImpl { - - public MillenniumFalcon(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}{G}{G}"); - addSuperType(SuperType.LEGENDARY); - this.subtype.add("Starship"); - this.power = new MageInt(5); - this.toughness = new MageInt(4); - - // Flash - this.addAbility(FlashAbility.getInstance()); - - // Spaceflight - this.addAbility(SpaceflightAbility.getInstance()); - - // When Millennium Falcon enters the battlefield, creatures you control gain hexproof until end of turn. - this.addAbility(new EntersBattlefieldTriggeredAbility(new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES))); - } - - public MillenniumFalcon(final MillenniumFalcon card) { - super(card); - } - - @Override - public MillenniumFalcon copy() { - return new MillenniumFalcon(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.FlashAbility; +import mage.abilities.keyword.HexproofAbility; +import mage.abilities.keyword.SpaceflightAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.SuperType; +import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; + +/** + * + * @author Styxo + */ +public class MillenniumFalcon extends CardImpl { + + public MillenniumFalcon(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}{G}{G}"); + addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.STARSHIP); + this.power = new MageInt(5); + this.toughness = new MageInt(4); + + // Flash + this.addAbility(FlashAbility.getInstance()); + + // Spaceflight + this.addAbility(SpaceflightAbility.getInstance()); + + // When Millennium Falcon enters the battlefield, creatures you control gain hexproof until end of turn. + this.addAbility(new EntersBattlefieldTriggeredAbility(new GainAbilityControlledEffect(HexproofAbility.getInstance(), Duration.EndOfTurn, FILTER_PERMANENT_CREATURES))); + } + + public MillenniumFalcon(final MillenniumFalcon card) { + super(card); + } + + @Override + public MillenniumFalcon copy() { + return new MillenniumFalcon(this); + } +} diff --git a/Mage.Sets/src/mage/cards/m/Millikin.java b/Mage.Sets/src/mage/cards/m/Millikin.java index b1ebe16b6eb..6c01aec0235 100644 --- a/Mage.Sets/src/mage/cards/m/Millikin.java +++ b/Mage.Sets/src/mage/cards/m/Millikin.java @@ -34,6 +34,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class Millikin extends CardImpl { public Millikin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MinaAndDennWildborn.java b/Mage.Sets/src/mage/cards/m/MinaAndDennWildborn.java index a4a5b627049..3bb5070c894 100644 --- a/Mage.Sets/src/mage/cards/m/MinaAndDennWildborn.java +++ b/Mage.Sets/src/mage/cards/m/MinaAndDennWildborn.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -58,8 +59,8 @@ public class MinaAndDennWildborn extends CardImpl { public MinaAndDennWildborn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Ally"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ALLY); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MinamoScrollkeeper.java b/Mage.Sets/src/mage/cards/m/MinamoScrollkeeper.java index 04ff39148b3..58876083fc0 100644 --- a/Mage.Sets/src/mage/cards/m/MinamoScrollkeeper.java +++ b/Mage.Sets/src/mage/cards/m/MinamoScrollkeeper.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class MinamoScrollkeeper extends CardImpl { public MinamoScrollkeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MinamoSightbender.java b/Mage.Sets/src/mage/cards/m/MinamoSightbender.java index d08d9cc291b..9c7326c9a38 100644 --- a/Mage.Sets/src/mage/cards/m/MinamoSightbender.java +++ b/Mage.Sets/src/mage/cards/m/MinamoSightbender.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -57,8 +58,8 @@ public class MinamoSightbender extends CardImpl { public MinamoSightbender(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MindControl.java b/Mage.Sets/src/mage/cards/m/MindControl.java index f91e29e6656..7e5925cb1c3 100644 --- a/Mage.Sets/src/mage/cards/m/MindControl.java +++ b/Mage.Sets/src/mage/cards/m/MindControl.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class MindControl extends CardImpl { public MindControl(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/m/MindRaker.java b/Mage.Sets/src/mage/cards/m/MindRaker.java index 6ba9b2c77ee..d04c739577f 100644 --- a/Mage.Sets/src/mage/cards/m/MindRaker.java +++ b/Mage.Sets/src/mage/cards/m/MindRaker.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -47,8 +48,8 @@ public class MindRaker extends CardImpl { public MindRaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Processor"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.PROCESSOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MindclawShaman.java b/Mage.Sets/src/mage/cards/m/MindclawShaman.java index b4b7540fec7..6847f4a5e67 100644 --- a/Mage.Sets/src/mage/cards/m/MindclawShaman.java +++ b/Mage.Sets/src/mage/cards/m/MindclawShaman.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -55,8 +56,8 @@ public class MindclawShaman extends CardImpl { public MindclawShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Viashino"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MindeyeDrake.java b/Mage.Sets/src/mage/cards/m/MindeyeDrake.java index 40ae516c060..6b5deb36a7e 100644 --- a/Mage.Sets/src/mage/cards/m/MindeyeDrake.java +++ b/Mage.Sets/src/mage/cards/m/MindeyeDrake.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -46,7 +47,7 @@ public class MindeyeDrake extends CardImpl { public MindeyeDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MindlashSliver.java b/Mage.Sets/src/mage/cards/m/MindlashSliver.java index 313e9b9b2c7..2c20cd999ca 100644 --- a/Mage.Sets/src/mage/cards/m/MindlashSliver.java +++ b/Mage.Sets/src/mage/cards/m/MindlashSliver.java @@ -58,7 +58,7 @@ public class MindlashSliver extends CardImpl { } public MindlashSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MindleechMass.java b/Mage.Sets/src/mage/cards/m/MindleechMass.java index 7c76532829e..a604d7764aa 100644 --- a/Mage.Sets/src/mage/cards/m/MindleechMass.java +++ b/Mage.Sets/src/mage/cards/m/MindleechMass.java @@ -39,6 +39,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterNonlandCard; @@ -54,7 +55,7 @@ public class MindleechMass extends CardImpl { public MindleechMass(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/m/MindlessAutomaton.java b/Mage.Sets/src/mage/cards/m/MindlessAutomaton.java index 89541d399ae..8605e6e288b 100644 --- a/Mage.Sets/src/mage/cards/m/MindlessAutomaton.java +++ b/Mage.Sets/src/mage/cards/m/MindlessAutomaton.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -51,7 +52,7 @@ public class MindlessAutomaton extends CardImpl { public MindlessAutomaton(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MindlessNull.java b/Mage.Sets/src/mage/cards/m/MindlessNull.java index 3cf134e7aef..08189364171 100644 --- a/Mage.Sets/src/mage/cards/m/MindlessNull.java +++ b/Mage.Sets/src/mage/cards/m/MindlessNull.java @@ -51,7 +51,7 @@ public class MindlessNull extends CardImpl { } public MindlessNull(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/Mindmelter.java b/Mage.Sets/src/mage/cards/m/Mindmelter.java index d780b9eacb7..5e4bac6445f 100644 --- a/Mage.Sets/src/mage/cards/m/Mindmelter.java +++ b/Mage.Sets/src/mage/cards/m/Mindmelter.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.target.common.TargetOpponent; @@ -51,8 +52,8 @@ public class Mindmelter extends CardImpl { public Mindmelter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/Mindreaver.java b/Mage.Sets/src/mage/cards/m/Mindreaver.java index f8f65751379..0040ff54856 100644 --- a/Mage.Sets/src/mage/cards/m/Mindreaver.java +++ b/Mage.Sets/src/mage/cards/m/Mindreaver.java @@ -44,6 +44,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.SplitCard; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SpellAbilityType; import mage.constants.Zone; @@ -65,8 +66,8 @@ public class Mindreaver extends CardImpl { public Mindreaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MindscourDragon.java b/Mage.Sets/src/mage/cards/m/MindscourDragon.java index 9f89ccd35af..8ec7eb8d144 100644 --- a/Mage.Sets/src/mage/cards/m/MindscourDragon.java +++ b/Mage.Sets/src/mage/cards/m/MindscourDragon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -46,7 +47,7 @@ public class MindscourDragon extends CardImpl { public MindscourDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/Mindshrieker.java b/Mage.Sets/src/mage/cards/m/Mindshrieker.java index 3d5791d57d6..62974bd0792 100644 --- a/Mage.Sets/src/mage/cards/m/Mindshrieker.java +++ b/Mage.Sets/src/mage/cards/m/Mindshrieker.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class Mindshrieker extends CardImpl { public Mindshrieker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Spirit"); - this.subtype.add("Bird"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/Mindslicer.java b/Mage.Sets/src/mage/cards/m/Mindslicer.java index 88fb7e10eaf..56439cd6cad 100644 --- a/Mage.Sets/src/mage/cards/m/Mindslicer.java +++ b/Mage.Sets/src/mage/cards/m/Mindslicer.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.discard.DiscardHandAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class Mindslicer extends CardImpl { public Mindslicer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/Mindsparker.java b/Mage.Sets/src/mage/cards/m/Mindsparker.java index d02ce59dc0b..00e98de566c 100644 --- a/Mage.Sets/src/mage/cards/m/Mindsparker.java +++ b/Mage.Sets/src/mage/cards/m/Mindsparker.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.constants.Zone; @@ -66,7 +67,7 @@ public class Mindsparker extends CardImpl { public Mindsparker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MindstabThrull.java b/Mage.Sets/src/mage/cards/m/MindstabThrull.java index 1c7669b84ca..c899b31b3a2 100644 --- a/Mage.Sets/src/mage/cards/m/MindstabThrull.java +++ b/Mage.Sets/src/mage/cards/m/MindstabThrull.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class MindstabThrull extends CardImpl { public MindstabThrull(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Thrull"); + this.subtype.add(SubType.THRULL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/Mindwarper.java b/Mage.Sets/src/mage/cards/m/Mindwarper.java index 21c1b8d1d39..ce03d5ded02 100644 --- a/Mage.Sets/src/mage/cards/m/Mindwarper.java +++ b/Mage.Sets/src/mage/cards/m/Mindwarper.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.TargetPlayer; @@ -51,7 +52,7 @@ public class Mindwarper extends CardImpl { public Mindwarper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MindwhipSliver.java b/Mage.Sets/src/mage/cards/m/MindwhipSliver.java index 48236d79532..9e97ef8ec8d 100644 --- a/Mage.Sets/src/mage/cards/m/MindwhipSliver.java +++ b/Mage.Sets/src/mage/cards/m/MindwhipSliver.java @@ -59,7 +59,7 @@ public class MindwhipSliver extends CardImpl { public MindwhipSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MindwrackDemon.java b/Mage.Sets/src/mage/cards/m/MindwrackDemon.java index 3f65694c85b..cf471b1310f 100644 --- a/Mage.Sets/src/mage/cards/m/MindwrackDemon.java +++ b/Mage.Sets/src/mage/cards/m/MindwrackDemon.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -52,7 +53,7 @@ public class MindwrackDemon extends CardImpl { public MindwrackDemon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MindwrackLiege.java b/Mage.Sets/src/mage/cards/m/MindwrackLiege.java index 127cff9d3af..e2deb019e07 100644 --- a/Mage.Sets/src/mage/cards/m/MindwrackLiege.java +++ b/Mage.Sets/src/mage/cards/m/MindwrackLiege.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -68,7 +69,7 @@ public class MindwrackLiege extends CardImpl { public MindwrackLiege(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U/R}{U/R}{U/R}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MineBearer.java b/Mage.Sets/src/mage/cards/m/MineBearer.java index 22f5e69847f..c27e9623a39 100644 --- a/Mage.Sets/src/mage/cards/m/MineBearer.java +++ b/Mage.Sets/src/mage/cards/m/MineBearer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetAttackingCreature; @@ -48,8 +49,8 @@ public class MineBearer extends CardImpl { public MineBearer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MinersBane.java b/Mage.Sets/src/mage/cards/m/MinersBane.java index aeec5930ff7..1e8f00fda60 100644 --- a/Mage.Sets/src/mage/cards/m/MinersBane.java +++ b/Mage.Sets/src/mage/cards/m/MinersBane.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class MinersBane extends CardImpl { public MinersBane(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MinionOfLeshrac.java b/Mage.Sets/src/mage/cards/m/MinionOfLeshrac.java index 34bf5ab0ccc..823f253169c 100644 --- a/Mage.Sets/src/mage/cards/m/MinionOfLeshrac.java +++ b/Mage.Sets/src/mage/cards/m/MinionOfLeshrac.java @@ -1,140 +1,141 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.MageInt; -import mage.ObjectColor; -import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.SacrificeTargetCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DestroyTargetEffect; -import mage.abilities.keyword.ProtectionAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.filter.FilterPermanent; -import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.CardTypePredicate; -import mage.filter.predicate.permanent.AnotherPredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.TargetPermanent; -import mage.target.common.TargetControlledPermanent; - -/** - * - * @author jeffwadsworth - */ -public class MinionOfLeshrac extends CardImpl { - - private static final FilterPermanent filterCreatureOrLand = new FilterPermanent("creature or land"); - - static { - filterCreatureOrLand.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND))); - } - - public MinionOfLeshrac(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}{B}"); - - this.subtype.add("Demon"); - this.subtype.add("Minion"); - this.power = new MageInt(5); - this.toughness = new MageInt(5); - - // Protection from black - this.addAbility(ProtectionAbility.from(ObjectColor.BLACK)); - - // At the beginning of your upkeep, Minion of Leshrac deals 5 damage to you unless you sacrifice a creature other than Minion of Leshrac. If Minion of Leshrac deals damage to you this way, tap it. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MinionLeshracEffect(), TargetController.YOU, false)); - - // {tap}: Destroy target creature or land. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapSourceCost()); - ability.addTarget(new TargetPermanent(filterCreatureOrLand)); - this.addAbility(ability); - - } - - public MinionOfLeshrac(final MinionOfLeshrac card) { - super(card); - } - - @Override - public MinionOfLeshrac copy() { - return new MinionOfLeshrac(this); - } -} - -class MinionLeshracEffect extends OneShotEffect { - - public MinionLeshracEffect() { - super(Outcome.Sacrifice); - staticText = "{this} deals 5 damage to you unless you sacrifice a creature other than {this}. If {this} deals damage to you this way, tap it"; - } - - public MinionLeshracEffect(final MinionLeshracEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - Permanent minionLeshrac = game.getPermanentOrLKIBattlefield(source.getSourceId()); - if (controller != null - && minionLeshrac != null) { - FilterControlledPermanent filterCreature = new FilterControlledPermanent(); - filterCreature.add(new CardTypePredicate(CardType.CREATURE)); - filterCreature.add(new AnotherPredicate()); - TargetControlledPermanent target = new TargetControlledPermanent(filterCreature); - SacrificeTargetCost cost = new SacrificeTargetCost(target); - if (controller.chooseUse(Outcome.AIDontUseIt, "Do you wish to sacrifice another creature to prevent the 5 damage to you?", source, game) - && cost.canPay(source, source.getSourceId(), source.getControllerId(), game) - && cost.pay(source, game, source.getSourceId(), source.getControllerId(), true)) { - return true; - } - if (controller.damage(5, minionLeshrac.getId(), game, false, true) > 0) { - minionLeshrac.tap(game); - return true; - } - } - return false; - } - - @Override - public MinionLeshracEffect copy() { - return new MinionLeshracEffect(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.MageInt; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.keyword.ProtectionAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.filter.predicate.permanent.AnotherPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.TargetPermanent; +import mage.target.common.TargetControlledPermanent; + +/** + * + * @author jeffwadsworth + */ +public class MinionOfLeshrac extends CardImpl { + + private static final FilterPermanent filterCreatureOrLand = new FilterPermanent("creature or land"); + + static { + filterCreatureOrLand.add(Predicates.or(new CardTypePredicate(CardType.CREATURE), new CardTypePredicate(CardType.LAND))); + } + + public MinionOfLeshrac(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}{B}"); + + this.subtype.add(SubType.DEMON); + this.subtype.add(SubType.MINION); + this.power = new MageInt(5); + this.toughness = new MageInt(5); + + // Protection from black + this.addAbility(ProtectionAbility.from(ObjectColor.BLACK)); + + // At the beginning of your upkeep, Minion of Leshrac deals 5 damage to you unless you sacrifice a creature other than Minion of Leshrac. If Minion of Leshrac deals damage to you this way, tap it. + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new MinionLeshracEffect(), TargetController.YOU, false)); + + // {tap}: Destroy target creature or land. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapSourceCost()); + ability.addTarget(new TargetPermanent(filterCreatureOrLand)); + this.addAbility(ability); + + } + + public MinionOfLeshrac(final MinionOfLeshrac card) { + super(card); + } + + @Override + public MinionOfLeshrac copy() { + return new MinionOfLeshrac(this); + } +} + +class MinionLeshracEffect extends OneShotEffect { + + public MinionLeshracEffect() { + super(Outcome.Sacrifice); + staticText = "{this} deals 5 damage to you unless you sacrifice a creature other than {this}. If {this} deals damage to you this way, tap it"; + } + + public MinionLeshracEffect(final MinionLeshracEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + Permanent minionLeshrac = game.getPermanentOrLKIBattlefield(source.getSourceId()); + if (controller != null + && minionLeshrac != null) { + FilterControlledPermanent filterCreature = new FilterControlledPermanent(); + filterCreature.add(new CardTypePredicate(CardType.CREATURE)); + filterCreature.add(new AnotherPredicate()); + TargetControlledPermanent target = new TargetControlledPermanent(filterCreature); + SacrificeTargetCost cost = new SacrificeTargetCost(target); + if (controller.chooseUse(Outcome.AIDontUseIt, "Do you wish to sacrifice another creature to prevent the 5 damage to you?", source, game) + && cost.canPay(source, source.getSourceId(), source.getControllerId(), game) + && cost.pay(source, game, source.getSourceId(), source.getControllerId(), true)) { + return true; + } + if (controller.damage(5, minionLeshrac.getId(), game, false, true) > 0) { + minionLeshrac.tap(game); + return true; + } + } + return false; + } + + @Override + public MinionLeshracEffect copy() { + return new MinionLeshracEffect(this); + } +} diff --git a/Mage.Sets/src/mage/cards/m/MinisterOfImpediments.java b/Mage.Sets/src/mage/cards/m/MinisterOfImpediments.java index 8eafecadc82..3b1169fb068 100644 --- a/Mage.Sets/src/mage/cards/m/MinisterOfImpediments.java +++ b/Mage.Sets/src/mage/cards/m/MinisterOfImpediments.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -47,8 +48,8 @@ public class MinisterOfImpediments extends CardImpl { public MinisterOfImpediments(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W/U}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MinisterOfInquiries.java b/Mage.Sets/src/mage/cards/m/MinisterOfInquiries.java index 8cb173d0749..ca2b229e356 100644 --- a/Mage.Sets/src/mage/cards/m/MinisterOfInquiries.java +++ b/Mage.Sets/src/mage/cards/m/MinisterOfInquiries.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -50,8 +51,8 @@ public class MinisterOfInquiries extends CardImpl { public MinisterOfInquiries(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MinisterOfPain.java b/Mage.Sets/src/mage/cards/m/MinisterOfPain.java index a1f97fe7d4d..b69c053322e 100644 --- a/Mage.Sets/src/mage/cards/m/MinisterOfPain.java +++ b/Mage.Sets/src/mage/cards/m/MinisterOfPain.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ExploitAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -54,8 +55,8 @@ public class MinisterOfPain extends CardImpl { public MinisterOfPain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MinotaurAbomination.java b/Mage.Sets/src/mage/cards/m/MinotaurAbomination.java index 08b215b34ec..bb675c68f67 100644 --- a/Mage.Sets/src/mage/cards/m/MinotaurAbomination.java +++ b/Mage.Sets/src/mage/cards/m/MinotaurAbomination.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class MinotaurAbomination extends CardImpl { public MinotaurAbomination(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Minotaur"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.MINOTAUR); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/m/MinotaurAggressor.java b/Mage.Sets/src/mage/cards/m/MinotaurAggressor.java index 46aecdfdba4..3c361a06f05 100644 --- a/Mage.Sets/src/mage/cards/m/MinotaurAggressor.java +++ b/Mage.Sets/src/mage/cards/m/MinotaurAggressor.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class MinotaurAggressor extends CardImpl { public MinotaurAggressor (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(6); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MinotaurExplorer.java b/Mage.Sets/src/mage/cards/m/MinotaurExplorer.java index ba98e0a9d9d..9703d31a23f 100644 --- a/Mage.Sets/src/mage/cards/m/MinotaurExplorer.java +++ b/Mage.Sets/src/mage/cards/m/MinotaurExplorer.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class MinotaurExplorer extends CardImpl { public MinotaurExplorer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Scout"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MinotaurIllusionist.java b/Mage.Sets/src/mage/cards/m/MinotaurIllusionist.java index 41e0614026e..fcb963fe982 100644 --- a/Mage.Sets/src/mage/cards/m/MinotaurIllusionist.java +++ b/Mage.Sets/src/mage/cards/m/MinotaurIllusionist.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -54,8 +55,8 @@ public class MinotaurIllusionist extends CardImpl { public MinotaurIllusionist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MinotaurSkullcleaver.java b/Mage.Sets/src/mage/cards/m/MinotaurSkullcleaver.java index d2baf0ecb61..8a844c2561b 100644 --- a/Mage.Sets/src/mage/cards/m/MinotaurSkullcleaver.java +++ b/Mage.Sets/src/mage/cards/m/MinotaurSkullcleaver.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class MinotaurSkullcleaver extends CardImpl { public MinotaurSkullcleaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MinotaurSureshot.java b/Mage.Sets/src/mage/cards/m/MinotaurSureshot.java index 25aad4e93b6..f49ae29b102 100644 --- a/Mage.Sets/src/mage/cards/m/MinotaurSureshot.java +++ b/Mage.Sets/src/mage/cards/m/MinotaurSureshot.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class MinotaurSureshot extends CardImpl { public MinotaurSureshot(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Archer"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MinotaurTactician.java b/Mage.Sets/src/mage/cards/m/MinotaurTactician.java index 6be422b2114..27413e44db0 100644 --- a/Mage.Sets/src/mage/cards/m/MinotaurTactician.java +++ b/Mage.Sets/src/mage/cards/m/MinotaurTactician.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -66,7 +67,7 @@ public class MinotaurTactician extends CardImpl { public MinotaurTactician(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Minotaur"); + this.subtype.add(SubType.MINOTAUR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MinotaurWarrior.java b/Mage.Sets/src/mage/cards/m/MinotaurWarrior.java index d5fccc16d1e..beb51ae13bf 100644 --- a/Mage.Sets/src/mage/cards/m/MinotaurWarrior.java +++ b/Mage.Sets/src/mage/cards/m/MinotaurWarrior.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class MinotaurWarrior extends CardImpl { public MinotaurWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MireBlight.java b/Mage.Sets/src/mage/cards/m/MireBlight.java index 113e3774ec9..96975c082c9 100644 --- a/Mage.Sets/src/mage/cards/m/MireBlight.java +++ b/Mage.Sets/src/mage/cards/m/MireBlight.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class MireBlight extends CardImpl { public MireBlight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/m/MireBoa.java b/Mage.Sets/src/mage/cards/m/MireBoa.java index 2a58ed678bc..1c9a78f9956 100644 --- a/Mage.Sets/src/mage/cards/m/MireBoa.java +++ b/Mage.Sets/src/mage/cards/m/MireBoa.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class MireBoa extends CardImpl { public MireBoa(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MireKavu.java b/Mage.Sets/src/mage/cards/m/MireKavu.java index b5a467db007..8085d61637b 100644 --- a/Mage.Sets/src/mage/cards/m/MireKavu.java +++ b/Mage.Sets/src/mage/cards/m/MireKavu.java @@ -53,7 +53,7 @@ public class MireKavu extends CardImpl { public MireKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MirkoVoskMindDrinker.java b/Mage.Sets/src/mage/cards/m/MirkoVoskMindDrinker.java index 0bf0a68632f..db8b1b084e2 100644 --- a/Mage.Sets/src/mage/cards/m/MirkoVoskMindDrinker.java +++ b/Mage.Sets/src/mage/cards/m/MirkoVoskMindDrinker.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.FlyingAbility; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class MirkoVoskMindDrinker extends CardImpl { public MirkoVoskMindDrinker (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); addSuperType(SuperType.LEGENDARY); diff --git a/Mage.Sets/src/mage/cards/m/MirranCrusader.java b/Mage.Sets/src/mage/cards/m/MirranCrusader.java index 2785b53df53..f09eef8a8a2 100644 --- a/Mage.Sets/src/mage/cards/m/MirranCrusader.java +++ b/Mage.Sets/src/mage/cards/m/MirranCrusader.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class MirranCrusader extends CardImpl { public MirranCrusader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MirranSpy.java b/Mage.Sets/src/mage/cards/m/MirranSpy.java index 4471998a0a6..7e2337edb1c 100644 --- a/Mage.Sets/src/mage/cards/m/MirranSpy.java +++ b/Mage.Sets/src/mage/cards/m/MirranSpy.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactSpell; import mage.target.common.TargetCreaturePermanent; @@ -46,7 +47,7 @@ public class MirranSpy extends CardImpl { public MirranSpy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Drone"); + this.subtype.add(SubType.DRONE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MirriCatWarrior.java b/Mage.Sets/src/mage/cards/m/MirriCatWarrior.java index 9703a7aeb94..0700630a7c4 100644 --- a/Mage.Sets/src/mage/cards/m/MirriCatWarrior.java +++ b/Mage.Sets/src/mage/cards/m/MirriCatWarrior.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -46,8 +47,8 @@ public class MirriCatWarrior extends CardImpl { public MirriCatWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Cat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MirriTheCursed.java b/Mage.Sets/src/mage/cards/m/MirriTheCursed.java index 8af822a7041..f13dd0b46e0 100644 --- a/Mage.Sets/src/mage/cards/m/MirriTheCursed.java +++ b/Mage.Sets/src/mage/cards/m/MirriTheCursed.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.counters.CounterType; @@ -50,8 +51,8 @@ public class MirriTheCursed extends CardImpl { public MirriTheCursed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); - this.subtype.add("Cat"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MirriWeatherlightDuelist.java b/Mage.Sets/src/mage/cards/m/MirriWeatherlightDuelist.java index c9b9bf8bb8c..dfc24131c17 100644 --- a/Mage.Sets/src/mage/cards/m/MirriWeatherlightDuelist.java +++ b/Mage.Sets/src/mage/cards/m/MirriWeatherlightDuelist.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -61,8 +62,8 @@ public class MirriWeatherlightDuelist extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Cat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MirrorEntity.java b/Mage.Sets/src/mage/cards/m/MirrorEntity.java index e0ad9b08786..10b35cd416a 100644 --- a/Mage.Sets/src/mage/cards/m/MirrorEntity.java +++ b/Mage.Sets/src/mage/cards/m/MirrorEntity.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.ChangelingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.SubLayer; @@ -57,7 +58,7 @@ public class MirrorEntity extends CardImpl { public MirrorEntity(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MirrorMadPhantasm.java b/Mage.Sets/src/mage/cards/m/MirrorMadPhantasm.java index 76b572366cd..993bc006583 100644 --- a/Mage.Sets/src/mage/cards/m/MirrorMadPhantasm.java +++ b/Mage.Sets/src/mage/cards/m/MirrorMadPhantasm.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -54,7 +55,7 @@ public class MirrorMadPhantasm extends CardImpl { public MirrorMadPhantasm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MirrorMockery.java b/Mage.Sets/src/mage/cards/m/MirrorMockery.java index d5b14c00458..f4c45349421 100644 --- a/Mage.Sets/src/mage/cards/m/MirrorMockery.java +++ b/Mage.Sets/src/mage/cards/m/MirrorMockery.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -55,7 +56,7 @@ public class MirrorMockery extends CardImpl { public MirrorMockery(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/m/MirrorSigilSergeant.java b/Mage.Sets/src/mage/cards/m/MirrorSigilSergeant.java index a01b37b68dc..f3154577633 100644 --- a/Mage.Sets/src/mage/cards/m/MirrorSigilSergeant.java +++ b/Mage.Sets/src/mage/cards/m/MirrorSigilSergeant.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -61,8 +62,8 @@ public class MirrorSigilSergeant extends CardImpl { public MirrorSigilSergeant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}"); - this.subtype.add("Rhino"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MirrorUniverse.java b/Mage.Sets/src/mage/cards/m/MirrorUniverse.java index 18cb897259b..fe8b1ba1416 100644 --- a/Mage.Sets/src/mage/cards/m/MirrorUniverse.java +++ b/Mage.Sets/src/mage/cards/m/MirrorUniverse.java @@ -1,73 +1,73 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.condition.common.IsStepCondition; -import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalActivatedAbility; -import mage.abilities.effects.common.ExchangeLifeTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.PhaseStep; -import mage.constants.Zone; -import mage.target.common.TargetOpponent; - -/** - * - * @author Styxo - */ -public class MirrorUniverse extends CardImpl { - - public MirrorUniverse(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{6}"); - - // {tap}, Sacrifice Mirror Universe: Exchange life totals with target opponent. Activate this ability only during your upkeep. - Ability ability = new ConditionalActivatedAbility( - Zone.BATTLEFIELD, - new ExchangeLifeTargetEffect(), - new TapSourceCost(), - new IsStepCondition(PhaseStep.UPKEEP), - null); - ability.addCost(new SacrificeSourceCost()); - ability.addTarget(new TargetOpponent()); - this.addAbility(ability); - } - - public MirrorUniverse(final MirrorUniverse card) { - super(card); - } - - @Override - public MirrorUniverse copy() { - return new MirrorUniverse(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.condition.common.IsStepCondition; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.effects.common.ExchangeLifeTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.PhaseStep; +import mage.constants.Zone; +import mage.target.common.TargetOpponent; + +/** + * + * @author Styxo + */ +public class MirrorUniverse extends CardImpl { + + public MirrorUniverse(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{6}"); + + // {tap}, Sacrifice Mirror Universe: Exchange life totals with target opponent. Activate this ability only during your upkeep. + Ability ability = new ConditionalActivatedAbility( + Zone.BATTLEFIELD, + new ExchangeLifeTargetEffect(), + new TapSourceCost(), + new IsStepCondition(PhaseStep.UPKEEP), + null); + ability.addCost(new SacrificeSourceCost()); + ability.addTarget(new TargetOpponent()); + this.addAbility(ability); + } + + public MirrorUniverse(final MirrorUniverse card) { + super(card); + } + + @Override + public MirrorUniverse copy() { + return new MirrorUniverse(this); + } +} diff --git a/Mage.Sets/src/mage/cards/m/MirrorWall.java b/Mage.Sets/src/mage/cards/m/MirrorWall.java index bdf9d3bdd09..1af430c8a3f 100644 --- a/Mage.Sets/src/mage/cards/m/MirrorWall.java +++ b/Mage.Sets/src/mage/cards/m/MirrorWall.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class MirrorWall extends CardImpl { public MirrorWall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MirrorwingDragon.java b/Mage.Sets/src/mage/cards/m/MirrorwingDragon.java index b6ba8e0d7cc..8c4e05b48d4 100644 --- a/Mage.Sets/src/mage/cards/m/MirrorwingDragon.java +++ b/Mage.Sets/src/mage/cards/m/MirrorwingDragon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterInPlay; import mage.filter.common.FilterControlledCreaturePermanent; @@ -56,7 +57,7 @@ public class MirrorwingDragon extends CardImpl { public MirrorwingDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MischievousPoltergeist.java b/Mage.Sets/src/mage/cards/m/MischievousPoltergeist.java index e79057fe934..62f6361e7ce 100644 --- a/Mage.Sets/src/mage/cards/m/MischievousPoltergeist.java +++ b/Mage.Sets/src/mage/cards/m/MischievousPoltergeist.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class MischievousPoltergeist extends CardImpl { public MischievousPoltergeist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MischievousQuanar.java b/Mage.Sets/src/mage/cards/m/MischievousQuanar.java index ff81d4d1efc..cb89d7fe413 100644 --- a/Mage.Sets/src/mage/cards/m/MischievousQuanar.java +++ b/Mage.Sets/src/mage/cards/m/MischievousQuanar.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -53,7 +54,7 @@ public class MischievousQuanar extends CardImpl { public MischievousQuanar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MishraArtificerProdigy.java b/Mage.Sets/src/mage/cards/m/MishraArtificerProdigy.java index c408392c3c2..b04b94e3efb 100644 --- a/Mage.Sets/src/mage/cards/m/MishraArtificerProdigy.java +++ b/Mage.Sets/src/mage/cards/m/MishraArtificerProdigy.java @@ -36,6 +36,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -59,8 +60,8 @@ public class MishraArtificerProdigy extends CardImpl { public MishraArtificerProdigy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MishrasFactory.java b/Mage.Sets/src/mage/cards/m/MishrasFactory.java index 432eb04fd31..025ad71fe7a 100644 --- a/Mage.Sets/src/mage/cards/m/MishrasFactory.java +++ b/Mage.Sets/src/mage/cards/m/MishrasFactory.java @@ -90,7 +90,7 @@ class AssemblyWorkerToken extends Token { super("Assembly-Worker", "2/2 Assembly-Worker artifact creature"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - this.subtype.add("Assembly-Worker"); + this.subtype.add(SubType.ASSEMBLY_WORKER); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage.Sets/src/mage/cards/m/MisshapenFiend.java b/Mage.Sets/src/mage/cards/m/MisshapenFiend.java index 388b48efda7..d6fdbd76f53 100644 --- a/Mage.Sets/src/mage/cards/m/MisshapenFiend.java +++ b/Mage.Sets/src/mage/cards/m/MisshapenFiend.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class MisshapenFiend extends CardImpl { public MisshapenFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Horror"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HORROR); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MistDragon.java b/Mage.Sets/src/mage/cards/m/MistDragon.java index e4c6457f597..748680e6fa5 100644 --- a/Mage.Sets/src/mage/cards/m/MistDragon.java +++ b/Mage.Sets/src/mage/cards/m/MistDragon.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class MistDragon extends CardImpl { public MistDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MistIntruder.java b/Mage.Sets/src/mage/cards/m/MistIntruder.java index dffefedc839..6f25e9c6eab 100644 --- a/Mage.Sets/src/mage/cards/m/MistIntruder.java +++ b/Mage.Sets/src/mage/cards/m/MistIntruder.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.IngestAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class MistIntruder extends CardImpl { public MistIntruder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MistLeopard.java b/Mage.Sets/src/mage/cards/m/MistLeopard.java index 9021d186fe6..3629ee488e7 100644 --- a/Mage.Sets/src/mage/cards/m/MistLeopard.java +++ b/Mage.Sets/src/mage/cards/m/MistLeopard.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class MistLeopard extends CardImpl { public MistLeopard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(2); this.addAbility(ShroudAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/m/MistRaven.java b/Mage.Sets/src/mage/cards/m/MistRaven.java index c62a5736032..e9ac4193899 100644 --- a/Mage.Sets/src/mage/cards/m/MistRaven.java +++ b/Mage.Sets/src/mage/cards/m/MistRaven.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -46,7 +47,7 @@ public class MistRaven extends CardImpl { public MistRaven(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MistbindClique.java b/Mage.Sets/src/mage/cards/m/MistbindClique.java index 1d2e3e8c9bc..076bd476804 100644 --- a/Mage.Sets/src/mage/cards/m/MistbindClique.java +++ b/Mage.Sets/src/mage/cards/m/MistbindClique.java @@ -53,8 +53,8 @@ public class MistbindClique extends CardImpl { public MistbindClique(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MistbladeShinobi.java b/Mage.Sets/src/mage/cards/m/MistbladeShinobi.java index 995f7e8a07d..09a12037049 100644 --- a/Mage.Sets/src/mage/cards/m/MistbladeShinobi.java +++ b/Mage.Sets/src/mage/cards/m/MistbladeShinobi.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.NinjutsuAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -54,8 +55,8 @@ public class MistbladeShinobi extends CardImpl { public MistbladeShinobi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Ninja"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NINJA); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MistcutterHydra.java b/Mage.Sets/src/mage/cards/m/MistcutterHydra.java index 0f37b304349..43ad027d5e3 100644 --- a/Mage.Sets/src/mage/cards/m/MistcutterHydra.java +++ b/Mage.Sets/src/mage/cards/m/MistcutterHydra.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -48,7 +49,7 @@ public class MistcutterHydra extends CardImpl { public MistcutterHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{X}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MistfireAdept.java b/Mage.Sets/src/mage/cards/m/MistfireAdept.java index b1f7ac08455..bb381593643 100644 --- a/Mage.Sets/src/mage/cards/m/MistfireAdept.java +++ b/Mage.Sets/src/mage/cards/m/MistfireAdept.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -56,8 +57,8 @@ public class MistfireAdept extends CardImpl { public MistfireAdept(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MistfireWeaver.java b/Mage.Sets/src/mage/cards/m/MistfireWeaver.java index 62e19a6ca06..711efb031a3 100644 --- a/Mage.Sets/src/mage/cards/m/MistfireWeaver.java +++ b/Mage.Sets/src/mage/cards/m/MistfireWeaver.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetControlledCreaturePermanent; @@ -51,8 +52,8 @@ public class MistfireWeaver extends CardImpl { public MistfireWeaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Djinn"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.DJINN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MistformMutant.java b/Mage.Sets/src/mage/cards/m/MistformMutant.java index 30b62106892..7ddb52b952f 100644 --- a/Mage.Sets/src/mage/cards/m/MistformMutant.java +++ b/Mage.Sets/src/mage/cards/m/MistformMutant.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BecomesChosenCreatureTypeTargetE import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -47,8 +48,8 @@ public class MistformMutant extends CardImpl { public MistformMutant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Illusion"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.ILLUSION); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MistformSliver.java b/Mage.Sets/src/mage/cards/m/MistformSliver.java index 9f7cd268253..2ac7c3b16e3 100644 --- a/Mage.Sets/src/mage/cards/m/MistformSliver.java +++ b/Mage.Sets/src/mage/cards/m/MistformSliver.java @@ -55,8 +55,8 @@ public class MistformSliver extends CardImpl { public MistformSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Illusion"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.ILLUSION); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MistformUltimus.java b/Mage.Sets/src/mage/cards/m/MistformUltimus.java index 8cb7508e8d3..941f2418cd8 100644 --- a/Mage.Sets/src/mage/cards/m/MistformUltimus.java +++ b/Mage.Sets/src/mage/cards/m/MistformUltimus.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ChangelingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -45,7 +46,7 @@ public class MistformUltimus extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MisthollowGriffin.java b/Mage.Sets/src/mage/cards/m/MisthollowGriffin.java index 30079adb550..3dad3e00b2a 100644 --- a/Mage.Sets/src/mage/cards/m/MisthollowGriffin.java +++ b/Mage.Sets/src/mage/cards/m/MisthollowGriffin.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class MisthollowGriffin extends CardImpl { public MisthollowGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{U}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MisthoofKirin.java b/Mage.Sets/src/mage/cards/m/MisthoofKirin.java index 397887ad480..03aef4bae93 100644 --- a/Mage.Sets/src/mage/cards/m/MisthoofKirin.java +++ b/Mage.Sets/src/mage/cards/m/MisthoofKirin.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class MisthoofKirin extends CardImpl { public MisthoofKirin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Kirin"); + this.subtype.add(SubType.KIRIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MistmeadowSkulk.java b/Mage.Sets/src/mage/cards/m/MistmeadowSkulk.java index dbe5d27a972..b12ca5e9172 100644 --- a/Mage.Sets/src/mage/cards/m/MistmeadowSkulk.java +++ b/Mage.Sets/src/mage/cards/m/MistmeadowSkulk.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; @@ -52,8 +53,8 @@ public class MistmeadowSkulk extends CardImpl { public MistmeadowSkulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MistmeadowWitch.java b/Mage.Sets/src/mage/cards/m/MistmeadowWitch.java index 36ca7ffa4f6..06c2312b5ad 100644 --- a/Mage.Sets/src/mage/cards/m/MistmeadowWitch.java +++ b/Mage.Sets/src/mage/cards/m/MistmeadowWitch.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.MistmeadowWitchEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -47,8 +48,8 @@ public class MistmeadowWitch extends CardImpl { public MistmeadowWitch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W/U}"); - this.subtype.add("Kithkin"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MistmoonGriffin.java b/Mage.Sets/src/mage/cards/m/MistmoonGriffin.java index 6b372e0a4e5..6cb549edb37 100644 --- a/Mage.Sets/src/mage/cards/m/MistmoonGriffin.java +++ b/Mage.Sets/src/mage/cards/m/MistmoonGriffin.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class MistmoonGriffin extends CardImpl { public MistmoonGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MistralCharger.java b/Mage.Sets/src/mage/cards/m/MistralCharger.java index 7f55b4aefc1..67895a74df0 100644 --- a/Mage.Sets/src/mage/cards/m/MistralCharger.java +++ b/Mage.Sets/src/mage/cards/m/MistralCharger.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class MistralCharger extends CardImpl { public MistralCharger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Pegasus"); + this.subtype.add(SubType.PEGASUS); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MistveilPlains.java b/Mage.Sets/src/mage/cards/m/MistveilPlains.java index ee3a82a7a93..0755987b217 100644 --- a/Mage.Sets/src/mage/cards/m/MistveilPlains.java +++ b/Mage.Sets/src/mage/cards/m/MistveilPlains.java @@ -41,6 +41,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.Zone; @@ -62,7 +63,7 @@ public class MistveilPlains extends CardImpl { public MistveilPlains(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Plains"); + this.subtype.add(SubType.PLAINS); // ({tap}: Add {W} to your mana pool.) this.addAbility(new WhiteManaAbility()); diff --git a/Mage.Sets/src/mage/cards/m/MitoticSlime.java b/Mage.Sets/src/mage/cards/m/MitoticSlime.java index ac16cc5311f..54b7140266b 100644 --- a/Mage.Sets/src/mage/cards/m/MitoticSlime.java +++ b/Mage.Sets/src/mage/cards/m/MitoticSlime.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.Ooze2Token; /** @@ -44,7 +45,7 @@ public class MitoticSlime extends CardImpl { public MitoticSlime(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); - this.subtype.add("Ooze"); + this.subtype.add(SubType.OOZE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MizziumMeddler.java b/Mage.Sets/src/mage/cards/m/MizziumMeddler.java index a902bd11815..41f360f453f 100644 --- a/Mage.Sets/src/mage/cards/m/MizziumMeddler.java +++ b/Mage.Sets/src/mage/cards/m/MizziumMeddler.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetStackObject; /** @@ -46,8 +47,8 @@ public class MizziumMeddler extends CardImpl { public MizziumMeddler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MizzixOfTheIzmagnus.java b/Mage.Sets/src/mage/cards/m/MizzixOfTheIzmagnus.java index f8b5c7496f7..d1e431b69cf 100644 --- a/Mage.Sets/src/mage/cards/m/MizzixOfTheIzmagnus.java +++ b/Mage.Sets/src/mage/cards/m/MizzixOfTheIzmagnus.java @@ -64,8 +64,8 @@ public class MizzixOfTheIzmagnus extends CardImpl { public MizzixOfTheIzmagnus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Goblin"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MnemonicSliver.java b/Mage.Sets/src/mage/cards/m/MnemonicSliver.java index 113887afd95..938e7c20b48 100644 --- a/Mage.Sets/src/mage/cards/m/MnemonicSliver.java +++ b/Mage.Sets/src/mage/cards/m/MnemonicSliver.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.GainAbilityAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -50,7 +51,7 @@ public class MnemonicSliver extends CardImpl { public MnemonicSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MnemonicWall.java b/Mage.Sets/src/mage/cards/m/MnemonicWall.java index 4a709e79654..a2ad47f2b3b 100644 --- a/Mage.Sets/src/mage/cards/m/MnemonicWall.java +++ b/Mage.Sets/src/mage/cards/m/MnemonicWall.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -57,7 +58,7 @@ public class MnemonicWall extends CardImpl { public MnemonicWall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MoaningSpirit.java b/Mage.Sets/src/mage/cards/m/MoaningSpirit.java index 69ab6fb8081..d05c8caca1b 100644 --- a/Mage.Sets/src/mage/cards/m/MoaningSpirit.java +++ b/Mage.Sets/src/mage/cards/m/MoaningSpirit.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class MoaningSpirit extends CardImpl { public MoaningSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MoaningWall.java b/Mage.Sets/src/mage/cards/m/MoaningWall.java index 65b990e5b9d..c363ed5028b 100644 --- a/Mage.Sets/src/mage/cards/m/MoaningWall.java +++ b/Mage.Sets/src/mage/cards/m/MoaningWall.java @@ -8,14 +8,15 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; public class MoaningWall extends CardImpl { public MoaningWall(UUID ownerId, CardSetInfo cardSetInfo){ super(ownerId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - subtype.add("Zombie"); - subtype.add("Wall"); + subtype.add(SubType.ZOMBIE); + subtype.add(SubType.WALL); power = new MageInt(0); toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MobileFort.java b/Mage.Sets/src/mage/cards/m/MobileFort.java index f77fc86f2bd..41c3d23d380 100644 --- a/Mage.Sets/src/mage/cards/m/MobileFort.java +++ b/Mage.Sets/src/mage/cards/m/MobileFort.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class MobileFort extends CardImpl { public MobileFort(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/m/MobileGarrison.java b/Mage.Sets/src/mage/cards/m/MobileGarrison.java index d8f41d6fca1..0c2ca731e9b 100644 --- a/Mage.Sets/src/mage/cards/m/MobileGarrison.java +++ b/Mage.Sets/src/mage/cards/m/MobileGarrison.java @@ -1,87 +1,87 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.AttacksTriggeredAbility; -import mage.abilities.effects.common.UntapTargetEffect; -import mage.abilities.keyword.CrewAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.CardTypePredicate; -import mage.filter.predicate.permanent.AnotherPredicate; -import mage.target.common.TargetControlledPermanent; - -import java.util.UUID; - -/** - * - * @author Styxo - */ -public class MobileGarrison extends CardImpl { - - private static final FilterControlledPermanent filter = new FilterControlledPermanent("another target artifact or creature you control"); - - static { - filter.add(new AnotherPredicate()); - filter.add(Predicates.or( - new CardTypePredicate(CardType.ARTIFACT), - new CardTypePredicate(CardType.CREATURE) - )); - } - - public MobileGarrison(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); - - this.subtype.add(SubType.VEHICLE); - this.power = new MageInt(3); - this.toughness = new MageInt(4); - - // Whenever Mobile Garrison attacks, untap another target artifact or creature you control. - Ability ability = new AttacksTriggeredAbility(new UntapTargetEffect(), false); - ability.addTarget(new TargetControlledPermanent(filter)); - this.addAbility(ability); - - // Crew 2 - this.addAbility(new CrewAbility(2)); - } - - public MobileGarrison(final MobileGarrison card) { - super(card); - } - - @Override - public MobileGarrison copy() { - return new MobileGarrison(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.effects.common.UntapTargetEffect; +import mage.abilities.keyword.CrewAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.filter.predicate.permanent.AnotherPredicate; +import mage.target.common.TargetControlledPermanent; + +import java.util.UUID; + +/** + * + * @author Styxo + */ +public class MobileGarrison extends CardImpl { + + private static final FilterControlledPermanent filter = new FilterControlledPermanent("another target artifact or creature you control"); + + static { + filter.add(new AnotherPredicate()); + filter.add(Predicates.or( + new CardTypePredicate(CardType.ARTIFACT), + new CardTypePredicate(CardType.CREATURE) + )); + } + + public MobileGarrison(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); + + this.subtype.add(SubType.VEHICLE); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + // Whenever Mobile Garrison attacks, untap another target artifact or creature you control. + Ability ability = new AttacksTriggeredAbility(new UntapTargetEffect(), false); + ability.addTarget(new TargetControlledPermanent(filter)); + this.addAbility(ability); + + // Crew 2 + this.addAbility(new CrewAbility(2)); + } + + public MobileGarrison(final MobileGarrison card) { + super(card); + } + + @Override + public MobileGarrison copy() { + return new MobileGarrison(this); + } +} diff --git a/Mage.Sets/src/mage/cards/m/MockeryOfNature.java b/Mage.Sets/src/mage/cards/m/MockeryOfNature.java index 2816ee6dbca..a640044616f 100644 --- a/Mage.Sets/src/mage/cards/m/MockeryOfNature.java +++ b/Mage.Sets/src/mage/cards/m/MockeryOfNature.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EmergeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -49,8 +50,8 @@ public class MockeryOfNature extends CardImpl { public MockeryOfNature(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{9}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MoggConscripts.java b/Mage.Sets/src/mage/cards/m/MoggConscripts.java index 21cf31d2c3b..b18424531b6 100644 --- a/Mage.Sets/src/mage/cards/m/MoggConscripts.java +++ b/Mage.Sets/src/mage/cards/m/MoggConscripts.java @@ -35,6 +35,7 @@ import mage.abilities.effects.RestrictionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -49,7 +50,7 @@ public class MoggConscripts extends CardImpl { public MoggConscripts(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MoggFanatic.java b/Mage.Sets/src/mage/cards/m/MoggFanatic.java index 8ea1d3fdd29..0f19a42bac5 100644 --- a/Mage.Sets/src/mage/cards/m/MoggFanatic.java +++ b/Mage.Sets/src/mage/cards/m/MoggFanatic.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -47,7 +48,7 @@ public class MoggFanatic extends CardImpl { public MoggFanatic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MoggFlunkies.java b/Mage.Sets/src/mage/cards/m/MoggFlunkies.java index 588d8ff698a..5ed746b6c8d 100644 --- a/Mage.Sets/src/mage/cards/m/MoggFlunkies.java +++ b/Mage.Sets/src/mage/cards/m/MoggFlunkies.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.CantBlockAloneAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author magenoxx_at_gmail.com @@ -42,7 +43,7 @@ public class MoggFlunkies extends CardImpl { public MoggFlunkies(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MoggJailer.java b/Mage.Sets/src/mage/cards/m/MoggJailer.java index 3fc94072c4c..a6ff5a0803b 100644 --- a/Mage.Sets/src/mage/cards/m/MoggJailer.java +++ b/Mage.Sets/src/mage/cards/m/MoggJailer.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantAttackIfDefenderControlsPermanen import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -55,7 +56,7 @@ public class MoggJailer extends CardImpl { public MoggJailer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MoggManiac.java b/Mage.Sets/src/mage/cards/m/MoggManiac.java index 2a9001a2d4a..c432792c8d2 100644 --- a/Mage.Sets/src/mage/cards/m/MoggManiac.java +++ b/Mage.Sets/src/mage/cards/m/MoggManiac.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -49,7 +50,7 @@ public class MoggManiac extends CardImpl { public MoggManiac(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MoggRaider.java b/Mage.Sets/src/mage/cards/m/MoggRaider.java index 214b25ddfd5..1d6e8d9593f 100644 --- a/Mage.Sets/src/mage/cards/m/MoggRaider.java +++ b/Mage.Sets/src/mage/cards/m/MoggRaider.java @@ -58,7 +58,7 @@ public class MoggRaider extends CardImpl { public MoggRaider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MoggSentry.java b/Mage.Sets/src/mage/cards/m/MoggSentry.java index 979153a1429..b741b50ea26 100644 --- a/Mage.Sets/src/mage/cards/m/MoggSentry.java +++ b/Mage.Sets/src/mage/cards/m/MoggSentry.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class MoggSentry extends CardImpl { public MoggSentry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MoggSquad.java b/Mage.Sets/src/mage/cards/m/MoggSquad.java index 5d450ffaf97..7c50bf0d630 100644 --- a/Mage.Sets/src/mage/cards/m/MoggSquad.java +++ b/Mage.Sets/src/mage/cards/m/MoggSquad.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -57,7 +58,7 @@ public class MoggSquad extends CardImpl { public MoggSquad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MoggWarMarshal.java b/Mage.Sets/src/mage/cards/m/MoggWarMarshal.java index 87d4eec410b..d912be109d8 100644 --- a/Mage.Sets/src/mage/cards/m/MoggWarMarshal.java +++ b/Mage.Sets/src/mage/cards/m/MoggWarMarshal.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.GoblinToken; /** @@ -45,8 +46,8 @@ public class MoggWarMarshal extends CardImpl { public MoggWarMarshal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/Moggcatcher.java b/Mage.Sets/src/mage/cards/m/Moggcatcher.java index 89e64fb8a6b..54cf58d29de 100644 --- a/Mage.Sets/src/mage/cards/m/Moggcatcher.java +++ b/Mage.Sets/src/mage/cards/m/Moggcatcher.java @@ -57,8 +57,8 @@ public class Moggcatcher extends CardImpl { public Moggcatcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MogisGodOfSlaughter.java b/Mage.Sets/src/mage/cards/m/MogisGodOfSlaughter.java index 05145b616f1..f3f391e5bc4 100644 --- a/Mage.Sets/src/mage/cards/m/MogisGodOfSlaughter.java +++ b/Mage.Sets/src/mage/cards/m/MogisGodOfSlaughter.java @@ -59,7 +59,7 @@ public class MogisGodOfSlaughter extends CardImpl { public MogisGodOfSlaughter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(7); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MogissMarauder.java b/Mage.Sets/src/mage/cards/m/MogissMarauder.java index a4e0f15d99a..d10b145e457 100644 --- a/Mage.Sets/src/mage/cards/m/MogissMarauder.java +++ b/Mage.Sets/src/mage/cards/m/MogissMarauder.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.game.Game; @@ -51,8 +52,8 @@ public class MogissMarauder extends CardImpl { public MogissMarauder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MogissWarhound.java b/Mage.Sets/src/mage/cards/m/MogissWarhound.java index 5c83a393bb9..f24f2236ef4 100644 --- a/Mage.Sets/src/mage/cards/m/MogissWarhound.java +++ b/Mage.Sets/src/mage/cards/m/MogissWarhound.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class MogissWarhound extends CardImpl { public MogissWarhound(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{1}{R}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MoistureFarm.java b/Mage.Sets/src/mage/cards/m/MoistureFarm.java index 5772ce1d576..2b091424ebf 100644 --- a/Mage.Sets/src/mage/cards/m/MoistureFarm.java +++ b/Mage.Sets/src/mage/cards/m/MoistureFarm.java @@ -1,74 +1,74 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.RemoveCountersSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.common.AddManaOfAnyColorEffect; -import mage.abilities.effects.common.counter.AddCountersSourceEffect; -import mage.abilities.mana.ColorlessManaAbility; -import mage.abilities.mana.SimpleManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.counters.CounterType; - -/** - * - * @author Styxo - */ -public class MoistureFarm extends CardImpl { - - public MoistureFarm(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - - // {T}: Add {C} to your mana pool. - this.addAbility(new ColorlessManaAbility()); - - // {T}: Put a storage counter on Moisture Farm. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), new TapSourceCost())); - - // {T}, Remove a storage counter from Moisture Farm: Add one mana of any color to your mana pool. - Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(1), new TapSourceCost()); - ability.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance())); - this.addAbility(ability); - } - - public MoistureFarm(final MoistureFarm card) { - super(card); - } - - @Override - public MoistureFarm copy() { - return new MoistureFarm(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.RemoveCountersSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.AddManaOfAnyColorEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.mana.ColorlessManaAbility; +import mage.abilities.mana.SimpleManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.counters.CounterType; + +/** + * + * @author Styxo + */ +public class MoistureFarm extends CardImpl { + + public MoistureFarm(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.LAND},""); + + // {T}: Add {C} to your mana pool. + this.addAbility(new ColorlessManaAbility()); + + // {T}: Put a storage counter on Moisture Farm. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), new TapSourceCost())); + + // {T}, Remove a storage counter from Moisture Farm: Add one mana of any color to your mana pool. + Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(1), new TapSourceCost()); + ability.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance())); + this.addAbility(ability); + } + + public MoistureFarm(final MoistureFarm card) { + super(card); + } + + @Override + public MoistureFarm copy() { + return new MoistureFarm(this); + } +} diff --git a/Mage.Sets/src/mage/cards/m/MoldAdder.java b/Mage.Sets/src/mage/cards/m/MoldAdder.java index 466e6a9e891..e3bcb437ee5 100644 --- a/Mage.Sets/src/mage/cards/m/MoldAdder.java +++ b/Mage.Sets/src/mage/cards/m/MoldAdder.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -55,8 +56,8 @@ public class MoldAdder extends CardImpl { public MoldAdder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Fungus"); - this.subtype.add("Snake"); + this.subtype.add(SubType.FUNGUS); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MoldDemon.java b/Mage.Sets/src/mage/cards/m/MoldDemon.java index 6985dc00109..1f2b0aca85d 100644 --- a/Mage.Sets/src/mage/cards/m/MoldDemon.java +++ b/Mage.Sets/src/mage/cards/m/MoldDemon.java @@ -54,8 +54,8 @@ public class MoldDemon extends CardImpl { public MoldDemon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}"); - this.subtype.add("Fungus"); - this.subtype.add("Demon"); + this.subtype.add(SubType.FUNGUS); + this.subtype.add(SubType.DEMON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/m/MoldShambler.java b/Mage.Sets/src/mage/cards/m/MoldShambler.java index 1999544a4dc..4aa7e25b7ec 100644 --- a/Mage.Sets/src/mage/cards/m/MoldShambler.java +++ b/Mage.Sets/src/mage/cards/m/MoldShambler.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -57,8 +58,8 @@ public class MoldShambler extends CardImpl { public MoldShambler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Fungus"); - this.subtype.add("Beast"); + this.subtype.add(SubType.FUNGUS); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MolderBeast.java b/Mage.Sets/src/mage/cards/m/MolderBeast.java index 2b851be52a2..7b44c6e370f 100644 --- a/Mage.Sets/src/mage/cards/m/MolderBeast.java +++ b/Mage.Sets/src/mage/cards/m/MolderBeast.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -50,7 +51,7 @@ public class MolderBeast extends CardImpl { public MolderBeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MolderSlug.java b/Mage.Sets/src/mage/cards/m/MolderSlug.java index f2a787450b8..a2a19360453 100644 --- a/Mage.Sets/src/mage/cards/m/MolderSlug.java +++ b/Mage.Sets/src/mage/cards/m/MolderSlug.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -52,8 +53,8 @@ public class MolderSlug extends CardImpl { public MolderSlug(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Slug"); - this.subtype.add("Beast"); + this.subtype.add(SubType.SLUG); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/m/MoldervineCloak.java b/Mage.Sets/src/mage/cards/m/MoldervineCloak.java index 17d7bb588fe..e844ff663eb 100644 --- a/Mage.Sets/src/mage/cards/m/MoldervineCloak.java +++ b/Mage.Sets/src/mage/cards/m/MoldervineCloak.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class MoldervineCloak extends CardImpl { public MoldervineCloak(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/m/MoldgrafMonstrosity.java b/Mage.Sets/src/mage/cards/m/MoldgrafMonstrosity.java index 7fc38ef7e57..f8ac36d6337 100644 --- a/Mage.Sets/src/mage/cards/m/MoldgrafMonstrosity.java +++ b/Mage.Sets/src/mage/cards/m/MoldgrafMonstrosity.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -54,7 +55,7 @@ public class MoldgrafMonstrosity extends CardImpl { public MoldgrafMonstrosity(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/m/MoldgrafScavenger.java b/Mage.Sets/src/mage/cards/m/MoldgrafScavenger.java index a1ea286f480..dfa37d0f0a7 100644 --- a/Mage.Sets/src/mage/cards/m/MoldgrafScavenger.java +++ b/Mage.Sets/src/mage/cards/m/MoldgrafScavenger.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class MoldgrafScavenger extends CardImpl { public MoldgrafScavenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MoleWorms.java b/Mage.Sets/src/mage/cards/m/MoleWorms.java index 10a8a332625..cec1c5e7aa9 100644 --- a/Mage.Sets/src/mage/cards/m/MoleWorms.java +++ b/Mage.Sets/src/mage/cards/m/MoleWorms.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetLandPermanent; @@ -49,7 +50,7 @@ public class MoleWorms extends CardImpl { public MoleWorms(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Worm"); + this.subtype.add(SubType.WORM); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MolimoMaroSorcerer.java b/Mage.Sets/src/mage/cards/m/MolimoMaroSorcerer.java index 50a8ed4f21d..946ee2e7052 100644 --- a/Mage.Sets/src/mage/cards/m/MolimoMaroSorcerer.java +++ b/Mage.Sets/src/mage/cards/m/MolimoMaroSorcerer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class MolimoMaroSorcerer extends CardImpl { public MolimoMaroSorcerer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MoltenHydra.java b/Mage.Sets/src/mage/cards/m/MoltenHydra.java index e09b7ed6fd7..20c4b563db5 100644 --- a/Mage.Sets/src/mage/cards/m/MoltenHydra.java +++ b/Mage.Sets/src/mage/cards/m/MoltenHydra.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.Counter; import mage.counters.CounterType; @@ -59,7 +60,7 @@ public class MoltenHydra extends CardImpl { public MoltenHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MoltenPrimordial.java b/Mage.Sets/src/mage/cards/m/MoltenPrimordial.java index c2d3c9569fa..1f79a82c075 100644 --- a/Mage.Sets/src/mage/cards/m/MoltenPrimordial.java +++ b/Mage.Sets/src/mage/cards/m/MoltenPrimordial.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.filter.common.FilterCreaturePermanent; @@ -58,7 +59,7 @@ public class MoltenPrimordial extends CardImpl { public MoltenPrimordial(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MoltenRavager.java b/Mage.Sets/src/mage/cards/m/MoltenRavager.java index c2a0c1572ee..743fe35e29b 100644 --- a/Mage.Sets/src/mage/cards/m/MoltenRavager.java +++ b/Mage.Sets/src/mage/cards/m/MoltenRavager.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class MoltenRavager extends CardImpl { public MoltenRavager(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MoltenSentry.java b/Mage.Sets/src/mage/cards/m/MoltenSentry.java index 8230df005c2..c54b3c81715 100644 --- a/Mage.Sets/src/mage/cards/m/MoltenSentry.java +++ b/Mage.Sets/src/mage/cards/m/MoltenSentry.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.game.Game; @@ -55,7 +56,7 @@ public class MoltenSentry extends CardImpl { public MoltenSentry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MoltenTailMasticore.java b/Mage.Sets/src/mage/cards/m/MoltenTailMasticore.java index 23118ceef29..7260a33ff3e 100644 --- a/Mage.Sets/src/mage/cards/m/MoltenTailMasticore.java +++ b/Mage.Sets/src/mage/cards/m/MoltenTailMasticore.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; import mage.game.Game; @@ -59,7 +60,7 @@ public class MoltenTailMasticore extends CardImpl { public MoltenTailMasticore (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Masticore"); + this.subtype.add(SubType.MASTICORE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MoltensteelDragon.java b/Mage.Sets/src/mage/cards/m/MoltensteelDragon.java index 613b525cd68..85cd2bf5442 100644 --- a/Mage.Sets/src/mage/cards/m/MoltensteelDragon.java +++ b/Mage.Sets/src/mage/cards/m/MoltensteelDragon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class MoltensteelDragon extends CardImpl { public MoltensteelDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{R/P}{R/P}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MoltingHarpy.java b/Mage.Sets/src/mage/cards/m/MoltingHarpy.java index 45a19c8b391..77440d06270 100644 --- a/Mage.Sets/src/mage/cards/m/MoltingHarpy.java +++ b/Mage.Sets/src/mage/cards/m/MoltingHarpy.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -47,8 +48,8 @@ public class MoltingHarpy extends CardImpl { public MoltingHarpy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Harpy"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HARPY); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MoltingSnakeskin.java b/Mage.Sets/src/mage/cards/m/MoltingSnakeskin.java index 5aafc88588e..542f4d574d1 100644 --- a/Mage.Sets/src/mage/cards/m/MoltingSnakeskin.java +++ b/Mage.Sets/src/mage/cards/m/MoltingSnakeskin.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -55,7 +56,7 @@ public class MoltingSnakeskin extends CardImpl { public MoltingSnakeskin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/m/MomirVigSimicVisionary.java b/Mage.Sets/src/mage/cards/m/MomirVigSimicVisionary.java index 1d333861609..f4669478774 100644 --- a/Mage.Sets/src/mage/cards/m/MomirVigSimicVisionary.java +++ b/Mage.Sets/src/mage/cards/m/MomirVigSimicVisionary.java @@ -39,6 +39,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.search.SearchLibraryPutOnLibraryEffect; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -70,8 +71,8 @@ public class MomirVigSimicVisionary extends CardImpl { public MomirVigSimicVisionary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MonCalamariCruiser.java b/Mage.Sets/src/mage/cards/m/MonCalamariCruiser.java index 17cd9d7dc0a..5ddc5a55ba7 100644 --- a/Mage.Sets/src/mage/cards/m/MonCalamariCruiser.java +++ b/Mage.Sets/src/mage/cards/m/MonCalamariCruiser.java @@ -1,67 +1,68 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.keyword.SpaceflightAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class MonCalamariCruiser extends CardImpl { - - public MonCalamariCruiser(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Starship"); - this.power = new MageInt(4); - this.toughness = new MageInt(4); - - // Spaceflight - this.addAbility(SpaceflightAbility.getInstance()); - - // Whenever Mon Calamari Cruiser deals combat damage to a player, you may draw a card. - this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), true)); - - } - - public MonCalamariCruiser(final MonCalamariCruiser card) { - super(card); - } - - @Override - public MonCalamariCruiser copy() { - return new MonCalamariCruiser(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.keyword.SpaceflightAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author Styxo + */ +public class MonCalamariCruiser extends CardImpl { + + public MonCalamariCruiser(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{U}{U}"); + this.subtype.add(SubType.STARSHIP); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // Spaceflight + this.addAbility(SpaceflightAbility.getInstance()); + + // Whenever Mon Calamari Cruiser deals combat damage to a player, you may draw a card. + this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DrawCardSourceControllerEffect(1), true)); + + } + + public MonCalamariCruiser(final MonCalamariCruiser card) { + super(card); + } + + @Override + public MonCalamariCruiser copy() { + return new MonCalamariCruiser(this); + } +} diff --git a/Mage.Sets/src/mage/cards/m/MonCalamariInitiate.java b/Mage.Sets/src/mage/cards/m/MonCalamariInitiate.java index b8d94506d34..5f6e8ed4f06 100644 --- a/Mage.Sets/src/mage/cards/m/MonCalamariInitiate.java +++ b/Mage.Sets/src/mage/cards/m/MonCalamariInitiate.java @@ -1,68 +1,69 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.keyword.MeditateAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class MonCalamariInitiate extends CardImpl { - - public MonCalamariInitiate(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{U}"); - this.subtype.add("Calamari"); - this.subtype.add("Jedi"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - - // When Mon Calamari Initiate enters the battlefield, draw a card. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); - - // Meditate {1}{U} - this.addAbility(new MeditateAbility(new ManaCostsImpl("{1}{U}"))); - } - - public MonCalamariInitiate(final MonCalamariInitiate card) { - super(card); - } - - @Override - public MonCalamariInitiate copy() { - return new MonCalamariInitiate(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.keyword.MeditateAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author Styxo + */ +public class MonCalamariInitiate extends CardImpl { + + public MonCalamariInitiate(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{U}"); + this.subtype.add(SubType.CALAMARI); + this.subtype.add(SubType.JEDI); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // When Mon Calamari Initiate enters the battlefield, draw a card. + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1))); + + // Meditate {1}{U} + this.addAbility(new MeditateAbility(new ManaCostsImpl("{1}{U}"))); + } + + public MonCalamariInitiate(final MonCalamariInitiate card) { + super(card); + } + + @Override + public MonCalamariInitiate copy() { + return new MonCalamariInitiate(this); + } +} diff --git a/Mage.Sets/src/mage/cards/m/MonasteryFlock.java b/Mage.Sets/src/mage/cards/m/MonasteryFlock.java index 360f74bc28a..5940f228111 100644 --- a/Mage.Sets/src/mage/cards/m/MonasteryFlock.java +++ b/Mage.Sets/src/mage/cards/m/MonasteryFlock.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class MonasteryFlock extends CardImpl { public MonasteryFlock(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MonasteryLoremaster.java b/Mage.Sets/src/mage/cards/m/MonasteryLoremaster.java index 269f4cf4866..cf1afff699a 100644 --- a/Mage.Sets/src/mage/cards/m/MonasteryLoremaster.java +++ b/Mage.Sets/src/mage/cards/m/MonasteryLoremaster.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -57,8 +58,8 @@ public class MonasteryLoremaster extends CardImpl { public MonasteryLoremaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Djinn"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.DJINN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MonasteryMentor.java b/Mage.Sets/src/mage/cards/m/MonasteryMentor.java index 62a43776bf4..57fe1d7625f 100644 --- a/Mage.Sets/src/mage/cards/m/MonasteryMentor.java +++ b/Mage.Sets/src/mage/cards/m/MonasteryMentor.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -54,8 +55,8 @@ public class MonasteryMentor extends CardImpl { public MonasteryMentor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MonasterySwiftspear.java b/Mage.Sets/src/mage/cards/m/MonasterySwiftspear.java index e9e6187a706..d90fcc17988 100644 --- a/Mage.Sets/src/mage/cards/m/MonasterySwiftspear.java +++ b/Mage.Sets/src/mage/cards/m/MonasterySwiftspear.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class MonasterySwiftspear extends CardImpl { public MonasterySwiftspear(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MondronenShaman.java b/Mage.Sets/src/mage/cards/m/MondronenShaman.java index 2371cd1bafe..c84a04a278c 100644 --- a/Mage.Sets/src/mage/cards/m/MondronenShaman.java +++ b/Mage.Sets/src/mage/cards/m/MondronenShaman.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.t.TovolarsMagehunter; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -49,9 +50,9 @@ public class MondronenShaman extends CardImpl { public MondronenShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MongrelPack.java b/Mage.Sets/src/mage/cards/m/MongrelPack.java index ed482e837ef..5ff149de1f9 100644 --- a/Mage.Sets/src/mage/cards/m/MongrelPack.java +++ b/Mage.Sets/src/mage/cards/m/MongrelPack.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TurnPhase; import mage.constants.Zone; import mage.game.Game; @@ -48,7 +49,7 @@ public class MongrelPack extends CardImpl { public MongrelPack(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(4); this.toughness = new MageInt(1); @@ -98,7 +99,7 @@ class HoundToken extends Token { public HoundToken() { super("Hound", "1/1 green Hound creature token"); cardType.add(CardType.CREATURE); - subtype.add("Hound"); + subtype.add(SubType.HOUND); color.setGreen(true); power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MonkIdealist.java b/Mage.Sets/src/mage/cards/m/MonkIdealist.java index ba8320425f3..f3ba77c9688 100644 --- a/Mage.Sets/src/mage/cards/m/MonkIdealist.java +++ b/Mage.Sets/src/mage/cards/m/MonkIdealist.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.target.common.TargetCardInYourGraveyard; @@ -53,9 +54,9 @@ public class MonkIdealist extends CardImpl { public MonkIdealist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MonkRealist.java b/Mage.Sets/src/mage/cards/m/MonkRealist.java index d74def025ec..052ef2841ee 100644 --- a/Mage.Sets/src/mage/cards/m/MonkRealist.java +++ b/Mage.Sets/src/mage/cards/m/MonkRealist.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetEnchantmentPermanent; /** @@ -45,9 +46,9 @@ public class MonkRealist extends CardImpl { public MonkRealist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MonssGoblinRaiders.java b/Mage.Sets/src/mage/cards/m/MonssGoblinRaiders.java index 29c29fe7578..55969db7d5e 100644 --- a/Mage.Sets/src/mage/cards/m/MonssGoblinRaiders.java +++ b/Mage.Sets/src/mage/cards/m/MonssGoblinRaiders.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class MonssGoblinRaiders extends CardImpl { public MonssGoblinRaiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MonstrousCarabid.java b/Mage.Sets/src/mage/cards/m/MonstrousCarabid.java index 1b3b6b5ec10..6cefb4378fe 100644 --- a/Mage.Sets/src/mage/cards/m/MonstrousCarabid.java +++ b/Mage.Sets/src/mage/cards/m/MonstrousCarabid.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class MonstrousCarabid extends CardImpl { public MonstrousCarabid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{R}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); diff --git a/Mage.Sets/src/mage/cards/m/MoonHeron.java b/Mage.Sets/src/mage/cards/m/MoonHeron.java index a97507efe03..2efa72ddaa9 100644 --- a/Mage.Sets/src/mage/cards/m/MoonHeron.java +++ b/Mage.Sets/src/mage/cards/m/MoonHeron.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class MoonHeron extends CardImpl { public MoonHeron(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Spirit"); - this.subtype.add("Bird"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.BIRD); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MoonSprite.java b/Mage.Sets/src/mage/cards/m/MoonSprite.java index 1f88f8254ac..3337048b96f 100644 --- a/Mage.Sets/src/mage/cards/m/MoonSprite.java +++ b/Mage.Sets/src/mage/cards/m/MoonSprite.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class MoonSprite extends CardImpl { public MoonSprite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MoonbowIllusionist.java b/Mage.Sets/src/mage/cards/m/MoonbowIllusionist.java index 3ac62176493..ee2332a1a24 100644 --- a/Mage.Sets/src/mage/cards/m/MoonbowIllusionist.java +++ b/Mage.Sets/src/mage/cards/m/MoonbowIllusionist.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -52,8 +53,8 @@ public class MoonbowIllusionist extends CardImpl { public MoonbowIllusionist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Moonfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MOONFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MoongloveChangeling.java b/Mage.Sets/src/mage/cards/m/MoongloveChangeling.java index d8c3290225b..94ef723e226 100644 --- a/Mage.Sets/src/mage/cards/m/MoongloveChangeling.java +++ b/Mage.Sets/src/mage/cards/m/MoongloveChangeling.java @@ -46,7 +46,7 @@ public class MoongloveChangeling extends CardImpl { public MoongloveChangeling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MoongloveWinnower.java b/Mage.Sets/src/mage/cards/m/MoongloveWinnower.java index 9a780437be4..0472c0a265f 100644 --- a/Mage.Sets/src/mage/cards/m/MoongloveWinnower.java +++ b/Mage.Sets/src/mage/cards/m/MoongloveWinnower.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class MoongloveWinnower extends CardImpl { public MoongloveWinnower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Elf"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MoonlightBargain.java b/Mage.Sets/src/mage/cards/m/MoonlightBargain.java index 66b3d3796b5..e001bba5d32 100644 --- a/Mage.Sets/src/mage/cards/m/MoonlightBargain.java +++ b/Mage.Sets/src/mage/cards/m/MoonlightBargain.java @@ -1,116 +1,116 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.Set; -import java.util.UUID; -import mage.MageObject; -import mage.abilities.Ability; -import mage.abilities.costs.common.PayLifeCost; -import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.Cards; -import mage.cards.CardsImpl; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.game.Game; -import mage.players.Player; - -/** - * - * @author LevelX2 - */ -public class MoonlightBargain extends CardImpl { - - public MoonlightBargain(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{B}{B}"); - - // Look at the top five cards of your library. For each card, put that card into your graveyard unless you pay 2 life. Then put the rest into your hand. - getSpellAbility().addEffect(new MoonlightBargainEffect()); - } - - public MoonlightBargain(final MoonlightBargain card) { - super(card); - } - - @Override - public MoonlightBargain copy() { - return new MoonlightBargain(this); - } -} - -class MoonlightBargainEffect extends OneShotEffect { - - public MoonlightBargainEffect() { - super(Outcome.Benefit); - this.staticText = "Look at the top five cards of your library. For each card, put that card into your graveyard unless you pay 2 life. Then put the rest into your hand"; - } - - public MoonlightBargainEffect(final MoonlightBargainEffect effect) { - super(effect); - } - - @Override - public MoonlightBargainEffect copy() { - return new MoonlightBargainEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - MageObject sourceObject = source.getSourceObject(game); - if (controller != null && sourceObject != null) { - Set topFive = controller.getLibrary().getTopCards(game, 5); - Cards lookAtCards = new CardsImpl(); - lookAtCards.addAll(topFive); - controller.lookAtCards(sourceObject.getIdName(), lookAtCards, game); - Cards toHand = new CardsImpl(); - for (Card card : topFive) { - PayLifeCost cost = new PayLifeCost(2); - if (cost.canPay(source, source.getSourceId(), source.getControllerId(), game)) { - if (controller.chooseUse(outcome, "Put " + card.getIdName() + " into your graveyard unless you pay 2 life", sourceObject.getIdName(), - "Pay 2 life and put into hand", "Put into your graveyard", source, game)) { - if (cost.pay(source, game, source.getSourceId(), source.getControllerId(), false)) { - toHand.add(card); - } else { - controller.moveCards(card, Zone.GRAVEYARD, source, game); - } - } else { - controller.moveCards(card, Zone.GRAVEYARD, source, game); - } - } - } - controller.moveCards(toHand, Zone.HAND, source, game); - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.Set; +import java.util.UUID; +import mage.MageObject; +import mage.abilities.Ability; +import mage.abilities.costs.common.PayLifeCost; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.Cards; +import mage.cards.CardsImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.game.Game; +import mage.players.Player; + +/** + * + * @author LevelX2 + */ +public class MoonlightBargain extends CardImpl { + + public MoonlightBargain(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{B}{B}"); + + // Look at the top five cards of your library. For each card, put that card into your graveyard unless you pay 2 life. Then put the rest into your hand. + getSpellAbility().addEffect(new MoonlightBargainEffect()); + } + + public MoonlightBargain(final MoonlightBargain card) { + super(card); + } + + @Override + public MoonlightBargain copy() { + return new MoonlightBargain(this); + } +} + +class MoonlightBargainEffect extends OneShotEffect { + + public MoonlightBargainEffect() { + super(Outcome.Benefit); + this.staticText = "Look at the top five cards of your library. For each card, put that card into your graveyard unless you pay 2 life. Then put the rest into your hand"; + } + + public MoonlightBargainEffect(final MoonlightBargainEffect effect) { + super(effect); + } + + @Override + public MoonlightBargainEffect copy() { + return new MoonlightBargainEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + MageObject sourceObject = source.getSourceObject(game); + if (controller != null && sourceObject != null) { + Set topFive = controller.getLibrary().getTopCards(game, 5); + Cards lookAtCards = new CardsImpl(); + lookAtCards.addAll(topFive); + controller.lookAtCards(sourceObject.getIdName(), lookAtCards, game); + Cards toHand = new CardsImpl(); + for (Card card : topFive) { + PayLifeCost cost = new PayLifeCost(2); + if (cost.canPay(source, source.getSourceId(), source.getControllerId(), game)) { + if (controller.chooseUse(outcome, "Put " + card.getIdName() + " into your graveyard unless you pay 2 life", sourceObject.getIdName(), + "Pay 2 life and put into hand", "Put into your graveyard", source, game)) { + if (cost.pay(source, game, source.getSourceId(), source.getControllerId(), false)) { + toHand.add(card); + } else { + controller.moveCards(card, Zone.GRAVEYARD, source, game); + } + } else { + controller.moveCards(card, Zone.GRAVEYARD, source, game); + } + } + } + controller.moveCards(toHand, Zone.HAND, source, game); + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/m/MoonlightGeist.java b/Mage.Sets/src/mage/cards/m/MoonlightGeist.java index f5c7d0e96d0..d1dcfbb35b0 100644 --- a/Mage.Sets/src/mage/cards/m/MoonlightGeist.java +++ b/Mage.Sets/src/mage/cards/m/MoonlightGeist.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class MoonlightGeist extends CardImpl { public MoonlightGeist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MoonlitStrider.java b/Mage.Sets/src/mage/cards/m/MoonlitStrider.java index c4ed12aee66..8be3996ca28 100644 --- a/Mage.Sets/src/mage/cards/m/MoonlitStrider.java +++ b/Mage.Sets/src/mage/cards/m/MoonlitStrider.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -49,7 +50,7 @@ public class MoonlitStrider extends CardImpl { public MoonlitStrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MoonlitWake.java b/Mage.Sets/src/mage/cards/m/MoonlitWake.java index 65ede092a0e..6f9ebc8f363 100644 --- a/Mage.Sets/src/mage/cards/m/MoonlitWake.java +++ b/Mage.Sets/src/mage/cards/m/MoonlitWake.java @@ -1,58 +1,58 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.abilities.common.DiesCreatureTriggeredAbility; -import mage.abilities.effects.common.GainLifeEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author Derpthemeus - */ -public class MoonlitWake extends CardImpl { - - public MoonlitWake(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - - // Whenever a creature dies, you gain 1 life. - this.addAbility(new DiesCreatureTriggeredAbility(new GainLifeEffect(1), false)); - } - - public MoonlitWake(final MoonlitWake card) { - super(card); - } - - @Override - public MoonlitWake copy() { - return new MoonlitWake(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.abilities.common.DiesCreatureTriggeredAbility; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +/** + * + * @author Derpthemeus + */ +public class MoonlitWake extends CardImpl { + + public MoonlitWake(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); + + // Whenever a creature dies, you gain 1 life. + this.addAbility(new DiesCreatureTriggeredAbility(new GainLifeEffect(1), false)); + } + + public MoonlitWake(final MoonlitWake card) { + super(card); + } + + @Override + public MoonlitWake copy() { + return new MoonlitWake(this); + } +} diff --git a/Mage.Sets/src/mage/cards/m/MoonringIsland.java b/Mage.Sets/src/mage/cards/m/MoonringIsland.java index 5960fa583a9..821dfe5690e 100644 --- a/Mage.Sets/src/mage/cards/m/MoonringIsland.java +++ b/Mage.Sets/src/mage/cards/m/MoonringIsland.java @@ -40,6 +40,7 @@ import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -60,7 +61,7 @@ public class MoonringIsland extends CardImpl { public MoonringIsland(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Island"); + this.subtype.add(SubType.ISLAND); // ({tap}: Add {U} to your mana pool.) this.addAbility(new BlueManaAbility()); diff --git a/Mage.Sets/src/mage/cards/m/MoonriseIntruder.java b/Mage.Sets/src/mage/cards/m/MoonriseIntruder.java index d2205df20e7..52451801a1e 100644 --- a/Mage.Sets/src/mage/cards/m/MoonriseIntruder.java +++ b/Mage.Sets/src/mage/cards/m/MoonriseIntruder.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -49,7 +50,7 @@ public class MoonriseIntruder extends CardImpl { public MoonriseIntruder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(2); this.toughness = new MageInt(2); this.color.setRed(true); diff --git a/Mage.Sets/src/mage/cards/m/MoonscarredWerewolf.java b/Mage.Sets/src/mage/cards/m/MoonscarredWerewolf.java index 173ec5008d4..2c19b87a9de 100644 --- a/Mage.Sets/src/mage/cards/m/MoonscarredWerewolf.java +++ b/Mage.Sets/src/mage/cards/m/MoonscarredWerewolf.java @@ -42,6 +42,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class MoonscarredWerewolf extends CardImpl { public MoonscarredWerewolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.color.setGreen(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MoonsilverSpear.java b/Mage.Sets/src/mage/cards/m/MoonsilverSpear.java index 1f257491bab..c65f856bbde 100644 --- a/Mage.Sets/src/mage/cards/m/MoonsilverSpear.java +++ b/Mage.Sets/src/mage/cards/m/MoonsilverSpear.java @@ -48,7 +48,7 @@ public class MoonsilverSpear extends CardImpl { public MoonsilverSpear(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has first strike. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/m/MoonveilDragon.java b/Mage.Sets/src/mage/cards/m/MoonveilDragon.java index ebd24eccb5f..4a801474e67 100644 --- a/Mage.Sets/src/mage/cards/m/MoonveilDragon.java +++ b/Mage.Sets/src/mage/cards/m/MoonveilDragon.java @@ -45,7 +45,7 @@ public class MoonveilDragon extends CardImpl { public MoonveilDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MoonwingMoth.java b/Mage.Sets/src/mage/cards/m/MoonwingMoth.java index bde67f2985c..1254dda9cf4 100644 --- a/Mage.Sets/src/mage/cards/m/MoonwingMoth.java +++ b/Mage.Sets/src/mage/cards/m/MoonwingMoth.java @@ -45,7 +45,7 @@ public class MoonwingMoth extends CardImpl { public MoonwingMoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MoorFiend.java b/Mage.Sets/src/mage/cards/m/MoorFiend.java index da56e5ae844..9ef08192956 100644 --- a/Mage.Sets/src/mage/cards/m/MoorFiend.java +++ b/Mage.Sets/src/mage/cards/m/MoorFiend.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class MoorFiend extends CardImpl { public MoorFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MoorishCavalry.java b/Mage.Sets/src/mage/cards/m/MoorishCavalry.java index 887b973bfe1..45607f6d793 100644 --- a/Mage.Sets/src/mage/cards/m/MoorishCavalry.java +++ b/Mage.Sets/src/mage/cards/m/MoorishCavalry.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class MoorishCavalry extends CardImpl { public MoorishCavalry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MoorlandDrifter.java b/Mage.Sets/src/mage/cards/m/MoorlandDrifter.java index c51714c71ed..0e59249dff0 100644 --- a/Mage.Sets/src/mage/cards/m/MoorlandDrifter.java +++ b/Mage.Sets/src/mage/cards/m/MoorlandDrifter.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class MoorlandDrifter extends CardImpl { public MoorlandDrifter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MoorlandInquisitor.java b/Mage.Sets/src/mage/cards/m/MoorlandInquisitor.java index 724cf7b4e2d..b525047c8a7 100644 --- a/Mage.Sets/src/mage/cards/m/MoorlandInquisitor.java +++ b/Mage.Sets/src/mage/cards/m/MoorlandInquisitor.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class MoorlandInquisitor extends CardImpl { public MoorlandInquisitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MordantDragon.java b/Mage.Sets/src/mage/cards/m/MordantDragon.java index 6f2b110764b..51445412643 100644 --- a/Mage.Sets/src/mage/cards/m/MordantDragon.java +++ b/Mage.Sets/src/mage/cards/m/MordantDragon.java @@ -53,7 +53,7 @@ public class MordantDragon extends CardImpl { public MordantDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MorgueThrull.java b/Mage.Sets/src/mage/cards/m/MorgueThrull.java index ffb958d6a54..a689c549e2e 100644 --- a/Mage.Sets/src/mage/cards/m/MorgueThrull.java +++ b/Mage.Sets/src/mage/cards/m/MorgueThrull.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class MorgueThrull extends CardImpl { public MorgueThrull(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Thrull"); + this.subtype.add(SubType.THRULL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MorgueToad.java b/Mage.Sets/src/mage/cards/m/MorgueToad.java index 04765dccb5b..0daed397e2d 100644 --- a/Mage.Sets/src/mage/cards/m/MorgueToad.java +++ b/Mage.Sets/src/mage/cards/m/MorgueToad.java @@ -35,6 +35,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class MorgueToad extends CardImpl { public MorgueToad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Frog"); + this.subtype.add(SubType.FROG); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/Morinfen.java b/Mage.Sets/src/mage/cards/m/Morinfen.java index 46dbf70e65b..73f88495186 100644 --- a/Mage.Sets/src/mage/cards/m/Morinfen.java +++ b/Mage.Sets/src/mage/cards/m/Morinfen.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -46,7 +47,7 @@ public class Morinfen extends CardImpl { public Morinfen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MoriokReaver.java b/Mage.Sets/src/mage/cards/m/MoriokReaver.java index c9ab21640c7..1471ec027ac 100644 --- a/Mage.Sets/src/mage/cards/m/MoriokReaver.java +++ b/Mage.Sets/src/mage/cards/m/MoriokReaver.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class MoriokReaver extends CardImpl { public MoriokReaver (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MoriokReplica.java b/Mage.Sets/src/mage/cards/m/MoriokReplica.java index d5c1c8768e5..d2ac4f37f4b 100644 --- a/Mage.Sets/src/mage/cards/m/MoriokReplica.java +++ b/Mage.Sets/src/mage/cards/m/MoriokReplica.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -50,7 +51,7 @@ public class MoriokReplica extends CardImpl { public MoriokReplica (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MoriokRigger.java b/Mage.Sets/src/mage/cards/m/MoriokRigger.java index 7f840bd8a4d..2a226789b4c 100644 --- a/Mage.Sets/src/mage/cards/m/MoriokRigger.java +++ b/Mage.Sets/src/mage/cards/m/MoriokRigger.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterArtifactPermanent; @@ -47,9 +48,9 @@ public class MoriokRigger extends CardImpl { public MoriokRigger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); - this.subtype.add("Rigger"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); + this.subtype.add(SubType.RIGGER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MoriokScavenger.java b/Mage.Sets/src/mage/cards/m/MoriokScavenger.java index 323be4372cd..76c3b529639 100644 --- a/Mage.Sets/src/mage/cards/m/MoriokScavenger.java +++ b/Mage.Sets/src/mage/cards/m/MoriokScavenger.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.target.common.TargetCardInYourGraveyard; @@ -53,8 +54,8 @@ public class MoriokScavenger extends CardImpl { public MoriokScavenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MorkrutBanshee.java b/Mage.Sets/src/mage/cards/m/MorkrutBanshee.java index 9636e827d40..52012075869 100644 --- a/Mage.Sets/src/mage/cards/m/MorkrutBanshee.java +++ b/Mage.Sets/src/mage/cards/m/MorkrutBanshee.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class MorkrutBanshee extends CardImpl { public MorkrutBanshee(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.color.setBlack(true); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MorkrutNecropod.java b/Mage.Sets/src/mage/cards/m/MorkrutNecropod.java index 4cfcef937d6..af45b60e8ed 100644 --- a/Mage.Sets/src/mage/cards/m/MorkrutNecropod.java +++ b/Mage.Sets/src/mage/cards/m/MorkrutNecropod.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -57,8 +58,8 @@ public class MorkrutNecropod extends CardImpl { public MorkrutNecropod(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Slug"); - this.subtype.add("Horror"); + this.subtype.add(SubType.SLUG); + this.subtype.add(SubType.HORROR); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/m/Moroii.java b/Mage.Sets/src/mage/cards/m/Moroii.java index 0f6ec561f24..3fd93ffbc87 100644 --- a/Mage.Sets/src/mage/cards/m/Moroii.java +++ b/Mage.Sets/src/mage/cards/m/Moroii.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,7 +46,7 @@ public class Moroii extends CardImpl { public Moroii(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/Morphling.java b/Mage.Sets/src/mage/cards/m/Morphling.java index 594763db26c..ad4a372cf5f 100644 --- a/Mage.Sets/src/mage/cards/m/Morphling.java +++ b/Mage.Sets/src/mage/cards/m/Morphling.java @@ -49,7 +49,7 @@ public class Morphling extends CardImpl { public Morphling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MorselTheft.java b/Mage.Sets/src/mage/cards/m/MorselTheft.java index e60cb31a1a3..dcbbebcf0c5 100644 --- a/Mage.Sets/src/mage/cards/m/MorselTheft.java +++ b/Mage.Sets/src/mage/cards/m/MorselTheft.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ProwlAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -48,7 +49,7 @@ public class MorselTheft extends CardImpl { public MorselTheft(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.SORCERY},"{2}{B}{B}"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.ROGUE); // Prowl {1}{B} this.addAbility(new ProwlAbility(this, "{1}{B}")); diff --git a/Mage.Sets/src/mage/cards/m/Morselhoarder.java b/Mage.Sets/src/mage/cards/m/Morselhoarder.java index 8d5a6b6ba7d..ebd6182449a 100644 --- a/Mage.Sets/src/mage/cards/m/Morselhoarder.java +++ b/Mage.Sets/src/mage/cards/m/Morselhoarder.java @@ -39,6 +39,7 @@ import mage.abilities.mana.ActivatedManaAbilityImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -50,7 +51,7 @@ public class Morselhoarder extends CardImpl { public Morselhoarder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R/G}{R/G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MortalObstinacy.java b/Mage.Sets/src/mage/cards/m/MortalObstinacy.java index 251a40ff57a..c796b174928 100644 --- a/Mage.Sets/src/mage/cards/m/MortalObstinacy.java +++ b/Mage.Sets/src/mage/cards/m/MortalObstinacy.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class MortalObstinacy extends CardImpl { public MortalObstinacy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature you control diff --git a/Mage.Sets/src/mage/cards/m/MortalWound.java b/Mage.Sets/src/mage/cards/m/MortalWound.java index dd13ddd00b8..9264b2cfb23 100644 --- a/Mage.Sets/src/mage/cards/m/MortalWound.java +++ b/Mage.Sets/src/mage/cards/m/MortalWound.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class MortalWound extends CardImpl { public MortalWound(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/m/Mortarpod.java b/Mage.Sets/src/mage/cards/m/Mortarpod.java index 4d4dfb5191d..b83c2f3ff86 100644 --- a/Mage.Sets/src/mage/cards/m/Mortarpod.java +++ b/Mage.Sets/src/mage/cards/m/Mortarpod.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -55,7 +56,7 @@ public class Mortarpod extends CardImpl { public Mortarpod(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Living weapon (When this Equipment enters the battlefield, create a 0/0 black Germ creature token, then attach this to it.) this.addAbility(new LivingWeaponAbility()); diff --git a/Mage.Sets/src/mage/cards/m/MorticianBeetle.java b/Mage.Sets/src/mage/cards/m/MorticianBeetle.java index e1f6500f2c4..32a77a6fb0b 100644 --- a/Mage.Sets/src/mage/cards/m/MorticianBeetle.java +++ b/Mage.Sets/src/mage/cards/m/MorticianBeetle.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -50,7 +51,7 @@ public class MorticianBeetle extends CardImpl { public MorticianBeetle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/Mortipede.java b/Mage.Sets/src/mage/cards/m/Mortipede.java index c753f12b7dc..1b920145ae0 100644 --- a/Mage.Sets/src/mage/cards/m/Mortipede.java +++ b/Mage.Sets/src/mage/cards/m/Mortipede.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.MustBeBlockedByAllSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class Mortipede extends CardImpl { public Mortipede(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MortisDogs.java b/Mage.Sets/src/mage/cards/m/MortisDogs.java index 86392712274..14c837d0084 100644 --- a/Mage.Sets/src/mage/cards/m/MortisDogs.java +++ b/Mage.Sets/src/mage/cards/m/MortisDogs.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.TargetPlayer; @@ -49,7 +50,7 @@ public class MortisDogs extends CardImpl { public MortisDogs(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/Mortivore.java b/Mage.Sets/src/mage/cards/m/Mortivore.java index 0ffeb2d3cd6..fef595f9407 100644 --- a/Mage.Sets/src/mage/cards/m/Mortivore.java +++ b/Mage.Sets/src/mage/cards/m/Mortivore.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class Mortivore extends CardImpl { public Mortivore(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Lhurgoyf"); + this.subtype.add(SubType.LHURGOYF); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MortusStrider.java b/Mage.Sets/src/mage/cards/m/MortusStrider.java index e2d728f6f46..1a503154340 100644 --- a/Mage.Sets/src/mage/cards/m/MortusStrider.java +++ b/Mage.Sets/src/mage/cards/m/MortusStrider.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class MortusStrider extends CardImpl { public MortusStrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{B}"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MosquitoGuard.java b/Mage.Sets/src/mage/cards/m/MosquitoGuard.java index f58c1555ada..a7b5c635406 100644 --- a/Mage.Sets/src/mage/cards/m/MosquitoGuard.java +++ b/Mage.Sets/src/mage/cards/m/MosquitoGuard.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ReinforceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class MosquitoGuard extends CardImpl { public MosquitoGuard (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MossKami.java b/Mage.Sets/src/mage/cards/m/MossKami.java index e1d39be3942..68c2ff669e2 100644 --- a/Mage.Sets/src/mage/cards/m/MossKami.java +++ b/Mage.Sets/src/mage/cards/m/MossKami.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class MossKami extends CardImpl { public MossKami (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MossMonster.java b/Mage.Sets/src/mage/cards/m/MossMonster.java index 09d40bfca16..5cf89fbd3df 100644 --- a/Mage.Sets/src/mage/cards/m/MossMonster.java +++ b/Mage.Sets/src/mage/cards/m/MossMonster.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class MossMonster extends CardImpl { public MossMonster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/m/MossbridgeTroll.java b/Mage.Sets/src/mage/cards/m/MossbridgeTroll.java index 5d4324b0692..2f4c5ce295b 100644 --- a/Mage.Sets/src/mage/cards/m/MossbridgeTroll.java +++ b/Mage.Sets/src/mage/cards/m/MossbridgeTroll.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -66,7 +67,7 @@ public class MossbridgeTroll extends CardImpl { public MossbridgeTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}{G}"); - this.subtype.add("Troll"); + this.subtype.add(SubType.TROLL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/Mosstodon.java b/Mage.Sets/src/mage/cards/m/Mosstodon.java index d4e7415bc42..d006cf05368 100644 --- a/Mage.Sets/src/mage/cards/m/Mosstodon.java +++ b/Mage.Sets/src/mage/cards/m/Mosstodon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class Mosstodon extends CardImpl { public Mosstodon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MothdustChangeling.java b/Mage.Sets/src/mage/cards/m/MothdustChangeling.java index 2eb4bdace20..874bb0292b2 100644 --- a/Mage.Sets/src/mage/cards/m/MothdustChangeling.java +++ b/Mage.Sets/src/mage/cards/m/MothdustChangeling.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -57,7 +58,7 @@ public class MothdustChangeling extends CardImpl { public MothdustChangeling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MotherOfRunes.java b/Mage.Sets/src/mage/cards/m/MotherOfRunes.java index 3b29957032b..489408269a9 100644 --- a/Mage.Sets/src/mage/cards/m/MotherOfRunes.java +++ b/Mage.Sets/src/mage/cards/m/MotherOfRunes.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.GainProtectionFromColorTargetEff import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -48,8 +49,8 @@ public class MotherOfRunes extends CardImpl { public MotherOfRunes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MothriderSamurai.java b/Mage.Sets/src/mage/cards/m/MothriderSamurai.java index 0f925212f58..8ec02527ced 100644 --- a/Mage.Sets/src/mage/cards/m/MothriderSamurai.java +++ b/Mage.Sets/src/mage/cards/m/MothriderSamurai.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class MothriderSamurai extends CardImpl { public MothriderSamurai (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MountainBandit.java b/Mage.Sets/src/mage/cards/m/MountainBandit.java index 5ea3246c4ba..19dfe556b75 100644 --- a/Mage.Sets/src/mage/cards/m/MountainBandit.java +++ b/Mage.Sets/src/mage/cards/m/MountainBandit.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,9 +43,9 @@ public class MountainBandit extends CardImpl { public MountainBandit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MountainGoat.java b/Mage.Sets/src/mage/cards/m/MountainGoat.java index ff15a81b309..7400d4838dd 100644 --- a/Mage.Sets/src/mage/cards/m/MountainGoat.java +++ b/Mage.Sets/src/mage/cards/m/MountainGoat.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.MountainwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class MountainGoat extends CardImpl { public MountainGoat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goat"); + this.subtype.add(SubType.GOAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MountainYeti.java b/Mage.Sets/src/mage/cards/m/MountainYeti.java index 514f3401fea..be982aa9be2 100644 --- a/Mage.Sets/src/mage/cards/m/MountainYeti.java +++ b/Mage.Sets/src/mage/cards/m/MountainYeti.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class MountainYeti extends CardImpl { public MountainYeti(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Yeti"); + this.subtype.add(SubType.YETI); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MountedArchers.java b/Mage.Sets/src/mage/cards/m/MountedArchers.java index 2e703a57487..cfb4b746ae7 100644 --- a/Mage.Sets/src/mage/cards/m/MountedArchers.java +++ b/Mage.Sets/src/mage/cards/m/MountedArchers.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,9 +48,9 @@ public class MountedArchers extends CardImpl { public MountedArchers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MournfulZombie.java b/Mage.Sets/src/mage/cards/m/MournfulZombie.java index 014efe8d4f1..0586dc2e8f7 100644 --- a/Mage.Sets/src/mage/cards/m/MournfulZombie.java +++ b/Mage.Sets/src/mage/cards/m/MournfulZombie.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.GainLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -49,7 +50,7 @@ public class MournfulZombie extends CardImpl { public MournfulZombie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/Mourning.java b/Mage.Sets/src/mage/cards/m/Mourning.java index efe79032af4..3384b93b97f 100644 --- a/Mage.Sets/src/mage/cards/m/Mourning.java +++ b/Mage.Sets/src/mage/cards/m/Mourning.java @@ -50,7 +50,7 @@ public class Mourning extends CardImpl { public Mourning(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/m/MourningThrull.java b/Mage.Sets/src/mage/cards/m/MourningThrull.java index 93597066db2..15f64457135 100644 --- a/Mage.Sets/src/mage/cards/m/MourningThrull.java +++ b/Mage.Sets/src/mage/cards/m/MourningThrull.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class MourningThrull extends CardImpl { public MourningThrull(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W/B}"); - this.subtype.add("Thrull"); + this.subtype.add(SubType.THRULL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/Mournwhelk.java b/Mage.Sets/src/mage/cards/m/Mournwhelk.java index 08044bfdd5d..63a1df74c76 100644 --- a/Mage.Sets/src/mage/cards/m/Mournwhelk.java +++ b/Mage.Sets/src/mage/cards/m/Mournwhelk.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -46,7 +47,7 @@ public class Mournwhelk extends CardImpl { public Mournwhelk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{B}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/Mournwillow.java b/Mage.Sets/src/mage/cards/m/Mournwillow.java index 30c66c5e6f4..cff2cf04b16 100644 --- a/Mage.Sets/src/mage/cards/m/Mournwillow.java +++ b/Mage.Sets/src/mage/cards/m/Mournwillow.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.game.Game; import mage.game.permanent.Permanent; @@ -50,8 +51,8 @@ public class Mournwillow extends CardImpl { public Mournwillow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MtendaGriffin.java b/Mage.Sets/src/mage/cards/m/MtendaGriffin.java index a6f05aaf454..70ba608ca61 100644 --- a/Mage.Sets/src/mage/cards/m/MtendaGriffin.java +++ b/Mage.Sets/src/mage/cards/m/MtendaGriffin.java @@ -63,7 +63,7 @@ public class MtendaGriffin extends CardImpl { public MtendaGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MtendaHerder.java b/Mage.Sets/src/mage/cards/m/MtendaHerder.java index d681fecfc17..e5af1f25d87 100644 --- a/Mage.Sets/src/mage/cards/m/MtendaHerder.java +++ b/Mage.Sets/src/mage/cards/m/MtendaHerder.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlankingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class MtendaHerder extends CardImpl { public MtendaHerder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MuckRats.java b/Mage.Sets/src/mage/cards/m/MuckRats.java index 171494a9999..908e72eb880 100644 --- a/Mage.Sets/src/mage/cards/m/MuckRats.java +++ b/Mage.Sets/src/mage/cards/m/MuckRats.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class MuckRats extends CardImpl { public MuckRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MudbrawlerCohort.java b/Mage.Sets/src/mage/cards/m/MudbrawlerCohort.java index c04d95d41f5..5aa2ce6cf94 100644 --- a/Mage.Sets/src/mage/cards/m/MudbrawlerCohort.java +++ b/Mage.Sets/src/mage/cards/m/MudbrawlerCohort.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -64,8 +65,8 @@ public class MudbrawlerCohort extends CardImpl { public MudbrawlerCohort(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.color.setRed(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MudbrawlerRaiders.java b/Mage.Sets/src/mage/cards/m/MudbrawlerRaiders.java index e30190d1ccb..2c7a93a256f 100644 --- a/Mage.Sets/src/mage/cards/m/MudbrawlerRaiders.java +++ b/Mage.Sets/src/mage/cards/m/MudbrawlerRaiders.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -53,8 +54,8 @@ public class MudbrawlerRaiders extends CardImpl { public MudbrawlerRaiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R/G}{R/G}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MudbuttonClanger.java b/Mage.Sets/src/mage/cards/m/MudbuttonClanger.java index 31f04cb6fe4..cd9033f43b0 100644 --- a/Mage.Sets/src/mage/cards/m/MudbuttonClanger.java +++ b/Mage.Sets/src/mage/cards/m/MudbuttonClanger.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -44,8 +45,8 @@ public class MudbuttonClanger extends CardImpl { public MudbuttonClanger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MudbuttonTorchrunner.java b/Mage.Sets/src/mage/cards/m/MudbuttonTorchrunner.java index c60e212e98d..fee4bc3f5f7 100644 --- a/Mage.Sets/src/mage/cards/m/MudbuttonTorchrunner.java +++ b/Mage.Sets/src/mage/cards/m/MudbuttonTorchrunner.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; /** @@ -45,8 +46,8 @@ public class MudbuttonTorchrunner extends CardImpl { public MudbuttonTorchrunner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MulDayaChannelers.java b/Mage.Sets/src/mage/cards/m/MulDayaChannelers.java index 97357fac102..5b84f8caa4e 100644 --- a/Mage.Sets/src/mage/cards/m/MulDayaChannelers.java +++ b/Mage.Sets/src/mage/cards/m/MulDayaChannelers.java @@ -45,6 +45,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -59,9 +60,9 @@ public class MulDayaChannelers extends CardImpl { public MulDayaChannelers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); + this.subtype.add(SubType.SHAMAN); this.color.setGreen(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/Mulldrifter.java b/Mage.Sets/src/mage/cards/m/Mulldrifter.java index 3af38fc9e54..71fde92e862 100644 --- a/Mage.Sets/src/mage/cards/m/Mulldrifter.java +++ b/Mage.Sets/src/mage/cards/m/Mulldrifter.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class Mulldrifter extends CardImpl { public Mulldrifter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MultaniMaroSorcerer.java b/Mage.Sets/src/mage/cards/m/MultaniMaroSorcerer.java index 265fd645a2c..4ae9f6c4b5b 100644 --- a/Mage.Sets/src/mage/cards/m/MultaniMaroSorcerer.java +++ b/Mage.Sets/src/mage/cards/m/MultaniMaroSorcerer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class MultaniMaroSorcerer extends CardImpl { public MultaniMaroSorcerer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/m/MultanisAcolyte.java b/Mage.Sets/src/mage/cards/m/MultanisAcolyte.java index e8273e17d6a..ed229a85dca 100644 --- a/Mage.Sets/src/mage/cards/m/MultanisAcolyte.java +++ b/Mage.Sets/src/mage/cards/m/MultanisAcolyte.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class MultanisAcolyte extends CardImpl { public MultanisAcolyte(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MultanisHarmony.java b/Mage.Sets/src/mage/cards/m/MultanisHarmony.java index 9fd09be1eee..27cfd8b36c8 100644 --- a/Mage.Sets/src/mage/cards/m/MultanisHarmony.java +++ b/Mage.Sets/src/mage/cards/m/MultanisHarmony.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class MultanisHarmony extends CardImpl { public MultanisHarmony(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/m/MultiformWonder.java b/Mage.Sets/src/mage/cards/m/MultiformWonder.java index 565a14d7cfd..1c4efc97cc6 100644 --- a/Mage.Sets/src/mage/cards/m/MultiformWonder.java +++ b/Mage.Sets/src/mage/cards/m/MultiformWonder.java @@ -61,7 +61,7 @@ public class MultiformWonder extends CardImpl { public MultiformWonder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MummyParamount.java b/Mage.Sets/src/mage/cards/m/MummyParamount.java index a05538c7e1b..5bca13317f0 100644 --- a/Mage.Sets/src/mage/cards/m/MummyParamount.java +++ b/Mage.Sets/src/mage/cards/m/MummyParamount.java @@ -1,74 +1,74 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.filter.predicate.permanent.AnotherPredicate; - -/** - * - * @author emerald000 - */ -public class MummyParamount extends CardImpl { - - private static final FilterControlledPermanent filter = new FilterControlledPermanent("another Zombie"); - static { - filter.add(new SubtypePredicate(SubType.ZOMBIE)); - filter.add(new AnotherPredicate()); - } - - public MummyParamount(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - - this.subtype.add("Zombie"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Whenever another Zombie enters the battlefield under your control, Mummy Paramount gets +1/+1 until end of turn. - this.addAbility(new EntersBattlefieldAllTriggeredAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), filter)); - } - - public MummyParamount(final MummyParamount card) { - super(card); - } - - @Override - public MummyParamount copy() { - return new MummyParamount(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.predicate.permanent.AnotherPredicate; + +/** + * + * @author emerald000 + */ +public class MummyParamount extends CardImpl { + + private static final FilterControlledPermanent filter = new FilterControlledPermanent("another Zombie"); + static { + filter.add(new SubtypePredicate(SubType.ZOMBIE)); + filter.add(new AnotherPredicate()); + } + + public MummyParamount(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); + + this.subtype.add(SubType.ZOMBIE); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Whenever another Zombie enters the battlefield under your control, Mummy Paramount gets +1/+1 until end of turn. + this.addAbility(new EntersBattlefieldAllTriggeredAbility(new BoostSourceEffect(1, 1, Duration.EndOfTurn), filter)); + } + + public MummyParamount(final MummyParamount card) { + super(card); + } + + @Override + public MummyParamount copy() { + return new MummyParamount(this); + } +} diff --git a/Mage.Sets/src/mage/cards/m/MundaAmbushLeader.java b/Mage.Sets/src/mage/cards/m/MundaAmbushLeader.java index 844331865fb..f1fc6db2970 100644 --- a/Mage.Sets/src/mage/cards/m/MundaAmbushLeader.java +++ b/Mage.Sets/src/mage/cards/m/MundaAmbushLeader.java @@ -54,8 +54,8 @@ public class MundaAmbushLeader extends CardImpl { public MundaAmbushLeader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Kor"); - this.subtype.add("Ally"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.ALLY); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MundasVanguard.java b/Mage.Sets/src/mage/cards/m/MundasVanguard.java index ebcf67ecfd9..07ab71a581b 100644 --- a/Mage.Sets/src/mage/cards/m/MundasVanguard.java +++ b/Mage.Sets/src/mage/cards/m/MundasVanguard.java @@ -63,9 +63,9 @@ public class MundasVanguard extends CardImpl { public MundasVanguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Knight"); - this.subtype.add("Ally"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.KNIGHT); + this.subtype.add(SubType.ALLY); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/Mundungu.java b/Mage.Sets/src/mage/cards/m/Mundungu.java index dc93a611030..63e2aba6404 100644 --- a/Mage.Sets/src/mage/cards/m/Mundungu.java +++ b/Mage.Sets/src/mage/cards/m/Mundungu.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.CounterUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetSpell; @@ -51,8 +52,8 @@ public class Mundungu extends CardImpl { public Mundungu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MunghaWurm.java b/Mage.Sets/src/mage/cards/m/MunghaWurm.java index 002c29c4478..0e26793d501 100644 --- a/Mage.Sets/src/mage/cards/m/MunghaWurm.java +++ b/Mage.Sets/src/mage/cards/m/MunghaWurm.java @@ -35,6 +35,7 @@ import mage.abilities.effects.RestrictionUntapNotMoreThanEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -50,7 +51,7 @@ public class MunghaWurm extends CardImpl { public MunghaWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MurasaPyromancer.java b/Mage.Sets/src/mage/cards/m/MurasaPyromancer.java index 020977c63b3..d230d127fe5 100644 --- a/Mage.Sets/src/mage/cards/m/MurasaPyromancer.java +++ b/Mage.Sets/src/mage/cards/m/MurasaPyromancer.java @@ -58,9 +58,9 @@ public class MurasaPyromancer extends CardImpl { public MurasaPyromancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); + this.subtype.add(SubType.ALLY); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MurasaRanger.java b/Mage.Sets/src/mage/cards/m/MurasaRanger.java index 6bd885ffc56..34dba086ff7 100644 --- a/Mage.Sets/src/mage/cards/m/MurasaRanger.java +++ b/Mage.Sets/src/mage/cards/m/MurasaRanger.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -46,8 +47,8 @@ public class MurasaRanger extends CardImpl { public MurasaRanger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MurderInvestigation.java b/Mage.Sets/src/mage/cards/m/MurderInvestigation.java index a324b524aa3..969d81fbfb4 100644 --- a/Mage.Sets/src/mage/cards/m/MurderInvestigation.java +++ b/Mage.Sets/src/mage/cards/m/MurderInvestigation.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -54,7 +55,7 @@ public class MurderInvestigation extends CardImpl { public MurderInvestigation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature you control TargetPermanent auraTarget = new TargetControlledCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/m/MurderOfCrows.java b/Mage.Sets/src/mage/cards/m/MurderOfCrows.java index a848efe2545..39e69cc9e87 100644 --- a/Mage.Sets/src/mage/cards/m/MurderOfCrows.java +++ b/Mage.Sets/src/mage/cards/m/MurderOfCrows.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -48,7 +49,7 @@ public class MurderOfCrows extends CardImpl { public MurderOfCrows(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MurderersAxe.java b/Mage.Sets/src/mage/cards/m/MurderersAxe.java index 41cc20c7acc..4623adbb6d9 100644 --- a/Mage.Sets/src/mage/cards/m/MurderersAxe.java +++ b/Mage.Sets/src/mage/cards/m/MurderersAxe.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class MurderersAxe extends CardImpl { public MurderersAxe(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+2. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2))); diff --git a/Mage.Sets/src/mage/cards/m/MurderousRedcap.java b/Mage.Sets/src/mage/cards/m/MurderousRedcap.java index 0f1d1e1e47d..0f34f234d82 100644 --- a/Mage.Sets/src/mage/cards/m/MurderousRedcap.java +++ b/Mage.Sets/src/mage/cards/m/MurderousRedcap.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.PersistAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,8 +52,8 @@ public class MurderousRedcap extends CardImpl { public MurderousRedcap(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B/R}{B/R}"); - this.subtype.add("Goblin"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MurkDwellers.java b/Mage.Sets/src/mage/cards/m/MurkDwellers.java index 2db62020733..db8ee6fdae7 100644 --- a/Mage.Sets/src/mage/cards/m/MurkDwellers.java +++ b/Mage.Sets/src/mage/cards/m/MurkDwellers.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class MurkDwellers extends CardImpl { public MurkDwellers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MurkStrider.java b/Mage.Sets/src/mage/cards/m/MurkStrider.java index 5539d22a2bb..94b539b512d 100644 --- a/Mage.Sets/src/mage/cards/m/MurkStrider.java +++ b/Mage.Sets/src/mage/cards/m/MurkStrider.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -48,8 +49,8 @@ public class MurkStrider extends CardImpl { public MurkStrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Processor"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.PROCESSOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MurkfiendLiege.java b/Mage.Sets/src/mage/cards/m/MurkfiendLiege.java index 3b77901339e..3d38b2c6d88 100644 --- a/Mage.Sets/src/mage/cards/m/MurkfiendLiege.java +++ b/Mage.Sets/src/mage/cards/m/MurkfiendLiege.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.UntapAllDuringEachOtherPlayersUn import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -59,7 +60,7 @@ public class MurkfiendLiege extends CardImpl { public MurkfiendLiege(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G/U}{G/U}{G/U}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MurmuringBosk.java b/Mage.Sets/src/mage/cards/m/MurmuringBosk.java index c8b8f5cd5ae..7747dc04cc2 100644 --- a/Mage.Sets/src/mage/cards/m/MurmuringBosk.java +++ b/Mage.Sets/src/mage/cards/m/MurmuringBosk.java @@ -58,7 +58,7 @@ public class MurmuringBosk extends CardImpl { public MurmuringBosk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Forest"); + this.subtype.add(SubType.FOREST); // ({tap}: Add {G} to your mana pool.) this.addAbility(new GreenManaAbility()); diff --git a/Mage.Sets/src/mage/cards/m/MurmuringPhantasm.java b/Mage.Sets/src/mage/cards/m/MurmuringPhantasm.java index f0ff3f848dc..e92ba98abe1 100644 --- a/Mage.Sets/src/mage/cards/m/MurmuringPhantasm.java +++ b/Mage.Sets/src/mage/cards/m/MurmuringPhantasm.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class MurmuringPhantasm extends CardImpl { public MurmuringPhantasm (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MuscleSliver.java b/Mage.Sets/src/mage/cards/m/MuscleSliver.java index 9ee61caa773..b7997a190e8 100644 --- a/Mage.Sets/src/mage/cards/m/MuscleSliver.java +++ b/Mage.Sets/src/mage/cards/m/MuscleSliver.java @@ -53,7 +53,7 @@ public class MuscleSliver extends CardImpl { public MuscleSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MuzzioVisionaryArchitect.java b/Mage.Sets/src/mage/cards/m/MuzzioVisionaryArchitect.java index ddcde945502..14539941a3e 100644 --- a/Mage.Sets/src/mage/cards/m/MuzzioVisionaryArchitect.java +++ b/Mage.Sets/src/mage/cards/m/MuzzioVisionaryArchitect.java @@ -37,6 +37,7 @@ import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class MuzzioVisionaryArchitect extends CardImpl { public MuzzioVisionaryArchitect(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/Muzzle.java b/Mage.Sets/src/mage/cards/m/Muzzle.java index b7416e345c9..cecffa696a6 100644 --- a/Mage.Sets/src/mage/cards/m/Muzzle.java +++ b/Mage.Sets/src/mage/cards/m/Muzzle.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class Muzzle extends CardImpl { public Muzzle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/m/MwonvuliBeastTracker.java b/Mage.Sets/src/mage/cards/m/MwonvuliBeastTracker.java index e741baa592b..c897bc2b2e3 100644 --- a/Mage.Sets/src/mage/cards/m/MwonvuliBeastTracker.java +++ b/Mage.Sets/src/mage/cards/m/MwonvuliBeastTracker.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -63,8 +64,8 @@ public class MwonvuliBeastTracker extends CardImpl { public MwonvuliBeastTracker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MwonvuliOoze.java b/Mage.Sets/src/mage/cards/m/MwonvuliOoze.java index 5f27230e21c..36bc7151119 100644 --- a/Mage.Sets/src/mage/cards/m/MwonvuliOoze.java +++ b/Mage.Sets/src/mage/cards/m/MwonvuliOoze.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.CumulativeUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -52,7 +53,7 @@ public class MwonvuliOoze extends CardImpl { public MwonvuliOoze(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Ooze"); + this.subtype.add(SubType.OOZE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MycoidShepherd.java b/Mage.Sets/src/mage/cards/m/MycoidShepherd.java index 2c234c6262c..51058d58604 100644 --- a/Mage.Sets/src/mage/cards/m/MycoidShepherd.java +++ b/Mage.Sets/src/mage/cards/m/MycoidShepherd.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -50,7 +51,7 @@ public class MycoidShepherd extends CardImpl { public MycoidShepherd(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}{W}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); diff --git a/Mage.Sets/src/mage/cards/m/Mycologist.java b/Mage.Sets/src/mage/cards/m/Mycologist.java index 703cec80738..4eb63fd55ba 100644 --- a/Mage.Sets/src/mage/cards/m/Mycologist.java +++ b/Mage.Sets/src/mage/cards/m/Mycologist.java @@ -62,8 +62,8 @@ public class Mycologist extends CardImpl { public Mycologist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/Mycoloth.java b/Mage.Sets/src/mage/cards/m/Mycoloth.java index e1a7dd92d06..1c5ffa24239 100644 --- a/Mage.Sets/src/mage/cards/m/Mycoloth.java +++ b/Mage.Sets/src/mage/cards/m/Mycoloth.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DevourAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.counters.CounterType; import mage.game.permanent.token.SaprolingToken; @@ -49,7 +50,7 @@ public class Mycoloth extends CardImpl { public Mycoloth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MycosynthFiend.java b/Mage.Sets/src/mage/cards/m/MycosynthFiend.java index 7f9b6deee19..5ea9bf19e2c 100644 --- a/Mage.Sets/src/mage/cards/m/MycosynthFiend.java +++ b/Mage.Sets/src/mage/cards/m/MycosynthFiend.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class MycosynthFiend extends CardImpl { public MycosynthFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MycosynthGolem.java b/Mage.Sets/src/mage/cards/m/MycosynthGolem.java index df42c690fcf..3b7744b5821 100644 --- a/Mage.Sets/src/mage/cards/m/MycosynthGolem.java +++ b/Mage.Sets/src/mage/cards/m/MycosynthGolem.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.AffinityForArtifactsAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -54,7 +55,7 @@ public class MycosynthGolem extends CardImpl { public MycosynthGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{11}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/m/MyojinOfCleansingFire.java b/Mage.Sets/src/mage/cards/m/MyojinOfCleansingFire.java index c86e28bd00d..67d85427cdc 100644 --- a/Mage.Sets/src/mage/cards/m/MyojinOfCleansingFire.java +++ b/Mage.Sets/src/mage/cards/m/MyojinOfCleansingFire.java @@ -44,6 +44,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -65,7 +66,7 @@ public class MyojinOfCleansingFire extends CardImpl { public MyojinOfCleansingFire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/m/MyojinOfInfiniteRage.java b/Mage.Sets/src/mage/cards/m/MyojinOfInfiniteRage.java index a8311785579..8d7379169fe 100644 --- a/Mage.Sets/src/mage/cards/m/MyojinOfInfiniteRage.java +++ b/Mage.Sets/src/mage/cards/m/MyojinOfInfiniteRage.java @@ -44,6 +44,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class MyojinOfInfiniteRage extends CardImpl { public MyojinOfInfiniteRage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{7}{R}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(7); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MyojinOfLifesWeb.java b/Mage.Sets/src/mage/cards/m/MyojinOfLifesWeb.java index 13c18a8a858..f804c301723 100644 --- a/Mage.Sets/src/mage/cards/m/MyojinOfLifesWeb.java +++ b/Mage.Sets/src/mage/cards/m/MyojinOfLifesWeb.java @@ -61,7 +61,7 @@ public class MyojinOfLifesWeb extends CardImpl { public MyojinOfLifesWeb(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/m/MyojinOfNightsReach.java b/Mage.Sets/src/mage/cards/m/MyojinOfNightsReach.java index 1bca7fcc2be..3be621c2b63 100644 --- a/Mage.Sets/src/mage/cards/m/MyojinOfNightsReach.java +++ b/Mage.Sets/src/mage/cards/m/MyojinOfNightsReach.java @@ -59,7 +59,7 @@ public class MyojinOfNightsReach extends CardImpl { public MyojinOfNightsReach(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MyojinOfSeeingWinds.java b/Mage.Sets/src/mage/cards/m/MyojinOfSeeingWinds.java index f0d22b3ae54..2f33f93c205 100644 --- a/Mage.Sets/src/mage/cards/m/MyojinOfSeeingWinds.java +++ b/Mage.Sets/src/mage/cards/m/MyojinOfSeeingWinds.java @@ -64,7 +64,7 @@ public class MyojinOfSeeingWinds extends CardImpl { public MyojinOfSeeingWinds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{7}{U}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MyrAdapter.java b/Mage.Sets/src/mage/cards/m/MyrAdapter.java index 1e361a71bf3..3ae3e6d434d 100644 --- a/Mage.Sets/src/mage/cards/m/MyrAdapter.java +++ b/Mage.Sets/src/mage/cards/m/MyrAdapter.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class MyrAdapter extends CardImpl { public MyrAdapter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MyrBattlesphere.java b/Mage.Sets/src/mage/cards/m/MyrBattlesphere.java index 24f4b557792..923d1f6a541 100644 --- a/Mage.Sets/src/mage/cards/m/MyrBattlesphere.java +++ b/Mage.Sets/src/mage/cards/m/MyrBattlesphere.java @@ -62,8 +62,8 @@ public class MyrBattlesphere extends CardImpl { public MyrBattlesphere(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Myr"); - this.subtype.add("Construct"); + this.subtype.add(SubType.MYR); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(4); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/m/MyrEnforcer.java b/Mage.Sets/src/mage/cards/m/MyrEnforcer.java index 553018d7196..9d1cd494ce8 100644 --- a/Mage.Sets/src/mage/cards/m/MyrEnforcer.java +++ b/Mage.Sets/src/mage/cards/m/MyrEnforcer.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.AffinityForArtifactsAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class MyrEnforcer extends CardImpl { public MyrEnforcer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MyrGalvanizer.java b/Mage.Sets/src/mage/cards/m/MyrGalvanizer.java index 81b1bc0a7ed..9253ff1dd37 100644 --- a/Mage.Sets/src/mage/cards/m/MyrGalvanizer.java +++ b/Mage.Sets/src/mage/cards/m/MyrGalvanizer.java @@ -58,7 +58,7 @@ public class MyrGalvanizer extends CardImpl { public MyrGalvanizer (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(2); this.toughness = new MageInt(2); // Other Myr creatures you control get +1/+1. diff --git a/Mage.Sets/src/mage/cards/m/MyrIncubator.java b/Mage.Sets/src/mage/cards/m/MyrIncubator.java index 8c78679d157..498af27e1a7 100644 --- a/Mage.Sets/src/mage/cards/m/MyrIncubator.java +++ b/Mage.Sets/src/mage/cards/m/MyrIncubator.java @@ -1,118 +1,118 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.m; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.SearchEffect; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.CardsImpl; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.FilterCard; -import mage.filter.predicate.mageobject.CardTypePredicate; -import mage.game.Game; -import mage.game.permanent.token.MyrToken; -import mage.players.Player; -import mage.target.common.TargetCardInLibrary; - -/** - * - * @author jeffwadsworth - */ -public class MyrIncubator extends CardImpl { - - public MyrIncubator(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{6}"); - - // {6}, {tap}, Sacrifice Myr Incubator: Search your library for any number of artifact cards, exile them, then put that many 1/1 colorless Myr artifact creature tokens onto the battlefield. Then shuffle your library. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MyrIncubatorEffect(), new ManaCostsImpl("{6}")); - ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeSourceCost()); - this.addAbility(ability); - - } - - public MyrIncubator(final MyrIncubator card) { - super(card); - } - - @Override - public MyrIncubator copy() { - return new MyrIncubator(this); - } -} - -class MyrIncubatorEffect extends SearchEffect { - - private static final FilterCard filter = new FilterCard(); - - static { - filter.add(new CardTypePredicate(CardType.ARTIFACT)); - } - - int tokensToCreate = 0; - - MyrIncubatorEffect() { - super(new TargetCardInLibrary(0, Integer.MAX_VALUE, filter), Outcome.Neutral); - staticText = "Search your library for any number of artifact cards, exile them, then put that many 1/1 colorless Myr artifact creature tokens onto the battlefield. Then shuffle your library"; - } - - MyrIncubatorEffect(final MyrIncubatorEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null - && controller.searchLibrary(target, game)) { - if (!target.getTargets().isEmpty()) { - tokensToCreate = target.getTargets().size(); - controller.moveCards(new CardsImpl(target.getTargets()), Zone.EXILED, source, game); - } - CreateTokenEffect effect = new CreateTokenEffect(new MyrToken(), tokensToCreate); - effect.apply(game, source); - controller.shuffleLibrary(source, game); - return true; - } - return false; - } - - @Override - public MyrIncubatorEffect copy() { - return new MyrIncubatorEffect(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.m; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.SearchEffect; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.CardsImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.game.Game; +import mage.game.permanent.token.MyrToken; +import mage.players.Player; +import mage.target.common.TargetCardInLibrary; + +/** + * + * @author jeffwadsworth + */ +public class MyrIncubator extends CardImpl { + + public MyrIncubator(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{6}"); + + // {6}, {tap}, Sacrifice Myr Incubator: Search your library for any number of artifact cards, exile them, then put that many 1/1 colorless Myr artifact creature tokens onto the battlefield. Then shuffle your library. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new MyrIncubatorEffect(), new ManaCostsImpl("{6}")); + ability.addCost(new TapSourceCost()); + ability.addCost(new SacrificeSourceCost()); + this.addAbility(ability); + + } + + public MyrIncubator(final MyrIncubator card) { + super(card); + } + + @Override + public MyrIncubator copy() { + return new MyrIncubator(this); + } +} + +class MyrIncubatorEffect extends SearchEffect { + + private static final FilterCard filter = new FilterCard(); + + static { + filter.add(new CardTypePredicate(CardType.ARTIFACT)); + } + + int tokensToCreate = 0; + + MyrIncubatorEffect() { + super(new TargetCardInLibrary(0, Integer.MAX_VALUE, filter), Outcome.Neutral); + staticText = "Search your library for any number of artifact cards, exile them, then put that many 1/1 colorless Myr artifact creature tokens onto the battlefield. Then shuffle your library"; + } + + MyrIncubatorEffect(final MyrIncubatorEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null + && controller.searchLibrary(target, game)) { + if (!target.getTargets().isEmpty()) { + tokensToCreate = target.getTargets().size(); + controller.moveCards(new CardsImpl(target.getTargets()), Zone.EXILED, source, game); + } + CreateTokenEffect effect = new CreateTokenEffect(new MyrToken(), tokensToCreate); + effect.apply(game, source); + controller.shuffleLibrary(source, game); + return true; + } + return false; + } + + @Override + public MyrIncubatorEffect copy() { + return new MyrIncubatorEffect(this); + } +} diff --git a/Mage.Sets/src/mage/cards/m/MyrLandshaper.java b/Mage.Sets/src/mage/cards/m/MyrLandshaper.java index 13ea591a964..ce9b56dad4d 100644 --- a/Mage.Sets/src/mage/cards/m/MyrLandshaper.java +++ b/Mage.Sets/src/mage/cards/m/MyrLandshaper.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.AddCardTypeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.Target; @@ -49,7 +50,7 @@ public class MyrLandshaper extends CardImpl { public MyrLandshaper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MyrMindservant.java b/Mage.Sets/src/mage/cards/m/MyrMindservant.java index 4b105b347f0..a188d848f5d 100644 --- a/Mage.Sets/src/mage/cards/m/MyrMindservant.java +++ b/Mage.Sets/src/mage/cards/m/MyrMindservant.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ShuffleLibrarySourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class MyrMindservant extends CardImpl { public MyrMindservant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MyrMoonvessel.java b/Mage.Sets/src/mage/cards/m/MyrMoonvessel.java index 8f6fc8faae2..e062059faf8 100644 --- a/Mage.Sets/src/mage/cards/m/MyrMoonvessel.java +++ b/Mage.Sets/src/mage/cards/m/MyrMoonvessel.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.BasicManaEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -43,7 +44,7 @@ public class MyrMoonvessel extends CardImpl { public MyrMoonvessel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(new DiesTriggeredAbility(new BasicManaEffect(Mana.ColorlessMana(1)))); diff --git a/Mage.Sets/src/mage/cards/m/MyrPropagator.java b/Mage.Sets/src/mage/cards/m/MyrPropagator.java index 9795b4e1074..d7304695f01 100644 --- a/Mage.Sets/src/mage/cards/m/MyrPropagator.java +++ b/Mage.Sets/src/mage/cards/m/MyrPropagator.java @@ -37,6 +37,7 @@ import mage.abilities.effects.CreateTokenCopySourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class MyrPropagator extends CardImpl { public MyrPropagator(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MyrQuadropod.java b/Mage.Sets/src/mage/cards/m/MyrQuadropod.java index ed01899b608..763e9db1b9c 100644 --- a/Mage.Sets/src/mage/cards/m/MyrQuadropod.java +++ b/Mage.Sets/src/mage/cards/m/MyrQuadropod.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.SwitchPowerToughnessSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class MyrQuadropod extends CardImpl { public MyrQuadropod(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MyrRetriever.java b/Mage.Sets/src/mage/cards/m/MyrRetriever.java index 3aa2cf1cd4f..22a5ec47fcf 100644 --- a/Mage.Sets/src/mage/cards/m/MyrRetriever.java +++ b/Mage.Sets/src/mage/cards/m/MyrRetriever.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactCard; import mage.filter.predicate.mageobject.AnotherCardPredicate; import mage.target.common.TargetCardInYourGraveyard; @@ -53,7 +54,7 @@ public class MyrRetriever extends CardImpl { public MyrRetriever(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MyrServitor.java b/Mage.Sets/src/mage/cards/m/MyrServitor.java index b3398c2c7b4..a545f363d54 100644 --- a/Mage.Sets/src/mage/cards/m/MyrServitor.java +++ b/Mage.Sets/src/mage/cards/m/MyrServitor.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class MyrServitor extends CardImpl { public MyrServitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MyrSire.java b/Mage.Sets/src/mage/cards/m/MyrSire.java index 38443525ed3..96a30bb4f1b 100644 --- a/Mage.Sets/src/mage/cards/m/MyrSire.java +++ b/Mage.Sets/src/mage/cards/m/MyrSire.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.MyrToken; /** @@ -45,7 +46,7 @@ public class MyrSire extends CardImpl { public MyrSire (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(new DiesTriggeredAbility(new CreateTokenEffect(new MyrToken()))); diff --git a/Mage.Sets/src/mage/cards/m/MyrSuperion.java b/Mage.Sets/src/mage/cards/m/MyrSuperion.java index 4848b50dbc1..1db95392432 100644 --- a/Mage.Sets/src/mage/cards/m/MyrSuperion.java +++ b/Mage.Sets/src/mage/cards/m/MyrSuperion.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.InfoEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -46,7 +47,7 @@ public class MyrSuperion extends CardImpl { public MyrSuperion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/m/MyrWelder.java b/Mage.Sets/src/mage/cards/m/MyrWelder.java index 741aadc27fb..d2eef6d2edc 100644 --- a/Mage.Sets/src/mage/cards/m/MyrWelder.java +++ b/Mage.Sets/src/mage/cards/m/MyrWelder.java @@ -41,6 +41,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -59,7 +60,7 @@ public class MyrWelder extends CardImpl { public MyrWelder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/Myrsmith.java b/Mage.Sets/src/mage/cards/m/Myrsmith.java index a1532ab07ab..e0c709f1f82 100644 --- a/Mage.Sets/src/mage/cards/m/Myrsmith.java +++ b/Mage.Sets/src/mage/cards/m/Myrsmith.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactSpell; import mage.game.Game; import mage.game.permanent.token.MyrToken; @@ -49,8 +50,8 @@ public class Myrsmith extends CardImpl { public Myrsmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MysticCrusader.java b/Mage.Sets/src/mage/cards/m/MysticCrusader.java index 8ed576e615c..0ca52c27afc 100644 --- a/Mage.Sets/src/mage/cards/m/MysticCrusader.java +++ b/Mage.Sets/src/mage/cards/m/MysticCrusader.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -53,9 +54,9 @@ public class MysticCrusader extends CardImpl { public MysticCrusader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); - this.subtype.add("Mystic"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); + this.subtype.add(SubType.MYSTIC); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MysticEnforcer.java b/Mage.Sets/src/mage/cards/m/MysticEnforcer.java index 9ad26da1eae..e4892dfabad 100644 --- a/Mage.Sets/src/mage/cards/m/MysticEnforcer.java +++ b/Mage.Sets/src/mage/cards/m/MysticEnforcer.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -53,9 +54,9 @@ public class MysticEnforcer extends CardImpl { public MysticEnforcer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{W}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); - this.subtype.add("Mystic"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); + this.subtype.add(SubType.MYSTIC); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/m/MysticFamiliar.java b/Mage.Sets/src/mage/cards/m/MysticFamiliar.java index bddd96c2f1e..0ede4249fb3 100644 --- a/Mage.Sets/src/mage/cards/m/MysticFamiliar.java +++ b/Mage.Sets/src/mage/cards/m/MysticFamiliar.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class MysticFamiliar extends CardImpl { public MysticFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MysticMight.java b/Mage.Sets/src/mage/cards/m/MysticMight.java index bbaed1a2d2f..de75a16bc7c 100644 --- a/Mage.Sets/src/mage/cards/m/MysticMight.java +++ b/Mage.Sets/src/mage/cards/m/MysticMight.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class MysticMight extends CardImpl { public MysticMight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land you control TargetPermanent auraTarget = new TargetPermanent(new FilterControlledLandPermanent()); diff --git a/Mage.Sets/src/mage/cards/m/MysticOfTheHiddenWay.java b/Mage.Sets/src/mage/cards/m/MysticOfTheHiddenWay.java index 7cfec3ee5ce..d2c858757cc 100644 --- a/Mage.Sets/src/mage/cards/m/MysticOfTheHiddenWay.java +++ b/Mage.Sets/src/mage/cards/m/MysticOfTheHiddenWay.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class MysticOfTheHiddenWay extends CardImpl { public MysticOfTheHiddenWay(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MysticPenitent.java b/Mage.Sets/src/mage/cards/m/MysticPenitent.java index 21963bf1032..46303145ecf 100644 --- a/Mage.Sets/src/mage/cards/m/MysticPenitent.java +++ b/Mage.Sets/src/mage/cards/m/MysticPenitent.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,9 +53,9 @@ public class MysticPenitent extends CardImpl { public MysticPenitent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); - this.subtype.add("Mystic"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); + this.subtype.add(SubType.MYSTIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MysticRestraints.java b/Mage.Sets/src/mage/cards/m/MysticRestraints.java index f5f32c95665..346910c92bf 100644 --- a/Mage.Sets/src/mage/cards/m/MysticRestraints.java +++ b/Mage.Sets/src/mage/cards/m/MysticRestraints.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class MysticRestraints extends CardImpl { public MysticRestraints(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash diff --git a/Mage.Sets/src/mage/cards/m/MysticSnake.java b/Mage.Sets/src/mage/cards/m/MysticSnake.java index 3008e161826..8b4af7c6b49 100644 --- a/Mage.Sets/src/mage/cards/m/MysticSnake.java +++ b/Mage.Sets/src/mage/cards/m/MysticSnake.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetSpell; /** @@ -45,7 +46,7 @@ public class MysticSnake extends CardImpl { public MysticSnake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{U}{U}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/m/MysticVeil.java b/Mage.Sets/src/mage/cards/m/MysticVeil.java index a826a3654e6..c57e7841eac 100644 --- a/Mage.Sets/src/mage/cards/m/MysticVeil.java +++ b/Mage.Sets/src/mage/cards/m/MysticVeil.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class MysticVeil extends CardImpl { public MysticVeil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // You may cast Mystic Veil as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. this.addAbility(new SimpleStaticAbility(Zone.ALL, new CastAsThoughItHadFlashSourceEffect(Duration.EndOfGame))); diff --git a/Mage.Sets/src/mage/cards/m/MysticVisionary.java b/Mage.Sets/src/mage/cards/m/MysticVisionary.java index 87e1722e69e..2f3e1e6807b 100644 --- a/Mage.Sets/src/mage/cards/m/MysticVisionary.java +++ b/Mage.Sets/src/mage/cards/m/MysticVisionary.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,9 +50,9 @@ public class MysticVisionary extends CardImpl { public MysticVisionary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); - this.subtype.add("Mystic"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); + this.subtype.add(SubType.MYSTIC); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/m/MysticZealot.java b/Mage.Sets/src/mage/cards/m/MysticZealot.java index 5f46b6128ec..0b35f6330f1 100644 --- a/Mage.Sets/src/mage/cards/m/MysticZealot.java +++ b/Mage.Sets/src/mage/cards/m/MysticZealot.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,9 +52,9 @@ public class MysticZealot extends CardImpl { public MysticZealot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); - this.subtype.add("Mystic"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); + this.subtype.add(SubType.MYSTIC); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/m/MythRealized.java b/Mage.Sets/src/mage/cards/m/MythRealized.java index 88994d2146b..f55bf8835c7 100644 --- a/Mage.Sets/src/mage/cards/m/MythRealized.java +++ b/Mage.Sets/src/mage/cards/m/MythRealized.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -100,8 +101,8 @@ class MythRealizedToken extends Token { public MythRealizedToken() { super("", "Monk Avatar creature in addition to its other types and gains \"This creature's power and toughness are each equal to the number of lore counters on it.\""); cardType.add(CardType.CREATURE); - subtype.add("Monk"); - subtype.add("Avatar"); + subtype.add(SubType.MONK); + subtype.add(SubType.AVATAR); power = new MageInt(0); toughness = new MageInt(0); } diff --git a/Mage.Sets/src/mage/cards/m/MythicProportions.java b/Mage.Sets/src/mage/cards/m/MythicProportions.java index de4731a49a0..51682a4c5f1 100644 --- a/Mage.Sets/src/mage/cards/m/MythicProportions.java +++ b/Mage.Sets/src/mage/cards/m/MythicProportions.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -53,7 +54,7 @@ public class MythicProportions extends CardImpl { public MythicProportions(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{G}{G}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/n/N1Starfighter.java b/Mage.Sets/src/mage/cards/n/N1Starfighter.java index de1cdd752d1..f3995d2b987 100644 --- a/Mage.Sets/src/mage/cards/n/N1Starfighter.java +++ b/Mage.Sets/src/mage/cards/n/N1Starfighter.java @@ -1,85 +1,86 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.n; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DoIfCostPaid; -import mage.abilities.effects.common.ExileTargetForSourceEffect; -import mage.abilities.effects.common.ReturnToBattlefieldUnderOwnerControlTargetEffect; -import mage.abilities.keyword.SpaceflightAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.AnotherPredicate; -import mage.target.common.TargetControlledCreaturePermanent; - -/** - * - * @author Styxo - */ -public class N1Starfighter extends CardImpl { - - private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("another creature you control"); - - static { - filter.add(new AnotherPredicate()); - } - - public N1Starfighter(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}{W/U}{W/U}"); - this.subtype.add("Starship"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Spaceflight - this.addAbility(SpaceflightAbility.getInstance()); - - // Whenever N-1 Starfighter deals combat damage to a player, you may pay {1}{W/U}. If you do, exile another creature you control, then return that card to the battlefield under its owner's control. - Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DoIfCostPaid(new ExileTargetForSourceEffect(), new ManaCostsImpl("{1}{W/U}")), false); - Effect effect = new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, true); - effect.setText(", then return the card to the battlefield under their owner's control"); - ability.addEffect(effect); - ability.addTarget(new TargetControlledCreaturePermanent(filter)); - this.addAbility(ability); - } - - public N1Starfighter(final N1Starfighter card) { - super(card); - } - - @Override - public N1Starfighter copy() { - return new N1Starfighter(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.n; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.effects.common.ExileTargetForSourceEffect; +import mage.abilities.effects.common.ReturnToBattlefieldUnderOwnerControlTargetEffect; +import mage.abilities.keyword.SpaceflightAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.predicate.permanent.AnotherPredicate; +import mage.target.common.TargetControlledCreaturePermanent; + +/** + * + * @author Styxo + */ +public class N1Starfighter extends CardImpl { + + private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("another creature you control"); + + static { + filter.add(new AnotherPredicate()); + } + + public N1Starfighter(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}{W/U}{W/U}"); + this.subtype.add(SubType.STARSHIP); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Spaceflight + this.addAbility(SpaceflightAbility.getInstance()); + + // Whenever N-1 Starfighter deals combat damage to a player, you may pay {1}{W/U}. If you do, exile another creature you control, then return that card to the battlefield under its owner's control. + Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new DoIfCostPaid(new ExileTargetForSourceEffect(), new ManaCostsImpl("{1}{W/U}")), false); + Effect effect = new ReturnToBattlefieldUnderOwnerControlTargetEffect(false, true); + effect.setText(", then return the card to the battlefield under their owner's control"); + ability.addEffect(effect); + ability.addTarget(new TargetControlledCreaturePermanent(filter)); + this.addAbility(ability); + } + + public N1Starfighter(final N1Starfighter card) { + super(card); + } + + @Override + public N1Starfighter copy() { + return new N1Starfighter(this); + } +} diff --git a/Mage.Sets/src/mage/cards/n/NacatlHuntPride.java b/Mage.Sets/src/mage/cards/n/NacatlHuntPride.java index 53d1374433c..18983619a93 100644 --- a/Mage.Sets/src/mage/cards/n/NacatlHuntPride.java +++ b/Mage.Sets/src/mage/cards/n/NacatlHuntPride.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -51,8 +52,8 @@ public class NacatlHuntPride extends CardImpl { public NacatlHuntPride(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NacatlOutlander.java b/Mage.Sets/src/mage/cards/n/NacatlOutlander.java index 7c768fe5e99..851b0dc6828 100644 --- a/Mage.Sets/src/mage/cards/n/NacatlOutlander.java +++ b/Mage.Sets/src/mage/cards/n/NacatlOutlander.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class NacatlOutlander extends CardImpl { public NacatlOutlander(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}"); - this.subtype.add("Cat"); - this.subtype.add("Scout"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NacatlSavage.java b/Mage.Sets/src/mage/cards/n/NacatlSavage.java index ebbf48b3199..ad636291689 100644 --- a/Mage.Sets/src/mage/cards/n/NacatlSavage.java +++ b/Mage.Sets/src/mage/cards/n/NacatlSavage.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactCard; /** @@ -43,8 +44,8 @@ public class NacatlSavage extends CardImpl { public NacatlSavage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Cat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NacatlWarPride.java b/Mage.Sets/src/mage/cards/n/NacatlWarPride.java index 5a00fb3ce21..a96bafb2596 100644 --- a/Mage.Sets/src/mage/cards/n/NacatlWarPride.java +++ b/Mage.Sets/src/mage/cards/n/NacatlWarPride.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.combat.MustBeBlockedByAtLeastOneSourceEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class NacatlWarPride extends CardImpl { public NacatlWarPride(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{G}{G}"); - this.subtype.add("Cat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NafsAsp.java b/Mage.Sets/src/mage/cards/n/NafsAsp.java index b5ffc3681d5..57b779039e8 100644 --- a/Mage.Sets/src/mage/cards/n/NafsAsp.java +++ b/Mage.Sets/src/mage/cards/n/NafsAsp.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.UnlessPaysDelayedEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; /** @@ -46,7 +47,7 @@ public class NafsAsp extends CardImpl { public NafsAsp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NagaOracle.java b/Mage.Sets/src/mage/cards/n/NagaOracle.java index ad03cf6e25d..9663c39383e 100644 --- a/Mage.Sets/src/mage/cards/n/NagaOracle.java +++ b/Mage.Sets/src/mage/cards/n/NagaOracle.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; @@ -48,8 +49,8 @@ public class NagaOracle extends CardImpl { public NagaOracle(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - this.subtype.add("Naga"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NagaVitalist.java b/Mage.Sets/src/mage/cards/n/NagaVitalist.java index d52127c688f..db87d3bdea2 100644 --- a/Mage.Sets/src/mage/cards/n/NagaVitalist.java +++ b/Mage.Sets/src/mage/cards/n/NagaVitalist.java @@ -33,6 +33,7 @@ import mage.abilities.mana.AnyColorLandsProduceManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -44,8 +45,8 @@ public class NagaVitalist extends CardImpl { public NagaVitalist(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Naga"); - this.subtype.add("Druid"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NagaoBoundByHonor.java b/Mage.Sets/src/mage/cards/n/NagaoBoundByHonor.java index aed0463034f..6737dedffa1 100644 --- a/Mage.Sets/src/mage/cards/n/NagaoBoundByHonor.java +++ b/Mage.Sets/src/mage/cards/n/NagaoBoundByHonor.java @@ -56,8 +56,8 @@ public class NagaoBoundByHonor extends CardImpl { public NagaoBoundByHonor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NahiriTheHarbinger.java b/Mage.Sets/src/mage/cards/n/NahiriTheHarbinger.java index eceaa83a810..1749c787bb8 100644 --- a/Mage.Sets/src/mage/cards/n/NahiriTheHarbinger.java +++ b/Mage.Sets/src/mage/cards/n/NahiriTheHarbinger.java @@ -47,6 +47,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SuperType; @@ -82,7 +83,7 @@ public class NahiriTheHarbinger extends CardImpl { public NahiriTheHarbinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{R}{W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Nahiri"); + this.subtype.add(SubType.NAHIRI); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/n/NahiriTheLithomancer.java b/Mage.Sets/src/mage/cards/n/NahiriTheLithomancer.java index ecfd83ee426..a8e82d707f2 100644 --- a/Mage.Sets/src/mage/cards/n/NahiriTheLithomancer.java +++ b/Mage.Sets/src/mage/cards/n/NahiriTheLithomancer.java @@ -66,7 +66,7 @@ public class NahiriTheLithomancer extends CardImpl { public NahiriTheLithomancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{W}{W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Nahiri"); + this.subtype.add(SubType.NAHIRI); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/n/NakayaShade.java b/Mage.Sets/src/mage/cards/n/NakayaShade.java index 99c22d0e3f6..290bbb85402 100644 --- a/Mage.Sets/src/mage/cards/n/NakayaShade.java +++ b/Mage.Sets/src/mage/cards/n/NakayaShade.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class NakayaShade extends CardImpl { public NakayaShade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Shade"); + this.subtype.add(SubType.SHADE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NamelessInversion.java b/Mage.Sets/src/mage/cards/n/NamelessInversion.java index 43d92c35c0a..f5bff8b9e29 100644 --- a/Mage.Sets/src/mage/cards/n/NamelessInversion.java +++ b/Mage.Sets/src/mage/cards/n/NamelessInversion.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ChangelingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -46,7 +47,7 @@ public class NamelessInversion extends CardImpl { public NamelessInversion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{1}{B}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); // Changeling diff --git a/Mage.Sets/src/mage/cards/n/NamelessOne.java b/Mage.Sets/src/mage/cards/n/NamelessOne.java index 7c1d94adbfc..6f6dd0c5434 100644 --- a/Mage.Sets/src/mage/cards/n/NamelessOne.java +++ b/Mage.Sets/src/mage/cards/n/NamelessOne.java @@ -57,8 +57,8 @@ public class NamelessOne extends CardImpl { public NamelessOne(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Wizard"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.WIZARD); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/n/NantukoBlightcutter.java b/Mage.Sets/src/mage/cards/n/NantukoBlightcutter.java index 9130c0f61e3..aefdd38c859 100644 --- a/Mage.Sets/src/mage/cards/n/NantukoBlightcutter.java +++ b/Mage.Sets/src/mage/cards/n/NantukoBlightcutter.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -63,8 +64,8 @@ public class NantukoBlightcutter extends CardImpl { public NantukoBlightcutter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Insect"); - this.subtype.add("Druid"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NantukoCalmer.java b/Mage.Sets/src/mage/cards/n/NantukoCalmer.java index c4ae7962bef..74107a674c2 100644 --- a/Mage.Sets/src/mage/cards/n/NantukoCalmer.java +++ b/Mage.Sets/src/mage/cards/n/NantukoCalmer.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetEnchantmentPermanent; @@ -55,8 +56,8 @@ public class NantukoCalmer extends CardImpl { public NantukoCalmer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Insect"); - this.subtype.add("Druid"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NantukoCultivator.java b/Mage.Sets/src/mage/cards/n/NantukoCultivator.java index cd2fc28ffd2..1e33cd40a31 100644 --- a/Mage.Sets/src/mage/cards/n/NantukoCultivator.java +++ b/Mage.Sets/src/mage/cards/n/NantukoCultivator.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.common.FilterLandCard; @@ -52,8 +53,8 @@ public class NantukoCultivator extends CardImpl { public NantukoCultivator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Insect"); - this.subtype.add("Druid"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NantukoDisciple.java b/Mage.Sets/src/mage/cards/n/NantukoDisciple.java index abff442fb66..5f2e6550a51 100644 --- a/Mage.Sets/src/mage/cards/n/NantukoDisciple.java +++ b/Mage.Sets/src/mage/cards/n/NantukoDisciple.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class NantukoDisciple extends CardImpl { public NantukoDisciple(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Insect"); - this.subtype.add("Druid"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NantukoElder.java b/Mage.Sets/src/mage/cards/n/NantukoElder.java index 90fa2826375..3c7c3e635da 100644 --- a/Mage.Sets/src/mage/cards/n/NantukoElder.java +++ b/Mage.Sets/src/mage/cards/n/NantukoElder.java @@ -35,6 +35,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class NantukoElder extends CardImpl { public NantukoElder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Insect"); - this.subtype.add("Druid"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NantukoHusk.java b/Mage.Sets/src/mage/cards/n/NantukoHusk.java index fbdc66dbad4..8439fe9045e 100644 --- a/Mage.Sets/src/mage/cards/n/NantukoHusk.java +++ b/Mage.Sets/src/mage/cards/n/NantukoHusk.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -48,8 +49,8 @@ public class NantukoHusk extends CardImpl { public NantukoHusk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Insect"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NantukoMentor.java b/Mage.Sets/src/mage/cards/n/NantukoMentor.java index fc4be71b44f..c172f2c4433 100644 --- a/Mage.Sets/src/mage/cards/n/NantukoMentor.java +++ b/Mage.Sets/src/mage/cards/n/NantukoMentor.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class NantukoMentor extends CardImpl { public NantukoMentor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Insect"); - this.subtype.add("Druid"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NantukoMonastery.java b/Mage.Sets/src/mage/cards/n/NantukoMonastery.java index 497888e9023..8607b53bf83 100644 --- a/Mage.Sets/src/mage/cards/n/NantukoMonastery.java +++ b/Mage.Sets/src/mage/cards/n/NantukoMonastery.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -78,8 +79,8 @@ class NantukoMonasteryToken extends Token { public NantukoMonasteryToken() { super("", "4/4 green and white Insect Monk creature with first strike"); cardType.add(CardType.CREATURE); - subtype.add("Insect"); - subtype.add("Monk"); + subtype.add(SubType.INSECT); + subtype.add(SubType.MONK); color.setGreen(true); color.setWhite(true); power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NantukoShade.java b/Mage.Sets/src/mage/cards/n/NantukoShade.java index a0367bd3a5b..d9e09c78f01 100644 --- a/Mage.Sets/src/mage/cards/n/NantukoShade.java +++ b/Mage.Sets/src/mage/cards/n/NantukoShade.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class NantukoShade extends CardImpl { public NantukoShade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Insect"); - this.subtype.add("Shade"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.SHADE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NantukoShaman.java b/Mage.Sets/src/mage/cards/n/NantukoShaman.java index adc5c9b1433..54f73d58a98 100644 --- a/Mage.Sets/src/mage/cards/n/NantukoShaman.java +++ b/Mage.Sets/src/mage/cards/n/NantukoShaman.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.permanent.TappedPredicate; @@ -56,8 +57,8 @@ public class NantukoShaman extends CardImpl { public NantukoShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Insect"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NantukoTracer.java b/Mage.Sets/src/mage/cards/n/NantukoTracer.java index 240f2e4fcdc..efefb017ce6 100644 --- a/Mage.Sets/src/mage/cards/n/NantukoTracer.java +++ b/Mage.Sets/src/mage/cards/n/NantukoTracer.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PutOnLibraryTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCardInGraveyard; /** @@ -45,8 +46,8 @@ public class NantukoTracer extends CardImpl { public NantukoTracer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Insect"); - this.subtype.add("Druid"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NantukoVigilante.java b/Mage.Sets/src/mage/cards/n/NantukoVigilante.java index 3c69a0d2db1..48fcc414f5d 100644 --- a/Mage.Sets/src/mage/cards/n/NantukoVigilante.java +++ b/Mage.Sets/src/mage/cards/n/NantukoVigilante.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -49,9 +50,9 @@ public class NantukoVigilante extends CardImpl { public NantukoVigilante(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Insect"); - this.subtype.add("Druid"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.DRUID); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/Narcolepsy.java b/Mage.Sets/src/mage/cards/n/Narcolepsy.java index 48f052111eb..af1700e0277 100644 --- a/Mage.Sets/src/mage/cards/n/Narcolepsy.java +++ b/Mage.Sets/src/mage/cards/n/Narcolepsy.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.StaticFilters; @@ -52,7 +53,7 @@ public class Narcolepsy extends CardImpl { public Narcolepsy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/n/Narcomoeba.java b/Mage.Sets/src/mage/cards/n/Narcomoeba.java index 68a3df52b01..92efa1d7479 100644 --- a/Mage.Sets/src/mage/cards/n/Narcomoeba.java +++ b/Mage.Sets/src/mage/cards/n/Narcomoeba.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class Narcomoeba extends CardImpl { public Narcomoeba(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NarnamCobra.java b/Mage.Sets/src/mage/cards/n/NarnamCobra.java index 32ec7ea751b..e1016b3ac6c 100644 --- a/Mage.Sets/src/mage/cards/n/NarnamCobra.java +++ b/Mage.Sets/src/mage/cards/n/NarnamCobra.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class NarnamCobra extends CardImpl { public NarnamCobra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NarnamRenegade.java b/Mage.Sets/src/mage/cards/n/NarnamRenegade.java index 5602bc47ab8..49de350e9a1 100644 --- a/Mage.Sets/src/mage/cards/n/NarnamRenegade.java +++ b/Mage.Sets/src/mage/cards/n/NarnamRenegade.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.watchers.common.RevoltWatcher; @@ -48,8 +49,8 @@ public class NarnamRenegade extends CardImpl { public NarnamRenegade(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NarsetEnlightenedMaster.java b/Mage.Sets/src/mage/cards/n/NarsetEnlightenedMaster.java index 0efaf4ad858..87331acc407 100644 --- a/Mage.Sets/src/mage/cards/n/NarsetEnlightenedMaster.java +++ b/Mage.Sets/src/mage/cards/n/NarsetEnlightenedMaster.java @@ -55,8 +55,8 @@ public class NarsetEnlightenedMaster extends CardImpl { public NarsetEnlightenedMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{R}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NarsetTranscendent.java b/Mage.Sets/src/mage/cards/n/NarsetTranscendent.java index 812f95b060e..7303aba1b5f 100644 --- a/Mage.Sets/src/mage/cards/n/NarsetTranscendent.java +++ b/Mage.Sets/src/mage/cards/n/NarsetTranscendent.java @@ -44,6 +44,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -66,7 +67,7 @@ public class NarsetTranscendent extends CardImpl { public NarsetTranscendent(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Narset"); + this.subtype.add(SubType.NARSET); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(6)); diff --git a/Mage.Sets/src/mage/cards/n/NarstadScrapper.java b/Mage.Sets/src/mage/cards/n/NarstadScrapper.java index c0ada6d9502..3867ffe595d 100644 --- a/Mage.Sets/src/mage/cards/n/NarstadScrapper.java +++ b/Mage.Sets/src/mage/cards/n/NarstadScrapper.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class NarstadScrapper extends CardImpl { public NarstadScrapper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/Narwhal.java b/Mage.Sets/src/mage/cards/n/Narwhal.java index 1d598345106..d89dc11e663 100644 --- a/Mage.Sets/src/mage/cards/n/Narwhal.java +++ b/Mage.Sets/src/mage/cards/n/Narwhal.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class Narwhal extends CardImpl { public Narwhal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Whale"); + this.subtype.add(SubType.WHALE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NathOfTheGiltLeaf.java b/Mage.Sets/src/mage/cards/n/NathOfTheGiltLeaf.java index 33ee3e1a9da..523e575f48a 100644 --- a/Mage.Sets/src/mage/cards/n/NathOfTheGiltLeaf.java +++ b/Mage.Sets/src/mage/cards/n/NathOfTheGiltLeaf.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.game.permanent.token.ElfToken; @@ -53,8 +54,8 @@ public class NathOfTheGiltLeaf extends CardImpl { public NathOfTheGiltLeaf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NathsBuffoon.java b/Mage.Sets/src/mage/cards/n/NathsBuffoon.java index 7fadbc8bdb0..094d3583bfd 100644 --- a/Mage.Sets/src/mage/cards/n/NathsBuffoon.java +++ b/Mage.Sets/src/mage/cards/n/NathsBuffoon.java @@ -51,8 +51,8 @@ public class NathsBuffoon extends CardImpl { public NathsBuffoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NathsElite.java b/Mage.Sets/src/mage/cards/n/NathsElite.java index e94d697a136..c9ec7bfec9e 100644 --- a/Mage.Sets/src/mage/cards/n/NathsElite.java +++ b/Mage.Sets/src/mage/cards/n/NathsElite.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -49,8 +50,8 @@ public class NathsElite extends CardImpl { public NathsElite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NaturalBalance.java b/Mage.Sets/src/mage/cards/n/NaturalBalance.java index 5d487519bb3..d0ac72c5208 100644 --- a/Mage.Sets/src/mage/cards/n/NaturalBalance.java +++ b/Mage.Sets/src/mage/cards/n/NaturalBalance.java @@ -1,138 +1,138 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.n; - -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.CardsImpl; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.StaticFilters; -import mage.filter.common.FilterControlledLandPermanent; -import mage.filter.common.FilterLandPermanent; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.players.PlayerList; -import mage.target.common.TargetCardInLibrary; -import mage.target.common.TargetControlledPermanent; - -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - -/** - * - * @author Rene - bugisemail at gmail dot com - */ -public class NaturalBalance extends CardImpl { - - public NaturalBalance(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{G}{G}"); - - // Each player who controls six or more lands chooses five lands he or she controls and sacrifices the rest. Each player who controls four or fewer lands may search his or her library for up to X basic land cards and put them onto the battlefield, where X is five minus the number of lands he or she controls. Then each player who searched his or her library this way shuffles it. - this.getSpellAbility().addEffect(new NaturalBalanceEffect()); - } - - public NaturalBalance(final NaturalBalance card) { - super(card); - } - - @Override - public NaturalBalance copy() { - return new NaturalBalance(this); - } - - class NaturalBalanceEffect extends OneShotEffect { - - public NaturalBalanceEffect() { - super(Outcome.PutCardInPlay); - this.staticText = "Each player who controls six or more lands chooses five lands he or she controls and sacrifices the rest. Each player who controls four or fewer lands may search his or her library for up to X basic land cards and put them onto the battlefield, where X is five minus the number of lands he or she controls. Then each player who searched his or her library this way shuffles it."; - } - - public NaturalBalanceEffect(final NaturalBalanceEffect effect) { - super(effect); - } - - @Override - public NaturalBalanceEffect copy() { - return new NaturalBalanceEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - PlayerList players = game.getState().getPlayersInRange(controller.getId(), game); - for (UUID playerId : players) { - Player player = game.getPlayer(playerId); - if (player != null) { - int landCount = game.getBattlefield().countAll(new FilterControlledLandPermanent(), player.getId(), game); - if (landCount > 5) { - // chooses five lands he or she controls and sacrifices the rest - TargetControlledPermanent target = new TargetControlledPermanent(5, 5, new FilterControlledLandPermanent("lands to keep"), true); - if (target.choose(Outcome.Sacrifice, player.getId(), source.getSourceId(), game)) { - for (Permanent permanent : game.getBattlefield().getAllActivePermanents(new FilterLandPermanent(), player.getId(), game)) { - if (!target.getTargets().contains(permanent.getId())) { - permanent.sacrifice(source.getId(), game); - } - } - } - } - } - } - List toShuffle = new ArrayList<>(); - for (UUID playerId : players) { - Player player = game.getPlayer(playerId); - if (player != null) { - int landCount = game.getBattlefield().countAll(new FilterControlledLandPermanent(), player.getId(), game); - int amount = 5 - landCount; - if (landCount < 5 && player.chooseUse(outcome, "Search your library for up to " + amount + " basic land cards and put them onto the battlefield?", source, game)) { - // Select lands and put them onto battlefield - TargetCardInLibrary target = new TargetCardInLibrary(0, amount, StaticFilters.FILTER_BASIC_LAND_CARD); - if (player.searchLibrary(target, game)) { - player.moveCards(new CardsImpl(target.getTargets()).getCards(game), Zone.BATTLEFIELD, source, game); - } - toShuffle.add(player); - } - } - } - for (Player player : toShuffle) { - if (player.isInGame()) { - player.shuffleLibrary(source, game); - } - } - return true; - } - return false; - } - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.n; + +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.CardsImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.StaticFilters; +import mage.filter.common.FilterControlledLandPermanent; +import mage.filter.common.FilterLandPermanent; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.players.PlayerList; +import mage.target.common.TargetCardInLibrary; +import mage.target.common.TargetControlledPermanent; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + +/** + * + * @author Rene - bugisemail at gmail dot com + */ +public class NaturalBalance extends CardImpl { + + public NaturalBalance(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{G}{G}"); + + // Each player who controls six or more lands chooses five lands he or she controls and sacrifices the rest. Each player who controls four or fewer lands may search his or her library for up to X basic land cards and put them onto the battlefield, where X is five minus the number of lands he or she controls. Then each player who searched his or her library this way shuffles it. + this.getSpellAbility().addEffect(new NaturalBalanceEffect()); + } + + public NaturalBalance(final NaturalBalance card) { + super(card); + } + + @Override + public NaturalBalance copy() { + return new NaturalBalance(this); + } + + class NaturalBalanceEffect extends OneShotEffect { + + public NaturalBalanceEffect() { + super(Outcome.PutCardInPlay); + this.staticText = "Each player who controls six or more lands chooses five lands he or she controls and sacrifices the rest. Each player who controls four or fewer lands may search his or her library for up to X basic land cards and put them onto the battlefield, where X is five minus the number of lands he or she controls. Then each player who searched his or her library this way shuffles it."; + } + + public NaturalBalanceEffect(final NaturalBalanceEffect effect) { + super(effect); + } + + @Override + public NaturalBalanceEffect copy() { + return new NaturalBalanceEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + PlayerList players = game.getState().getPlayersInRange(controller.getId(), game); + for (UUID playerId : players) { + Player player = game.getPlayer(playerId); + if (player != null) { + int landCount = game.getBattlefield().countAll(new FilterControlledLandPermanent(), player.getId(), game); + if (landCount > 5) { + // chooses five lands he or she controls and sacrifices the rest + TargetControlledPermanent target = new TargetControlledPermanent(5, 5, new FilterControlledLandPermanent("lands to keep"), true); + if (target.choose(Outcome.Sacrifice, player.getId(), source.getSourceId(), game)) { + for (Permanent permanent : game.getBattlefield().getAllActivePermanents(new FilterLandPermanent(), player.getId(), game)) { + if (!target.getTargets().contains(permanent.getId())) { + permanent.sacrifice(source.getId(), game); + } + } + } + } + } + } + List toShuffle = new ArrayList<>(); + for (UUID playerId : players) { + Player player = game.getPlayer(playerId); + if (player != null) { + int landCount = game.getBattlefield().countAll(new FilterControlledLandPermanent(), player.getId(), game); + int amount = 5 - landCount; + if (landCount < 5 && player.chooseUse(outcome, "Search your library for up to " + amount + " basic land cards and put them onto the battlefield?", source, game)) { + // Select lands and put them onto battlefield + TargetCardInLibrary target = new TargetCardInLibrary(0, amount, StaticFilters.FILTER_BASIC_LAND_CARD); + if (player.searchLibrary(target, game)) { + player.moveCards(new CardsImpl(target.getTargets()).getCards(game), Zone.BATTLEFIELD, source, game); + } + toShuffle.add(player); + } + } + } + for (Player player : toShuffle) { + if (player.isInGame()) { + player.shuffleLibrary(source, game); + } + } + return true; + } + return false; + } + } +} diff --git a/Mage.Sets/src/mage/cards/n/NaturesKiss.java b/Mage.Sets/src/mage/cards/n/NaturesKiss.java index ada20dd79d5..ee3df19b017 100644 --- a/Mage.Sets/src/mage/cards/n/NaturesKiss.java +++ b/Mage.Sets/src/mage/cards/n/NaturesKiss.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class NaturesKiss extends CardImpl { public NaturesKiss(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/n/NavSquadCommandos.java b/Mage.Sets/src/mage/cards/n/NavSquadCommandos.java index 747af3b1a6b..cc5704aa067 100644 --- a/Mage.Sets/src/mage/cards/n/NavSquadCommandos.java +++ b/Mage.Sets/src/mage/cards/n/NavSquadCommandos.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.BattalionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,8 +47,8 @@ public class NavSquadCommandos extends CardImpl { public NavSquadCommandos(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/n/NayaBattlemage.java b/Mage.Sets/src/mage/cards/n/NayaBattlemage.java index e5cf051af91..1e438ed4e4c 100644 --- a/Mage.Sets/src/mage/cards/n/NayaBattlemage.java +++ b/Mage.Sets/src/mage/cards/n/NayaBattlemage.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -51,8 +52,8 @@ public class NayaBattlemage extends CardImpl { public NayaBattlemage (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NayaHushblade.java b/Mage.Sets/src/mage/cards/n/NayaHushblade.java index 32f200e9fc5..db2f1f6d81d 100644 --- a/Mage.Sets/src/mage/cards/n/NayaHushblade.java +++ b/Mage.Sets/src/mage/cards/n/NayaHushblade.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -60,8 +61,8 @@ public class NayaHushblade extends CardImpl { public NayaHushblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R/W}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ROGUE); diff --git a/Mage.Sets/src/mage/cards/n/NayaSojourners.java b/Mage.Sets/src/mage/cards/n/NayaSojourners.java index 33153b1384f..909413728e3 100644 --- a/Mage.Sets/src/mage/cards/n/NayaSojourners.java +++ b/Mage.Sets/src/mage/cards/n/NayaSojourners.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class NayaSojourners extends CardImpl { public NayaSojourners(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}{W}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); diff --git a/Mage.Sets/src/mage/cards/n/NayaSoulbeast.java b/Mage.Sets/src/mage/cards/n/NayaSoulbeast.java index 3e082ee32c5..865e9216aa6 100644 --- a/Mage.Sets/src/mage/cards/n/NayaSoulbeast.java +++ b/Mage.Sets/src/mage/cards/n/NayaSoulbeast.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.counters.CounterType; @@ -58,7 +59,7 @@ public class NayaSoulbeast extends CardImpl { public NayaSoulbeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/n/NazahnReveredBladesmith.java b/Mage.Sets/src/mage/cards/n/NazahnReveredBladesmith.java index 7936a680836..eadab16490e 100644 --- a/Mage.Sets/src/mage/cards/n/NazahnReveredBladesmith.java +++ b/Mage.Sets/src/mage/cards/n/NazahnReveredBladesmith.java @@ -78,8 +78,8 @@ public class NazahnReveredBladesmith extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Cat"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NearheathChaplain.java b/Mage.Sets/src/mage/cards/n/NearheathChaplain.java index b1c5d54c5b6..e15bd9e59d5 100644 --- a/Mage.Sets/src/mage/cards/n/NearheathChaplain.java +++ b/Mage.Sets/src/mage/cards/n/NearheathChaplain.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.SpiritWhiteToken; @@ -49,8 +50,8 @@ public class NearheathChaplain extends CardImpl { public NearheathChaplain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NearheathPilgrim.java b/Mage.Sets/src/mage/cards/n/NearheathPilgrim.java index 51828e93971..bd7fadf466c 100644 --- a/Mage.Sets/src/mage/cards/n/NearheathPilgrim.java +++ b/Mage.Sets/src/mage/cards/n/NearheathPilgrim.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class NearheathPilgrim extends CardImpl { public NearheathPilgrim(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NearheathStalker.java b/Mage.Sets/src/mage/cards/n/NearheathStalker.java index d809cdff996..e87d4cc5d5e 100644 --- a/Mage.Sets/src/mage/cards/n/NearheathStalker.java +++ b/Mage.Sets/src/mage/cards/n/NearheathStalker.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.UndyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class NearheathStalker extends CardImpl { public NearheathStalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Vampire"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NebelgastHerald.java b/Mage.Sets/src/mage/cards/n/NebelgastHerald.java index 1258b5d0db8..c887c7595ba 100644 --- a/Mage.Sets/src/mage/cards/n/NebelgastHerald.java +++ b/Mage.Sets/src/mage/cards/n/NebelgastHerald.java @@ -62,7 +62,7 @@ public class NebelgastHerald extends CardImpl { public NebelgastHerald(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NebulonBFrigate.java b/Mage.Sets/src/mage/cards/n/NebulonBFrigate.java index 8c5a397f617..c2161dd70bd 100644 --- a/Mage.Sets/src/mage/cards/n/NebulonBFrigate.java +++ b/Mage.Sets/src/mage/cards/n/NebulonBFrigate.java @@ -1,77 +1,78 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.n; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; -import mage.abilities.keyword.SpaceflightAbility; -import mage.abilities.keyword.VigilanceAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.AnotherPredicate; - -/** - * - * @author Styxo - */ -public class NebulonBFrigate extends CardImpl { - - private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("another creature you control"); - - static { - filter.add(new AnotherPredicate()); - } - - public NebulonBFrigate(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}{W}{W}"); - this.subtype.add("Starship"); - this.power = new MageInt(4); - this.toughness = new MageInt(2); - - // Spaceflight - this.addAbility(SpaceflightAbility.getInstance()); - - // Whenever Nebulon-B Frigate enters the battlefield, creatures you control gain vigilance until end of turn. - this.addAbility(new EntersBattlefieldTriggeredAbility(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent("creatures you control")), false)); - } - - public NebulonBFrigate(final NebulonBFrigate card) { - super(card); - } - - @Override - public NebulonBFrigate copy() { - return new NebulonBFrigate(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.n; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.SpaceflightAbility; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.AnotherPredicate; + +/** + * + * @author Styxo + */ +public class NebulonBFrigate extends CardImpl { + + private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("another creature you control"); + + static { + filter.add(new AnotherPredicate()); + } + + public NebulonBFrigate(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}{W}{W}"); + this.subtype.add(SubType.STARSHIP); + this.power = new MageInt(4); + this.toughness = new MageInt(2); + + // Spaceflight + this.addAbility(SpaceflightAbility.getInstance()); + + // Whenever Nebulon-B Frigate enters the battlefield, creatures you control gain vigilance until end of turn. + this.addAbility(new EntersBattlefieldTriggeredAbility(new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent("creatures you control")), false)); + } + + public NebulonBFrigate(final NebulonBFrigate card) { + super(card); + } + + @Override + public NebulonBFrigate copy() { + return new NebulonBFrigate(this); + } +} diff --git a/Mage.Sets/src/mage/cards/n/NeckBreaker.java b/Mage.Sets/src/mage/cards/n/NeckBreaker.java index 66f5afbc9d6..330424ac151 100644 --- a/Mage.Sets/src/mage/cards/n/NeckBreaker.java +++ b/Mage.Sets/src/mage/cards/n/NeckBreaker.java @@ -44,6 +44,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class NeckBreaker extends CardImpl { public NeckBreaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(4); this.toughness = new MageInt(3); this.color.setRed(true); diff --git a/Mage.Sets/src/mage/cards/n/NecraDisciple.java b/Mage.Sets/src/mage/cards/n/NecraDisciple.java index 81698367f9d..e0197858496 100644 --- a/Mage.Sets/src/mage/cards/n/NecraDisciple.java +++ b/Mage.Sets/src/mage/cards/n/NecraDisciple.java @@ -48,8 +48,8 @@ public class NecraDisciple extends CardImpl { public NecraDisciple(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/Necratog.java b/Mage.Sets/src/mage/cards/n/Necratog.java index c100d6a00e8..fabe1673160 100644 --- a/Mage.Sets/src/mage/cards/n/Necratog.java +++ b/Mage.Sets/src/mage/cards/n/Necratog.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class Necratog extends CardImpl { public Necratog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Atog"); + this.subtype.add(SubType.ATOG); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/Necravolver.java b/Mage.Sets/src/mage/cards/n/Necravolver.java index 690b0be04ea..9abe85898f6 100644 --- a/Mage.Sets/src/mage/cards/n/Necravolver.java +++ b/Mage.Sets/src/mage/cards/n/Necravolver.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.counters.CounterType; @@ -52,7 +53,7 @@ public class Necravolver extends CardImpl { public Necravolver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Volver"); + this.subtype.add(SubType.VOLVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/Necrite.java b/Mage.Sets/src/mage/cards/n/Necrite.java index 9e638f34972..cbff52f0845 100644 --- a/Mage.Sets/src/mage/cards/n/Necrite.java +++ b/Mage.Sets/src/mage/cards/n/Necrite.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DoIfCostPaid; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -54,7 +55,7 @@ public class Necrite extends CardImpl { public Necrite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Thrull"); + this.subtype.add(SubType.THRULL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NecrogenScudder.java b/Mage.Sets/src/mage/cards/n/NecrogenScudder.java index dd62bdf0516..180efc2a509 100644 --- a/Mage.Sets/src/mage/cards/n/NecrogenScudder.java +++ b/Mage.Sets/src/mage/cards/n/NecrogenScudder.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class NecrogenScudder extends CardImpl { public NecrogenScudder (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NecromancersAssistant.java b/Mage.Sets/src/mage/cards/n/NecromancersAssistant.java index 0873bf4cf8c..bf5566db3fa 100644 --- a/Mage.Sets/src/mage/cards/n/NecromancersAssistant.java +++ b/Mage.Sets/src/mage/cards/n/NecromancersAssistant.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author noxx @@ -42,7 +43,7 @@ public class NecromancersAssistant extends CardImpl { public NecromancersAssistant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NecromancersMagemark.java b/Mage.Sets/src/mage/cards/n/NecromancersMagemark.java index fb003ffb311..a68f36a0398 100644 --- a/Mage.Sets/src/mage/cards/n/NecromancersMagemark.java +++ b/Mage.Sets/src/mage/cards/n/NecromancersMagemark.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -67,7 +68,7 @@ public class NecromancersMagemark extends CardImpl { public NecromancersMagemark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/n/NecromanticThirst.java b/Mage.Sets/src/mage/cards/n/NecromanticThirst.java index f1e40fbeb30..8f92ea3273b 100644 --- a/Mage.Sets/src/mage/cards/n/NecromanticThirst.java +++ b/Mage.Sets/src/mage/cards/n/NecromanticThirst.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.common.FilterCreatureCard; @@ -51,7 +52,7 @@ public class NecromanticThirst extends CardImpl { public NecromanticThirst(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/n/NecromasterDragon.java b/Mage.Sets/src/mage/cards/n/NecromasterDragon.java index 3b5cdef1c2b..274c4556235 100644 --- a/Mage.Sets/src/mage/cards/n/NecromasterDragon.java +++ b/Mage.Sets/src/mage/cards/n/NecromasterDragon.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.game.permanent.token.ZombieToken; @@ -50,7 +51,7 @@ public class NecromasterDragon extends CardImpl { public NecromasterDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{B}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/Necropede.java b/Mage.Sets/src/mage/cards/n/Necropede.java index 9f4725cab78..733c0f48fbe 100644 --- a/Mage.Sets/src/mage/cards/n/Necropede.java +++ b/Mage.Sets/src/mage/cards/n/Necropede.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class Necropede extends CardImpl { public Necropede (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(InfectAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/n/Necroplasm.java b/Mage.Sets/src/mage/cards/n/Necroplasm.java index b20247e804a..9db7c55ae54 100644 --- a/Mage.Sets/src/mage/cards/n/Necroplasm.java +++ b/Mage.Sets/src/mage/cards/n/Necroplasm.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DredgeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.TargetController; @@ -56,7 +57,7 @@ public class Necroplasm extends CardImpl { public Necroplasm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Ooze"); + this.subtype.add(SubType.OOZE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NecropolisFiend.java b/Mage.Sets/src/mage/cards/n/NecropolisFiend.java index 444551f19d4..eda396ee11c 100644 --- a/Mage.Sets/src/mage/cards/n/NecropolisFiend.java +++ b/Mage.Sets/src/mage/cards/n/NecropolisFiend.java @@ -47,6 +47,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterCard; @@ -64,7 +65,7 @@ public class NecropolisFiend extends CardImpl { public NecropolisFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{7}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/n/NecropolisRegent.java b/Mage.Sets/src/mage/cards/n/NecropolisRegent.java index 7bf4adfe3cd..70df0f26652 100644 --- a/Mage.Sets/src/mage/cards/n/NecropolisRegent.java +++ b/Mage.Sets/src/mage/cards/n/NecropolisRegent.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -54,7 +55,7 @@ public class NecropolisRegent extends CardImpl { public NecropolisRegent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/n/Necropouncer.java b/Mage.Sets/src/mage/cards/n/Necropouncer.java index 2a5c0723d24..7ec3a5e34c5 100644 --- a/Mage.Sets/src/mage/cards/n/Necropouncer.java +++ b/Mage.Sets/src/mage/cards/n/Necropouncer.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class Necropouncer extends CardImpl { public Necropouncer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{6}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new LivingWeaponAbility()); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 1))); diff --git a/Mage.Sets/src/mage/cards/n/Necrosavant.java b/Mage.Sets/src/mage/cards/n/Necrosavant.java index 0c8ee0ece7e..fb3a33fb03a 100644 --- a/Mage.Sets/src/mage/cards/n/Necrosavant.java +++ b/Mage.Sets/src/mage/cards/n/Necrosavant.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -50,8 +51,8 @@ public class Necrosavant extends CardImpl { public Necrosavant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Giant"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.GIANT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/n/Necroskitter.java b/Mage.Sets/src/mage/cards/n/Necroskitter.java index f93f7801df5..168d515d5e7 100644 --- a/Mage.Sets/src/mage/cards/n/Necroskitter.java +++ b/Mage.Sets/src/mage/cards/n/Necroskitter.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -53,7 +54,7 @@ public class Necroskitter extends CardImpl { public Necroskitter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NecroticOoze.java b/Mage.Sets/src/mage/cards/n/NecroticOoze.java index baf47a07d74..97a284e3697 100644 --- a/Mage.Sets/src/mage/cards/n/NecroticOoze.java +++ b/Mage.Sets/src/mage/cards/n/NecroticOoze.java @@ -55,7 +55,7 @@ public class NecroticOoze extends CardImpl { public NecroticOoze(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Ooze"); + this.subtype.add(SubType.OOZE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NecroticPlague.java b/Mage.Sets/src/mage/cards/n/NecroticPlague.java index 09b464c332a..d2d09529b13 100644 --- a/Mage.Sets/src/mage/cards/n/NecroticPlague.java +++ b/Mage.Sets/src/mage/cards/n/NecroticPlague.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -70,7 +71,7 @@ public class NecroticPlague extends CardImpl { public NecroticPlague(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/n/NecroticSliver.java b/Mage.Sets/src/mage/cards/n/NecroticSliver.java index 546ea5e95f8..3b54de08c8b 100644 --- a/Mage.Sets/src/mage/cards/n/NecroticSliver.java +++ b/Mage.Sets/src/mage/cards/n/NecroticSliver.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.GainAbilityAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -52,7 +53,7 @@ public class NecroticSliver extends CardImpl { public NecroticSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{B}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NectarFaerie.java b/Mage.Sets/src/mage/cards/n/NectarFaerie.java index 86104710058..60e8a138153 100644 --- a/Mage.Sets/src/mage/cards/n/NectarFaerie.java +++ b/Mage.Sets/src/mage/cards/n/NectarFaerie.java @@ -58,8 +58,8 @@ public class NectarFaerie extends CardImpl { public NectarFaerie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NeedleSpecter.java b/Mage.Sets/src/mage/cards/n/NeedleSpecter.java index ee0533ab080..f5eb5f0a2dd 100644 --- a/Mage.Sets/src/mage/cards/n/NeedleSpecter.java +++ b/Mage.Sets/src/mage/cards/n/NeedleSpecter.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -49,7 +50,7 @@ public class NeedleSpecter extends CardImpl { public NeedleSpecter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Specter"); + this.subtype.add(SubType.SPECTER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NeedleSpires.java b/Mage.Sets/src/mage/cards/n/NeedleSpires.java index 89c5490f343..9f8455d1872 100644 --- a/Mage.Sets/src/mage/cards/n/NeedleSpires.java +++ b/Mage.Sets/src/mage/cards/n/NeedleSpires.java @@ -40,6 +40,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -81,7 +82,7 @@ class NeedleSpiresToken extends Token { public NeedleSpiresToken() { super("", "2/1 red and white Elemental creature with double strike"); cardType.add(CardType.CREATURE); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); color.setRed(true); color.setWhite(true); power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/Needlebug.java b/Mage.Sets/src/mage/cards/n/Needlebug.java index 2a68124baf6..7928fe545ab 100644 --- a/Mage.Sets/src/mage/cards/n/Needlebug.java +++ b/Mage.Sets/src/mage/cards/n/Needlebug.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactCard; /** @@ -44,7 +45,7 @@ public class Needlebug extends CardImpl { public Needlebug(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NeedlepeakSpider.java b/Mage.Sets/src/mage/cards/n/NeedlepeakSpider.java index 5381ab93a7a..e243d1b504a 100644 --- a/Mage.Sets/src/mage/cards/n/NeedlepeakSpider.java +++ b/Mage.Sets/src/mage/cards/n/NeedlepeakSpider.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class NeedlepeakSpider extends CardImpl { public NeedlepeakSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NeedleshotGourna.java b/Mage.Sets/src/mage/cards/n/NeedleshotGourna.java index 658fc7631a0..bc106b72564 100644 --- a/Mage.Sets/src/mage/cards/n/NeedleshotGourna.java +++ b/Mage.Sets/src/mage/cards/n/NeedleshotGourna.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class NeedleshotGourna extends CardImpl { public NeedleshotGourna(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/n/NefCropEntangler.java b/Mage.Sets/src/mage/cards/n/NefCropEntangler.java index 04df91609a9..4fd1976f25f 100644 --- a/Mage.Sets/src/mage/cards/n/NefCropEntangler.java +++ b/Mage.Sets/src/mage/cards/n/NefCropEntangler.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -47,8 +48,8 @@ public class NefCropEntangler extends CardImpl { public NefCropEntangler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NefaroxOverlordOfGrixis.java b/Mage.Sets/src/mage/cards/n/NefaroxOverlordOfGrixis.java index bddc1c453af..ad7b9191ea9 100644 --- a/Mage.Sets/src/mage/cards/n/NefaroxOverlordOfGrixis.java +++ b/Mage.Sets/src/mage/cards/n/NefaroxOverlordOfGrixis.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -48,7 +49,7 @@ public class NefaroxOverlordOfGrixis extends CardImpl { public NefaroxOverlordOfGrixis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/n/Nefashu.java b/Mage.Sets/src/mage/cards/n/Nefashu.java index 1cf80f77fa1..01166d92d18 100644 --- a/Mage.Sets/src/mage/cards/n/Nefashu.java +++ b/Mage.Sets/src/mage/cards/n/Nefashu.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class Nefashu extends CardImpl { public Nefashu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NeglectedHeirloom.java b/Mage.Sets/src/mage/cards/n/NeglectedHeirloom.java index a9549bc2f76..b1781f7e26f 100644 --- a/Mage.Sets/src/mage/cards/n/NeglectedHeirloom.java +++ b/Mage.Sets/src/mage/cards/n/NeglectedHeirloom.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.a.AshmouthBlade; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -52,7 +53,7 @@ public class NeglectedHeirloom extends CardImpl { public NeglectedHeirloom(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.transformable = true; this.secondSideCardClazz = AshmouthBlade.class; diff --git a/Mage.Sets/src/mage/cards/n/NehebTheEternal.java b/Mage.Sets/src/mage/cards/n/NehebTheEternal.java index f279706678b..b7fd0a98dc4 100644 --- a/Mage.Sets/src/mage/cards/n/NehebTheEternal.java +++ b/Mage.Sets/src/mage/cards/n/NehebTheEternal.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.AfflictAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.game.Game; @@ -53,9 +54,9 @@ public class NehebTheEternal extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/n/NehebTheWorthy.java b/Mage.Sets/src/mage/cards/n/NehebTheWorthy.java index 08649a215fc..665fcbe2838 100644 --- a/Mage.Sets/src/mage/cards/n/NehebTheWorthy.java +++ b/Mage.Sets/src/mage/cards/n/NehebTheWorthy.java @@ -63,8 +63,8 @@ public class NehebTheWorthy extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NekoTe.java b/Mage.Sets/src/mage/cards/n/NekoTe.java index 71ddd40d30f..c1bb826f287 100644 --- a/Mage.Sets/src/mage/cards/n/NekoTe.java +++ b/Mage.Sets/src/mage/cards/n/NekoTe.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; @@ -53,7 +54,7 @@ public class NekoTe extends CardImpl { public NekoTe(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Whenever equipped creature deals damage to a creature, tap that creature. That creature doesn't untap during its controller's untap step for as long as Neko-Te remains on the battlefield. ContinuousRuleModifyingEffect skipUntapEffect = new DontUntapInControllersUntapStepTargetEffect(Duration.WhileOnBattlefield); diff --git a/Mage.Sets/src/mage/cards/n/Nekrataal.java b/Mage.Sets/src/mage/cards/n/Nekrataal.java index 7a8b9fad16a..6b0f09afb33 100644 --- a/Mage.Sets/src/mage/cards/n/Nekrataal.java +++ b/Mage.Sets/src/mage/cards/n/Nekrataal.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -59,8 +60,8 @@ public class Nekrataal extends CardImpl { public Nekrataal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NekusarTheMindrazer.java b/Mage.Sets/src/mage/cards/n/NekusarTheMindrazer.java index 60c5e538621..f06fa2df4ae 100644 --- a/Mage.Sets/src/mage/cards/n/NekusarTheMindrazer.java +++ b/Mage.Sets/src/mage/cards/n/NekusarTheMindrazer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DrawCardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; @@ -49,8 +50,8 @@ public class NekusarTheMindrazer extends CardImpl { public NekusarTheMindrazer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NemaSiltlurker.java b/Mage.Sets/src/mage/cards/n/NemaSiltlurker.java index e4cfc776969..2095a03d99e 100644 --- a/Mage.Sets/src/mage/cards/n/NemaSiltlurker.java +++ b/Mage.Sets/src/mage/cards/n/NemaSiltlurker.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class NemaSiltlurker extends CardImpl { public NemaSiltlurker (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/n/NemataGroveGuardian.java b/Mage.Sets/src/mage/cards/n/NemataGroveGuardian.java index 8d2c17ac204..47abe5176af 100644 --- a/Mage.Sets/src/mage/cards/n/NemataGroveGuardian.java +++ b/Mage.Sets/src/mage/cards/n/NemataGroveGuardian.java @@ -59,7 +59,7 @@ public class NemataGroveGuardian extends CardImpl { public NemataGroveGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/n/NemesisMask.java b/Mage.Sets/src/mage/cards/n/NemesisMask.java index 19d8af7075c..dee1f192039 100644 --- a/Mage.Sets/src/mage/cards/n/NemesisMask.java +++ b/Mage.Sets/src/mage/cards/n/NemesisMask.java @@ -36,6 +36,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class NemesisMask extends CardImpl { public NemesisMask(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // All creatures able to block equipped creature do so. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, diff --git a/Mage.Sets/src/mage/cards/n/NemesisOfMortals.java b/Mage.Sets/src/mage/cards/n/NemesisOfMortals.java index 0545fa66b17..3fe0b24d48b 100644 --- a/Mage.Sets/src/mage/cards/n/NemesisOfMortals.java +++ b/Mage.Sets/src/mage/cards/n/NemesisOfMortals.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MonstrosityAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.CostModificationType; import mage.constants.Duration; import mage.constants.Outcome; @@ -55,7 +56,7 @@ public class NemesisOfMortals extends CardImpl { public NemesisOfMortals(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/n/NemesisOfReason.java b/Mage.Sets/src/mage/cards/n/NemesisOfReason.java index bc9221c9874..3974c7b9e98 100644 --- a/Mage.Sets/src/mage/cards/n/NemesisOfReason.java +++ b/Mage.Sets/src/mage/cards/n/NemesisOfReason.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -49,8 +50,8 @@ public class NemesisOfReason extends CardImpl { public NemesisOfReason (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{B}"); - this.subtype.add("Leviathan"); - this.subtype.add("Horror"); + this.subtype.add(SubType.LEVIATHAN); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/n/NeophyteHateflayer.java b/Mage.Sets/src/mage/cards/n/NeophyteHateflayer.java index a2e2255d2b5..c3dab477a4e 100644 --- a/Mage.Sets/src/mage/cards/n/NeophyteHateflayer.java +++ b/Mage.Sets/src/mage/cards/n/NeophyteHateflayer.java @@ -1,69 +1,70 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.n; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.PayLifeCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.common.LoseLifeOpponentsEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; - -/** - * - * @author Styxo - */ -public class NeophyteHateflayer extends CardImpl { - - public NeophyteHateflayer(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}"); - this.subtype.add("Human"); - this.subtype.add("Sith"); - this.power = new MageInt(1); - this.toughness = new MageInt(1); - - // {T}, Pay 1 life: Each opponent loses 1 life. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeOpponentsEffect(1), new TapSourceCost()); - ability.addCost(new PayLifeCost(1)); - this.addAbility(ability); - } - - public NeophyteHateflayer(final NeophyteHateflayer card) { - super(card); - } - - @Override - public NeophyteHateflayer copy() { - return new NeophyteHateflayer(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.n; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.PayLifeCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.LoseLifeOpponentsEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; + +/** + * + * @author Styxo + */ +public class NeophyteHateflayer extends CardImpl { + + public NeophyteHateflayer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SITH); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // {T}, Pay 1 life: Each opponent loses 1 life. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new LoseLifeOpponentsEffect(1), new TapSourceCost()); + ability.addCost(new PayLifeCost(1)); + this.addAbility(ability); + } + + public NeophyteHateflayer(final NeophyteHateflayer card) { + super(card); + } + + @Override + public NeophyteHateflayer copy() { + return new NeophyteHateflayer(this); + } +} diff --git a/Mage.Sets/src/mage/cards/n/NephaliaMoondrakes.java b/Mage.Sets/src/mage/cards/n/NephaliaMoondrakes.java index 91dfe1edf8e..4c35caed072 100644 --- a/Mage.Sets/src/mage/cards/n/NephaliaMoondrakes.java +++ b/Mage.Sets/src/mage/cards/n/NephaliaMoondrakes.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; @@ -53,7 +54,7 @@ public class NephaliaMoondrakes extends CardImpl { public NephaliaMoondrakes(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{U}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/n/NephaliaSeakite.java b/Mage.Sets/src/mage/cards/n/NephaliaSeakite.java index 48da94e7b0a..2010caed192 100644 --- a/Mage.Sets/src/mage/cards/n/NephaliaSeakite.java +++ b/Mage.Sets/src/mage/cards/n/NephaliaSeakite.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class NephaliaSeakite extends CardImpl { public NephaliaSeakite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NephaliaSmuggler.java b/Mage.Sets/src/mage/cards/n/NephaliaSmuggler.java index 7f51f66dd98..e16b67f8260 100644 --- a/Mage.Sets/src/mage/cards/n/NephaliaSmuggler.java +++ b/Mage.Sets/src/mage/cards/n/NephaliaSmuggler.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnToBattlefieldUnderYourControlTargetEf import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -55,8 +56,8 @@ public class NephaliaSmuggler extends CardImpl { public NephaliaSmuggler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NerfHerder.java b/Mage.Sets/src/mage/cards/n/NerfHerder.java index 99a6c0fef6c..3f41b1198d7 100644 --- a/Mage.Sets/src/mage/cards/n/NerfHerder.java +++ b/Mage.Sets/src/mage/cards/n/NerfHerder.java @@ -1,80 +1,81 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.n; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; -import mage.abilities.effects.common.cost.AbilitiesCostReductionControllerEffect; -import mage.abilities.keyword.MonstrosityAbility; -import mage.abilities.keyword.TrampleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; - -/** - * - * @author Styxo - */ -public class NerfHerder extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Each creature with a +1/+1 counter on it"); - - static { - filter.add(new CounterPredicate(CounterType.P1P1)); - } - - public NerfHerder(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.power = new MageInt(2); - this.toughness = new MageInt(3); - - // Monstrosity abilities you activate cost {1} less to activate. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AbilitiesCostReductionControllerEffect(MonstrosityAbility.class, "Monstrosity"))); - - // Each creature you control with a +1/+1 counter on it has trample. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield, filter))); - - } - - public NerfHerder(final NerfHerder card) { - super(card); - } - - @Override - public NerfHerder copy() { - return new NerfHerder(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.n; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.effects.common.cost.AbilitiesCostReductionControllerEffect; +import mage.abilities.keyword.MonstrosityAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.CounterPredicate; + +/** + * + * @author Styxo + */ +public class NerfHerder extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Each creature with a +1/+1 counter on it"); + + static { + filter.add(new CounterPredicate(CounterType.P1P1)); + } + + public NerfHerder(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); + this.subtype.add(SubType.HUMAN); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Monstrosity abilities you activate cost {1} less to activate. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AbilitiesCostReductionControllerEffect(MonstrosityAbility.class, "Monstrosity"))); + + // Each creature you control with a +1/+1 counter on it has trample. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield, filter))); + + } + + public NerfHerder(final NerfHerder card) { + super(card); + } + + @Override + public NerfHerder copy() { + return new NerfHerder(this); + } +} diff --git a/Mage.Sets/src/mage/cards/n/NessianAsp.java b/Mage.Sets/src/mage/cards/n/NessianAsp.java index 3bf470e5f38..76a24ef53bd 100644 --- a/Mage.Sets/src/mage/cards/n/NessianAsp.java +++ b/Mage.Sets/src/mage/cards/n/NessianAsp.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class NessianAsp extends CardImpl { public NessianAsp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/n/NessianCourser.java b/Mage.Sets/src/mage/cards/n/NessianCourser.java index 0d7fd1849d8..406ceeb4390 100644 --- a/Mage.Sets/src/mage/cards/n/NessianCourser.java +++ b/Mage.Sets/src/mage/cards/n/NessianCourser.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class NessianCourser extends CardImpl { public NessianCourser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NessianDemolok.java b/Mage.Sets/src/mage/cards/n/NessianDemolok.java index 70b1769331c..8e6d5f83222 100644 --- a/Mage.Sets/src/mage/cards/n/NessianDemolok.java +++ b/Mage.Sets/src/mage/cards/n/NessianDemolok.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TributeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -57,7 +58,7 @@ public class NessianDemolok extends CardImpl { public NessianDemolok(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NessianGameWarden.java b/Mage.Sets/src/mage/cards/n/NessianGameWarden.java index 1796a1c4481..fe78091f32e 100644 --- a/Mage.Sets/src/mage/cards/n/NessianGameWarden.java +++ b/Mage.Sets/src/mage/cards/n/NessianGameWarden.java @@ -58,7 +58,7 @@ public class NessianGameWarden extends CardImpl { public NessianGameWarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/n/NessianWildsRavager.java b/Mage.Sets/src/mage/cards/n/NessianWildsRavager.java index 32a6179e883..f95b91bb9fe 100644 --- a/Mage.Sets/src/mage/cards/n/NessianWildsRavager.java +++ b/Mage.Sets/src/mage/cards/n/NessianWildsRavager.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TributeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; import mage.target.common.TargetCreaturePermanent; @@ -55,7 +56,7 @@ public class NessianWildsRavager extends CardImpl { public NessianWildsRavager(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/n/NestInvader.java b/Mage.Sets/src/mage/cards/n/NestInvader.java index 8274e7bf580..d46400f1a9c 100644 --- a/Mage.Sets/src/mage/cards/n/NestInvader.java +++ b/Mage.Sets/src/mage/cards/n/NestInvader.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.EldraziSpawnToken; /** @@ -45,8 +46,8 @@ public class NestInvader extends CardImpl { public NestInvader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NestOfScarabs.java b/Mage.Sets/src/mage/cards/n/NestOfScarabs.java index dafd2c3ebbb..33258e5344c 100644 --- a/Mage.Sets/src/mage/cards/n/NestOfScarabs.java +++ b/Mage.Sets/src/mage/cards/n/NestOfScarabs.java @@ -1,109 +1,109 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.n; - -import java.util.UUID; -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.dynamicvalue.common.EffectKeyValue; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.permanent.Permanent; -import mage.game.permanent.token.NestOfScarabsBlackInsectToken; - -/** - * - * @author stravant - */ -public class NestOfScarabs extends CardImpl { - - public NestOfScarabs(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}"); - - // Whenever you put one or more -1/-1 counters on a creature, create that many 1/1 black Insect tokens. - this.addAbility(new NestOfScarabsTriggeredAbility()); - - } - - public NestOfScarabs(final NestOfScarabs card) { - super(card); - } - - @Override - public NestOfScarabs copy() { - return new NestOfScarabs(this); - } -} - -class NestOfScarabsTriggeredAbility extends TriggeredAbilityImpl { - - NestOfScarabsTriggeredAbility() { - super(Zone.BATTLEFIELD, new CreateTokenEffect(new NestOfScarabsBlackInsectToken(), new EffectKeyValue("countersAdded"))); - } - - NestOfScarabsTriggeredAbility(final NestOfScarabsTriggeredAbility ability) { - super(ability); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.COUNTERS_ADDED; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - boolean weAreDoingIt = getControllerId().equals(game.getControllerId(event.getSourceId())); - boolean isM1M1Counters = event.getData().equals(CounterType.M1M1.getName()); - if (weAreDoingIt && isM1M1Counters && event.getAmount() > 0) { - Permanent permanent = game.getPermanentOrLKIBattlefield(event.getTargetId()); - if (permanent == null) { - permanent = game.getPermanentEntering(event.getTargetId()); - } - if (permanent.isCreature()) { - getEffects().forEach(effect -> effect.setValue("countersAdded", event.getAmount())); - return true; - } - } - return false; - } - - @Override - public NestOfScarabsTriggeredAbility copy() { - return new NestOfScarabsTriggeredAbility(this); - } - - @Override - public String getRule() { - return "Whenever you put one or more -1/-1 counters on a creature, create that many 1/1 black Insect tokens."; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.n; + +import java.util.UUID; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.dynamicvalue.common.EffectKeyValue; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; +import mage.game.permanent.token.NestOfScarabsBlackInsectToken; + +/** + * + * @author stravant + */ +public class NestOfScarabs extends CardImpl { + + public NestOfScarabs(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}"); + + // Whenever you put one or more -1/-1 counters on a creature, create that many 1/1 black Insect tokens. + this.addAbility(new NestOfScarabsTriggeredAbility()); + + } + + public NestOfScarabs(final NestOfScarabs card) { + super(card); + } + + @Override + public NestOfScarabs copy() { + return new NestOfScarabs(this); + } +} + +class NestOfScarabsTriggeredAbility extends TriggeredAbilityImpl { + + NestOfScarabsTriggeredAbility() { + super(Zone.BATTLEFIELD, new CreateTokenEffect(new NestOfScarabsBlackInsectToken(), new EffectKeyValue("countersAdded"))); + } + + NestOfScarabsTriggeredAbility(final NestOfScarabsTriggeredAbility ability) { + super(ability); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.COUNTERS_ADDED; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + boolean weAreDoingIt = getControllerId().equals(game.getControllerId(event.getSourceId())); + boolean isM1M1Counters = event.getData().equals(CounterType.M1M1.getName()); + if (weAreDoingIt && isM1M1Counters && event.getAmount() > 0) { + Permanent permanent = game.getPermanentOrLKIBattlefield(event.getTargetId()); + if (permanent == null) { + permanent = game.getPermanentEntering(event.getTargetId()); + } + if (permanent.isCreature()) { + getEffects().forEach(effect -> effect.setValue("countersAdded", event.getAmount())); + return true; + } + } + return false; + } + + @Override + public NestOfScarabsTriggeredAbility copy() { + return new NestOfScarabsTriggeredAbility(this); + } + + @Override + public String getRule() { + return "Whenever you put one or more -1/-1 counters on a creature, create that many 1/1 black Insect tokens."; + } +} diff --git a/Mage.Sets/src/mage/cards/n/NestedGhoul.java b/Mage.Sets/src/mage/cards/n/NestedGhoul.java index f931a46e149..ed6721e6ad6 100644 --- a/Mage.Sets/src/mage/cards/n/NestedGhoul.java +++ b/Mage.Sets/src/mage/cards/n/NestedGhoul.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -48,8 +49,8 @@ public class NestedGhoul extends CardImpl { public NestedGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NetcasterSpider.java b/Mage.Sets/src/mage/cards/n/NetcasterSpider.java index 1268ac410aa..426c8ce6431 100644 --- a/Mage.Sets/src/mage/cards/n/NetcasterSpider.java +++ b/Mage.Sets/src/mage/cards/n/NetcasterSpider.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class NetcasterSpider extends CardImpl { public NetcasterSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NetherHorror.java b/Mage.Sets/src/mage/cards/n/NetherHorror.java index 1f4e9c42c38..d3f20c8221c 100644 --- a/Mage.Sets/src/mage/cards/n/NetherHorror.java +++ b/Mage.Sets/src/mage/cards/n/NetherHorror.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class NetherHorror extends CardImpl { public NetherHorror(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NetherShadow.java b/Mage.Sets/src/mage/cards/n/NetherShadow.java index 85e70688f89..1a9fea349e1 100644 --- a/Mage.Sets/src/mage/cards/n/NetherShadow.java +++ b/Mage.Sets/src/mage/cards/n/NetherShadow.java @@ -36,6 +36,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; @@ -49,7 +50,7 @@ public class NetherShadow extends CardImpl { public NetherShadow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NetherSpirit.java b/Mage.Sets/src/mage/cards/n/NetherSpirit.java index 12f4e99e3ec..6fffe309264 100644 --- a/Mage.Sets/src/mage/cards/n/NetherSpirit.java +++ b/Mage.Sets/src/mage/cards/n/NetherSpirit.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -53,7 +54,7 @@ public class NetherSpirit extends CardImpl { public NetherSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NetherTraitor.java b/Mage.Sets/src/mage/cards/n/NetherTraitor.java index 7bb62b1e5d6..c3a4a54c151 100644 --- a/Mage.Sets/src/mage/cards/n/NetherTraitor.java +++ b/Mage.Sets/src/mage/cards/n/NetherTraitor.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.game.Game; @@ -52,7 +53,7 @@ public class NetherTraitor extends CardImpl { public NetherTraitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NetherbornPhalanx.java b/Mage.Sets/src/mage/cards/n/NetherbornPhalanx.java index 242655073bf..0afc6f5a71c 100644 --- a/Mage.Sets/src/mage/cards/n/NetherbornPhalanx.java +++ b/Mage.Sets/src/mage/cards/n/NetherbornPhalanx.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TransmuteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.StaticFilters; import mage.game.Game; @@ -49,7 +50,7 @@ public class NetherbornPhalanx extends CardImpl { public NetherbornPhalanx(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NetterEnDal.java b/Mage.Sets/src/mage/cards/n/NetterEnDal.java index 64a966b1f95..c0a5827744c 100644 --- a/Mage.Sets/src/mage/cards/n/NetterEnDal.java +++ b/Mage.Sets/src/mage/cards/n/NetterEnDal.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.combat.CantAttackTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class NetterEnDal extends CardImpl { public NetterEnDal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NettleDrone.java b/Mage.Sets/src/mage/cards/n/NettleDrone.java index 4c3d7814d0a..42a2298bd29 100644 --- a/Mage.Sets/src/mage/cards/n/NettleDrone.java +++ b/Mage.Sets/src/mage/cards/n/NettleDrone.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterSpell; @@ -57,8 +58,8 @@ public class NettleDrone extends CardImpl { public NettleDrone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NettleSentinel.java b/Mage.Sets/src/mage/cards/n/NettleSentinel.java index 80fa25bd36c..1089d4de1a3 100644 --- a/Mage.Sets/src/mage/cards/n/NettleSentinel.java +++ b/Mage.Sets/src/mage/cards/n/NettleSentinel.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -55,8 +56,8 @@ public class NettleSentinel extends CardImpl { public NettleSentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NettleSwine.java b/Mage.Sets/src/mage/cards/n/NettleSwine.java index ec06585aa57..c37a5ef1535 100644 --- a/Mage.Sets/src/mage/cards/n/NettleSwine.java +++ b/Mage.Sets/src/mage/cards/n/NettleSwine.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class NettleSwine extends CardImpl { public NettleSwine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Boar"); + this.subtype.add(SubType.BOAR); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NettletoothDjinn.java b/Mage.Sets/src/mage/cards/n/NettletoothDjinn.java index f1c634bfd73..fa949cb2c87 100644 --- a/Mage.Sets/src/mage/cards/n/NettletoothDjinn.java +++ b/Mage.Sets/src/mage/cards/n/NettletoothDjinn.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -44,7 +45,7 @@ public class NettletoothDjinn extends CardImpl { public NettletoothDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NettlevineBlight.java b/Mage.Sets/src/mage/cards/n/NettlevineBlight.java index a40095103b9..23a52cc2af3 100644 --- a/Mage.Sets/src/mage/cards/n/NettlevineBlight.java +++ b/Mage.Sets/src/mage/cards/n/NettlevineBlight.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -67,7 +68,7 @@ public class NettlevineBlight extends CardImpl { public NettlevineBlight(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{4}{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature or land TargetPermanent auraTarget = new TargetPermanent(filter); diff --git a/Mage.Sets/src/mage/cards/n/NettlingImp.java b/Mage.Sets/src/mage/cards/n/NettlingImp.java index d81610c73d5..bc84103208f 100644 --- a/Mage.Sets/src/mage/cards/n/NettlingImp.java +++ b/Mage.Sets/src/mage/cards/n/NettlingImp.java @@ -70,7 +70,7 @@ public class NettlingImp extends CardImpl { public NettlingImp(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NeurokCommando.java b/Mage.Sets/src/mage/cards/n/NeurokCommando.java index c1a1b11ff7c..ce899b1b1a7 100644 --- a/Mage.Sets/src/mage/cards/n/NeurokCommando.java +++ b/Mage.Sets/src/mage/cards/n/NeurokCommando.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class NeurokCommando extends CardImpl { public NeurokCommando(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NeurokFamiliar.java b/Mage.Sets/src/mage/cards/n/NeurokFamiliar.java index 1deb40cf857..0a5f69667a4 100644 --- a/Mage.Sets/src/mage/cards/n/NeurokFamiliar.java +++ b/Mage.Sets/src/mage/cards/n/NeurokFamiliar.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -53,7 +54,7 @@ public class NeurokFamiliar extends CardImpl { public NeurokFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NeurokHoversail.java b/Mage.Sets/src/mage/cards/n/NeurokHoversail.java index 7ae763a4e09..9e551f43d1d 100644 --- a/Mage.Sets/src/mage/cards/n/NeurokHoversail.java +++ b/Mage.Sets/src/mage/cards/n/NeurokHoversail.java @@ -45,7 +45,7 @@ public class NeurokHoversail extends CardImpl { public NeurokHoversail(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has flying. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/n/NeurokInvisimancer.java b/Mage.Sets/src/mage/cards/n/NeurokInvisimancer.java index 0a8a89def9f..3a71bd5f22b 100644 --- a/Mage.Sets/src/mage/cards/n/NeurokInvisimancer.java +++ b/Mage.Sets/src/mage/cards/n/NeurokInvisimancer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -47,8 +48,8 @@ public class NeurokInvisimancer extends CardImpl { public NeurokInvisimancer (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NeurokProdigy.java b/Mage.Sets/src/mage/cards/n/NeurokProdigy.java index 501377d6982..3749ad7fb05 100644 --- a/Mage.Sets/src/mage/cards/n/NeurokProdigy.java +++ b/Mage.Sets/src/mage/cards/n/NeurokProdigy.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -55,8 +56,8 @@ public class NeurokProdigy extends CardImpl { public NeurokProdigy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NeurokReplica.java b/Mage.Sets/src/mage/cards/n/NeurokReplica.java index 51dc61ad8e9..26fe0ea2b76 100644 --- a/Mage.Sets/src/mage/cards/n/NeurokReplica.java +++ b/Mage.Sets/src/mage/cards/n/NeurokReplica.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class NeurokReplica extends CardImpl { public NeurokReplica (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(4); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnToHandTargetEffect(), new ManaCostsImpl("{1}{U}")); diff --git a/Mage.Sets/src/mage/cards/n/NeurokSpy.java b/Mage.Sets/src/mage/cards/n/NeurokSpy.java index acd04ee6256..aafcb7719e2 100644 --- a/Mage.Sets/src/mage/cards/n/NeurokSpy.java +++ b/Mage.Sets/src/mage/cards/n/NeurokSpy.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; @@ -48,8 +49,8 @@ public class NeurokSpy extends CardImpl { public NeurokSpy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NeurokStealthsuit.java b/Mage.Sets/src/mage/cards/n/NeurokStealthsuit.java index 1769413149a..6c519204631 100644 --- a/Mage.Sets/src/mage/cards/n/NeurokStealthsuit.java +++ b/Mage.Sets/src/mage/cards/n/NeurokStealthsuit.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -53,7 +54,7 @@ public class NeurokStealthsuit extends CardImpl { public NeurokStealthsuit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has shroud. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ShroudAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/n/Nevermaker.java b/Mage.Sets/src/mage/cards/n/Nevermaker.java index acc19c8f22a..a7bfbe03519 100644 --- a/Mage.Sets/src/mage/cards/n/Nevermaker.java +++ b/Mage.Sets/src/mage/cards/n/Nevermaker.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.Target; import mage.target.common.TargetNonlandPermanent; @@ -48,7 +49,7 @@ public class Nevermaker extends CardImpl { public Nevermaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NewPerspectives.java b/Mage.Sets/src/mage/cards/n/NewPerspectives.java index 14769954e01..0ddda380cfb 100644 --- a/Mage.Sets/src/mage/cards/n/NewPerspectives.java +++ b/Mage.Sets/src/mage/cards/n/NewPerspectives.java @@ -1,113 +1,113 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.n; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.ActivatedAbility; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.common.CyclingDiscardCost; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.effects.common.cost.CostModificationEffectImpl; -import mage.abilities.keyword.CyclingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.CostModificationType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.game.Game; -import mage.players.Player; - -/** - * - * @author LevelX2 - */ -public class NewPerspectives extends CardImpl { - - public NewPerspectives(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{5}{U}"); - - // When New Perspectives enters the battlefield, draw three cards. - this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(3))); - - // As long as you have seven or more cards in hand, you may pay {0} rather than pay cycling costs. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new NewPerspectivesCostModificationEffect())); - } - - public NewPerspectives(final NewPerspectives card) { - super(card); - } - - @Override - public NewPerspectives copy() { - return new NewPerspectives(this); - } -} - -class NewPerspectivesCostModificationEffect extends CostModificationEffectImpl { - - NewPerspectivesCostModificationEffect() { - super(Duration.Custom, Outcome.Benefit, CostModificationType.SET_COST); - this.staticText = "As long as you have seven or more cards in hand, you may pay {0} rather than pay cycling costs"; - } - - NewPerspectivesCostModificationEffect(final NewPerspectivesCostModificationEffect effect) { - super(effect); - } - - @Override - public boolean applies(Ability abilityToModify, Ability source, Game game) { - Player controller = game.getPlayer(abilityToModify.getControllerId()); - return controller != null - && controller.getId().equals(source.getControllerId()) - && abilityToModify instanceof CyclingAbility - && controller.getHand().size() >= 7; - } - - @Override - public boolean apply(Game game, Ability source, Ability abilityToModify) { - Player controller = game.getPlayer(abilityToModify.getControllerId()); - if (controller != null) { - if ((abilityToModify instanceof ActivatedAbility && ((ActivatedAbility) abilityToModify).isCheckPlayableMode()) || controller.chooseUse(Outcome.PlayForFree, "Pay {0} to cycle?", source, game)) { - abilityToModify.getCosts().clear(); - abilityToModify.getManaCostsToPay().clear(); - abilityToModify.getCosts().add(new CyclingDiscardCost()); - } - return true; - } - return false; - } - - @Override - public NewPerspectivesCostModificationEffect copy() { - return new NewPerspectivesCostModificationEffect(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.n; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.ActivatedAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.CyclingDiscardCost; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.cost.CostModificationEffectImpl; +import mage.abilities.keyword.CyclingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.CostModificationType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.game.Game; +import mage.players.Player; + +/** + * + * @author LevelX2 + */ +public class NewPerspectives extends CardImpl { + + public NewPerspectives(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{5}{U}"); + + // When New Perspectives enters the battlefield, draw three cards. + this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(3))); + + // As long as you have seven or more cards in hand, you may pay {0} rather than pay cycling costs. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new NewPerspectivesCostModificationEffect())); + } + + public NewPerspectives(final NewPerspectives card) { + super(card); + } + + @Override + public NewPerspectives copy() { + return new NewPerspectives(this); + } +} + +class NewPerspectivesCostModificationEffect extends CostModificationEffectImpl { + + NewPerspectivesCostModificationEffect() { + super(Duration.Custom, Outcome.Benefit, CostModificationType.SET_COST); + this.staticText = "As long as you have seven or more cards in hand, you may pay {0} rather than pay cycling costs"; + } + + NewPerspectivesCostModificationEffect(final NewPerspectivesCostModificationEffect effect) { + super(effect); + } + + @Override + public boolean applies(Ability abilityToModify, Ability source, Game game) { + Player controller = game.getPlayer(abilityToModify.getControllerId()); + return controller != null + && controller.getId().equals(source.getControllerId()) + && abilityToModify instanceof CyclingAbility + && controller.getHand().size() >= 7; + } + + @Override + public boolean apply(Game game, Ability source, Ability abilityToModify) { + Player controller = game.getPlayer(abilityToModify.getControllerId()); + if (controller != null) { + if ((abilityToModify instanceof ActivatedAbility && ((ActivatedAbility) abilityToModify).isCheckPlayableMode()) || controller.chooseUse(Outcome.PlayForFree, "Pay {0} to cycle?", source, game)) { + abilityToModify.getCosts().clear(); + abilityToModify.getManaCostsToPay().clear(); + abilityToModify.getCosts().add(new CyclingDiscardCost()); + } + return true; + } + return false; + } + + @Override + public NewPerspectivesCostModificationEffect copy() { + return new NewPerspectivesCostModificationEffect(this); + } +} diff --git a/Mage.Sets/src/mage/cards/n/NewPrahvGuildmage.java b/Mage.Sets/src/mage/cards/n/NewPrahvGuildmage.java index e10527c0ba1..c18c85c3bf8 100644 --- a/Mage.Sets/src/mage/cards/n/NewPrahvGuildmage.java +++ b/Mage.Sets/src/mage/cards/n/NewPrahvGuildmage.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class NewPrahvGuildmage extends CardImpl { public NewPrahvGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); diff --git a/Mage.Sets/src/mage/cards/n/NexuStalker.java b/Mage.Sets/src/mage/cards/n/NexuStalker.java index 43c2ae67a4d..92b645cc434 100644 --- a/Mage.Sets/src/mage/cards/n/NexuStalker.java +++ b/Mage.Sets/src/mage/cards/n/NexuStalker.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MonstrosityAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class NexuStalker extends CardImpl { public NexuStalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NezumiBoneReader.java b/Mage.Sets/src/mage/cards/n/NezumiBoneReader.java index a4c80b4b142..2413cc41e6f 100644 --- a/Mage.Sets/src/mage/cards/n/NezumiBoneReader.java +++ b/Mage.Sets/src/mage/cards/n/NezumiBoneReader.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; import mage.target.common.TargetControlledCreaturePermanent; @@ -50,8 +51,8 @@ public class NezumiBoneReader extends CardImpl { public NezumiBoneReader (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Rat"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NezumiCutthroat.java b/Mage.Sets/src/mage/cards/n/NezumiCutthroat.java index ea5644c90ed..0b6240253b4 100644 --- a/Mage.Sets/src/mage/cards/n/NezumiCutthroat.java +++ b/Mage.Sets/src/mage/cards/n/NezumiCutthroat.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -43,8 +44,8 @@ public class NezumiCutthroat extends CardImpl { public NezumiCutthroat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Rat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NezumiGraverobber.java b/Mage.Sets/src/mage/cards/n/NezumiGraverobber.java index b4d2534bf7b..8c1104f6d5d 100644 --- a/Mage.Sets/src/mage/cards/n/NezumiGraverobber.java +++ b/Mage.Sets/src/mage/cards/n/NezumiGraverobber.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -59,8 +60,8 @@ public class NezumiGraverobber extends CardImpl { public NezumiGraverobber(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Rat"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); @@ -124,8 +125,8 @@ class NighteyesTheDesecratorToken extends Token { addSuperType(SuperType.LEGENDARY); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Rat"); - subtype.add("Wizard"); + subtype.add(SubType.RAT); + subtype.add(SubType.WIZARD); power = new MageInt(4); toughness = new MageInt(2); // {4}{B}: Put target creature card from a graveyard onto the battlefield under your control. diff --git a/Mage.Sets/src/mage/cards/n/NezumiRonin.java b/Mage.Sets/src/mage/cards/n/NezumiRonin.java index e4f6a0fa6f0..cd715b17499 100644 --- a/Mage.Sets/src/mage/cards/n/NezumiRonin.java +++ b/Mage.Sets/src/mage/cards/n/NezumiRonin.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.BushidoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class NezumiRonin extends CardImpl { public NezumiRonin (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Rat"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NezumiShadowWatcher.java b/Mage.Sets/src/mage/cards/n/NezumiShadowWatcher.java index acb7f8c1749..f9bbf31370e 100644 --- a/Mage.Sets/src/mage/cards/n/NezumiShadowWatcher.java +++ b/Mage.Sets/src/mage/cards/n/NezumiShadowWatcher.java @@ -56,8 +56,8 @@ public class NezumiShadowWatcher extends CardImpl { public NezumiShadowWatcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Rat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NezumiShortfang.java b/Mage.Sets/src/mage/cards/n/NezumiShortfang.java index 80dead995b2..7deb035d6cb 100644 --- a/Mage.Sets/src/mage/cards/n/NezumiShortfang.java +++ b/Mage.Sets/src/mage/cards/n/NezumiShortfang.java @@ -54,8 +54,8 @@ public class NezumiShortfang extends CardImpl { public NezumiShortfang(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Rat"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); @@ -90,8 +90,8 @@ class StabwhiskerTheOdious extends Token { addSuperType(SuperType.LEGENDARY); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Rat"); - subtype.add("Shaman"); + subtype.add(SubType.RAT); + subtype.add(SubType.SHAMAN); power = new MageInt(3); toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NiallSilvain.java b/Mage.Sets/src/mage/cards/n/NiallSilvain.java index 5f26fa08e53..675539cdfc2 100644 --- a/Mage.Sets/src/mage/cards/n/NiallSilvain.java +++ b/Mage.Sets/src/mage/cards/n/NiallSilvain.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.RegenerateTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class NiallSilvain extends CardImpl { public NiallSilvain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}{G}"); - this.subtype.add("Ouphe"); + this.subtype.add(SubType.OUPHE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NiblisOfDusk.java b/Mage.Sets/src/mage/cards/n/NiblisOfDusk.java index 8e0973343eb..d691c9f9588 100644 --- a/Mage.Sets/src/mage/cards/n/NiblisOfDusk.java +++ b/Mage.Sets/src/mage/cards/n/NiblisOfDusk.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class NiblisOfDusk extends CardImpl { public NiblisOfDusk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NiblisOfFrost.java b/Mage.Sets/src/mage/cards/n/NiblisOfFrost.java index 6b68930876a..cfa61dc3511 100644 --- a/Mage.Sets/src/mage/cards/n/NiblisOfFrost.java +++ b/Mage.Sets/src/mage/cards/n/NiblisOfFrost.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; @@ -57,7 +58,7 @@ public class NiblisOfFrost extends CardImpl { public NiblisOfFrost(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NiblisOfTheBreath.java b/Mage.Sets/src/mage/cards/n/NiblisOfTheBreath.java index aa00363e32a..8bac56bf589 100644 --- a/Mage.Sets/src/mage/cards/n/NiblisOfTheBreath.java +++ b/Mage.Sets/src/mage/cards/n/NiblisOfTheBreath.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,7 +51,7 @@ public class NiblisOfTheBreath extends CardImpl { public NiblisOfTheBreath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NiblisOfTheMist.java b/Mage.Sets/src/mage/cards/n/NiblisOfTheMist.java index 2c48f5ca68a..11597f491c9 100644 --- a/Mage.Sets/src/mage/cards/n/NiblisOfTheMist.java +++ b/Mage.Sets/src/mage/cards/n/NiblisOfTheMist.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -46,7 +47,7 @@ public class NiblisOfTheMist extends CardImpl { public NiblisOfTheMist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NiblisOfTheUrn.java b/Mage.Sets/src/mage/cards/n/NiblisOfTheUrn.java index 807e3b086d1..86c93e8796b 100644 --- a/Mage.Sets/src/mage/cards/n/NiblisOfTheUrn.java +++ b/Mage.Sets/src/mage/cards/n/NiblisOfTheUrn.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -46,7 +47,7 @@ public class NiblisOfTheUrn extends CardImpl { public NiblisOfTheUrn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NicolBolas.java b/Mage.Sets/src/mage/cards/n/NicolBolas.java index b445e1cc609..a9c7c581f31 100644 --- a/Mage.Sets/src/mage/cards/n/NicolBolas.java +++ b/Mage.Sets/src/mage/cards/n/NicolBolas.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; @@ -50,8 +51,8 @@ public class NicolBolas extends CardImpl { public NicolBolas(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}{B}{B}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elder"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.ELDER); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/n/NicolBolasGodPharaoh.java b/Mage.Sets/src/mage/cards/n/NicolBolasGodPharaoh.java index 2567ecf350e..ed909628df1 100644 --- a/Mage.Sets/src/mage/cards/n/NicolBolasGodPharaoh.java +++ b/Mage.Sets/src/mage/cards/n/NicolBolasGodPharaoh.java @@ -70,7 +70,7 @@ public class NicolBolasGodPharaoh extends CardImpl { public NicolBolasGodPharaoh(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{U}{B}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Bolas"); + this.subtype.add(SubType.BOLAS); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(7)); diff --git a/Mage.Sets/src/mage/cards/n/NicolBolasPlaneswalker.java b/Mage.Sets/src/mage/cards/n/NicolBolasPlaneswalker.java index 20d8a9053c8..3ed03a08032 100644 --- a/Mage.Sets/src/mage/cards/n/NicolBolasPlaneswalker.java +++ b/Mage.Sets/src/mage/cards/n/NicolBolasPlaneswalker.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.filter.FilterPermanent; @@ -62,7 +63,7 @@ public class NicolBolasPlaneswalker extends CardImpl { public NicolBolasPlaneswalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{4}{U}{B}{B}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Bolas"); + this.subtype.add(SubType.BOLAS); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/n/NicolBolasTheDeceiver.java b/Mage.Sets/src/mage/cards/n/NicolBolasTheDeceiver.java index 8e45c04297b..f41f84cb8e5 100644 --- a/Mage.Sets/src/mage/cards/n/NicolBolasTheDeceiver.java +++ b/Mage.Sets/src/mage/cards/n/NicolBolasTheDeceiver.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.TargetController; @@ -58,7 +59,7 @@ public class NicolBolasTheDeceiver extends CardImpl { public NicolBolasTheDeceiver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{5}{U}{B}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Bolas"); + this.subtype.add(SubType.BOLAS); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); // +3: Each opponent loses 3 life unless that player sacrifices a nonland permanent or discards a card. diff --git a/Mage.Sets/src/mage/cards/n/NightMarketAeronaut.java b/Mage.Sets/src/mage/cards/n/NightMarketAeronaut.java index f5137c51c56..74919d742c4 100644 --- a/Mage.Sets/src/mage/cards/n/NightMarketAeronaut.java +++ b/Mage.Sets/src/mage/cards/n/NightMarketAeronaut.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.watchers.common.RevoltWatcher; @@ -49,8 +50,8 @@ public class NightMarketAeronaut extends CardImpl { public NightMarketAeronaut(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Aetherborn"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.AETHERBORN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NightMarketGuard.java b/Mage.Sets/src/mage/cards/n/NightMarketGuard.java index 57d96c86a74..449ed5ea2d0 100644 --- a/Mage.Sets/src/mage/cards/n/NightMarketGuard.java +++ b/Mage.Sets/src/mage/cards/n/NightMarketGuard.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CanBlockAdditionalCreatureEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class NightMarketGuard extends CardImpl { public NightMarketGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NightMarketLookout.java b/Mage.Sets/src/mage/cards/n/NightMarketLookout.java index f4599945e4e..40794dd3440 100644 --- a/Mage.Sets/src/mage/cards/n/NightMarketLookout.java +++ b/Mage.Sets/src/mage/cards/n/NightMarketLookout.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.LoseLifeOpponentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class NightMarketLookout extends CardImpl { public NightMarketLookout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NightRevelers.java b/Mage.Sets/src/mage/cards/n/NightRevelers.java index 959d761a7d1..4a0715383a2 100644 --- a/Mage.Sets/src/mage/cards/n/NightRevelers.java +++ b/Mage.Sets/src/mage/cards/n/NightRevelers.java @@ -51,7 +51,7 @@ public class NightRevelers extends CardImpl { public NightRevelers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.color.setRed(true); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NightfallPredator.java b/Mage.Sets/src/mage/cards/n/NightfallPredator.java index 6e3c073b392..e64a86bce8b 100644 --- a/Mage.Sets/src/mage/cards/n/NightfallPredator.java +++ b/Mage.Sets/src/mage/cards/n/NightfallPredator.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class NightfallPredator extends CardImpl { public NightfallPredator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.color.setGreen(true); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NightfireGiant.java b/Mage.Sets/src/mage/cards/n/NightfireGiant.java index a159603fc69..9ebb31f9eba 100644 --- a/Mage.Sets/src/mage/cards/n/NightfireGiant.java +++ b/Mage.Sets/src/mage/cards/n/NightfireGiant.java @@ -59,8 +59,8 @@ public class NightfireGiant extends CardImpl { public NightfireGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Giant"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NightguardPatrol.java b/Mage.Sets/src/mage/cards/n/NightguardPatrol.java index 6bfbf5f26ad..dd0d8ec311f 100644 --- a/Mage.Sets/src/mage/cards/n/NightguardPatrol.java +++ b/Mage.Sets/src/mage/cards/n/NightguardPatrol.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class NightguardPatrol extends CardImpl { public NightguardPatrol (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/Nighthowler.java b/Mage.Sets/src/mage/cards/n/Nighthowler.java index de7f3728428..b3ec05b9864 100644 --- a/Mage.Sets/src/mage/cards/n/Nighthowler.java +++ b/Mage.Sets/src/mage/cards/n/Nighthowler.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.BestowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -52,7 +53,7 @@ public class Nighthowler extends CardImpl { public Nighthowler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/n/Nightmare.java b/Mage.Sets/src/mage/cards/n/Nightmare.java index ce40dd3017b..2eaf737afe2 100644 --- a/Mage.Sets/src/mage/cards/n/Nightmare.java +++ b/Mage.Sets/src/mage/cards/n/Nightmare.java @@ -56,8 +56,8 @@ public class Nightmare extends CardImpl { public Nightmare(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Nightmare"); - this.subtype.add("Horse"); + this.subtype.add(SubType.NIGHTMARE); + this.subtype.add(SubType.HORSE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/n/NightmareLash.java b/Mage.Sets/src/mage/cards/n/NightmareLash.java index 4e9519100ab..d433c431b67 100644 --- a/Mage.Sets/src/mage/cards/n/NightmareLash.java +++ b/Mage.Sets/src/mage/cards/n/NightmareLash.java @@ -54,7 +54,7 @@ public class NightmareLash extends CardImpl { public NightmareLash(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+1 for each Swamp you control. PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(filter); diff --git a/Mage.Sets/src/mage/cards/n/NightscapeApprentice.java b/Mage.Sets/src/mage/cards/n/NightscapeApprentice.java index 8714dafc522..f8224777de7 100644 --- a/Mage.Sets/src/mage/cards/n/NightscapeApprentice.java +++ b/Mage.Sets/src/mage/cards/n/NightscapeApprentice.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -53,8 +54,8 @@ public class NightscapeApprentice extends CardImpl { public NightscapeApprentice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NightscapeBattlemage.java b/Mage.Sets/src/mage/cards/n/NightscapeBattlemage.java index 2cfd64201f5..0fefb009c1a 100644 --- a/Mage.Sets/src/mage/cards/n/NightscapeBattlemage.java +++ b/Mage.Sets/src/mage/cards/n/NightscapeBattlemage.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -61,8 +62,8 @@ public class NightscapeBattlemage extends CardImpl { public NightscapeBattlemage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NightscapeFamiliar.java b/Mage.Sets/src/mage/cards/n/NightscapeFamiliar.java index 609f4c6637f..fa23d42ccf6 100644 --- a/Mage.Sets/src/mage/cards/n/NightscapeFamiliar.java +++ b/Mage.Sets/src/mage/cards/n/NightscapeFamiliar.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; @@ -59,7 +60,7 @@ public class NightscapeFamiliar extends CardImpl { public NightscapeFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NightscapeMaster.java b/Mage.Sets/src/mage/cards/n/NightscapeMaster.java index dab2edef31e..68c9f47c58f 100644 --- a/Mage.Sets/src/mage/cards/n/NightscapeMaster.java +++ b/Mage.Sets/src/mage/cards/n/NightscapeMaster.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class NightscapeMaster extends CardImpl { public NightscapeMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NightshadeAssassin.java b/Mage.Sets/src/mage/cards/n/NightshadeAssassin.java index 1a1ad72c084..7ea30e38b53 100644 --- a/Mage.Sets/src/mage/cards/n/NightshadeAssassin.java +++ b/Mage.Sets/src/mage/cards/n/NightshadeAssassin.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.filter.FilterCard; @@ -60,8 +61,8 @@ public class NightshadeAssassin extends CardImpl { public NightshadeAssassin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NightshadePeddler.java b/Mage.Sets/src/mage/cards/n/NightshadePeddler.java index 9357ec9154f..3c39d39a3c8 100644 --- a/Mage.Sets/src/mage/cards/n/NightshadePeddler.java +++ b/Mage.Sets/src/mage/cards/n/NightshadePeddler.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class NightshadePeddler extends CardImpl { public NightshadePeddler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NightshadeSchemers.java b/Mage.Sets/src/mage/cards/n/NightshadeSchemers.java index ca98c823117..5f3302c3dfe 100644 --- a/Mage.Sets/src/mage/cards/n/NightshadeSchemers.java +++ b/Mage.Sets/src/mage/cards/n/NightshadeSchemers.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class NightshadeSchemers extends CardImpl { public NightshadeSchemers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NightshadeStinger.java b/Mage.Sets/src/mage/cards/n/NightshadeStinger.java index 2ef2affaac2..7662547c982 100644 --- a/Mage.Sets/src/mage/cards/n/NightshadeStinger.java +++ b/Mage.Sets/src/mage/cards/n/NightshadeStinger.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class NightshadeStinger extends CardImpl { public NightshadeStinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NightskyMimic.java b/Mage.Sets/src/mage/cards/n/NightskyMimic.java index d7bb2575aa4..a0e1832e991 100644 --- a/Mage.Sets/src/mage/cards/n/NightskyMimic.java +++ b/Mage.Sets/src/mage/cards/n/NightskyMimic.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SubLayer; import mage.filter.FilterSpell; @@ -61,7 +62,7 @@ public class NightskyMimic extends CardImpl { public NightskyMimic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W/B}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.color.setBlack(true); this.color.setWhite(true); diff --git a/Mage.Sets/src/mage/cards/n/NightsoilKami.java b/Mage.Sets/src/mage/cards/n/NightsoilKami.java index 3115ff66848..0348984f979 100644 --- a/Mage.Sets/src/mage/cards/n/NightsoilKami.java +++ b/Mage.Sets/src/mage/cards/n/NightsoilKami.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class NightsoilKami extends CardImpl { public NightsoilKami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/Nightspider.java b/Mage.Sets/src/mage/cards/n/Nightspider.java index 659ac6f17fb..5d0babd94a6 100644 --- a/Mage.Sets/src/mage/cards/n/Nightspider.java +++ b/Mage.Sets/src/mage/cards/n/Nightspider.java @@ -1,61 +1,62 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.n; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.keyword.DeathtouchAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class Nightspider extends CardImpl { - - public Nightspider(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Insect"); - this.power = new MageInt(1); - this.toughness = new MageInt(1); - - // Deathtouch - this.addAbility(DeathtouchAbility.getInstance()); - } - - public Nightspider(final Nightspider card) { - super(card); - } - - @Override - public Nightspider copy() { - return new Nightspider(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.n; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.keyword.DeathtouchAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author Styxo + */ +public class Nightspider extends CardImpl { + + public Nightspider(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); + this.subtype.add(SubType.INSECT); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // Deathtouch + this.addAbility(DeathtouchAbility.getInstance()); + } + + public Nightspider(final Nightspider card) { + super(card); + } + + @Override + public Nightspider copy() { + return new Nightspider(this); + } +} diff --git a/Mage.Sets/src/mage/cards/n/NightstalkerEngine.java b/Mage.Sets/src/mage/cards/n/NightstalkerEngine.java index ce76c7bb595..923dfb23b6a 100644 --- a/Mage.Sets/src/mage/cards/n/NightstalkerEngine.java +++ b/Mage.Sets/src/mage/cards/n/NightstalkerEngine.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.SetPowerSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -47,7 +48,7 @@ public class NightstalkerEngine extends CardImpl { public NightstalkerEngine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Nightstalker"); + this.subtype.add(SubType.NIGHTSTALKER); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NightveilSpecter.java b/Mage.Sets/src/mage/cards/n/NightveilSpecter.java index b63cff0747a..39ab9267278 100644 --- a/Mage.Sets/src/mage/cards/n/NightveilSpecter.java +++ b/Mage.Sets/src/mage/cards/n/NightveilSpecter.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -67,7 +68,7 @@ public class NightveilSpecter extends CardImpl { public NightveilSpecter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U/B}{U/B}{U/B}"); - this.subtype.add("Specter"); + this.subtype.add(SubType.SPECTER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NightwindGlider.java b/Mage.Sets/src/mage/cards/n/NightwindGlider.java index 224e916e376..f50796f37ee 100644 --- a/Mage.Sets/src/mage/cards/n/NightwindGlider.java +++ b/Mage.Sets/src/mage/cards/n/NightwindGlider.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class NightwindGlider extends CardImpl { public NightwindGlider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NightwingShade.java b/Mage.Sets/src/mage/cards/n/NightwingShade.java index ec306e6596a..a776536e85b 100644 --- a/Mage.Sets/src/mage/cards/n/NightwingShade.java +++ b/Mage.Sets/src/mage/cards/n/NightwingShade.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class NightwingShade extends CardImpl { public NightwingShade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Shade"); + this.subtype.add(SubType.SHADE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/Nihilith.java b/Mage.Sets/src/mage/cards/n/Nihilith.java index 1d5a87a90d0..beafa47526d 100644 --- a/Mage.Sets/src/mage/cards/n/Nihilith.java +++ b/Mage.Sets/src/mage/cards/n/Nihilith.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SetTargetPointer; import mage.constants.TargetController; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class Nihilith extends CardImpl { public Nihilith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NikkoOnna.java b/Mage.Sets/src/mage/cards/n/NikkoOnna.java index d7ce014ab13..ce44cf4578c 100644 --- a/Mage.Sets/src/mage/cards/n/NikkoOnna.java +++ b/Mage.Sets/src/mage/cards/n/NikkoOnna.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetEnchantmentPermanent; @@ -47,7 +48,7 @@ public class NikkoOnna extends CardImpl { public NikkoOnna(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NimAbomination.java b/Mage.Sets/src/mage/cards/n/NimAbomination.java index adacfdb3e60..43db9897396 100644 --- a/Mage.Sets/src/mage/cards/n/NimAbomination.java +++ b/Mage.Sets/src/mage/cards/n/NimAbomination.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; @@ -50,7 +51,7 @@ public class NimAbomination extends CardImpl { public NimAbomination(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NimDevourer.java b/Mage.Sets/src/mage/cards/n/NimDevourer.java index 6a33bde8cb7..6320b7ab3ae 100644 --- a/Mage.Sets/src/mage/cards/n/NimDevourer.java +++ b/Mage.Sets/src/mage/cards/n/NimDevourer.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.PhaseStep; @@ -69,7 +70,7 @@ public class NimDevourer extends CardImpl { public NimDevourer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NimGrotesque.java b/Mage.Sets/src/mage/cards/n/NimGrotesque.java index e45d8f22bde..4cd061ab357 100644 --- a/Mage.Sets/src/mage/cards/n/NimGrotesque.java +++ b/Mage.Sets/src/mage/cards/n/NimGrotesque.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; @@ -48,7 +49,7 @@ public class NimGrotesque extends CardImpl { public NimGrotesque(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/n/NimLasher.java b/Mage.Sets/src/mage/cards/n/NimLasher.java index c130bb0eaba..23771cdbaf2 100644 --- a/Mage.Sets/src/mage/cards/n/NimLasher.java +++ b/Mage.Sets/src/mage/cards/n/NimLasher.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -54,7 +55,7 @@ public class NimLasher extends CardImpl { public NimLasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NimReplica.java b/Mage.Sets/src/mage/cards/n/NimReplica.java index 745c40a3698..18000a8764a 100644 --- a/Mage.Sets/src/mage/cards/n/NimReplica.java +++ b/Mage.Sets/src/mage/cards/n/NimReplica.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class NimReplica extends CardImpl { public NimReplica(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(1); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(-1, -1, Duration.EndOfTurn), new ManaCostsImpl("{2}{B}")); diff --git a/Mage.Sets/src/mage/cards/n/NimShambler.java b/Mage.Sets/src/mage/cards/n/NimShambler.java index 37df75c1a7a..05db700f852 100644 --- a/Mage.Sets/src/mage/cards/n/NimShambler.java +++ b/Mage.Sets/src/mage/cards/n/NimShambler.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -58,7 +59,7 @@ public class NimShambler extends CardImpl { public NimShambler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NimShrieker.java b/Mage.Sets/src/mage/cards/n/NimShrieker.java index 88266e372f5..4dd205a1031 100644 --- a/Mage.Sets/src/mage/cards/n/NimShrieker.java +++ b/Mage.Sets/src/mage/cards/n/NimShrieker.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -55,7 +56,7 @@ public class NimShrieker extends CardImpl { public NimShrieker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NimanaSellSword.java b/Mage.Sets/src/mage/cards/n/NimanaSellSword.java index 35b1ab1b5fc..623aa906da7 100644 --- a/Mage.Sets/src/mage/cards/n/NimanaSellSword.java +++ b/Mage.Sets/src/mage/cards/n/NimanaSellSword.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -44,9 +45,9 @@ public class NimanaSellSword extends CardImpl { public NimanaSellSword(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NimbleBladeKhenra.java b/Mage.Sets/src/mage/cards/n/NimbleBladeKhenra.java index ecc07a4f4e0..92a1181dbac 100644 --- a/Mage.Sets/src/mage/cards/n/NimbleBladeKhenra.java +++ b/Mage.Sets/src/mage/cards/n/NimbleBladeKhenra.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class NimbleBladeKhenra extends CardImpl { public NimbleBladeKhenra(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Jackal"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.JACKAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NimbleInnovator.java b/Mage.Sets/src/mage/cards/n/NimbleInnovator.java index ebd88ea1960..c39c8521637 100644 --- a/Mage.Sets/src/mage/cards/n/NimbleInnovator.java +++ b/Mage.Sets/src/mage/cards/n/NimbleInnovator.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class NimbleInnovator extends CardImpl { public NimbleInnovator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NimbleMongoose.java b/Mage.Sets/src/mage/cards/n/NimbleMongoose.java index a041881a208..04beb8864b8 100644 --- a/Mage.Sets/src/mage/cards/n/NimbleMongoose.java +++ b/Mage.Sets/src/mage/cards/n/NimbleMongoose.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class NimbleMongoose extends CardImpl { public NimbleMongoose(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Mongoose"); + this.subtype.add(SubType.MONGOOSE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NimbleObstructionist.java b/Mage.Sets/src/mage/cards/n/NimbleObstructionist.java index 6057b41bde9..d8ed5a0962e 100644 --- a/Mage.Sets/src/mage/cards/n/NimbleObstructionist.java +++ b/Mage.Sets/src/mage/cards/n/NimbleObstructionist.java @@ -1,89 +1,90 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.n; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.CycleTriggeredAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.CounterTargetEffect; -import mage.abilities.keyword.CyclingAbility; -import mage.abilities.keyword.FlashAbility; -import mage.abilities.keyword.FlyingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.TargetController; -import mage.filter.FilterStackObject; -import mage.filter.predicate.permanent.ControllerPredicate; -import mage.target.common.TargetActivatedOrTriggeredAbility; - -/** - * - * @author caldover - */ -public class NimbleObstructionist extends CardImpl { - - private static final FilterStackObject filter = new FilterStackObject("activated or triggered ability you don't control"); - static { - filter.add(new ControllerPredicate(TargetController.NOT_YOU)); - } - - public NimbleObstructionist(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - - this.subtype.add("Bird"); - this.subtype.add("Wizard"); - this.power = new MageInt(3); - this.toughness = new MageInt(1); - - // Flash - this.addAbility(FlashAbility.getInstance()); - - // Flying - this.addAbility(FlyingAbility.getInstance()); - - // Cycling {2}{U} - this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}{U}"))); - - // When you cycle Nimble Obstructionist, counter target activated or triggered ability you don't control. - Ability ability = new CycleTriggeredAbility(new CounterTargetEffect()); - ability.addTarget(new TargetActivatedOrTriggeredAbility(filter)); - this.addAbility(ability); - } - - public NimbleObstructionist(final NimbleObstructionist card) { - super(card); - } - - @Override - public NimbleObstructionist copy() { - return new NimbleObstructionist(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.n; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.CycleTriggeredAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.CounterTargetEffect; +import mage.abilities.keyword.CyclingAbility; +import mage.abilities.keyword.FlashAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.TargetController; +import mage.filter.FilterStackObject; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.target.common.TargetActivatedOrTriggeredAbility; + +/** + * + * @author caldover + */ +public class NimbleObstructionist extends CardImpl { + + private static final FilterStackObject filter = new FilterStackObject("activated or triggered ability you don't control"); + static { + filter.add(new ControllerPredicate(TargetController.NOT_YOU)); + } + + public NimbleObstructionist(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); + + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(3); + this.toughness = new MageInt(1); + + // Flash + this.addAbility(FlashAbility.getInstance()); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Cycling {2}{U} + this.addAbility(new CyclingAbility(new ManaCostsImpl<>("{2}{U}"))); + + // When you cycle Nimble Obstructionist, counter target activated or triggered ability you don't control. + Ability ability = new CycleTriggeredAbility(new CounterTargetEffect()); + ability.addTarget(new TargetActivatedOrTriggeredAbility(filter)); + this.addAbility(ability); + } + + public NimbleObstructionist(final NimbleObstructionist card) { + super(card); + } + + @Override + public NimbleObstructionist copy() { + return new NimbleObstructionist(this); + } +} diff --git a/Mage.Sets/src/mage/cards/n/NimbusNaiad.java b/Mage.Sets/src/mage/cards/n/NimbusNaiad.java index 345be14548f..ddc52b279d6 100644 --- a/Mage.Sets/src/mage/cards/n/NimbusNaiad.java +++ b/Mage.Sets/src/mage/cards/n/NimbusNaiad.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -50,7 +51,7 @@ public class NimbusNaiad extends CardImpl { public NimbusNaiad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{U}"); - this.subtype.add("Nymph"); + this.subtype.add(SubType.NYMPH); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NimbusOfTheIsles.java b/Mage.Sets/src/mage/cards/n/NimbusOfTheIsles.java index ead46c5f4d5..e39867b2e14 100644 --- a/Mage.Sets/src/mage/cards/n/NimbusOfTheIsles.java +++ b/Mage.Sets/src/mage/cards/n/NimbusOfTheIsles.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class NimbusOfTheIsles extends CardImpl { public NimbusOfTheIsles(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NimbusSwimmer.java b/Mage.Sets/src/mage/cards/n/NimbusSwimmer.java index b7fc560564e..5e67b928ec1 100644 --- a/Mage.Sets/src/mage/cards/n/NimbusSwimmer.java +++ b/Mage.Sets/src/mage/cards/n/NimbusSwimmer.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,7 +46,7 @@ public class NimbusSwimmer extends CardImpl { public NimbusSwimmer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{X}{G}{U}"); - this.subtype.add("Leviathan"); + this.subtype.add(SubType.LEVIATHAN); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/n/NimbusWings.java b/Mage.Sets/src/mage/cards/n/NimbusWings.java index fae28a15589..bd67b9204a8 100644 --- a/Mage.Sets/src/mage/cards/n/NimbusWings.java +++ b/Mage.Sets/src/mage/cards/n/NimbusWings.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class NimbusWings extends CardImpl { public NimbusWings (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/n/NinThePainArtist.java b/Mage.Sets/src/mage/cards/n/NinThePainArtist.java index 8e9f682a1df..98c81d51a5a 100644 --- a/Mage.Sets/src/mage/cards/n/NinThePainArtist.java +++ b/Mage.Sets/src/mage/cards/n/NinThePainArtist.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class NinThePainArtist extends CardImpl { public NinThePainArtist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NinjaOfTheDeepHours.java b/Mage.Sets/src/mage/cards/n/NinjaOfTheDeepHours.java index 6e37369c483..144963ae7aa 100644 --- a/Mage.Sets/src/mage/cards/n/NinjaOfTheDeepHours.java +++ b/Mage.Sets/src/mage/cards/n/NinjaOfTheDeepHours.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.NinjutsuAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class NinjaOfTheDeepHours extends CardImpl { public NinjaOfTheDeepHours(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Ninja"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NINJA); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NinthBridgePatrol.java b/Mage.Sets/src/mage/cards/n/NinthBridgePatrol.java index 44bc7099e34..09928a8c67a 100644 --- a/Mage.Sets/src/mage/cards/n/NinthBridgePatrol.java +++ b/Mage.Sets/src/mage/cards/n/NinthBridgePatrol.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -56,8 +57,8 @@ public class NinthBridgePatrol extends CardImpl { public NinthBridgePatrol(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Dwarf"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NipGwyllion.java b/Mage.Sets/src/mage/cards/n/NipGwyllion.java index caa0a9cdbd6..6a075621e83 100644 --- a/Mage.Sets/src/mage/cards/n/NipGwyllion.java +++ b/Mage.Sets/src/mage/cards/n/NipGwyllion.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class NipGwyllion extends CardImpl { public NipGwyllion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W/B}"); - this.subtype.add("Hag"); + this.subtype.add(SubType.HAG); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NirkanaAssassin.java b/Mage.Sets/src/mage/cards/n/NirkanaAssassin.java index 830315b56b9..130797b6dc4 100644 --- a/Mage.Sets/src/mage/cards/n/NirkanaAssassin.java +++ b/Mage.Sets/src/mage/cards/n/NirkanaAssassin.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,9 +46,9 @@ public class NirkanaAssassin extends CardImpl { public NirkanaAssassin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Assassin"); - this.subtype.add("Ally"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.ASSASSIN); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NirkanaCutthroat.java b/Mage.Sets/src/mage/cards/n/NirkanaCutthroat.java index 79ba4f20d89..a3f4d2530a0 100644 --- a/Mage.Sets/src/mage/cards/n/NirkanaCutthroat.java +++ b/Mage.Sets/src/mage/cards/n/NirkanaCutthroat.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -50,8 +51,8 @@ public class NirkanaCutthroat extends LevelerCard { public NirkanaCutthroat (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WARRIOR); this.color.setBlack(true); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NirkanaRevenant.java b/Mage.Sets/src/mage/cards/n/NirkanaRevenant.java index 4ebcc737396..4d8b31f4eab 100644 --- a/Mage.Sets/src/mage/cards/n/NirkanaRevenant.java +++ b/Mage.Sets/src/mage/cards/n/NirkanaRevenant.java @@ -56,8 +56,8 @@ public class NirkanaRevenant extends CardImpl { public NirkanaRevenant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Shade"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SHADE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NissaGenesisMage.java b/Mage.Sets/src/mage/cards/n/NissaGenesisMage.java index 34c089ab8b2..47029709e53 100644 --- a/Mage.Sets/src/mage/cards/n/NissaGenesisMage.java +++ b/Mage.Sets/src/mage/cards/n/NissaGenesisMage.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class NissaGenesisMage extends CardImpl { public NissaGenesisMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{5}{G}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Nissa"); + this.subtype.add(SubType.NISSA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/n/NissaNaturesArtisan.java b/Mage.Sets/src/mage/cards/n/NissaNaturesArtisan.java index a6692474ee7..9611d76125d 100644 --- a/Mage.Sets/src/mage/cards/n/NissaNaturesArtisan.java +++ b/Mage.Sets/src/mage/cards/n/NissaNaturesArtisan.java @@ -46,6 +46,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SuperType; @@ -63,7 +64,7 @@ public class NissaNaturesArtisan extends CardImpl { public NissaNaturesArtisan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{4}{G}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Nissa"); + this.subtype.add(SubType.NISSA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/n/NissaRevane.java b/Mage.Sets/src/mage/cards/n/NissaRevane.java index 7595cac18f5..fb4d6949ef4 100644 --- a/Mage.Sets/src/mage/cards/n/NissaRevane.java +++ b/Mage.Sets/src/mage/cards/n/NissaRevane.java @@ -64,7 +64,7 @@ public class NissaRevane extends CardImpl { public NissaRevane(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{G}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Nissa"); + this.subtype.add(SubType.NISSA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(2)); LoyaltyAbility ability1 = new LoyaltyAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(1, nissasChosenFilter)), 1); diff --git a/Mage.Sets/src/mage/cards/n/NissaSageAnimist.java b/Mage.Sets/src/mage/cards/n/NissaSageAnimist.java index d3cb2a122be..99b5bbf9310 100644 --- a/Mage.Sets/src/mage/cards/n/NissaSageAnimist.java +++ b/Mage.Sets/src/mage/cards/n/NissaSageAnimist.java @@ -58,7 +58,7 @@ public class NissaSageAnimist extends CardImpl { public NissaSageAnimist(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, ""); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Nissa"); + this.subtype.add(SubType.NISSA); this.color.setGreen(true); this.nightCard = true; diff --git a/Mage.Sets/src/mage/cards/n/NissaStewardOfElements.java b/Mage.Sets/src/mage/cards/n/NissaStewardOfElements.java index a149a299e5f..7c3806fea16 100644 --- a/Mage.Sets/src/mage/cards/n/NissaStewardOfElements.java +++ b/Mage.Sets/src/mage/cards/n/NissaStewardOfElements.java @@ -63,7 +63,7 @@ public class NissaStewardOfElements extends CardImpl { public NissaStewardOfElements(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{X}{G}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Nissa"); + this.subtype.add(SubType.NISSA); Ability abilityETB = new EntersBattlefieldAbility(new EntersBattlefieldWithXCountersEffect(CounterType.LOYALTY.createInstance())); abilityETB.setRuleVisible(false); @@ -146,7 +146,7 @@ class NissaStewardOfElementsToken extends Token { public NissaStewardOfElementsToken() { super("", "5/5 Elemental creature with flying and haste"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(5); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/n/NissaVastwoodSeer.java b/Mage.Sets/src/mage/cards/n/NissaVastwoodSeer.java index 1e15d9599f4..f65be76d662 100644 --- a/Mage.Sets/src/mage/cards/n/NissaVastwoodSeer.java +++ b/Mage.Sets/src/mage/cards/n/NissaVastwoodSeer.java @@ -64,8 +64,8 @@ public class NissaVastwoodSeer extends CardImpl { public NissaVastwoodSeer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NissaVitalForce.java b/Mage.Sets/src/mage/cards/n/NissaVitalForce.java index b1956ca605d..ab31057baf4 100644 --- a/Mage.Sets/src/mage/cards/n/NissaVitalForce.java +++ b/Mage.Sets/src/mage/cards/n/NissaVitalForce.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.TargetController; @@ -65,7 +66,7 @@ public class NissaVitalForce extends CardImpl { public NissaVitalForce(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{G}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Nissa"); + this.subtype.add(SubType.NISSA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); @@ -100,7 +101,7 @@ class NissaVitalForceToken extends Token { super("", "5/5 Elemental creature with haste"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(5); this.addAbility(HasteAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/n/NissaVoiceOfZendikar.java b/Mage.Sets/src/mage/cards/n/NissaVoiceOfZendikar.java index 7bb00cf1370..4e30071d2b0 100644 --- a/Mage.Sets/src/mage/cards/n/NissaVoiceOfZendikar.java +++ b/Mage.Sets/src/mage/cards/n/NissaVoiceOfZendikar.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.counters.CounterType; @@ -62,7 +63,7 @@ public class NissaVoiceOfZendikar extends CardImpl { public NissaVoiceOfZendikar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{1}{G}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Nissa"); + this.subtype.add(SubType.NISSA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/n/NissaWorldwaker.java b/Mage.Sets/src/mage/cards/n/NissaWorldwaker.java index a751f064404..71c80637b00 100644 --- a/Mage.Sets/src/mage/cards/n/NissaWorldwaker.java +++ b/Mage.Sets/src/mage/cards/n/NissaWorldwaker.java @@ -64,7 +64,7 @@ public class NissaWorldwaker extends CardImpl { public NissaWorldwaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{G}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Nissa"); + this.subtype.add(SubType.NISSA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); @@ -144,7 +144,7 @@ class NissaWorldwakerToken extends Token { super("", "4/4 Elemental creature with trample"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); this.addAbility(TrampleAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/n/NissasChosen.java b/Mage.Sets/src/mage/cards/n/NissasChosen.java index 501d212d8fc..729e7949328 100644 --- a/Mage.Sets/src/mage/cards/n/NissasChosen.java +++ b/Mage.Sets/src/mage/cards/n/NissasChosen.java @@ -35,6 +35,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,8 +54,8 @@ public class NissasChosen extends CardImpl { public NissasChosen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NivMizzetDracogenius.java b/Mage.Sets/src/mage/cards/n/NivMizzetDracogenius.java index 5d122c8dea4..83a14dd4036 100644 --- a/Mage.Sets/src/mage/cards/n/NivMizzetDracogenius.java +++ b/Mage.Sets/src/mage/cards/n/NivMizzetDracogenius.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -52,8 +53,8 @@ public class NivMizzetDracogenius extends CardImpl { public NivMizzetDracogenius(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.DRAGON); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/n/NivMizzetTheFiremind.java b/Mage.Sets/src/mage/cards/n/NivMizzetTheFiremind.java index d8ef7357869..e4b3cc805c8 100644 --- a/Mage.Sets/src/mage/cards/n/NivMizzetTheFiremind.java +++ b/Mage.Sets/src/mage/cards/n/NivMizzetTheFiremind.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -52,8 +53,8 @@ public class NivMizzetTheFiremind extends CardImpl { public NivMizzetTheFiremind(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.DRAGON); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NivixBarrier.java b/Mage.Sets/src/mage/cards/n/NivixBarrier.java index 899af1daf94..a01cfa468ff 100644 --- a/Mage.Sets/src/mage/cards/n/NivixBarrier.java +++ b/Mage.Sets/src/mage/cards/n/NivixBarrier.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetAttackingCreature; @@ -48,8 +49,8 @@ public class NivixBarrier extends CardImpl { public NivixBarrier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Illusion"); - this.subtype.add("Wall"); + this.subtype.add(SubType.ILLUSION); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NivixCyclops.java b/Mage.Sets/src/mage/cards/n/NivixCyclops.java index d032fb05a61..183432baa6c 100644 --- a/Mage.Sets/src/mage/cards/n/NivixCyclops.java +++ b/Mage.Sets/src/mage/cards/n/NivixCyclops.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.filter.FilterSpell; @@ -62,7 +63,7 @@ public class NivixCyclops extends CardImpl { public NivixCyclops(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{R}"); - this.subtype.add("Cyclops"); + this.subtype.add(SubType.CYCLOPS); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NivixGuildmage.java b/Mage.Sets/src/mage/cards/n/NivixGuildmage.java index 62bc0a03fba..ec7ad76f76b 100644 --- a/Mage.Sets/src/mage/cards/n/NivixGuildmage.java +++ b/Mage.Sets/src/mage/cards/n/NivixGuildmage.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterSpell; @@ -62,8 +63,8 @@ public class NivixGuildmage extends CardImpl { public NivixGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NivmagusElemental.java b/Mage.Sets/src/mage/cards/n/NivmagusElemental.java index 34a61a491b2..04a6129f225 100644 --- a/Mage.Sets/src/mage/cards/n/NivmagusElemental.java +++ b/Mage.Sets/src/mage/cards/n/NivmagusElemental.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -62,7 +63,7 @@ public class NivmagusElemental extends CardImpl { public NivmagusElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U/R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/Nix.java b/Mage.Sets/src/mage/cards/n/Nix.java index 19f5e22061b..093753ca048 100644 --- a/Mage.Sets/src/mage/cards/n/Nix.java +++ b/Mage.Sets/src/mage/cards/n/Nix.java @@ -1,85 +1,85 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.n; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.condition.Condition; -import mage.abilities.decorator.ConditionalOneShotEffect; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.CounterTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.game.Game; -import mage.game.stack.StackObject; -import mage.target.TargetSpell; - -/** - * - * @author jeffwadsworth - */ -public class Nix extends CardImpl { - - public Nix(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{U}"); - - // Counter target spell if no mana was spent to cast it. - Effect effect = new ConditionalOneShotEffect(new CounterTargetEffect(), NoManaSpentToCastTargetCondition.instance); - effect.setText("Counter target spell if no mana was spent to cast it"); - this.getSpellAbility().addEffect(effect); - this.getSpellAbility().addTarget(new TargetSpell()); - - } - - public Nix(final Nix card) { - super(card); - } - - @Override - public Nix copy() { - return new Nix(this); - } -} - -enum NoManaSpentToCastTargetCondition implements Condition { - - instance; - - @Override - public boolean apply(Game game, Ability source) { - UUID targetId = source.getFirstTarget(); - if (targetId != null) { - StackObject stackObject = game.getStack().getStackObject(targetId); - if (stackObject != null) { - return stackObject.getStackAbility().getManaCostsToPay().getPayment().count() == 0; - } - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.n; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.condition.Condition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.CounterTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.game.Game; +import mage.game.stack.StackObject; +import mage.target.TargetSpell; + +/** + * + * @author jeffwadsworth + */ +public class Nix extends CardImpl { + + public Nix(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{U}"); + + // Counter target spell if no mana was spent to cast it. + Effect effect = new ConditionalOneShotEffect(new CounterTargetEffect(), NoManaSpentToCastTargetCondition.instance); + effect.setText("Counter target spell if no mana was spent to cast it"); + this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addTarget(new TargetSpell()); + + } + + public Nix(final Nix card) { + super(card); + } + + @Override + public Nix copy() { + return new Nix(this); + } +} + +enum NoManaSpentToCastTargetCondition implements Condition { + + instance; + + @Override + public boolean apply(Game game, Ability source) { + UUID targetId = source.getFirstTarget(); + if (targetId != null) { + StackObject stackObject = game.getStack().getStackObject(targetId); + if (stackObject != null) { + return stackObject.getStackAbility().getManaCostsToPay().getPayment().count() == 0; + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/n/NoDachi.java b/Mage.Sets/src/mage/cards/n/NoDachi.java index 7813f356118..8309249a8fd 100644 --- a/Mage.Sets/src/mage/cards/n/NoDachi.java +++ b/Mage.Sets/src/mage/cards/n/NoDachi.java @@ -46,7 +46,7 @@ public class NoDachi extends CardImpl { public NoDachi (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(3))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 0))); diff --git a/Mage.Sets/src/mage/cards/n/NobilisOfWar.java b/Mage.Sets/src/mage/cards/n/NobilisOfWar.java index 7816248c952..fcd2b65ccf2 100644 --- a/Mage.Sets/src/mage/cards/n/NobilisOfWar.java +++ b/Mage.Sets/src/mage/cards/n/NobilisOfWar.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterAttackingCreature; @@ -47,8 +48,8 @@ public class NobilisOfWar extends CardImpl { public NobilisOfWar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R/W}{R/W}{R/W}{R/W}{R/W}"); - this.subtype.add("Spirit"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NobleBenefactor.java b/Mage.Sets/src/mage/cards/n/NobleBenefactor.java index 0892b9b3a49..c35f585be8d 100644 --- a/Mage.Sets/src/mage/cards/n/NobleBenefactor.java +++ b/Mage.Sets/src/mage/cards/n/NobleBenefactor.java @@ -35,6 +35,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -52,8 +53,8 @@ public class NobleBenefactor extends CardImpl { public NobleBenefactor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NobleHierarch.java b/Mage.Sets/src/mage/cards/n/NobleHierarch.java index 08463a3db94..353ee394764 100644 --- a/Mage.Sets/src/mage/cards/n/NobleHierarch.java +++ b/Mage.Sets/src/mage/cards/n/NobleHierarch.java @@ -37,6 +37,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** @@ -48,8 +49,8 @@ public class NobleHierarch extends CardImpl { public NobleHierarch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(0); this.toughness = new MageInt(1); this.addAbility(new ExaltedAbility()); diff --git a/Mage.Sets/src/mage/cards/n/NoblePanther.java b/Mage.Sets/src/mage/cards/n/NoblePanther.java index ee0b6271b6a..f6e9f703dc6 100644 --- a/Mage.Sets/src/mage/cards/n/NoblePanther.java +++ b/Mage.Sets/src/mage/cards/n/NoblePanther.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class NoblePanther extends CardImpl { public NoblePanther(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NobleQuarry.java b/Mage.Sets/src/mage/cards/n/NobleQuarry.java index 3cfd027fa2c..e2a927da8f2 100644 --- a/Mage.Sets/src/mage/cards/n/NobleQuarry.java +++ b/Mage.Sets/src/mage/cards/n/NobleQuarry.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class NobleQuarry extends CardImpl { public NobleQuarry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{G}"); - this.subtype.add("Unicorn"); + this.subtype.add(SubType.UNICORN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NobleTemplar.java b/Mage.Sets/src/mage/cards/n/NobleTemplar.java index f48ca98f34f..b9eb8f43148 100644 --- a/Mage.Sets/src/mage/cards/n/NobleTemplar.java +++ b/Mage.Sets/src/mage/cards/n/NobleTemplar.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,9 +45,9 @@ public class NobleTemplar extends CardImpl { public NobleTemplar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/n/NobleVestige.java b/Mage.Sets/src/mage/cards/n/NobleVestige.java index a3b2a20e87e..c841127ede9 100644 --- a/Mage.Sets/src/mage/cards/n/NobleVestige.java +++ b/Mage.Sets/src/mage/cards/n/NobleVestige.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -49,7 +50,7 @@ public class NobleVestige extends CardImpl { public NobleVestige(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NoeticScales.java b/Mage.Sets/src/mage/cards/n/NoeticScales.java index eece749d0ae..b0d2b2d0689 100644 --- a/Mage.Sets/src/mage/cards/n/NoeticScales.java +++ b/Mage.Sets/src/mage/cards/n/NoeticScales.java @@ -1,101 +1,101 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.n; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; -import mage.abilities.effects.OneShotEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; - -/** - * - * @author jeffwadsworth - */ -public class NoeticScales extends CardImpl { - - public NoeticScales(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); - - // At the beginning of each player's upkeep, return to its owner's hand each creature that player controls with power greater than the number of cards in his or her hand. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new NoeticScalesEffect(), TargetController.ANY, false, true)); - } - - public NoeticScales(final NoeticScales card) { - super(card); - } - - @Override - public NoeticScales copy() { - return new NoeticScales(this); - } -} - -class NoeticScalesEffect extends OneShotEffect { - - public NoeticScalesEffect() { - super(Outcome.ReturnToHand); - this.staticText = "return to its owner's hand each creature that player controls with power greater than the number of cards in his or her hand"; - } - - public NoeticScalesEffect(final NoeticScalesEffect effect) { - super(effect); - } - - @Override - public NoeticScalesEffect copy() { - return new NoeticScalesEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - FilterCreaturePermanent filter = new FilterCreaturePermanent(); - Player player = game.getPlayer(targetPointer.getFirst(game, source)); - if (player != null) { - int numberOfCardsInHand = player.getHand().size(); - for (Permanent creature : game.getBattlefield().getAllActivePermanents(filter, player.getId(), game)) { - if (creature.getPower().getValue() > numberOfCardsInHand) { - if (creature.moveToZone(Zone.HAND, source.getId(), game, false)) { - game.informPlayers(player.getLogName() + " moves " + creature.getLogName() + " from the battlefield to their hand."); - } - } - } - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.n; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; + +/** + * + * @author jeffwadsworth + */ +public class NoeticScales extends CardImpl { + + public NoeticScales(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); + + // At the beginning of each player's upkeep, return to its owner's hand each creature that player controls with power greater than the number of cards in his or her hand. + this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new NoeticScalesEffect(), TargetController.ANY, false, true)); + } + + public NoeticScales(final NoeticScales card) { + super(card); + } + + @Override + public NoeticScales copy() { + return new NoeticScales(this); + } +} + +class NoeticScalesEffect extends OneShotEffect { + + public NoeticScalesEffect() { + super(Outcome.ReturnToHand); + this.staticText = "return to its owner's hand each creature that player controls with power greater than the number of cards in his or her hand"; + } + + public NoeticScalesEffect(final NoeticScalesEffect effect) { + super(effect); + } + + @Override + public NoeticScalesEffect copy() { + return new NoeticScalesEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + FilterCreaturePermanent filter = new FilterCreaturePermanent(); + Player player = game.getPlayer(targetPointer.getFirst(game, source)); + if (player != null) { + int numberOfCardsInHand = player.getHand().size(); + for (Permanent creature : game.getBattlefield().getAllActivePermanents(filter, player.getId(), game)) { + if (creature.getPower().getValue() > numberOfCardsInHand) { + if (creature.moveToZone(Zone.HAND, source.getId(), game, false)) { + game.informPlayers(player.getLogName() + " moves " + creature.getLogName() + " from the battlefield to their hand."); + } + } + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/n/NogginWhack.java b/Mage.Sets/src/mage/cards/n/NogginWhack.java index 6ced5a86997..22a167e1ba4 100644 --- a/Mage.Sets/src/mage/cards/n/NogginWhack.java +++ b/Mage.Sets/src/mage/cards/n/NogginWhack.java @@ -38,6 +38,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -54,7 +55,7 @@ public class NogginWhack extends CardImpl { public NogginWhack(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.SORCERY},"{2}{B}{B}"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.ROGUE); // Prowl {1}{B} diff --git a/Mage.Sets/src/mage/cards/n/NoggleBandit.java b/Mage.Sets/src/mage/cards/n/NoggleBandit.java index a78264ee742..4b140fb73cb 100644 --- a/Mage.Sets/src/mage/cards/n/NoggleBandit.java +++ b/Mage.Sets/src/mage/cards/n/NoggleBandit.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -55,8 +56,8 @@ public class NoggleBandit extends CardImpl { public NoggleBandit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U/R}{U/R}"); - this.subtype.add("Noggle"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.NOGGLE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NoggleBridgebreaker.java b/Mage.Sets/src/mage/cards/n/NoggleBridgebreaker.java index e24ab3f27fc..a57d1f143a5 100644 --- a/Mage.Sets/src/mage/cards/n/NoggleBridgebreaker.java +++ b/Mage.Sets/src/mage/cards/n/NoggleBridgebreaker.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; @@ -46,8 +47,8 @@ public class NoggleBridgebreaker extends CardImpl { public NoggleBridgebreaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U/R}{U/R}"); - this.subtype.add("Noggle"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.NOGGLE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NoggleHedgeMage.java b/Mage.Sets/src/mage/cards/n/NoggleHedgeMage.java index a88c357cfad..43f6313ea08 100644 --- a/Mage.Sets/src/mage/cards/n/NoggleHedgeMage.java +++ b/Mage.Sets/src/mage/cards/n/NoggleHedgeMage.java @@ -66,8 +66,8 @@ public class NoggleHedgeMage extends CardImpl { public NoggleHedgeMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U/R}"); - this.subtype.add("Noggle"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.NOGGLE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NoggleRansacker.java b/Mage.Sets/src/mage/cards/n/NoggleRansacker.java index 2fa78bc3abe..71ff00e55b4 100644 --- a/Mage.Sets/src/mage/cards/n/NoggleRansacker.java +++ b/Mage.Sets/src/mage/cards/n/NoggleRansacker.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.discard.DiscardEachPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class NoggleRansacker extends CardImpl { public NoggleRansacker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U/R}"); - this.subtype.add("Noggle"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.NOGGLE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NomadDecoy.java b/Mage.Sets/src/mage/cards/n/NomadDecoy.java index 0f7d1b1a768..e1d40eb3a5c 100644 --- a/Mage.Sets/src/mage/cards/n/NomadDecoy.java +++ b/Mage.Sets/src/mage/cards/n/NomadDecoy.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -52,8 +53,8 @@ public class NomadDecoy extends CardImpl { public NomadDecoy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NomadMythmaker.java b/Mage.Sets/src/mage/cards/n/NomadMythmaker.java index 461bd1a18a4..70540ac8fb0 100644 --- a/Mage.Sets/src/mage/cards/n/NomadMythmaker.java +++ b/Mage.Sets/src/mage/cards/n/NomadMythmaker.java @@ -66,9 +66,9 @@ public class NomadMythmaker extends CardImpl { public NomadMythmaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NomadicElf.java b/Mage.Sets/src/mage/cards/n/NomadicElf.java index c92c595b3c8..94fbb298844 100644 --- a/Mage.Sets/src/mage/cards/n/NomadicElf.java +++ b/Mage.Sets/src/mage/cards/n/NomadicElf.java @@ -34,6 +34,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class NomadicElf extends CardImpl { public NomadicElf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Nomad"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.NOMAD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NomadsEnKor.java b/Mage.Sets/src/mage/cards/n/NomadsEnKor.java index fd138e8f25e..6f163a1758b 100644 --- a/Mage.Sets/src/mage/cards/n/NomadsEnKor.java +++ b/Mage.Sets/src/mage/cards/n/NomadsEnKor.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.RedirectDamageFromSourceToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -48,9 +49,9 @@ public class NomadsEnKor extends CardImpl { public NomadsEnKor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Kor"); - this.subtype.add("Nomad"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.NOMAD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NooseConstrictor.java b/Mage.Sets/src/mage/cards/n/NooseConstrictor.java index e753de4f208..c2e746224a2 100644 --- a/Mage.Sets/src/mage/cards/n/NooseConstrictor.java +++ b/Mage.Sets/src/mage/cards/n/NooseConstrictor.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class NooseConstrictor extends CardImpl { public NooseConstrictor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NoosegrafMob.java b/Mage.Sets/src/mage/cards/n/NoosegrafMob.java index fb2cd9943a7..d4aaa3a8bc0 100644 --- a/Mage.Sets/src/mage/cards/n/NoosegrafMob.java +++ b/Mage.Sets/src/mage/cards/n/NoosegrafMob.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -54,7 +55,7 @@ public class NoosegrafMob extends CardImpl { public NoosegrafMob(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/n/NorinTheWary.java b/Mage.Sets/src/mage/cards/n/NorinTheWary.java index ba14b3b0b9a..ae1b4096d65 100644 --- a/Mage.Sets/src/mage/cards/n/NorinTheWary.java +++ b/Mage.Sets/src/mage/cards/n/NorinTheWary.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ExileReturnBattlefieldOwnerNextEndStepSourc import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.game.Game; @@ -49,8 +50,8 @@ public class NorinTheWary extends CardImpl { public NorinTheWary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NorthernPaladin.java b/Mage.Sets/src/mage/cards/n/NorthernPaladin.java index 567b9e7e1d9..aafc4b4c36e 100644 --- a/Mage.Sets/src/mage/cards/n/NorthernPaladin.java +++ b/Mage.Sets/src/mage/cards/n/NorthernPaladin.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -56,8 +57,8 @@ public class NorthernPaladin extends CardImpl { public NorthernPaladin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NorwoodArchers.java b/Mage.Sets/src/mage/cards/n/NorwoodArchers.java index 6b26ff21f86..e4f44b5060f 100644 --- a/Mage.Sets/src/mage/cards/n/NorwoodArchers.java +++ b/Mage.Sets/src/mage/cards/n/NorwoodArchers.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class NorwoodArchers extends CardImpl { public NorwoodArchers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NorwoodPriestess.java b/Mage.Sets/src/mage/cards/n/NorwoodPriestess.java index 929212b3ae8..50e5f254415 100644 --- a/Mage.Sets/src/mage/cards/n/NorwoodPriestess.java +++ b/Mage.Sets/src/mage/cards/n/NorwoodPriestess.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.PutPermanentOnBattlefieldEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.ColorPredicate; @@ -55,8 +56,8 @@ public class NorwoodPriestess extends CardImpl { public NorwoodPriestess(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NorwoodRanger.java b/Mage.Sets/src/mage/cards/n/NorwoodRanger.java index 4b28e44f5db..85cc05e9df7 100644 --- a/Mage.Sets/src/mage/cards/n/NorwoodRanger.java +++ b/Mage.Sets/src/mage/cards/n/NorwoodRanger.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class NorwoodRanger extends CardImpl { public NorwoodRanger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NorwoodRiders.java b/Mage.Sets/src/mage/cards/n/NorwoodRiders.java index 8ff3e2cfcbd..9e27515cab3 100644 --- a/Mage.Sets/src/mage/cards/n/NorwoodRiders.java +++ b/Mage.Sets/src/mage/cards/n/NorwoodRiders.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByMoreThanOneSourceEffe import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -44,7 +45,7 @@ public class NorwoodRiders extends CardImpl { public NorwoodRiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NorwoodWarrior.java b/Mage.Sets/src/mage/cards/n/NorwoodWarrior.java index 068aa8b9294..b84c8e53139 100644 --- a/Mage.Sets/src/mage/cards/n/NorwoodWarrior.java +++ b/Mage.Sets/src/mage/cards/n/NorwoodWarrior.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class NorwoodWarrior extends CardImpl { public NorwoodWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NosyGoblin.java b/Mage.Sets/src/mage/cards/n/NosyGoblin.java index 12c4b258e7a..2d6e96a832b 100644 --- a/Mage.Sets/src/mage/cards/n/NosyGoblin.java +++ b/Mage.Sets/src/mage/cards/n/NosyGoblin.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.other.FaceDownPredicate; @@ -56,7 +57,7 @@ public class NosyGoblin extends CardImpl { public NosyGoblin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NotOfThisWorld.java b/Mage.Sets/src/mage/cards/n/NotOfThisWorld.java index 4126f9f5e3e..771655276bb 100644 --- a/Mage.Sets/src/mage/cards/n/NotOfThisWorld.java +++ b/Mage.Sets/src/mage/cards/n/NotOfThisWorld.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.cost.SpellCostReductionSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.TargetController; import mage.constants.Zone; @@ -61,7 +62,7 @@ public class NotOfThisWorld extends CardImpl { public NotOfThisWorld(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{7}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); // Counter target spell or ability that targets a permanent you control. this.getSpellAbility().addTarget( diff --git a/Mage.Sets/src/mage/cards/n/NotionThief.java b/Mage.Sets/src/mage/cards/n/NotionThief.java index ee8f2825b81..1d2ef506151 100644 --- a/Mage.Sets/src/mage/cards/n/NotionThief.java +++ b/Mage.Sets/src/mage/cards/n/NotionThief.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.PhaseStep; @@ -53,8 +54,8 @@ public class NotionThief extends CardImpl { public NotionThief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NotoriousAssassin.java b/Mage.Sets/src/mage/cards/n/NotoriousAssassin.java index ec9306e4762..7ba3acb468a 100644 --- a/Mage.Sets/src/mage/cards/n/NotoriousAssassin.java +++ b/Mage.Sets/src/mage/cards/n/NotoriousAssassin.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -59,9 +60,9 @@ public class NotoriousAssassin extends CardImpl { public NotoriousAssassin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NotoriousThrong.java b/Mage.Sets/src/mage/cards/n/NotoriousThrong.java index 7b01f3398ad..36c596475b8 100644 --- a/Mage.Sets/src/mage/cards/n/NotoriousThrong.java +++ b/Mage.Sets/src/mage/cards/n/NotoriousThrong.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProwlAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.token.FaerieRogueToken; @@ -53,7 +54,7 @@ public class NotoriousThrong extends CardImpl { public NotoriousThrong(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.SORCERY},"{3}{U}"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.ROGUE); // Prowl {5}{U} this.addAbility(new ProwlAbility(this, "{5}{U}")); diff --git a/Mage.Sets/src/mage/cards/n/NovaChaser.java b/Mage.Sets/src/mage/cards/n/NovaChaser.java index ca384b8c19f..b8297814f32 100644 --- a/Mage.Sets/src/mage/cards/n/NovaChaser.java +++ b/Mage.Sets/src/mage/cards/n/NovaChaser.java @@ -44,8 +44,8 @@ public class NovaChaser extends CardImpl { public NovaChaser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(10); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NovaCleric.java b/Mage.Sets/src/mage/cards/n/NovaCleric.java index f73c61d9d52..42c0830ad32 100644 --- a/Mage.Sets/src/mage/cards/n/NovaCleric.java +++ b/Mage.Sets/src/mage/cards/n/NovaCleric.java @@ -1,72 +1,73 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.n; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DestroyAllEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.filter.common.FilterEnchantmentPermanent; - -/** - * - * @author Derpthemeus - */ -public class NovaCleric extends CardImpl { - - public NovaCleric(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.power = new MageInt(1); - this.toughness = new MageInt(2); - - // {2}{W}, {tap}, Sacrifice Nova Cleric: Destroy all enchantments. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyAllEffect(new FilterEnchantmentPermanent("enchantments")), new ManaCostsImpl("{2}{W}")); - ability.addCost(new TapSourceCost()); - ability.addCost(new SacrificeSourceCost()); - this.addAbility(ability); - } - - public NovaCleric(final NovaCleric card) { - super(card); - } - - @Override - public NovaCleric copy() { - return new NovaCleric(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.n; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.DestroyAllEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterEnchantmentPermanent; + +/** + * + * @author Derpthemeus + */ +public class NovaCleric extends CardImpl { + + public NovaCleric(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.power = new MageInt(1); + this.toughness = new MageInt(2); + + // {2}{W}, {tap}, Sacrifice Nova Cleric: Destroy all enchantments. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyAllEffect(new FilterEnchantmentPermanent("enchantments")), new ManaCostsImpl("{2}{W}")); + ability.addCost(new TapSourceCost()); + ability.addCost(new SacrificeSourceCost()); + this.addAbility(ability); + } + + public NovaCleric(final NovaCleric card) { + super(card); + } + + @Override + public NovaCleric copy() { + return new NovaCleric(this); + } +} diff --git a/Mage.Sets/src/mage/cards/n/NovablastWurm.java b/Mage.Sets/src/mage/cards/n/NovablastWurm.java index 165410eab78..146aa04728e 100644 --- a/Mage.Sets/src/mage/cards/n/NovablastWurm.java +++ b/Mage.Sets/src/mage/cards/n/NovablastWurm.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DestroyAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.filter.predicate.permanent.AnotherPredicate; @@ -53,7 +54,7 @@ public class NovablastWurm extends CardImpl { public NovablastWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}{W}{W}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/n/NoviceBountyHunter.java b/Mage.Sets/src/mage/cards/n/NoviceBountyHunter.java index 9208daa5bad..04aa264ec8d 100644 --- a/Mage.Sets/src/mage/cards/n/NoviceBountyHunter.java +++ b/Mage.Sets/src/mage/cards/n/NoviceBountyHunter.java @@ -1,67 +1,68 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.n; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.effects.common.DamageTargetEffect; -import mage.abilities.keyword.BountyAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.target.TargetPlayer; - -/** - * - * @author Styxo - */ -public class NoviceBountyHunter extends CardImpl { - - public NoviceBountyHunter(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Hunter"); - this.power = new MageInt(2); - this.toughness = new MageInt(1); - - // Bounty — Whenever a creature an opponent controls with a bounty counter on it dies, Novice Bounty Hunter deals 2 damge to target player. - Ability ability = new BountyAbility(new DamageTargetEffect(2)); - ability.addTarget(new TargetPlayer()); - this.addAbility(ability); - } - - public NoviceBountyHunter(final NoviceBountyHunter card) { - super(card); - } - - @Override - public NoviceBountyHunter copy() { - return new NoviceBountyHunter(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.n; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.keyword.BountyAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.TargetPlayer; + +/** + * + * @author Styxo + */ +public class NoviceBountyHunter extends CardImpl { + + public NoviceBountyHunter(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.HUNTER); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // Bounty — Whenever a creature an opponent controls with a bounty counter on it dies, Novice Bounty Hunter deals 2 damge to target player. + Ability ability = new BountyAbility(new DamageTargetEffect(2)); + ability.addTarget(new TargetPlayer()); + this.addAbility(ability); + } + + public NoviceBountyHunter(final NoviceBountyHunter card) { + super(card); + } + + @Override + public NoviceBountyHunter copy() { + return new NoviceBountyHunter(this); + } +} diff --git a/Mage.Sets/src/mage/cards/n/NovijenSages.java b/Mage.Sets/src/mage/cards/n/NovijenSages.java index a9a5cbbe3c0..8185ed09f6f 100644 --- a/Mage.Sets/src/mage/cards/n/NovijenSages.java +++ b/Mage.Sets/src/mage/cards/n/NovijenSages.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.GraftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -58,9 +59,9 @@ public class NovijenSages extends CardImpl { public NovijenSages(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/n/NoxiousDragon.java b/Mage.Sets/src/mage/cards/n/NoxiousDragon.java index 6fa2aad9b91..8c5653d9b49 100644 --- a/Mage.Sets/src/mage/cards/n/NoxiousDragon.java +++ b/Mage.Sets/src/mage/cards/n/NoxiousDragon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; @@ -55,7 +56,7 @@ public class NoxiousDragon extends CardImpl { public NoxiousDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NoxiousField.java b/Mage.Sets/src/mage/cards/n/NoxiousField.java index 1991f8e1284..aaf8ac65b8f 100644 --- a/Mage.Sets/src/mage/cards/n/NoxiousField.java +++ b/Mage.Sets/src/mage/cards/n/NoxiousField.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -54,7 +55,7 @@ public class NoxiousField extends CardImpl { public NoxiousField(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/n/NoxiousGearhulk.java b/Mage.Sets/src/mage/cards/n/NoxiousGearhulk.java index e035fd72a75..ac970257543 100644 --- a/Mage.Sets/src/mage/cards/n/NoxiousGearhulk.java +++ b/Mage.Sets/src/mage/cards/n/NoxiousGearhulk.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -58,7 +59,7 @@ public class NoxiousGearhulk extends CardImpl { public NoxiousGearhulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NoxiousGhoul.java b/Mage.Sets/src/mage/cards/n/NoxiousGhoul.java index 06280802e7d..fc13c8bca38 100644 --- a/Mage.Sets/src/mage/cards/n/NoxiousGhoul.java +++ b/Mage.Sets/src/mage/cards/n/NoxiousGhoul.java @@ -55,7 +55,7 @@ public class NoxiousGhoul extends CardImpl { public NoxiousGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NoxiousHatchling.java b/Mage.Sets/src/mage/cards/n/NoxiousHatchling.java index 942b9eb3404..285710e1ddc 100644 --- a/Mage.Sets/src/mage/cards/n/NoxiousHatchling.java +++ b/Mage.Sets/src/mage/cards/n/NoxiousHatchling.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -58,7 +59,7 @@ public class NoxiousHatchling extends CardImpl { public NoxiousHatchling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B/G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/n/NoxiousToad.java b/Mage.Sets/src/mage/cards/n/NoxiousToad.java index 9e5e7f545f6..08837fa5956 100644 --- a/Mage.Sets/src/mage/cards/n/NoxiousToad.java +++ b/Mage.Sets/src/mage/cards/n/NoxiousToad.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.discard.DiscardEachPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -44,7 +45,7 @@ public class NoxiousToad extends CardImpl { public NoxiousToad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Frog"); + this.subtype.add(SubType.FROG); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NoyanDarRoilShaper.java b/Mage.Sets/src/mage/cards/n/NoyanDarRoilShaper.java index 9130a431882..52ca70e0e08 100644 --- a/Mage.Sets/src/mage/cards/n/NoyanDarRoilShaper.java +++ b/Mage.Sets/src/mage/cards/n/NoyanDarRoilShaper.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SuperType; @@ -71,8 +72,8 @@ public class NoyanDarRoilShaper extends CardImpl { public NoyanDarRoilShaper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Merfolk"); - this.subtype.add("Ally"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ALLY); this.power = new MageInt(4); this.toughness = new MageInt(4); @@ -135,7 +136,7 @@ class AwakenElementalToken extends Token { super("", "0/0 Elemental creature with haste"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/n/Nucklavee.java b/Mage.Sets/src/mage/cards/n/Nucklavee.java index 4100bf31d91..13c536996f7 100644 --- a/Mage.Sets/src/mage/cards/n/Nucklavee.java +++ b/Mage.Sets/src/mage/cards/n/Nucklavee.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.filter.predicate.mageobject.ColorPredicate; @@ -58,7 +59,7 @@ public class Nucklavee extends CardImpl { public Nucklavee(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U/R}{U/R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NullCaller.java b/Mage.Sets/src/mage/cards/n/NullCaller.java index eae21072056..4aa4992f634 100644 --- a/Mage.Sets/src/mage/cards/n/NullCaller.java +++ b/Mage.Sets/src/mage/cards/n/NullCaller.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; import mage.game.permanent.token.ZombieToken; @@ -50,8 +51,8 @@ public class NullCaller extends CardImpl { public NullCaller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NullChampion.java b/Mage.Sets/src/mage/cards/n/NullChampion.java index 6b85338c439..0ce4199dd36 100644 --- a/Mage.Sets/src/mage/cards/n/NullChampion.java +++ b/Mage.Sets/src/mage/cards/n/NullChampion.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -51,8 +52,8 @@ public class NullChampion extends LevelerCard { public NullChampion (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WARRIOR); this.color.setBlack(true); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NullmageAdvocate.java b/Mage.Sets/src/mage/cards/n/NullmageAdvocate.java index 66ea79d1f51..74edc354117 100644 --- a/Mage.Sets/src/mage/cards/n/NullmageAdvocate.java +++ b/Mage.Sets/src/mage/cards/n/NullmageAdvocate.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.StaticFilters; @@ -54,8 +55,8 @@ public class NullmageAdvocate extends CardImpl { public NullmageAdvocate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Insect"); - this.subtype.add("Druid"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NullmageShepherd.java b/Mage.Sets/src/mage/cards/n/NullmageShepherd.java index 4a6bf2d5292..7dce7ed92f9 100644 --- a/Mage.Sets/src/mage/cards/n/NullmageShepherd.java +++ b/Mage.Sets/src/mage/cards/n/NullmageShepherd.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; @@ -58,8 +59,8 @@ public class NullmageShepherd extends CardImpl { public NullmageShepherd(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/n/NullstoneGargoyle.java b/Mage.Sets/src/mage/cards/n/NullstoneGargoyle.java index abb1d32a20e..8c8c6b1bc8c 100644 --- a/Mage.Sets/src/mage/cards/n/NullstoneGargoyle.java +++ b/Mage.Sets/src/mage/cards/n/NullstoneGargoyle.java @@ -1,111 +1,112 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.n; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.CounterTargetEffect; -import mage.abilities.keyword.FlyingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.target.targetpointer.FixedTarget; -import mage.watchers.common.SpellsCastWatcher; - -/** - * - * @author LevelX2 - */ -public class NullstoneGargoyle extends CardImpl { - - public NullstoneGargoyle(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{9}"); - - this.subtype.add("Gargoyle"); - this.power = new MageInt(4); - this.toughness = new MageInt(5); - - // Flying - this.addAbility(FlyingAbility.getInstance()); - - // Whenever the first noncreature spell of a turn is cast, counter that spell. - this.addAbility(new NullstoneGargoyleTriggeredAbility(), new SpellsCastWatcher()); - } - - public NullstoneGargoyle(final NullstoneGargoyle card) { - super(card); - } - - @Override - public NullstoneGargoyle copy() { - return new NullstoneGargoyle(this); - } -} - -class NullstoneGargoyleTriggeredAbility extends TriggeredAbilityImpl { - - public NullstoneGargoyleTriggeredAbility() { - super(Zone.BATTLEFIELD, new CounterTargetEffect(), false); - } - - public NullstoneGargoyleTriggeredAbility(NullstoneGargoyleTriggeredAbility ability) { - super(ability); - } - - @Override - public NullstoneGargoyleTriggeredAbility copy() { - return new NullstoneGargoyleTriggeredAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.SPELL_CAST; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - SpellsCastWatcher watcher = (SpellsCastWatcher) game.getState().getWatchers().get(SpellsCastWatcher.class.getSimpleName()); - if (watcher != null && watcher.getNumberOfNonCreatureSpells() == 1) { - for (Effect effect : getEffects()) { - effect.setTargetPointer(new FixedTarget(event.getTargetId())); - } - return true; - } - return false; - } - - @Override - public String getRule() { - return "Whenever the first noncreature spell of a turn is cast, counter that spell."; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.n; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.CounterTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.target.targetpointer.FixedTarget; +import mage.watchers.common.SpellsCastWatcher; + +/** + * + * @author LevelX2 + */ +public class NullstoneGargoyle extends CardImpl { + + public NullstoneGargoyle(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{9}"); + + this.subtype.add(SubType.GARGOYLE); + this.power = new MageInt(4); + this.toughness = new MageInt(5); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Whenever the first noncreature spell of a turn is cast, counter that spell. + this.addAbility(new NullstoneGargoyleTriggeredAbility(), new SpellsCastWatcher()); + } + + public NullstoneGargoyle(final NullstoneGargoyle card) { + super(card); + } + + @Override + public NullstoneGargoyle copy() { + return new NullstoneGargoyle(this); + } +} + +class NullstoneGargoyleTriggeredAbility extends TriggeredAbilityImpl { + + public NullstoneGargoyleTriggeredAbility() { + super(Zone.BATTLEFIELD, new CounterTargetEffect(), false); + } + + public NullstoneGargoyleTriggeredAbility(NullstoneGargoyleTriggeredAbility ability) { + super(ability); + } + + @Override + public NullstoneGargoyleTriggeredAbility copy() { + return new NullstoneGargoyleTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.SPELL_CAST; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + SpellsCastWatcher watcher = (SpellsCastWatcher) game.getState().getWatchers().get(SpellsCastWatcher.class.getSimpleName()); + if (watcher != null && watcher.getNumberOfNonCreatureSpells() == 1) { + for (Effect effect : getEffects()) { + effect.setTargetPointer(new FixedTarget(event.getTargetId())); + } + return true; + } + return false; + } + + @Override + public String getRule() { + return "Whenever the first noncreature spell of a turn is cast, counter that spell."; + } +} diff --git a/Mage.Sets/src/mage/cards/n/NulltreadGargantuan.java b/Mage.Sets/src/mage/cards/n/NulltreadGargantuan.java index d951f38ce6b..db63e9456b8 100644 --- a/Mage.Sets/src/mage/cards/n/NulltreadGargantuan.java +++ b/Mage.Sets/src/mage/cards/n/NulltreadGargantuan.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PutOnLibraryTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.Target; import mage.target.common.TargetControlledCreaturePermanent; @@ -47,7 +48,7 @@ public class NulltreadGargantuan extends CardImpl { public NulltreadGargantuan (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/n/NumaiOutcast.java b/Mage.Sets/src/mage/cards/n/NumaiOutcast.java index c5529c962f6..7b71b1a2d71 100644 --- a/Mage.Sets/src/mage/cards/n/NumaiOutcast.java +++ b/Mage.Sets/src/mage/cards/n/NumaiOutcast.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.BushidoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class NumaiOutcast extends CardImpl { public NumaiOutcast (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NumbingDose.java b/Mage.Sets/src/mage/cards/n/NumbingDose.java index 75ef8ca3399..ba47ca9f8af 100644 --- a/Mage.Sets/src/mage/cards/n/NumbingDose.java +++ b/Mage.Sets/src/mage/cards/n/NumbingDose.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -65,7 +66,7 @@ public class NumbingDose extends CardImpl { public NumbingDose(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact or creature diff --git a/Mage.Sets/src/mage/cards/n/NumotTheDevastator.java b/Mage.Sets/src/mage/cards/n/NumotTheDevastator.java index eed5d18fc19..5640e2c90d3 100644 --- a/Mage.Sets/src/mage/cards/n/NumotTheDevastator.java +++ b/Mage.Sets/src/mage/cards/n/NumotTheDevastator.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.StaticFilters; import mage.target.common.TargetLandPermanent; @@ -52,7 +53,7 @@ public class NumotTheDevastator extends CardImpl { public NumotTheDevastator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/n/NurturerInitiate.java b/Mage.Sets/src/mage/cards/n/NurturerInitiate.java index 4a5a4e1daff..b0e3f407ea5 100644 --- a/Mage.Sets/src/mage/cards/n/NurturerInitiate.java +++ b/Mage.Sets/src/mage/cards/n/NurturerInitiate.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,8 +58,8 @@ public class NurturerInitiate extends CardImpl { public NurturerInitiate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NurturingLicid.java b/Mage.Sets/src/mage/cards/n/NurturingLicid.java index 8c61dfaaa10..fb55c321d50 100644 --- a/Mage.Sets/src/mage/cards/n/NurturingLicid.java +++ b/Mage.Sets/src/mage/cards/n/NurturingLicid.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class NurturingLicid extends CardImpl { public NurturingLicid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Licid"); + this.subtype.add(SubType.LICID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NutCollector.java b/Mage.Sets/src/mage/cards/n/NutCollector.java index d429f7628fc..fc54adb273f 100644 --- a/Mage.Sets/src/mage/cards/n/NutCollector.java +++ b/Mage.Sets/src/mage/cards/n/NutCollector.java @@ -57,8 +57,8 @@ public class NutCollector extends CardImpl { public NutCollector(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NuteGunray.java b/Mage.Sets/src/mage/cards/n/NuteGunray.java index 2ded30c81d7..deac0f7f477 100644 --- a/Mage.Sets/src/mage/cards/n/NuteGunray.java +++ b/Mage.Sets/src/mage/cards/n/NuteGunray.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; @@ -65,8 +66,8 @@ public class NuteGunray extends CardImpl { public NuteGunray(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Neimoidian"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.NEIMOIDIAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NyleaGodOfTheHunt.java b/Mage.Sets/src/mage/cards/n/NyleaGodOfTheHunt.java index c21dc38dde0..ea97068bfed 100644 --- a/Mage.Sets/src/mage/cards/n/NyleaGodOfTheHunt.java +++ b/Mage.Sets/src/mage/cards/n/NyleaGodOfTheHunt.java @@ -55,7 +55,7 @@ public class NyleaGodOfTheHunt extends CardImpl { public NyleaGodOfTheHunt(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{3}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/n/NyleasDisciple.java b/Mage.Sets/src/mage/cards/n/NyleasDisciple.java index c179fba97e5..32e66931856 100644 --- a/Mage.Sets/src/mage/cards/n/NyleasDisciple.java +++ b/Mage.Sets/src/mage/cards/n/NyleasDisciple.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; /** @@ -46,8 +47,8 @@ public class NyleasDisciple extends CardImpl { public NyleasDisciple(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Archer"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NyleasEmissary.java b/Mage.Sets/src/mage/cards/n/NyleasEmissary.java index 58e1f5b082f..50271013b2f 100644 --- a/Mage.Sets/src/mage/cards/n/NyleasEmissary.java +++ b/Mage.Sets/src/mage/cards/n/NyleasEmissary.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class NyleasEmissary extends CardImpl { public NyleasEmissary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{3}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NyleasPresence.java b/Mage.Sets/src/mage/cards/n/NyleasPresence.java index 9e02f48aeba..c6c1e9cc9e0 100644 --- a/Mage.Sets/src/mage/cards/n/NyleasPresence.java +++ b/Mage.Sets/src/mage/cards/n/NyleasPresence.java @@ -56,7 +56,7 @@ public class NyleasPresence extends CardImpl { public NyleasPresence(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/n/NyxFleeceRam.java b/Mage.Sets/src/mage/cards/n/NyxFleeceRam.java index 437ec1be30a..c280b9a26ea 100644 --- a/Mage.Sets/src/mage/cards/n/NyxFleeceRam.java +++ b/Mage.Sets/src/mage/cards/n/NyxFleeceRam.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -44,7 +45,7 @@ public class NyxFleeceRam extends CardImpl { public NyxFleeceRam(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{1}{W}"); - this.subtype.add("Sheep"); + this.subtype.add(SubType.SHEEP); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/n/NyxInfusion.java b/Mage.Sets/src/mage/cards/n/NyxInfusion.java index 02f26b975e1..59b87064523 100644 --- a/Mage.Sets/src/mage/cards/n/NyxInfusion.java +++ b/Mage.Sets/src/mage/cards/n/NyxInfusion.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class NyxInfusion extends CardImpl { public NyxInfusion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); diff --git a/Mage.Sets/src/mage/cards/n/NyxWeaver.java b/Mage.Sets/src/mage/cards/n/NyxWeaver.java index b2abfbd6d11..5bdde934ebd 100644 --- a/Mage.Sets/src/mage/cards/n/NyxWeaver.java +++ b/Mage.Sets/src/mage/cards/n/NyxWeaver.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.target.common.TargetCardInYourGraveyard; @@ -52,7 +53,7 @@ public class NyxWeaver extends CardImpl { public NyxWeaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{1}{B}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/Nyxathid.java b/Mage.Sets/src/mage/cards/n/Nyxathid.java index 8a033c77811..ebba5c08b4b 100644 --- a/Mage.Sets/src/mage/cards/n/Nyxathid.java +++ b/Mage.Sets/src/mage/cards/n/Nyxathid.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class Nyxathid extends CardImpl { public Nyxathid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/n/NyxbornEidolon.java b/Mage.Sets/src/mage/cards/n/NyxbornEidolon.java index caeb8de16dc..09197076e52 100644 --- a/Mage.Sets/src/mage/cards/n/NyxbornEidolon.java +++ b/Mage.Sets/src/mage/cards/n/NyxbornEidolon.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.BestowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class NyxbornEidolon extends CardImpl { public NyxbornEidolon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{1}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NyxbornRollicker.java b/Mage.Sets/src/mage/cards/n/NyxbornRollicker.java index 247c1270b0f..0e633a0220a 100644 --- a/Mage.Sets/src/mage/cards/n/NyxbornRollicker.java +++ b/Mage.Sets/src/mage/cards/n/NyxbornRollicker.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.BestowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class NyxbornRollicker extends CardImpl { public NyxbornRollicker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{R}"); - this.subtype.add("Satyr"); + this.subtype.add(SubType.SATYR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/n/NyxbornShieldmate.java b/Mage.Sets/src/mage/cards/n/NyxbornShieldmate.java index 2ff40f5da99..d5107e6ffdd 100644 --- a/Mage.Sets/src/mage/cards/n/NyxbornShieldmate.java +++ b/Mage.Sets/src/mage/cards/n/NyxbornShieldmate.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.BestowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class NyxbornShieldmate extends CardImpl { public NyxbornShieldmate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/n/NyxbornTriton.java b/Mage.Sets/src/mage/cards/n/NyxbornTriton.java index 7963c0c64ff..8b56c1fdca7 100644 --- a/Mage.Sets/src/mage/cards/n/NyxbornTriton.java +++ b/Mage.Sets/src/mage/cards/n/NyxbornTriton.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.BestowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class NyxbornTriton extends CardImpl { public NyxbornTriton(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/n/NyxbornWolf.java b/Mage.Sets/src/mage/cards/n/NyxbornWolf.java index 1fda24d6932..9393a92ce6f 100644 --- a/Mage.Sets/src/mage/cards/n/NyxbornWolf.java +++ b/Mage.Sets/src/mage/cards/n/NyxbornWolf.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.BestowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class NyxbornWolf extends CardImpl { public NyxbornWolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{G}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OKagachiVengefulKami.java b/Mage.Sets/src/mage/cards/o/OKagachiVengefulKami.java index 8863877773c..b76c8584ac5 100644 --- a/Mage.Sets/src/mage/cards/o/OKagachiVengefulKami.java +++ b/Mage.Sets/src/mage/cards/o/OKagachiVengefulKami.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -63,8 +64,8 @@ public class OKagachiVengefulKami extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{U}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DRAGON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/o/ONaginata.java b/Mage.Sets/src/mage/cards/o/ONaginata.java index 5eac621c151..f617aeef314 100644 --- a/Mage.Sets/src/mage/cards/o/ONaginata.java +++ b/Mage.Sets/src/mage/cards/o/ONaginata.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.Zone; @@ -63,7 +64,7 @@ public class ONaginata extends CardImpl { public ONaginata(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); Target target = new TargetControlledCreaturePermanent(1, 1, filter, false); // O-Naginata can be attached only to a creature with 3 or more power. diff --git a/Mage.Sets/src/mage/cards/o/OakStreetInnkeeper.java b/Mage.Sets/src/mage/cards/o/OakStreetInnkeeper.java index d64c6443bb1..2f723a2e2c8 100644 --- a/Mage.Sets/src/mage/cards/o/OakStreetInnkeeper.java +++ b/Mage.Sets/src/mage/cards/o/OakStreetInnkeeper.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -56,7 +57,7 @@ public class OakStreetInnkeeper extends CardImpl { public OakStreetInnkeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OakenBrawler.java b/Mage.Sets/src/mage/cards/o/OakenBrawler.java index d6a315019cb..28a607817d4 100644 --- a/Mage.Sets/src/mage/cards/o/OakenBrawler.java +++ b/Mage.Sets/src/mage/cards/o/OakenBrawler.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,8 +46,8 @@ public class OakenBrawler extends CardImpl { public OakenBrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Treefolk"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/Oakenform.java b/Mage.Sets/src/mage/cards/o/Oakenform.java index 863c62bf3a2..1c9336552cd 100644 --- a/Mage.Sets/src/mage/cards/o/Oakenform.java +++ b/Mage.Sets/src/mage/cards/o/Oakenform.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -56,7 +57,7 @@ public class Oakenform extends CardImpl { public Oakenform(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/o/OakgnarlWarrior.java b/Mage.Sets/src/mage/cards/o/OakgnarlWarrior.java index a79535cabe5..ea3ef96b91c 100644 --- a/Mage.Sets/src/mage/cards/o/OakgnarlWarrior.java +++ b/Mage.Sets/src/mage/cards/o/OakgnarlWarrior.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class OakgnarlWarrior extends CardImpl { public OakgnarlWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/o/OakheartDryads.java b/Mage.Sets/src/mage/cards/o/OakheartDryads.java index 9045c3d4935..890f28738fd 100644 --- a/Mage.Sets/src/mage/cards/o/OakheartDryads.java +++ b/Mage.Sets/src/mage/cards/o/OakheartDryads.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -46,8 +47,8 @@ public class OakheartDryads extends CardImpl { public OakheartDryads(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{G}"); - this.subtype.add("Nymph"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.NYMPH); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OashraCultivator.java b/Mage.Sets/src/mage/cards/o/OashraCultivator.java index b469afa7854..e488ab21e1e 100644 --- a/Mage.Sets/src/mage/cards/o/OashraCultivator.java +++ b/Mage.Sets/src/mage/cards/o/OashraCultivator.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.filter.common.FilterBasicLandCard; @@ -53,8 +54,8 @@ public class OashraCultivator extends CardImpl { public OashraCultivator(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OasisRitualist.java b/Mage.Sets/src/mage/cards/o/OasisRitualist.java index 405d3d757b0..92bf31a452d 100644 --- a/Mage.Sets/src/mage/cards/o/OasisRitualist.java +++ b/Mage.Sets/src/mage/cards/o/OasisRitualist.java @@ -1,75 +1,76 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.o; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.costs.common.ExertSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.common.AddManaOfAnyColorEffect; -import mage.abilities.effects.common.ManaEffect; -import mage.abilities.mana.AnyColorManaAbility; -import mage.abilities.mana.SimpleManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; - -/** - * - * @author LevelX2 - */ -public class OasisRitualist extends CardImpl { - - public OasisRitualist(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - - this.subtype.add("Naga"); - this.subtype.add("Druid"); - this.power = new MageInt(2); - this.toughness = new MageInt(4); - - // {T}: Add one mana of any color to your mana pool. - this.addAbility(new AnyColorManaAbility()); - // {T}, Exert Oasis Ritualist: Add two mana of any one color to your manna pool. - SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, - (ManaEffect) new AddManaOfAnyColorEffect(2).setText("Add two mana of any one color to your manna pool. (An exerted creature won't untap during your next untap step.)"), - new TapSourceCost()); - ability.addCost(new ExertSourceCost()); - this.addAbility(ability); - } - - public OasisRitualist(final OasisRitualist card) { - super(card); - } - - @Override - public OasisRitualist copy() { - return new OasisRitualist(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.o; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.costs.common.ExertSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.AddManaOfAnyColorEffect; +import mage.abilities.effects.common.ManaEffect; +import mage.abilities.mana.AnyColorManaAbility; +import mage.abilities.mana.SimpleManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; + +/** + * + * @author LevelX2 + */ +public class OasisRitualist extends CardImpl { + + public OasisRitualist(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); + + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.DRUID); + this.power = new MageInt(2); + this.toughness = new MageInt(4); + + // {T}: Add one mana of any color to your mana pool. + this.addAbility(new AnyColorManaAbility()); + // {T}, Exert Oasis Ritualist: Add two mana of any one color to your manna pool. + SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, + (ManaEffect) new AddManaOfAnyColorEffect(2).setText("Add two mana of any one color to your manna pool. (An exerted creature won't untap during your next untap step.)"), + new TapSourceCost()); + ability.addCost(new ExertSourceCost()); + this.addAbility(ability); + } + + public OasisRitualist(final OasisRitualist card) { + super(card); + } + + @Override + public OasisRitualist copy() { + return new OasisRitualist(this); + } +} diff --git a/Mage.Sets/src/mage/cards/o/OathOfScholars.java b/Mage.Sets/src/mage/cards/o/OathOfScholars.java index 28fb5c4a3f7..9f2d48acfb8 100644 --- a/Mage.Sets/src/mage/cards/o/OathOfScholars.java +++ b/Mage.Sets/src/mage/cards/o/OathOfScholars.java @@ -1,148 +1,148 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.o; - -import java.util.UUID; -import mage.MageObject; -import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; -import mage.abilities.effects.OneShotEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.filter.FilterPlayer; -import mage.filter.predicate.ObjectSourcePlayer; -import mage.filter.predicate.ObjectSourcePlayerPredicate; -import mage.game.Game; -import mage.players.Player; -import mage.target.TargetPlayer; - -/** - * - * @author jeffwadsworth - */ -public class OathOfScholars extends CardImpl { - - private final UUID originalId; - private static final FilterPlayer filter = new FilterPlayer(); - - static { - filter.add(new OathOfScholarsPredicate()); - } - - public OathOfScholars(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}"); - - // At the beginning of each player's upkeep, that player chooses target player who has more cards in hand than he or she does and is his or her opponent. The first player may discard his or her hand and draw three cards. - Ability ability = new BeginningOfUpkeepTriggeredAbility(new OathOfScholarsEffect(), TargetController.ANY, false); - ability.addTarget(new TargetPlayer(1, 1, false, filter)); - this.addAbility(ability); - originalId = ability.getOriginalId(); - - } - - @Override - public void adjustTargets(Ability ability, Game game) { - if (ability.getOriginalId().equals(originalId)) { - Player activePlayer = game.getPlayer(game.getActivePlayerId()); - if (activePlayer != null) { - ability.getTargets().clear(); - TargetPlayer target = new TargetPlayer(1, 1, false, filter); - target.setTargetController(activePlayer.getId()); - ability.getTargets().add(target); - } - } - } - - public OathOfScholars(final OathOfScholars card) { - super(card); - this.originalId = card.originalId; - } - - @Override - public OathOfScholars copy() { - return new OathOfScholars(this); - } -} - -class OathOfScholarsPredicate implements ObjectSourcePlayerPredicate> { - - @Override - public boolean apply(ObjectSourcePlayer input, Game game) { - Player targetPlayer = input.getObject(); - Player firstPlayer = game.getPlayer(game.getActivePlayerId()); - if (targetPlayer == null - || firstPlayer == null - || !firstPlayer.hasOpponent(targetPlayer.getId(), game)) { - return false; - } - int countHandTargetPlayer = targetPlayer.getHand().size(); - int countHandFirstPlayer = firstPlayer.getHand().size(); - - return countHandTargetPlayer > countHandFirstPlayer; - } - - @Override - public String toString() { - return "player who has more cards in hand than he or she does"; - } -} - -class OathOfScholarsEffect extends OneShotEffect { - - public OathOfScholarsEffect() { - super(Outcome.PutCardInPlay); - staticText = "that player chooses target player who has more cards in hand than he or she does and is his or her opponent. The first player may discard his or her hand and draw three cards"; - } - - public OathOfScholarsEffect(OathOfScholarsEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - MageObject sourceObject = game.getObject(source.getSourceId()); - Player firstPlayer = game.getPlayer(game.getActivePlayerId()); - if (sourceObject == null || firstPlayer == null) { - return false; - } - if (firstPlayer.chooseUse(Outcome.AIDontUseIt, "Discard your hand and draw 3 cards?", source, game)) { - firstPlayer.discard(firstPlayer.getHand().size(), true, source, game); - firstPlayer.drawCards(3, game); - return true; - } - return false; - } - - @Override - public OathOfScholarsEffect copy() { - return new OathOfScholarsEffect(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.o; + +import java.util.UUID; +import mage.MageObject; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.filter.FilterPlayer; +import mage.filter.predicate.ObjectSourcePlayer; +import mage.filter.predicate.ObjectSourcePlayerPredicate; +import mage.game.Game; +import mage.players.Player; +import mage.target.TargetPlayer; + +/** + * + * @author jeffwadsworth + */ +public class OathOfScholars extends CardImpl { + + private final UUID originalId; + private static final FilterPlayer filter = new FilterPlayer(); + + static { + filter.add(new OathOfScholarsPredicate()); + } + + public OathOfScholars(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{3}{U}"); + + // At the beginning of each player's upkeep, that player chooses target player who has more cards in hand than he or she does and is his or her opponent. The first player may discard his or her hand and draw three cards. + Ability ability = new BeginningOfUpkeepTriggeredAbility(new OathOfScholarsEffect(), TargetController.ANY, false); + ability.addTarget(new TargetPlayer(1, 1, false, filter)); + this.addAbility(ability); + originalId = ability.getOriginalId(); + + } + + @Override + public void adjustTargets(Ability ability, Game game) { + if (ability.getOriginalId().equals(originalId)) { + Player activePlayer = game.getPlayer(game.getActivePlayerId()); + if (activePlayer != null) { + ability.getTargets().clear(); + TargetPlayer target = new TargetPlayer(1, 1, false, filter); + target.setTargetController(activePlayer.getId()); + ability.getTargets().add(target); + } + } + } + + public OathOfScholars(final OathOfScholars card) { + super(card); + this.originalId = card.originalId; + } + + @Override + public OathOfScholars copy() { + return new OathOfScholars(this); + } +} + +class OathOfScholarsPredicate implements ObjectSourcePlayerPredicate> { + + @Override + public boolean apply(ObjectSourcePlayer input, Game game) { + Player targetPlayer = input.getObject(); + Player firstPlayer = game.getPlayer(game.getActivePlayerId()); + if (targetPlayer == null + || firstPlayer == null + || !firstPlayer.hasOpponent(targetPlayer.getId(), game)) { + return false; + } + int countHandTargetPlayer = targetPlayer.getHand().size(); + int countHandFirstPlayer = firstPlayer.getHand().size(); + + return countHandTargetPlayer > countHandFirstPlayer; + } + + @Override + public String toString() { + return "player who has more cards in hand than he or she does"; + } +} + +class OathOfScholarsEffect extends OneShotEffect { + + public OathOfScholarsEffect() { + super(Outcome.PutCardInPlay); + staticText = "that player chooses target player who has more cards in hand than he or she does and is his or her opponent. The first player may discard his or her hand and draw three cards"; + } + + public OathOfScholarsEffect(OathOfScholarsEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + MageObject sourceObject = game.getObject(source.getSourceId()); + Player firstPlayer = game.getPlayer(game.getActivePlayerId()); + if (sourceObject == null || firstPlayer == null) { + return false; + } + if (firstPlayer.chooseUse(Outcome.AIDontUseIt, "Discard your hand and draw 3 cards?", source, game)) { + firstPlayer.discard(firstPlayer.getHand().size(), true, source, game); + firstPlayer.drawCards(3, game); + return true; + } + return false; + } + + @Override + public OathOfScholarsEffect copy() { + return new OathOfScholarsEffect(this); + } +} diff --git a/Mage.Sets/src/mage/cards/o/OathkeeperTakenosDaisho.java b/Mage.Sets/src/mage/cards/o/OathkeeperTakenosDaisho.java index f15649339e3..339d9827393 100644 --- a/Mage.Sets/src/mage/cards/o/OathkeeperTakenosDaisho.java +++ b/Mage.Sets/src/mage/cards/o/OathkeeperTakenosDaisho.java @@ -62,7 +62,7 @@ public class OathkeeperTakenosDaisho extends CardImpl { public OathkeeperTakenosDaisho(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +3/+1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3,1, Duration.WhileOnBattlefield))); diff --git a/Mage.Sets/src/mage/cards/o/OathswornGiant.java b/Mage.Sets/src/mage/cards/o/OathswornGiant.java index 01fbeb9d542..9ccabc351f7 100644 --- a/Mage.Sets/src/mage/cards/o/OathswornGiant.java +++ b/Mage.Sets/src/mage/cards/o/OathswornGiant.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -49,8 +50,8 @@ public class OathswornGiant extends CardImpl { public OathswornGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}{W}"); - this.subtype.add("Giant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/ObNixilisOfTheBlackOath.java b/Mage.Sets/src/mage/cards/o/ObNixilisOfTheBlackOath.java index 6c2af562f5c..d3e4e446d84 100644 --- a/Mage.Sets/src/mage/cards/o/ObNixilisOfTheBlackOath.java +++ b/Mage.Sets/src/mage/cards/o/ObNixilisOfTheBlackOath.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.game.Game; @@ -55,7 +56,7 @@ public class ObNixilisOfTheBlackOath extends CardImpl { public ObNixilisOfTheBlackOath(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Nixilis"); + this.subtype.add(SubType.NIXILIS); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/o/ObNixilisReignited.java b/Mage.Sets/src/mage/cards/o/ObNixilisReignited.java index dbbf37973b0..a6719e314a0 100644 --- a/Mage.Sets/src/mage/cards/o/ObNixilisReignited.java +++ b/Mage.Sets/src/mage/cards/o/ObNixilisReignited.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.game.command.emblems.ObNixilisReignitedEmblem; import mage.target.common.TargetCreaturePermanent; @@ -52,7 +53,7 @@ public class ObNixilisReignited extends CardImpl { public ObNixilisReignited(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Nixilis"); + this.subtype.add(SubType.NIXILIS); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/o/ObNixilisTheFallen.java b/Mage.Sets/src/mage/cards/o/ObNixilisTheFallen.java index 320ff0d1f86..a7a39a5174b 100644 --- a/Mage.Sets/src/mage/cards/o/ObNixilisTheFallen.java +++ b/Mage.Sets/src/mage/cards/o/ObNixilisTheFallen.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.counters.CounterType; import mage.target.TargetPlayer; @@ -49,7 +50,7 @@ public class ObNixilisTheFallen extends CardImpl { public ObNixilisTheFallen(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/ObNixilisUnshackled.java b/Mage.Sets/src/mage/cards/o/ObNixilisUnshackled.java index 38d0ce653b6..ef0de6ad01f 100644 --- a/Mage.Sets/src/mage/cards/o/ObNixilisUnshackled.java +++ b/Mage.Sets/src/mage/cards/o/ObNixilisUnshackled.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.counters.CounterType; @@ -59,7 +60,7 @@ public class ObNixilisUnshackled extends CardImpl { public ObNixilisUnshackled(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/ObeliskSpider.java b/Mage.Sets/src/mage/cards/o/ObeliskSpider.java index b91448a525e..9d4d9a75e83 100644 --- a/Mage.Sets/src/mage/cards/o/ObeliskSpider.java +++ b/Mage.Sets/src/mage/cards/o/ObeliskSpider.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -55,7 +56,7 @@ public class ObeliskSpider extends CardImpl { public ObeliskSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/ObiWanKenobi.java b/Mage.Sets/src/mage/cards/o/ObiWanKenobi.java index e4766ba3ab2..c215ee15cca 100644 --- a/Mage.Sets/src/mage/cards/o/ObiWanKenobi.java +++ b/Mage.Sets/src/mage/cards/o/ObiWanKenobi.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.game.command.emblems.ObiWanKenobiEmblem; import mage.target.common.TargetCreaturePermanent; @@ -52,7 +53,7 @@ public class ObiWanKenobi extends CardImpl { public ObiWanKenobi(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{W}{U}"); - this.subtype.add("Obi-Wan"); + this.subtype.add(SubType.OBI_WAN); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/o/OblivionCrown.java b/Mage.Sets/src/mage/cards/o/OblivionCrown.java index 0e6bfd82f4c..d92926b1f2d 100644 --- a/Mage.Sets/src/mage/cards/o/OblivionCrown.java +++ b/Mage.Sets/src/mage/cards/o/OblivionCrown.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class OblivionCrown extends CardImpl { public OblivionCrown(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/o/OblivionSower.java b/Mage.Sets/src/mage/cards/o/OblivionSower.java index 9ebcab9108d..cc6d3de5633 100644 --- a/Mage.Sets/src/mage/cards/o/OblivionSower.java +++ b/Mage.Sets/src/mage/cards/o/OblivionSower.java @@ -38,6 +38,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -58,7 +59,7 @@ public class OblivionSower extends CardImpl { public OblivionSower(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(5); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/o/OboroBreezecaller.java b/Mage.Sets/src/mage/cards/o/OboroBreezecaller.java index dc4ea330b92..d09655e4e9f 100644 --- a/Mage.Sets/src/mage/cards/o/OboroBreezecaller.java +++ b/Mage.Sets/src/mage/cards/o/OboroBreezecaller.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; @@ -54,8 +55,8 @@ public class OboroBreezecaller extends CardImpl { public OboroBreezecaller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Moonfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MOONFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OboroEnvoy.java b/Mage.Sets/src/mage/cards/o/OboroEnvoy.java index b67493d0ae8..b29d98c9fb2 100644 --- a/Mage.Sets/src/mage/cards/o/OboroEnvoy.java +++ b/Mage.Sets/src/mage/cards/o/OboroEnvoy.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -56,8 +57,8 @@ public class OboroEnvoy extends CardImpl { public OboroEnvoy(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - this.subtype.add("Moonfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MOONFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/ObservantAlseid.java b/Mage.Sets/src/mage/cards/o/ObservantAlseid.java index 3b43b7a6db8..510c0adc7a5 100644 --- a/Mage.Sets/src/mage/cards/o/ObservantAlseid.java +++ b/Mage.Sets/src/mage/cards/o/ObservantAlseid.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class ObservantAlseid extends CardImpl { public ObservantAlseid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{W}"); - this.subtype.add("Nymph"); + this.subtype.add(SubType.NYMPH); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/ObsessiveSkinner.java b/Mage.Sets/src/mage/cards/o/ObsessiveSkinner.java index a3dd1d2a8d5..57da183c864 100644 --- a/Mage.Sets/src/mage/cards/o/ObsessiveSkinner.java +++ b/Mage.Sets/src/mage/cards/o/ObsessiveSkinner.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class ObsessiveSkinner extends CardImpl { public ObsessiveSkinner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/ObsianusGolem.java b/Mage.Sets/src/mage/cards/o/ObsianusGolem.java index cd644e4b60b..82fea9b3b5b 100644 --- a/Mage.Sets/src/mage/cards/o/ObsianusGolem.java +++ b/Mage.Sets/src/mage/cards/o/ObsianusGolem.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class ObsianusGolem extends CardImpl { public ObsianusGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/o/ObsidianAcolyte.java b/Mage.Sets/src/mage/cards/o/ObsidianAcolyte.java index 1007a4b31df..61582498801 100644 --- a/Mage.Sets/src/mage/cards/o/ObsidianAcolyte.java +++ b/Mage.Sets/src/mage/cards/o/ObsidianAcolyte.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class ObsidianAcolyte extends CardImpl { public ObsidianAcolyte(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/ObsidianBattleAxe.java b/Mage.Sets/src/mage/cards/o/ObsidianBattleAxe.java index 4b87d64cb4e..d1b0124c828 100644 --- a/Mage.Sets/src/mage/cards/o/ObsidianBattleAxe.java +++ b/Mage.Sets/src/mage/cards/o/ObsidianBattleAxe.java @@ -57,8 +57,8 @@ public class ObsidianBattleAxe extends CardImpl { public ObsidianBattleAxe(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ARTIFACT},"{3}"); - this.subtype.add("Warrior"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+1 and has haste. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 1)); diff --git a/Mage.Sets/src/mage/cards/o/ObsidianFireheart.java b/Mage.Sets/src/mage/cards/o/ObsidianFireheart.java index b5d11670976..b8d0aabb7ab 100644 --- a/Mage.Sets/src/mage/cards/o/ObsidianFireheart.java +++ b/Mage.Sets/src/mage/cards/o/ObsidianFireheart.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -67,7 +68,7 @@ public class ObsidianFireheart extends CardImpl { public ObsidianFireheart(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/ObsidianGiant.java b/Mage.Sets/src/mage/cards/o/ObsidianGiant.java index bdc853c2864..7a1f8aefecc 100644 --- a/Mage.Sets/src/mage/cards/o/ObsidianGiant.java +++ b/Mage.Sets/src/mage/cards/o/ObsidianGiant.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class ObsidianGiant extends CardImpl { public ObsidianGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/ObstinateBaloth.java b/Mage.Sets/src/mage/cards/o/ObstinateBaloth.java index 74306392f2c..442cbab0c3d 100644 --- a/Mage.Sets/src/mage/cards/o/ObstinateBaloth.java +++ b/Mage.Sets/src/mage/cards/o/ObstinateBaloth.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class ObstinateBaloth extends CardImpl { public ObstinateBaloth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/ObstinateFamiliar.java b/Mage.Sets/src/mage/cards/o/ObstinateFamiliar.java index a58d41a6980..05724f4a51a 100644 --- a/Mage.Sets/src/mage/cards/o/ObstinateFamiliar.java +++ b/Mage.Sets/src/mage/cards/o/ObstinateFamiliar.java @@ -35,6 +35,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class ObstinateFamiliar extends CardImpl { public ObstinateFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/ObzedatGhostCouncil.java b/Mage.Sets/src/mage/cards/o/ObzedatGhostCouncil.java index 175ddb4dbbb..c0c17aab269 100644 --- a/Mage.Sets/src/mage/cards/o/ObzedatGhostCouncil.java +++ b/Mage.Sets/src/mage/cards/o/ObzedatGhostCouncil.java @@ -60,8 +60,8 @@ public class ObzedatGhostCouncil extends CardImpl { public ObzedatGhostCouncil(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{W}{B}{B}"); - this.subtype.add("Spirit"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.ADVISOR); addSuperType(SuperType.LEGENDARY); this.power = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/o/OcularHalo.java b/Mage.Sets/src/mage/cards/o/OcularHalo.java index d32ae86136c..99a4816d9af 100644 --- a/Mage.Sets/src/mage/cards/o/OcularHalo.java +++ b/Mage.Sets/src/mage/cards/o/OcularHalo.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class OcularHalo extends CardImpl { public OcularHalo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/o/Oculus.java b/Mage.Sets/src/mage/cards/o/Oculus.java index 5532965abe1..ad8b32ab840 100644 --- a/Mage.Sets/src/mage/cards/o/Oculus.java +++ b/Mage.Sets/src/mage/cards/o/Oculus.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class Oculus extends CardImpl { public Oculus (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Homunculus"); + this.subtype.add(SubType.HOMUNCULUS); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OdiousTrow.java b/Mage.Sets/src/mage/cards/o/OdiousTrow.java index 1d2ca36b09e..61c801ed42c 100644 --- a/Mage.Sets/src/mage/cards/o/OdiousTrow.java +++ b/Mage.Sets/src/mage/cards/o/OdiousTrow.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class OdiousTrow extends CardImpl { public OdiousTrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B/G}"); - this.subtype.add("Troll"); + this.subtype.add(SubType.TROLL); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OdricLunarchMarshal.java b/Mage.Sets/src/mage/cards/o/OdricLunarchMarshal.java index 25a3eb9b887..fb5134254c0 100644 --- a/Mage.Sets/src/mage/cards/o/OdricLunarchMarshal.java +++ b/Mage.Sets/src/mage/cards/o/OdricLunarchMarshal.java @@ -50,8 +50,8 @@ public class OdricLunarchMarshal extends CardImpl { public OdricLunarchMarshal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OdricMasterTactician.java b/Mage.Sets/src/mage/cards/o/OdricMasterTactician.java index b0566d35f93..ecdb3e6d795 100644 --- a/Mage.Sets/src/mage/cards/o/OdricMasterTactician.java +++ b/Mage.Sets/src/mage/cards/o/OdricMasterTactician.java @@ -49,8 +49,8 @@ public class OdricMasterTactician extends CardImpl { public OdricMasterTactician(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/OdunosRiverTrawler.java b/Mage.Sets/src/mage/cards/o/OdunosRiverTrawler.java index 755b4eb4b01..bbe6c28d69f 100644 --- a/Mage.Sets/src/mage/cards/o/OdunosRiverTrawler.java +++ b/Mage.Sets/src/mage/cards/o/OdunosRiverTrawler.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -57,7 +58,7 @@ public class OdunosRiverTrawler extends CardImpl { public OdunosRiverTrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OdylicWraith.java b/Mage.Sets/src/mage/cards/o/OdylicWraith.java index b8ccf714f7a..50bff509b65 100644 --- a/Mage.Sets/src/mage/cards/o/OdylicWraith.java +++ b/Mage.Sets/src/mage/cards/o/OdylicWraith.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class OdylicWraith extends CardImpl { public OdylicWraith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Wraith"); + this.subtype.add(SubType.WRAITH); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/Offalsnout.java b/Mage.Sets/src/mage/cards/o/Offalsnout.java index 73857590f08..9e941443cce 100644 --- a/Mage.Sets/src/mage/cards/o/Offalsnout.java +++ b/Mage.Sets/src/mage/cards/o/Offalsnout.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.Target; import mage.target.common.TargetCardInGraveyard; @@ -48,7 +49,7 @@ public class Offalsnout extends CardImpl { public Offalsnout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OgreArsonist.java b/Mage.Sets/src/mage/cards/o/OgreArsonist.java index 3dbb7ec3513..67d682a8430 100644 --- a/Mage.Sets/src/mage/cards/o/OgreArsonist.java +++ b/Mage.Sets/src/mage/cards/o/OgreArsonist.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetLandPermanent; /** @@ -46,7 +47,7 @@ public class OgreArsonist extends CardImpl { public OgreArsonist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.OGRE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OgreBattledriver.java b/Mage.Sets/src/mage/cards/o/OgreBattledriver.java index 87c1619b211..e14fcc3d5f1 100644 --- a/Mage.Sets/src/mage/cards/o/OgreBattledriver.java +++ b/Mage.Sets/src/mage/cards/o/OgreBattledriver.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SetTargetPointer; import mage.constants.TargetController; @@ -62,8 +63,8 @@ public class OgreBattledriver extends CardImpl { public OgreBattledriver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OgreBerserker.java b/Mage.Sets/src/mage/cards/o/OgreBerserker.java index 82e7d6fdb91..646791ceccb 100644 --- a/Mage.Sets/src/mage/cards/o/OgreBerserker.java +++ b/Mage.Sets/src/mage/cards/o/OgreBerserker.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class OgreBerserker extends CardImpl { public OgreBerserker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OgreGatecrasher.java b/Mage.Sets/src/mage/cards/o/OgreGatecrasher.java index 2f0fcb3e24f..954a46226ff 100644 --- a/Mage.Sets/src/mage/cards/o/OgreGatecrasher.java +++ b/Mage.Sets/src/mage/cards/o/OgreGatecrasher.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; import mage.target.common.TargetCreaturePermanent; @@ -54,8 +55,8 @@ public class OgreGatecrasher extends CardImpl { public OgreGatecrasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OgreGeargrabber.java b/Mage.Sets/src/mage/cards/o/OgreGeargrabber.java index 2fb3008c3e0..a4957f0577d 100644 --- a/Mage.Sets/src/mage/cards/o/OgreGeargrabber.java +++ b/Mage.Sets/src/mage/cards/o/OgreGeargrabber.java @@ -63,8 +63,8 @@ public class OgreGeargrabber extends CardImpl { public OgreGeargrabber(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/OgreJailbreaker.java b/Mage.Sets/src/mage/cards/o/OgreJailbreaker.java index 2e92a524705..3e21dad937a 100644 --- a/Mage.Sets/src/mage/cards/o/OgreJailbreaker.java +++ b/Mage.Sets/src/mage/cards/o/OgreJailbreaker.java @@ -49,8 +49,8 @@ public class OgreJailbreaker extends CardImpl { public OgreJailbreaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Ogre"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/OgreLeadfoot.java b/Mage.Sets/src/mage/cards/o/OgreLeadfoot.java index b782730b2a1..29fc3d256de 100644 --- a/Mage.Sets/src/mage/cards/o/OgreLeadfoot.java +++ b/Mage.Sets/src/mage/cards/o/OgreLeadfoot.java @@ -1,64 +1,65 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.o; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.BecomesBlockedByCreatureTriggeredAbility; -import mage.abilities.effects.common.DestroyTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.common.FilterArtifactCreaturePermanent; - -/** - * - * @author LevelX2 - */ -public class OgreLeadfoot extends CardImpl { - - public OgreLeadfoot(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); - - this.subtype.add("Ogre"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // Whenever Ogre Leadfoot becomes blocked by an artifact creature, destroy that creature. - this.addAbility(new BecomesBlockedByCreatureTriggeredAbility(new DestroyTargetEffect(), new FilterArtifactCreaturePermanent("an artifact creature"), false)); - } - - public OgreLeadfoot(final OgreLeadfoot card) { - super(card); - } - - @Override - public OgreLeadfoot copy() { - return new OgreLeadfoot(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.o; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.BecomesBlockedByCreatureTriggeredAbility; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.common.FilterArtifactCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class OgreLeadfoot extends CardImpl { + + public OgreLeadfoot(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); + + this.subtype.add(SubType.OGRE); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Whenever Ogre Leadfoot becomes blocked by an artifact creature, destroy that creature. + this.addAbility(new BecomesBlockedByCreatureTriggeredAbility(new DestroyTargetEffect(), new FilterArtifactCreaturePermanent("an artifact creature"), false)); + } + + public OgreLeadfoot(final OgreLeadfoot card) { + super(card); + } + + @Override + public OgreLeadfoot copy() { + return new OgreLeadfoot(this); + } +} diff --git a/Mage.Sets/src/mage/cards/o/OgreMarauder.java b/Mage.Sets/src/mage/cards/o/OgreMarauder.java index 47d969581fa..b362a36272d 100644 --- a/Mage.Sets/src/mage/cards/o/OgreMarauder.java +++ b/Mage.Sets/src/mage/cards/o/OgreMarauder.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.game.Game; @@ -54,8 +55,8 @@ public class OgreMarauder extends CardImpl { public OgreMarauder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OgreMenial.java b/Mage.Sets/src/mage/cards/o/OgreMenial.java index 0e6ef81b2d9..f1153ea62fd 100644 --- a/Mage.Sets/src/mage/cards/o/OgreMenial.java +++ b/Mage.Sets/src/mage/cards/o/OgreMenial.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class OgreMenial extends CardImpl { public OgreMenial(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.OGRE); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/OgreRecluse.java b/Mage.Sets/src/mage/cards/o/OgreRecluse.java index 6e30f2b5565..15e225fdf7b 100644 --- a/Mage.Sets/src/mage/cards/o/OgreRecluse.java +++ b/Mage.Sets/src/mage/cards/o/OgreRecluse.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.TapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class OgreRecluse extends CardImpl { public OgreRecluse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/OgreResister.java b/Mage.Sets/src/mage/cards/o/OgreResister.java index c70287671fc..65962707ed7 100644 --- a/Mage.Sets/src/mage/cards/o/OgreResister.java +++ b/Mage.Sets/src/mage/cards/o/OgreResister.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class OgreResister extends CardImpl { public OgreResister (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.OGRE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OgreSavant.java b/Mage.Sets/src/mage/cards/o/OgreSavant.java index 0b5ec106563..7fa9b62706d 100644 --- a/Mage.Sets/src/mage/cards/o/OgreSavant.java +++ b/Mage.Sets/src/mage/cards/o/OgreSavant.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.target.common.TargetCreaturePermanent; import mage.watchers.common.ManaSpentToCastWatcher; @@ -49,8 +50,8 @@ public class OgreSavant extends CardImpl { public OgreSavant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OgreSentry.java b/Mage.Sets/src/mage/cards/o/OgreSentry.java index 190e45d1c8c..882c94beee9 100644 --- a/Mage.Sets/src/mage/cards/o/OgreSentry.java +++ b/Mage.Sets/src/mage/cards/o/OgreSentry.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class OgreSentry extends CardImpl { public OgreSentry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OgreShaman.java b/Mage.Sets/src/mage/cards/o/OgreShaman.java index 1a754af6a72..b20c6446946 100644 --- a/Mage.Sets/src/mage/cards/o/OgreShaman.java +++ b/Mage.Sets/src/mage/cards/o/OgreShaman.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class OgreShaman extends CardImpl { public OgreShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OgreSlumlord.java b/Mage.Sets/src/mage/cards/o/OgreSlumlord.java index 401fc543622..99b6502945c 100644 --- a/Mage.Sets/src/mage/cards/o/OgreSlumlord.java +++ b/Mage.Sets/src/mage/cards/o/OgreSlumlord.java @@ -65,8 +65,8 @@ public class OgreSlumlord extends CardImpl { public OgreSlumlord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Ogre"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OgreTaskmaster.java b/Mage.Sets/src/mage/cards/o/OgreTaskmaster.java index bc44dd6839a..cf3972a1649 100644 --- a/Mage.Sets/src/mage/cards/o/OgreTaskmaster.java +++ b/Mage.Sets/src/mage/cards/o/OgreTaskmaster.java @@ -33,6 +33,7 @@ import mage.abilities.common.CantBlockAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class OgreTaskmaster extends CardImpl { public OgreTaskmaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.OGRE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OgreWarrior.java b/Mage.Sets/src/mage/cards/o/OgreWarrior.java index 67d8bd17e4d..160085ece8d 100644 --- a/Mage.Sets/src/mage/cards/o/OgreWarrior.java +++ b/Mage.Sets/src/mage/cards/o/OgreWarrior.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class OgreWarrior extends CardImpl { public OgreWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OgresCleaver.java b/Mage.Sets/src/mage/cards/o/OgresCleaver.java index c75a8472c2c..34aca6814e2 100644 --- a/Mage.Sets/src/mage/cards/o/OgresCleaver.java +++ b/Mage.Sets/src/mage/cards/o/OgresCleaver.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class OgresCleaver extends CardImpl { public OgresCleaver (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(5))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(5, 0))); diff --git a/Mage.Sets/src/mage/cards/o/OhranViper.java b/Mage.Sets/src/mage/cards/o/OhranViper.java index 075e4b6f460..4b4eecc5e27 100644 --- a/Mage.Sets/src/mage/cards/o/OhranViper.java +++ b/Mage.Sets/src/mage/cards/o/OhranViper.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -49,7 +50,7 @@ public class OhranViper extends CardImpl { public OhranViper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); addSuperType(SuperType.SNOW); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OhranYeti.java b/Mage.Sets/src/mage/cards/o/OhranYeti.java index 67d217597e3..dfcfe48500c 100644 --- a/Mage.Sets/src/mage/cards/o/OhranYeti.java +++ b/Mage.Sets/src/mage/cards/o/OhranYeti.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class OhranYeti extends CardImpl { public OhranYeti(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); addSuperType(SuperType.SNOW); - this.subtype.add("Yeti"); + this.subtype.add(SubType.YETI); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OjutaiExemplars.java b/Mage.Sets/src/mage/cards/o/OjutaiExemplars.java index 7cb1fd99888..74717e6e7cc 100644 --- a/Mage.Sets/src/mage/cards/o/OjutaiExemplars.java +++ b/Mage.Sets/src/mage/cards/o/OjutaiExemplars.java @@ -42,6 +42,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -66,8 +67,8 @@ public class OjutaiExemplars extends CardImpl { public OjutaiExemplars(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/OjutaiInterceptor.java b/Mage.Sets/src/mage/cards/o/OjutaiInterceptor.java index d14a9af1bb7..4b8d1493531 100644 --- a/Mage.Sets/src/mage/cards/o/OjutaiInterceptor.java +++ b/Mage.Sets/src/mage/cards/o/OjutaiInterceptor.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class OjutaiInterceptor extends CardImpl { public OjutaiInterceptor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OjutaiMonument.java b/Mage.Sets/src/mage/cards/o/OjutaiMonument.java index cbe5367e759..2d1c16e439c 100644 --- a/Mage.Sets/src/mage/cards/o/OjutaiMonument.java +++ b/Mage.Sets/src/mage/cards/o/OjutaiMonument.java @@ -38,6 +38,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -76,7 +77,7 @@ public class OjutaiMonument extends CardImpl { cardType.add(CardType.CREATURE); color.setWhite(true); color.setBlue(true); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); power = new MageInt(4); toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/o/OjutaiSoulOfWinter.java b/Mage.Sets/src/mage/cards/o/OjutaiSoulOfWinter.java index 4adf2d2a647..0c2f1ac3120 100644 --- a/Mage.Sets/src/mage/cards/o/OjutaiSoulOfWinter.java +++ b/Mage.Sets/src/mage/cards/o/OjutaiSoulOfWinter.java @@ -63,7 +63,7 @@ public class OjutaiSoulOfWinter extends CardImpl { public OjutaiSoulOfWinter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/o/OketraTheTrue.java b/Mage.Sets/src/mage/cards/o/OketraTheTrue.java index f9070651c7f..97caef153d6 100644 --- a/Mage.Sets/src/mage/cards/o/OketraTheTrue.java +++ b/Mage.Sets/src/mage/cards/o/OketraTheTrue.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.SuperType; @@ -61,7 +62,7 @@ public class OketraTheTrue extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/o/OketrasAttendant.java b/Mage.Sets/src/mage/cards/o/OketrasAttendant.java index 8e8f459f98b..3358fb24323 100644 --- a/Mage.Sets/src/mage/cards/o/OketrasAttendant.java +++ b/Mage.Sets/src/mage/cards/o/OketrasAttendant.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class OketrasAttendant extends CardImpl { public OketrasAttendant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OketrasAvenger.java b/Mage.Sets/src/mage/cards/o/OketrasAvenger.java index d613d00862f..ab21e2d9054 100644 --- a/Mage.Sets/src/mage/cards/o/OketrasAvenger.java +++ b/Mage.Sets/src/mage/cards/o/OketrasAvenger.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ExertAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,8 +47,8 @@ public class OketrasAvenger extends CardImpl { public OketrasAvenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OketrasLastMercy.java b/Mage.Sets/src/mage/cards/o/OketrasLastMercy.java index ef5122a8e04..82d0e97a879 100644 --- a/Mage.Sets/src/mage/cards/o/OketrasLastMercy.java +++ b/Mage.Sets/src/mage/cards/o/OketrasLastMercy.java @@ -1,96 +1,96 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.o; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DontUntapInControllersUntapStepAllEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.filter.common.FilterControlledLandPermanent; -import mage.game.Game; -import mage.players.Player; - -/** - * - * @author LevelX2 - */ -public class OketrasLastMercy extends CardImpl { - - public OketrasLastMercy(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{W}{W}"); - - // Your life total becomes your starting life total. Lands you control don't untap during your next untap phase. - this.getSpellAbility().addEffect(new OketrasLastMercyEffect()); - this.getSpellAbility().addEffect(new DontUntapInControllersUntapStepAllEffect( - Duration.UntilYourNextTurn, TargetController.YOU, new FilterControlledLandPermanent("Lands you control")) - .setText("Lands you control don't untap during your next untap phase")); - } - - public OketrasLastMercy(final OketrasLastMercy card) { - super(card); - } - - @Override - public OketrasLastMercy copy() { - return new OketrasLastMercy(this); - } -} - -class OketrasLastMercyEffect extends OneShotEffect { - - public OketrasLastMercyEffect() { - super(Outcome.Benefit); - staticText = "Your life total becomes your starting life total"; - } - - public OketrasLastMercyEffect(final OketrasLastMercyEffect effect) { - super(effect); - } - - @Override - public OketrasLastMercyEffect copy() { - return new OketrasLastMercyEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - controller.setLife(game.getLife(), game); - return true; - } - return false; - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.o; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DontUntapInControllersUntapStepAllEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.filter.common.FilterControlledLandPermanent; +import mage.game.Game; +import mage.players.Player; + +/** + * + * @author LevelX2 + */ +public class OketrasLastMercy extends CardImpl { + + public OketrasLastMercy(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{W}{W}"); + + // Your life total becomes your starting life total. Lands you control don't untap during your next untap phase. + this.getSpellAbility().addEffect(new OketrasLastMercyEffect()); + this.getSpellAbility().addEffect(new DontUntapInControllersUntapStepAllEffect( + Duration.UntilYourNextTurn, TargetController.YOU, new FilterControlledLandPermanent("Lands you control")) + .setText("Lands you control don't untap during your next untap phase")); + } + + public OketrasLastMercy(final OketrasLastMercy card) { + super(card); + } + + @Override + public OketrasLastMercy copy() { + return new OketrasLastMercy(this); + } +} + +class OketrasLastMercyEffect extends OneShotEffect { + + public OketrasLastMercyEffect() { + super(Outcome.Benefit); + staticText = "Your life total becomes your starting life total"; + } + + public OketrasLastMercyEffect(final OketrasLastMercyEffect effect) { + super(effect); + } + + @Override + public OketrasLastMercyEffect copy() { + return new OketrasLastMercyEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + controller.setLife(game.getLife(), game); + return true; + } + return false; + } + +} diff --git a/Mage.Sets/src/mage/cards/o/OkibaGangShinobi.java b/Mage.Sets/src/mage/cards/o/OkibaGangShinobi.java index 406f0a8a390..e4fb49fe084 100644 --- a/Mage.Sets/src/mage/cards/o/OkibaGangShinobi.java +++ b/Mage.Sets/src/mage/cards/o/OkibaGangShinobi.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.NinjutsuAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class OkibaGangShinobi extends CardImpl { public OkibaGangShinobi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Rat"); - this.subtype.add("Ninja"); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.NINJA); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OkinaNightwatch.java b/Mage.Sets/src/mage/cards/o/OkinaNightwatch.java index 69a7907fa93..822f17ef0a6 100644 --- a/Mage.Sets/src/mage/cards/o/OkinaNightwatch.java +++ b/Mage.Sets/src/mage/cards/o/OkinaNightwatch.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class OkinaNightwatch extends CardImpl { public OkinaNightwatch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/Okk.java b/Mage.Sets/src/mage/cards/o/Okk.java index 0a191a9ce9a..904a3296dba 100644 --- a/Mage.Sets/src/mage/cards/o/Okk.java +++ b/Mage.Sets/src/mage/cards/o/Okk.java @@ -35,6 +35,7 @@ import mage.abilities.effects.RestrictionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterAttackingCreature; @@ -50,7 +51,7 @@ public class Okk extends CardImpl { public Okk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/OldGhastbark.java b/Mage.Sets/src/mage/cards/o/OldGhastbark.java index 2144fb38f58..181499bc0f1 100644 --- a/Mage.Sets/src/mage/cards/o/OldGhastbark.java +++ b/Mage.Sets/src/mage/cards/o/OldGhastbark.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class OldGhastbark extends CardImpl { public OldGhastbark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G/W}{G/W}"); - this.subtype.add("Treefolk"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/o/OldGrowthDryads.java b/Mage.Sets/src/mage/cards/o/OldGrowthDryads.java index 107b3e8dac0..8f3438977c5 100644 --- a/Mage.Sets/src/mage/cards/o/OldGrowthDryads.java +++ b/Mage.Sets/src/mage/cards/o/OldGrowthDryads.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterLandCard; @@ -54,7 +55,7 @@ public class OldGrowthDryads extends CardImpl { public OldGrowthDryads(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OldManOfTheSea.java b/Mage.Sets/src/mage/cards/o/OldManOfTheSea.java index dbb42971c5b..21557b3d9a5 100644 --- a/Mage.Sets/src/mage/cards/o/OldManOfTheSea.java +++ b/Mage.Sets/src/mage/cards/o/OldManOfTheSea.java @@ -43,6 +43,7 @@ import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -61,7 +62,7 @@ public class OldManOfTheSea extends CardImpl { public OldManOfTheSea(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OliviaMobilizedForWar.java b/Mage.Sets/src/mage/cards/o/OliviaMobilizedForWar.java index 5a74236d98d..1575ef488ba 100644 --- a/Mage.Sets/src/mage/cards/o/OliviaMobilizedForWar.java +++ b/Mage.Sets/src/mage/cards/o/OliviaMobilizedForWar.java @@ -52,8 +52,8 @@ public class OliviaMobilizedForWar extends CardImpl { public OliviaMobilizedForWar(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); - this.subtype.add("Knight"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OliviaVoldaren.java b/Mage.Sets/src/mage/cards/o/OliviaVoldaren.java index f39a0c7976f..8dbdf0c849c 100644 --- a/Mage.Sets/src/mage/cards/o/OliviaVoldaren.java +++ b/Mage.Sets/src/mage/cards/o/OliviaVoldaren.java @@ -69,7 +69,7 @@ public class OliviaVoldaren extends CardImpl { public OliviaVoldaren(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OliviasBloodsworn.java b/Mage.Sets/src/mage/cards/o/OliviasBloodsworn.java index 01dd864fdd3..87d5f5fec73 100644 --- a/Mage.Sets/src/mage/cards/o/OliviasBloodsworn.java +++ b/Mage.Sets/src/mage/cards/o/OliviasBloodsworn.java @@ -60,8 +60,8 @@ public class OliviasBloodsworn extends CardImpl { public OliviasBloodsworn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OliviasDragoon.java b/Mage.Sets/src/mage/cards/o/OliviasDragoon.java index 5a35276c944..e3f86fb80f5 100644 --- a/Mage.Sets/src/mage/cards/o/OliviasDragoon.java +++ b/Mage.Sets/src/mage/cards/o/OliviasDragoon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class OliviasDragoon extends CardImpl { public OliviasDragoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OloroAgelessAscetic.java b/Mage.Sets/src/mage/cards/o/OloroAgelessAscetic.java index 69d4c4c1438..4b1905ccc23 100644 --- a/Mage.Sets/src/mage/cards/o/OloroAgelessAscetic.java +++ b/Mage.Sets/src/mage/cards/o/OloroAgelessAscetic.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.LoseLifeOpponentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class OloroAgelessAscetic extends CardImpl { public OloroAgelessAscetic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Giant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/o/OmegaMyr.java b/Mage.Sets/src/mage/cards/o/OmegaMyr.java index c1a79588033..3d5346b60e3 100644 --- a/Mage.Sets/src/mage/cards/o/OmegaMyr.java +++ b/Mage.Sets/src/mage/cards/o/OmegaMyr.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class OmegaMyr extends CardImpl { public OmegaMyr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/Omenspeaker.java b/Mage.Sets/src/mage/cards/o/Omenspeaker.java index c9a8307eeb8..0b3c44945e4 100644 --- a/Mage.Sets/src/mage/cards/o/Omenspeaker.java +++ b/Mage.Sets/src/mage/cards/o/Omenspeaker.java @@ -34,6 +34,7 @@ import mage.abilities.effects.keyword.ScryEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class Omenspeaker extends CardImpl { public Omenspeaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OminousSphinx.java b/Mage.Sets/src/mage/cards/o/OminousSphinx.java index ad678ff6fac..4bddcf67055 100644 --- a/Mage.Sets/src/mage/cards/o/OminousSphinx.java +++ b/Mage.Sets/src/mage/cards/o/OminousSphinx.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -56,7 +57,7 @@ public class OminousSphinx extends CardImpl { public OminousSphinx(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/OmnathLocusOfMana.java b/Mage.Sets/src/mage/cards/o/OmnathLocusOfMana.java index 690b010de0a..4b87eb887b0 100644 --- a/Mage.Sets/src/mage/cards/o/OmnathLocusOfMana.java +++ b/Mage.Sets/src/mage/cards/o/OmnathLocusOfMana.java @@ -50,7 +50,7 @@ public class OmnathLocusOfMana extends CardImpl { public OmnathLocusOfMana(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OmnathLocusOfRage.java b/Mage.Sets/src/mage/cards/o/OmnathLocusOfRage.java index 78a5642b0da..fd60ffb2d6a 100644 --- a/Mage.Sets/src/mage/cards/o/OmnathLocusOfRage.java +++ b/Mage.Sets/src/mage/cards/o/OmnathLocusOfRage.java @@ -62,7 +62,7 @@ public class OmnathLocusOfRage extends CardImpl { public OmnathLocusOfRage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/o/Omnibian.java b/Mage.Sets/src/mage/cards/o/Omnibian.java index 64b5ac13776..521fca3b56f 100644 --- a/Mage.Sets/src/mage/cards/o/Omnibian.java +++ b/Mage.Sets/src/mage/cards/o/Omnibian.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -49,7 +50,7 @@ public class Omnibian extends CardImpl { public Omnibian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}{U}"); - this.subtype.add("Frog"); + this.subtype.add(SubType.FROG); this.power = new MageInt(3); this.toughness = new MageInt(3); @@ -74,7 +75,7 @@ class OmnibianFrogToken extends Token { public OmnibianFrogToken() { super("", "3/3 Frog"); - this.subtype.add("Frog"); + this.subtype.add(SubType.FROG); this.power = new MageInt(3); this.toughness = new MageInt(3); } diff --git a/Mage.Sets/src/mage/cards/o/OnduChampion.java b/Mage.Sets/src/mage/cards/o/OnduChampion.java index 8ed1c4a2437..bf3e653157b 100644 --- a/Mage.Sets/src/mage/cards/o/OnduChampion.java +++ b/Mage.Sets/src/mage/cards/o/OnduChampion.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; @@ -46,9 +47,9 @@ public class OnduChampion extends CardImpl { public OnduChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); - this.subtype.add("Ally"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ALLY); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OnduCleric.java b/Mage.Sets/src/mage/cards/o/OnduCleric.java index a221b42fa92..4da89aa6811 100644 --- a/Mage.Sets/src/mage/cards/o/OnduCleric.java +++ b/Mage.Sets/src/mage/cards/o/OnduCleric.java @@ -56,9 +56,9 @@ public class OnduCleric extends CardImpl { public OnduCleric(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Cleric"); - this.subtype.add("Ally"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.ALLY); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OnduGiant.java b/Mage.Sets/src/mage/cards/o/OnduGiant.java index 30b714e4ac1..c4704c1f78d 100644 --- a/Mage.Sets/src/mage/cards/o/OnduGiant.java +++ b/Mage.Sets/src/mage/cards/o/OnduGiant.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.filter.common.FilterBasicLandCard; import mage.target.common.TargetCardInLibrary; @@ -47,8 +48,8 @@ public class OnduGiant extends CardImpl { public OnduGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Giant"); - this.subtype.add("Druid"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/OnduGreathorn.java b/Mage.Sets/src/mage/cards/o/OnduGreathorn.java index 727d7042d46..ad2af20702e 100644 --- a/Mage.Sets/src/mage/cards/o/OnduGreathorn.java +++ b/Mage.Sets/src/mage/cards/o/OnduGreathorn.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class OnduGreathorn extends CardImpl { public OnduGreathorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OnduWarCleric.java b/Mage.Sets/src/mage/cards/o/OnduWarCleric.java index 113c52e2296..abba03ba208 100644 --- a/Mage.Sets/src/mage/cards/o/OnduWarCleric.java +++ b/Mage.Sets/src/mage/cards/o/OnduWarCleric.java @@ -61,9 +61,9 @@ public class OnduWarCleric extends CardImpl { public OnduWarCleric(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OneEyedScarecrow.java b/Mage.Sets/src/mage/cards/o/OneEyedScarecrow.java index 6b7800ed924..27e6a1029e6 100644 --- a/Mage.Sets/src/mage/cards/o/OneEyedScarecrow.java +++ b/Mage.Sets/src/mage/cards/o/OneEyedScarecrow.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class OneEyedScarecrow extends CardImpl { public OneEyedScarecrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OneOfThePack.java b/Mage.Sets/src/mage/cards/o/OneOfThePack.java index 86592c29477..30a44946f5d 100644 --- a/Mage.Sets/src/mage/cards/o/OneOfThePack.java +++ b/Mage.Sets/src/mage/cards/o/OneOfThePack.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,7 +49,7 @@ public class OneOfThePack extends CardImpl { public OneOfThePack(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(5); this.toughness = new MageInt(6); this.color.setGreen(true); diff --git a/Mage.Sets/src/mage/cards/o/OneThousandLashes.java b/Mage.Sets/src/mage/cards/o/OneThousandLashes.java index 86622427012..7bc10e608f0 100644 --- a/Mage.Sets/src/mage/cards/o/OneThousandLashes.java +++ b/Mage.Sets/src/mage/cards/o/OneThousandLashes.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class OneThousandLashes extends CardImpl { public OneThousandLashes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/o/OneWithNature.java b/Mage.Sets/src/mage/cards/o/OneWithNature.java index 97b8c45cba7..55c0e36dab9 100644 --- a/Mage.Sets/src/mage/cards/o/OneWithNature.java +++ b/Mage.Sets/src/mage/cards/o/OneWithNature.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.StaticFilters; @@ -52,7 +53,7 @@ public class OneWithNature extends CardImpl { public OneWithNature(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/o/OniOfWildPlaces.java b/Mage.Sets/src/mage/cards/o/OniOfWildPlaces.java index dc1227a32de..d17db1263fc 100644 --- a/Mage.Sets/src/mage/cards/o/OniOfWildPlaces.java +++ b/Mage.Sets/src/mage/cards/o/OniOfWildPlaces.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -54,8 +55,8 @@ public class OniOfWildPlaces extends CardImpl { public OniOfWildPlaces(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Demon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DEMON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/o/Onulet.java b/Mage.Sets/src/mage/cards/o/Onulet.java index 3fc41226d1b..26f482c5457 100644 --- a/Mage.Sets/src/mage/cards/o/Onulet.java +++ b/Mage.Sets/src/mage/cards/o/Onulet.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class Onulet extends CardImpl { public Onulet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OnyxMage.java b/Mage.Sets/src/mage/cards/o/OnyxMage.java index 57252b7d753..0eb8cfb6609 100644 --- a/Mage.Sets/src/mage/cards/o/OnyxMage.java +++ b/Mage.Sets/src/mage/cards/o/OnyxMage.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -49,8 +50,8 @@ public class OnyxMage extends CardImpl { public OnyxMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OonaQueenOfTheFae.java b/Mage.Sets/src/mage/cards/o/OonaQueenOfTheFae.java index d6c4e4802d0..ad4e21ef1b0 100644 --- a/Mage.Sets/src/mage/cards/o/OonaQueenOfTheFae.java +++ b/Mage.Sets/src/mage/cards/o/OonaQueenOfTheFae.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.choices.ChoiceColor; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class OonaQueenOfTheFae extends CardImpl { public OonaQueenOfTheFae(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U/B}{U/B}{U/B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/o/OonasBlackguard.java b/Mage.Sets/src/mage/cards/o/OonasBlackguard.java index c96962494d7..828c2a53be9 100644 --- a/Mage.Sets/src/mage/cards/o/OonasBlackguard.java +++ b/Mage.Sets/src/mage/cards/o/OonasBlackguard.java @@ -56,8 +56,8 @@ public class OonasBlackguard extends CardImpl { public OonasBlackguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OonasGatewarden.java b/Mage.Sets/src/mage/cards/o/OonasGatewarden.java index 49e0f335596..98cda6360a0 100644 --- a/Mage.Sets/src/mage/cards/o/OonasGatewarden.java +++ b/Mage.Sets/src/mage/cards/o/OonasGatewarden.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class OonasGatewarden extends CardImpl { public OonasGatewarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U/B}"); - this.subtype.add("Faerie"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OonasProwler.java b/Mage.Sets/src/mage/cards/o/OonasProwler.java index c8aa2cb8678..ed5d019557a 100644 --- a/Mage.Sets/src/mage/cards/o/OonasProwler.java +++ b/Mage.Sets/src/mage/cards/o/OonasProwler.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class OonasProwler extends CardImpl { public OonasProwler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OpalArchangel.java b/Mage.Sets/src/mage/cards/o/OpalArchangel.java index 5502b6d3b03..23319578f87 100644 --- a/Mage.Sets/src/mage/cards/o/OpalArchangel.java +++ b/Mage.Sets/src/mage/cards/o/OpalArchangel.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; import mage.filter.common.FilterCreatureSpell; @@ -77,7 +78,7 @@ class OpalArchangelToken extends Token { public OpalArchangelToken() { super("Angel", "5/5 Angel creature with flying and vigilance"); cardType.add(CardType.CREATURE); - subtype.add("Angel"); + subtype.add(SubType.ANGEL); power = new MageInt(5); toughness = new MageInt(5); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/o/OpalCaryatid.java b/Mage.Sets/src/mage/cards/o/OpalCaryatid.java index f8737bb273f..84b4422d736 100644 --- a/Mage.Sets/src/mage/cards/o/OpalCaryatid.java +++ b/Mage.Sets/src/mage/cards/o/OpalCaryatid.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; import mage.filter.common.FilterCreatureSpell; @@ -75,7 +76,7 @@ class OpalCaryatidSoldier extends Token { public OpalCaryatidSoldier() { super("Soldier", "2/2 Soldier creature"); cardType.add(CardType.CREATURE); - subtype.add("Soldier"); + subtype.add(SubType.SOLDIER); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage.Sets/src/mage/cards/o/OpalChampion.java b/Mage.Sets/src/mage/cards/o/OpalChampion.java index 53b02a22125..cbc0db8d287 100644 --- a/Mage.Sets/src/mage/cards/o/OpalChampion.java +++ b/Mage.Sets/src/mage/cards/o/OpalChampion.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; import mage.filter.common.FilterCreatureSpell; @@ -76,7 +77,7 @@ class OpalChampionKnight extends Token { public OpalChampionKnight() { super("Knight", "3/3 Knight creature with first strike"); cardType.add(CardType.CREATURE); - subtype.add("Knight"); + subtype.add(SubType.KNIGHT); power = new MageInt(3); toughness = new MageInt(3); this.addAbility(FirstStrikeAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/o/OpalEyeKondasYojimbo.java b/Mage.Sets/src/mage/cards/o/OpalEyeKondasYojimbo.java index 7db107668c9..23b9527c5f2 100644 --- a/Mage.Sets/src/mage/cards/o/OpalEyeKondasYojimbo.java +++ b/Mage.Sets/src/mage/cards/o/OpalEyeKondasYojimbo.java @@ -56,8 +56,8 @@ public class OpalEyeKondasYojimbo extends CardImpl { public OpalEyeKondasYojimbo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Fox"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.FOX); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/OpalGargoyle.java b/Mage.Sets/src/mage/cards/o/OpalGargoyle.java index fa0d7167f67..f224dc74f71 100644 --- a/Mage.Sets/src/mage/cards/o/OpalGargoyle.java +++ b/Mage.Sets/src/mage/cards/o/OpalGargoyle.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; import mage.filter.common.FilterCreatureSpell; @@ -76,7 +77,7 @@ class OpalGargoyleToken extends Token { public OpalGargoyleToken() { super("Gargoyle", "2/2 Gargoyle creature with flying"); cardType.add(CardType.CREATURE); - subtype.add("Gargoyle"); + subtype.add(SubType.GARGOYLE); power = new MageInt(2); toughness = new MageInt(2); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/o/OpalGuardian.java b/Mage.Sets/src/mage/cards/o/OpalGuardian.java index 73780457083..9681bd3fd84 100644 --- a/Mage.Sets/src/mage/cards/o/OpalGuardian.java +++ b/Mage.Sets/src/mage/cards/o/OpalGuardian.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; import mage.filter.common.FilterCreatureSpell; @@ -77,7 +78,7 @@ class OpalGuardianGargoyle extends Token { public OpalGuardianGargoyle() { super("Gargoyle", "3/4 Gargoyle creature with flying and protection from red"); cardType.add(CardType.CREATURE); - subtype.add("Gargoyle"); + subtype.add(SubType.GARGOYLE); power = new MageInt(3); toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/o/OpalLakeGatekeepers.java b/Mage.Sets/src/mage/cards/o/OpalLakeGatekeepers.java index 7a8727933a3..a6c71973691 100644 --- a/Mage.Sets/src/mage/cards/o/OpalLakeGatekeepers.java +++ b/Mage.Sets/src/mage/cards/o/OpalLakeGatekeepers.java @@ -57,8 +57,8 @@ public class OpalLakeGatekeepers extends CardImpl { public OpalLakeGatekeepers (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/OpalineBracers.java b/Mage.Sets/src/mage/cards/o/OpalineBracers.java index cc492f02449..c155c9d371c 100644 --- a/Mage.Sets/src/mage/cards/o/OpalineBracers.java +++ b/Mage.Sets/src/mage/cards/o/OpalineBracers.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.SunburstAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -49,7 +50,7 @@ public class OpalineBracers extends CardImpl { public OpalineBracers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Sunburst this.addAbility(new SunburstAbility(this)); diff --git a/Mage.Sets/src/mage/cards/o/OpalineSliver.java b/Mage.Sets/src/mage/cards/o/OpalineSliver.java index 2f1047cf278..1eced72c6d8 100644 --- a/Mage.Sets/src/mage/cards/o/OpalineSliver.java +++ b/Mage.Sets/src/mage/cards/o/OpalineSliver.java @@ -61,7 +61,7 @@ public class OpalineSliver extends CardImpl { public OpalineSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OpalineUnicorn.java b/Mage.Sets/src/mage/cards/o/OpalineUnicorn.java index c60aa1f1197..7dd27f68ba6 100644 --- a/Mage.Sets/src/mage/cards/o/OpalineUnicorn.java +++ b/Mage.Sets/src/mage/cards/o/OpalineUnicorn.java @@ -34,6 +34,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class OpalineUnicorn extends CardImpl { public OpalineUnicorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Unicorn"); + this.subtype.add(SubType.UNICORN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OpenSeason.java b/Mage.Sets/src/mage/cards/o/OpenSeason.java index 592ca821c08..d453b413ce1 100644 --- a/Mage.Sets/src/mage/cards/o/OpenSeason.java +++ b/Mage.Sets/src/mage/cards/o/OpenSeason.java @@ -1,162 +1,162 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.o; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.Effect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.RestrictionEffect; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.abilities.keyword.BountyAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.filter.common.FilterCreaturePermanent; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.TargetPermanent; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class OpenSeason extends CardImpl { - - public OpenSeason(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}"); - - // When {this} enters the battlefield, for each opponent, put a bounty counter on target creature that player controls - Effect effect = new AddCountersTargetEffect(CounterType.BOUNTY.createInstance()); - effect.setText("for each opponent, put a bounty counter on target creature that player controls"); - Ability ability = new EntersBattlefieldTriggeredAbility(effect); - ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability); - - // Creatures your opponent control with bounty counters on them can't activate abilities - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OpenSeasonRestrictionEffect())); - - // Bounty - Whenever a creature an opponent controls with a bounty counter on it dies, that creature's controller loses 2 life. Each other player gains 2 life. - this.addAbility(new BountyAbility(new OpenSeasonEffect(), false, true)); - - } - - @Override - public void adjustTargets(Ability ability, Game game) { - if (ability instanceof EntersBattlefieldTriggeredAbility) { - ability.getTargets().clear(); - for (UUID opponentId : game.getOpponents(ability.getControllerId())) { - Player opponent = game.getPlayer(opponentId); - if (opponent != null) { - ability.addTarget(new TargetPermanent(new FilterCreaturePermanent("creature from opponent " + opponent.getLogName()))); - } - } - } - } - - public OpenSeason(final OpenSeason card) { - super(card); - } - - @Override - public OpenSeason copy() { - return new OpenSeason(this); - } -} - -class OpenSeasonRestrictionEffect extends RestrictionEffect { - - public OpenSeasonRestrictionEffect() { - super(Duration.WhileOnBattlefield); - staticText = "Creatures your opponent control with bounty counters on them can't activate abilities"; - } - - public OpenSeasonRestrictionEffect(final OpenSeasonRestrictionEffect effect) { - super(effect); - } - - @Override - public boolean applies(Permanent permanent, Ability source, Game game) { - return permanent.isCreature() - && permanent.getCounters(game).getCount(CounterType.BOUNTY) > 0 - && game.getOpponents(source.getControllerId()).contains(permanent.getControllerId()); - } - - @Override - public boolean canUseActivatedAbilities(Permanent permanent, Ability source, Game game) { - return false; - } - - @Override - public OpenSeasonRestrictionEffect copy() { - return new OpenSeasonRestrictionEffect(this); - } - -} - -class OpenSeasonEffect extends OneShotEffect { - - public OpenSeasonEffect() { - super(Outcome.LoseLife); - staticText = "that creature's controler loses 2 life. Each other player gains 2 life"; - } - - public OpenSeasonEffect(final OpenSeasonEffect effect) { - super(effect); - } - - @Override - public OpenSeasonEffect copy() { - return new OpenSeasonEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - UUID controller = game.getControllerId(source.getFirstTarget()); - if (controller != null) { - game.getPlayer(controller).loseLife(2, game, false); - for (UUID playerId : game.getOpponents(controller)) { - Player player = game.getPlayer(playerId); - if (player != null) { - player.gainLife(2, game); - } - } - return true; - } - return false; - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.o; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.RestrictionEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.keyword.BountyAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.filter.common.FilterCreaturePermanent; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class OpenSeason extends CardImpl { + + public OpenSeason(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}"); + + // When {this} enters the battlefield, for each opponent, put a bounty counter on target creature that player controls + Effect effect = new AddCountersTargetEffect(CounterType.BOUNTY.createInstance()); + effect.setText("for each opponent, put a bounty counter on target creature that player controls"); + Ability ability = new EntersBattlefieldTriggeredAbility(effect); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + + // Creatures your opponent control with bounty counters on them can't activate abilities + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new OpenSeasonRestrictionEffect())); + + // Bounty - Whenever a creature an opponent controls with a bounty counter on it dies, that creature's controller loses 2 life. Each other player gains 2 life. + this.addAbility(new BountyAbility(new OpenSeasonEffect(), false, true)); + + } + + @Override + public void adjustTargets(Ability ability, Game game) { + if (ability instanceof EntersBattlefieldTriggeredAbility) { + ability.getTargets().clear(); + for (UUID opponentId : game.getOpponents(ability.getControllerId())) { + Player opponent = game.getPlayer(opponentId); + if (opponent != null) { + ability.addTarget(new TargetPermanent(new FilterCreaturePermanent("creature from opponent " + opponent.getLogName()))); + } + } + } + } + + public OpenSeason(final OpenSeason card) { + super(card); + } + + @Override + public OpenSeason copy() { + return new OpenSeason(this); + } +} + +class OpenSeasonRestrictionEffect extends RestrictionEffect { + + public OpenSeasonRestrictionEffect() { + super(Duration.WhileOnBattlefield); + staticText = "Creatures your opponent control with bounty counters on them can't activate abilities"; + } + + public OpenSeasonRestrictionEffect(final OpenSeasonRestrictionEffect effect) { + super(effect); + } + + @Override + public boolean applies(Permanent permanent, Ability source, Game game) { + return permanent.isCreature() + && permanent.getCounters(game).getCount(CounterType.BOUNTY) > 0 + && game.getOpponents(source.getControllerId()).contains(permanent.getControllerId()); + } + + @Override + public boolean canUseActivatedAbilities(Permanent permanent, Ability source, Game game) { + return false; + } + + @Override + public OpenSeasonRestrictionEffect copy() { + return new OpenSeasonRestrictionEffect(this); + } + +} + +class OpenSeasonEffect extends OneShotEffect { + + public OpenSeasonEffect() { + super(Outcome.LoseLife); + staticText = "that creature's controler loses 2 life. Each other player gains 2 life"; + } + + public OpenSeasonEffect(final OpenSeasonEffect effect) { + super(effect); + } + + @Override + public OpenSeasonEffect copy() { + return new OpenSeasonEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + UUID controller = game.getControllerId(source.getFirstTarget()); + if (controller != null) { + game.getPlayer(controller).loseLife(2, game, false); + for (UUID playerId : game.getOpponents(controller)) { + Player player = game.getPlayer(playerId); + if (player != null) { + player.gainLife(2, game); + } + } + return true; + } + return false; + } + +} diff --git a/Mage.Sets/src/mage/cards/o/Ophidian.java b/Mage.Sets/src/mage/cards/o/Ophidian.java index 0bffbadbcc4..357410c3b60 100644 --- a/Mage.Sets/src/mage/cards/o/Ophidian.java +++ b/Mage.Sets/src/mage/cards/o/Ophidian.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.AssignNoCombatDamageSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,7 +47,7 @@ public class Ophidian extends CardImpl { public Ophidian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OphidianEye.java b/Mage.Sets/src/mage/cards/o/OphidianEye.java index 873e121a240..2572140bb72 100644 --- a/Mage.Sets/src/mage/cards/o/OphidianEye.java +++ b/Mage.Sets/src/mage/cards/o/OphidianEye.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class OphidianEye extends CardImpl { public OphidianEye(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/o/Ophiomancer.java b/Mage.Sets/src/mage/cards/o/Ophiomancer.java index 6cd1bb348a4..1b3dd1221dd 100644 --- a/Mage.Sets/src/mage/cards/o/Ophiomancer.java +++ b/Mage.Sets/src/mage/cards/o/Ophiomancer.java @@ -47,8 +47,8 @@ public class Ophiomancer extends CardImpl { public Ophiomancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/Opportunist.java b/Mage.Sets/src/mage/cards/o/Opportunist.java index ad2f5b53369..6b7cdad4ca9 100644 --- a/Mage.Sets/src/mage/cards/o/Opportunist.java +++ b/Mage.Sets/src/mage/cards/o/Opportunist.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.WasDealtDamageThisTurnPredicate; @@ -55,8 +56,8 @@ public class Opportunist extends CardImpl { public Opportunist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OppressiveRays.java b/Mage.Sets/src/mage/cards/o/OppressiveRays.java index 03d416a973c..1094dc68e0f 100644 --- a/Mage.Sets/src/mage/cards/o/OppressiveRays.java +++ b/Mage.Sets/src/mage/cards/o/OppressiveRays.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.CostModificationType; import mage.constants.Duration; import mage.constants.Outcome; @@ -59,7 +60,7 @@ public class OppressiveRays extends CardImpl { public OppressiveRays(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/o/OracleEnVec.java b/Mage.Sets/src/mage/cards/o/OracleEnVec.java index 42f02c72005..d92dbe8d680 100644 --- a/Mage.Sets/src/mage/cards/o/OracleEnVec.java +++ b/Mage.Sets/src/mage/cards/o/OracleEnVec.java @@ -45,6 +45,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TurnPhase; @@ -68,8 +69,8 @@ public class OracleEnVec extends CardImpl { public OracleEnVec(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OracleOfBones.java b/Mage.Sets/src/mage/cards/o/OracleOfBones.java index 561b857d05b..607b7d4ae2b 100644 --- a/Mage.Sets/src/mage/cards/o/OracleOfBones.java +++ b/Mage.Sets/src/mage/cards/o/OracleOfBones.java @@ -41,6 +41,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.FilterCard; import mage.filter.common.FilterInstantOrSorceryCard; @@ -57,8 +58,8 @@ public class OracleOfBones extends CardImpl { public OracleOfBones(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OracleOfDust.java b/Mage.Sets/src/mage/cards/o/OracleOfDust.java index 277aa329be4..eedc7ff67d4 100644 --- a/Mage.Sets/src/mage/cards/o/OracleOfDust.java +++ b/Mage.Sets/src/mage/cards/o/OracleOfDust.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,8 +49,8 @@ public class OracleOfDust extends CardImpl { public OracleOfDust(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Processor"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.PROCESSOR); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/o/OracleOfMulDaya.java b/Mage.Sets/src/mage/cards/o/OracleOfMulDaya.java index cfff94caca2..ed3c2734b5d 100644 --- a/Mage.Sets/src/mage/cards/o/OracleOfMulDaya.java +++ b/Mage.Sets/src/mage/cards/o/OracleOfMulDaya.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.PlayWithTheTopCardRevealedEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterLandCard; @@ -49,8 +50,8 @@ public class OracleOfMulDaya extends CardImpl { public OracleOfMulDaya(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OracleOfNectars.java b/Mage.Sets/src/mage/cards/o/OracleOfNectars.java index 0b05add8ff8..a2d2ea07f2e 100644 --- a/Mage.Sets/src/mage/cards/o/OracleOfNectars.java +++ b/Mage.Sets/src/mage/cards/o/OracleOfNectars.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,8 +49,8 @@ public class OracleOfNectars extends CardImpl { public OracleOfNectars(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G/W}"); - this.subtype.add("Elf"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OraclesAttendants.java b/Mage.Sets/src/mage/cards/o/OraclesAttendants.java index 25303df03e8..0be25e18f9d 100644 --- a/Mage.Sets/src/mage/cards/o/OraclesAttendants.java +++ b/Mage.Sets/src/mage/cards/o/OraclesAttendants.java @@ -36,6 +36,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class OraclesAttendants extends CardImpl { public OraclesAttendants(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/o/OraclesInsight.java b/Mage.Sets/src/mage/cards/o/OraclesInsight.java index 39915465857..33fb32bd9fe 100644 --- a/Mage.Sets/src/mage/cards/o/OraclesInsight.java +++ b/Mage.Sets/src/mage/cards/o/OraclesInsight.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class OraclesInsight extends CardImpl { public OraclesInsight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/o/OranRiefHydra.java b/Mage.Sets/src/mage/cards/o/OranRiefHydra.java index 9b12b778f24..e877cd23380 100644 --- a/Mage.Sets/src/mage/cards/o/OranRiefHydra.java +++ b/Mage.Sets/src/mage/cards/o/OranRiefHydra.java @@ -54,7 +54,7 @@ public class OranRiefHydra extends CardImpl { public OranRiefHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/o/OranRiefInvoker.java b/Mage.Sets/src/mage/cards/o/OranRiefInvoker.java index 58d5098fd77..63943b19664 100644 --- a/Mage.Sets/src/mage/cards/o/OranRiefInvoker.java +++ b/Mage.Sets/src/mage/cards/o/OranRiefInvoker.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class OranRiefInvoker extends CardImpl { public OranRiefInvoker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OranRiefRecluse.java b/Mage.Sets/src/mage/cards/o/OranRiefRecluse.java index 34d86f46765..4d68c74ed09 100644 --- a/Mage.Sets/src/mage/cards/o/OranRiefRecluse.java +++ b/Mage.Sets/src/mage/cards/o/OranRiefRecluse.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; import mage.target.common.TargetCreaturePermanent; @@ -57,7 +58,7 @@ public class OranRiefRecluse extends CardImpl { public OranRiefRecluse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OranRiefSurvivalist.java b/Mage.Sets/src/mage/cards/o/OranRiefSurvivalist.java index a12f09d6f48..93a4b07d3c2 100644 --- a/Mage.Sets/src/mage/cards/o/OranRiefSurvivalist.java +++ b/Mage.Sets/src/mage/cards/o/OranRiefSurvivalist.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -44,9 +45,9 @@ public class OranRiefSurvivalist extends CardImpl { public OranRiefSurvivalist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ALLY); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OratorOfOjutai.java b/Mage.Sets/src/mage/cards/o/OratorOfOjutai.java index bf6b345eb65..72c3e57f999 100644 --- a/Mage.Sets/src/mage/cards/o/OratorOfOjutai.java +++ b/Mage.Sets/src/mage/cards/o/OratorOfOjutai.java @@ -64,8 +64,8 @@ public class OratorOfOjutai extends CardImpl { public OratorOfOjutai(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Monk"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.MONK); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/Oraxid.java b/Mage.Sets/src/mage/cards/o/Oraxid.java index 98997bfd42b..c55caa8c0ce 100644 --- a/Mage.Sets/src/mage/cards/o/Oraxid.java +++ b/Mage.Sets/src/mage/cards/o/Oraxid.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class Oraxid extends CardImpl { public Oraxid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Crab"); - this.subtype.add("Beast"); + this.subtype.add(SubType.CRAB); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OrbitalBombardment.java b/Mage.Sets/src/mage/cards/o/OrbitalBombardment.java index 59bbebe14c2..4d8086ebe57 100644 --- a/Mage.Sets/src/mage/cards/o/OrbitalBombardment.java +++ b/Mage.Sets/src/mage/cards/o/OrbitalBombardment.java @@ -1,67 +1,67 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.o; - -import java.util.UUID; -import mage.abilities.effects.common.DestroyAllEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SubtypePredicate; - -/** - * - * @author Styxo - */ -public class OrbitalBombardment extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("non-Starship creatures"); - - static { - filter.add(Predicates.not(new SubtypePredicate(SubType.STARSHIP))); - } - - public OrbitalBombardment(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{W}{W}"); - - // Destroy all non-Starship creatuers. - getSpellAbility().getEffects().add(new DestroyAllEffect(new FilterCreaturePermanent(filter))); - } - - public OrbitalBombardment(final OrbitalBombardment card) { - super(card); - } - - @Override - public OrbitalBombardment copy() { - return new OrbitalBombardment(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.o; + +import java.util.UUID; +import mage.abilities.effects.common.DestroyAllEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.SubtypePredicate; + +/** + * + * @author Styxo + */ +public class OrbitalBombardment extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("non-Starship creatures"); + + static { + filter.add(Predicates.not(new SubtypePredicate(SubType.STARSHIP))); + } + + public OrbitalBombardment(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{W}{W}"); + + // Destroy all non-Starship creatuers. + getSpellAbility().getEffects().add(new DestroyAllEffect(new FilterCreaturePermanent(filter))); + } + + public OrbitalBombardment(final OrbitalBombardment card) { + super(card); + } + + @Override + public OrbitalBombardment copy() { + return new OrbitalBombardment(this); + } +} diff --git a/Mage.Sets/src/mage/cards/o/OrbweaverKumo.java b/Mage.Sets/src/mage/cards/o/OrbweaverKumo.java index a80781ea83d..5717ad7bc29 100644 --- a/Mage.Sets/src/mage/cards/o/OrbweaverKumo.java +++ b/Mage.Sets/src/mage/cards/o/OrbweaverKumo.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; @@ -47,7 +48,7 @@ public class OrbweaverKumo extends CardImpl { public OrbweaverKumo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/OrcGeneral.java b/Mage.Sets/src/mage/cards/o/OrcGeneral.java index 3e65e5da72a..836ddd87f12 100644 --- a/Mage.Sets/src/mage/cards/o/OrcGeneral.java +++ b/Mage.Sets/src/mage/cards/o/OrcGeneral.java @@ -65,8 +65,8 @@ public class OrcGeneral extends CardImpl { public OrcGeneral(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Orc"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OrcSureshot.java b/Mage.Sets/src/mage/cards/o/OrcSureshot.java index 7783419230a..a6a0bf42a8e 100644 --- a/Mage.Sets/src/mage/cards/o/OrcSureshot.java +++ b/Mage.Sets/src/mage/cards/o/OrcSureshot.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class OrcSureshot extends CardImpl { public OrcSureshot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Orc"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OrchardElemental.java b/Mage.Sets/src/mage/cards/o/OrchardElemental.java index 54388d6aa5b..b97b263e7fc 100644 --- a/Mage.Sets/src/mage/cards/o/OrchardElemental.java +++ b/Mage.Sets/src/mage/cards/o/OrchardElemental.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -52,7 +53,7 @@ public class OrchardElemental extends CardImpl { public OrchardElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OrchardSpirit.java b/Mage.Sets/src/mage/cards/o/OrchardSpirit.java index 92b2584a119..191b90c12d9 100644 --- a/Mage.Sets/src/mage/cards/o/OrchardSpirit.java +++ b/Mage.Sets/src/mage/cards/o/OrchardSpirit.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -60,7 +61,7 @@ public class OrchardSpirit extends CardImpl { public OrchardSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OrchardWarden.java b/Mage.Sets/src/mage/cards/o/OrchardWarden.java index 592af7f015c..c3cc9d853b9 100644 --- a/Mage.Sets/src/mage/cards/o/OrchardWarden.java +++ b/Mage.Sets/src/mage/cards/o/OrchardWarden.java @@ -57,8 +57,8 @@ public class OrchardWarden extends CardImpl { public OrchardWarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/o/OrcishArtillery.java b/Mage.Sets/src/mage/cards/o/OrcishArtillery.java index fe03f40d3cf..4b98ca7b219 100644 --- a/Mage.Sets/src/mage/cards/o/OrcishArtillery.java +++ b/Mage.Sets/src/mage/cards/o/OrcishArtillery.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class OrcishArtillery extends CardImpl { public OrcishArtillery(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Orc"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OrcishBloodpainter.java b/Mage.Sets/src/mage/cards/o/OrcishBloodpainter.java index 1a4601cc7ae..3a571ffbd79 100644 --- a/Mage.Sets/src/mage/cards/o/OrcishBloodpainter.java +++ b/Mage.Sets/src/mage/cards/o/OrcishBloodpainter.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.target.common.TargetControlledCreaturePermanent; @@ -50,8 +51,8 @@ public class OrcishBloodpainter extends CardImpl { public OrcishBloodpainter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Orc"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OrcishCannoneers.java b/Mage.Sets/src/mage/cards/o/OrcishCannoneers.java index 05e93886275..f3d727b4987 100644 --- a/Mage.Sets/src/mage/cards/o/OrcishCannoneers.java +++ b/Mage.Sets/src/mage/cards/o/OrcishCannoneers.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -50,8 +51,8 @@ public class OrcishCannoneers extends CardImpl { public OrcishCannoneers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Orc"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OrcishCaptain.java b/Mage.Sets/src/mage/cards/o/OrcishCaptain.java index 95fc494ae7b..ed71e1879e2 100644 --- a/Mage.Sets/src/mage/cards/o/OrcishCaptain.java +++ b/Mage.Sets/src/mage/cards/o/OrcishCaptain.java @@ -58,8 +58,8 @@ public class OrcishCaptain extends CardImpl { public OrcishCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Orc"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OrcishHealer.java b/Mage.Sets/src/mage/cards/o/OrcishHealer.java index db098f9a2cd..85bec9db1ef 100644 --- a/Mage.Sets/src/mage/cards/o/OrcishHealer.java +++ b/Mage.Sets/src/mage/cards/o/OrcishHealer.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.RegenerateTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -62,8 +63,8 @@ public class OrcishHealer extends CardImpl { public OrcishHealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{R}"); - this.subtype.add("Orc"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OrcishLibrarian.java b/Mage.Sets/src/mage/cards/o/OrcishLibrarian.java index 1c374256afa..eec0c3417b2 100644 --- a/Mage.Sets/src/mage/cards/o/OrcishLibrarian.java +++ b/Mage.Sets/src/mage/cards/o/OrcishLibrarian.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class OrcishLibrarian extends CardImpl { public OrcishLibrarian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Orc"); + this.subtype.add(SubType.ORC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OrcishLumberjack.java b/Mage.Sets/src/mage/cards/o/OrcishLumberjack.java index 91bd91a78c5..d3c7c30485b 100644 --- a/Mage.Sets/src/mage/cards/o/OrcishLumberjack.java +++ b/Mage.Sets/src/mage/cards/o/OrcishLumberjack.java @@ -65,7 +65,7 @@ public class OrcishLumberjack extends CardImpl { public OrcishLumberjack(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Orc"); + this.subtype.add(SubType.ORC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OrcishMechanics.java b/Mage.Sets/src/mage/cards/o/OrcishMechanics.java index 76bf65be70d..d7f77bc852c 100644 --- a/Mage.Sets/src/mage/cards/o/OrcishMechanics.java +++ b/Mage.Sets/src/mage/cards/o/OrcishMechanics.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; import mage.target.common.TargetControlledPermanent; @@ -50,7 +51,7 @@ public class OrcishMechanics extends CardImpl { public OrcishMechanics(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Orc"); + this.subtype.add(SubType.ORC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OrcishSettlers.java b/Mage.Sets/src/mage/cards/o/OrcishSettlers.java index 7fc3ea2c18b..3f448505ed3 100644 --- a/Mage.Sets/src/mage/cards/o/OrcishSettlers.java +++ b/Mage.Sets/src/mage/cards/o/OrcishSettlers.java @@ -40,6 +40,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class OrcishSettlers extends CardImpl { public OrcishSettlers(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Orc"); + this.subtype.add(SubType.ORC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OrcishSpy.java b/Mage.Sets/src/mage/cards/o/OrcishSpy.java index 411973e24d4..77d23fe9b9c 100644 --- a/Mage.Sets/src/mage/cards/o/OrcishSpy.java +++ b/Mage.Sets/src/mage/cards/o/OrcishSpy.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.LookLibraryTopCardTargetPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class OrcishSpy extends CardImpl { public OrcishSpy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Orc"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OrcishVeteran.java b/Mage.Sets/src/mage/cards/o/OrcishVeteran.java index 8eaeaff3f48..3abb61687c1 100644 --- a/Mage.Sets/src/mage/cards/o/OrcishVeteran.java +++ b/Mage.Sets/src/mage/cards/o/OrcishVeteran.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Zone; @@ -61,7 +62,7 @@ public class OrcishVeteran extends CardImpl { public OrcishVeteran(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Orc"); + this.subtype.add(SubType.ORC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OrdealOfErebos.java b/Mage.Sets/src/mage/cards/o/OrdealOfErebos.java index 885978956f0..e62729dafc0 100644 --- a/Mage.Sets/src/mage/cards/o/OrdealOfErebos.java +++ b/Mage.Sets/src/mage/cards/o/OrdealOfErebos.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.target.TargetPermanent; @@ -56,7 +57,7 @@ public class OrdealOfErebos extends CardImpl { public OrdealOfErebos(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/o/OrdealOfHeliod.java b/Mage.Sets/src/mage/cards/o/OrdealOfHeliod.java index 49251b82960..65d3a347127 100644 --- a/Mage.Sets/src/mage/cards/o/OrdealOfHeliod.java +++ b/Mage.Sets/src/mage/cards/o/OrdealOfHeliod.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.target.TargetPermanent; @@ -55,7 +56,7 @@ public class OrdealOfHeliod extends CardImpl { public OrdealOfHeliod(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/o/OrdealOfNylea.java b/Mage.Sets/src/mage/cards/o/OrdealOfNylea.java index e77dc4958b2..dbae6b1ee91 100644 --- a/Mage.Sets/src/mage/cards/o/OrdealOfNylea.java +++ b/Mage.Sets/src/mage/cards/o/OrdealOfNylea.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.StaticFilters; @@ -58,7 +59,7 @@ public class OrdealOfNylea extends CardImpl { public OrdealOfNylea(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/o/OrdealOfPurphoros.java b/Mage.Sets/src/mage/cards/o/OrdealOfPurphoros.java index b7ecdab0861..4a82940d13d 100644 --- a/Mage.Sets/src/mage/cards/o/OrdealOfPurphoros.java +++ b/Mage.Sets/src/mage/cards/o/OrdealOfPurphoros.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.target.TargetPermanent; @@ -56,7 +57,7 @@ public class OrdealOfPurphoros extends CardImpl { public OrdealOfPurphoros(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/o/OrdealOfThassa.java b/Mage.Sets/src/mage/cards/o/OrdealOfThassa.java index 1f2f5badc3d..945bd8a9319 100644 --- a/Mage.Sets/src/mage/cards/o/OrdealOfThassa.java +++ b/Mage.Sets/src/mage/cards/o/OrdealOfThassa.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.target.TargetPermanent; @@ -55,7 +56,7 @@ public class OrdealOfThassa extends CardImpl { public OrdealOfThassa(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/o/Order66.java b/Mage.Sets/src/mage/cards/o/Order66.java index e10a00ae4ff..11debd2f4bf 100644 --- a/Mage.Sets/src/mage/cards/o/Order66.java +++ b/Mage.Sets/src/mage/cards/o/Order66.java @@ -1,70 +1,70 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.o; - -import java.util.UUID; -import mage.abilities.effects.common.DestroyAllEffect; -import mage.abilities.effects.common.counter.AddCountersAllEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.TargetController; -import mage.counters.CounterType; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.ControllerPredicate; - -/** - * - * @author Styxo - */ -public class Order66 extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature you don't control"); - - static { - filter.add(new ControllerPredicate(TargetController.NOT_YOU)); - } - - public Order66(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{7}{B}{B}"); - - // Put a bounty counter on each creature you don't control, then destroy all creatures you don't control. - this.getSpellAbility().addEffect(new AddCountersAllEffect(CounterType.BOUNTY.createInstance(), filter)); - this.getSpellAbility().addEffect(new DestroyAllEffect(filter)); - - } - - public Order66(final Order66 card) { - super(card); - } - - @Override - public Order66 copy() { - return new Order66(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.o; + +import java.util.UUID; +import mage.abilities.effects.common.DestroyAllEffect; +import mage.abilities.effects.common.counter.AddCountersAllEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.TargetController; +import mage.counters.CounterType; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.ControllerPredicate; + +/** + * + * @author Styxo + */ +public class Order66 extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature you don't control"); + + static { + filter.add(new ControllerPredicate(TargetController.NOT_YOU)); + } + + public Order66(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{7}{B}{B}"); + + // Put a bounty counter on each creature you don't control, then destroy all creatures you don't control. + this.getSpellAbility().addEffect(new AddCountersAllEffect(CounterType.BOUNTY.createInstance(), filter)); + this.getSpellAbility().addEffect(new DestroyAllEffect(filter)); + + } + + public Order66(final Order66 card) { + super(card); + } + + @Override + public Order66 copy() { + return new Order66(this); + } +} diff --git a/Mage.Sets/src/mage/cards/o/OrderOfLeitbur.java b/Mage.Sets/src/mage/cards/o/OrderOfLeitbur.java index d7126f517ef..54fc2981873 100644 --- a/Mage.Sets/src/mage/cards/o/OrderOfLeitbur.java +++ b/Mage.Sets/src/mage/cards/o/OrderOfLeitbur.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,9 +51,9 @@ public class OrderOfLeitbur extends CardImpl { public OrderOfLeitbur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OrderOfTheEbonHand.java b/Mage.Sets/src/mage/cards/o/OrderOfTheEbonHand.java index a7a0cd0a3c7..c6b58a81183 100644 --- a/Mage.Sets/src/mage/cards/o/OrderOfTheEbonHand.java +++ b/Mage.Sets/src/mage/cards/o/OrderOfTheEbonHand.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class OrderOfTheEbonHand extends CardImpl { public OrderOfTheEbonHand(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Cleric"); - this.subtype.add("Knight"); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OrderOfTheGoldenCricket.java b/Mage.Sets/src/mage/cards/o/OrderOfTheGoldenCricket.java index 2852f92e4d1..efbb6b9b606 100644 --- a/Mage.Sets/src/mage/cards/o/OrderOfTheGoldenCricket.java +++ b/Mage.Sets/src/mage/cards/o/OrderOfTheGoldenCricket.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -48,8 +49,8 @@ public class OrderOfTheGoldenCricket extends CardImpl { public OrderOfTheGoldenCricket(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Knight"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OrderOfTheSacredBell.java b/Mage.Sets/src/mage/cards/o/OrderOfTheSacredBell.java index f799795ebbc..6a0fd5dc544 100644 --- a/Mage.Sets/src/mage/cards/o/OrderOfTheSacredBell.java +++ b/Mage.Sets/src/mage/cards/o/OrderOfTheSacredBell.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class OrderOfTheSacredBell extends CardImpl { public OrderOfTheSacredBell (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OrderOfTheSacredTorch.java b/Mage.Sets/src/mage/cards/o/OrderOfTheSacredTorch.java index fb22eb71540..6c4f1bb258f 100644 --- a/Mage.Sets/src/mage/cards/o/OrderOfTheSacredTorch.java +++ b/Mage.Sets/src/mage/cards/o/OrderOfTheSacredTorch.java @@ -36,6 +36,7 @@ import mage.abilities.costs.common.TapSourceCost; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -55,8 +56,8 @@ public class OrderOfTheSacredTorch extends CardImpl { public OrderOfTheSacredTorch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OrderOfTheStars.java b/Mage.Sets/src/mage/cards/o/OrderOfTheStars.java index 0c1686f5fbc..6d6d5d6171e 100644 --- a/Mage.Sets/src/mage/cards/o/OrderOfTheStars.java +++ b/Mage.Sets/src/mage/cards/o/OrderOfTheStars.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class OrderOfTheStars extends CardImpl { public OrderOfTheStars(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OrderOfTheWhiteShield.java b/Mage.Sets/src/mage/cards/o/OrderOfTheWhiteShield.java index 724428fc0b4..b26457cb00a 100644 --- a/Mage.Sets/src/mage/cards/o/OrderOfTheWhiteShield.java +++ b/Mage.Sets/src/mage/cards/o/OrderOfTheWhiteShield.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class OrderOfTheWhiteShield extends CardImpl { public OrderOfTheWhiteShield(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OrderOfWhiteclay.java b/Mage.Sets/src/mage/cards/o/OrderOfWhiteclay.java index ab174f99dba..453bc32a6ac 100644 --- a/Mage.Sets/src/mage/cards/o/OrderOfWhiteclay.java +++ b/Mage.Sets/src/mage/cards/o/OrderOfWhiteclay.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -59,8 +60,8 @@ public class OrderOfWhiteclay extends CardImpl { public OrderOfWhiteclay(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/OrderOfYawgmoth.java b/Mage.Sets/src/mage/cards/o/OrderOfYawgmoth.java index f085c875209..6660ef32d1e 100644 --- a/Mage.Sets/src/mage/cards/o/OrderOfYawgmoth.java +++ b/Mage.Sets/src/mage/cards/o/OrderOfYawgmoth.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class OrderOfYawgmoth extends CardImpl { public OrderOfYawgmoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OrdruunCommando.java b/Mage.Sets/src/mage/cards/o/OrdruunCommando.java index 159d5a0530b..504c872482b 100644 --- a/Mage.Sets/src/mage/cards/o/OrdruunCommando.java +++ b/Mage.Sets/src/mage/cards/o/OrdruunCommando.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PreventDamageToSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class OrdruunCommando extends CardImpl { public OrdruunCommando(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OrdruunVeteran.java b/Mage.Sets/src/mage/cards/o/OrdruunVeteran.java index 277103fffe8..7e15062ea54 100644 --- a/Mage.Sets/src/mage/cards/o/OrdruunVeteran.java +++ b/Mage.Sets/src/mage/cards/o/OrdruunVeteran.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class OrdruunVeteran extends CardImpl { public OrdruunVeteran(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{W}"); - this.subtype.add("Minotaur"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OreGorger.java b/Mage.Sets/src/mage/cards/o/OreGorger.java index ab42823a02b..4a6dbe56a30 100644 --- a/Mage.Sets/src/mage/cards/o/OreGorger.java +++ b/Mage.Sets/src/mage/cards/o/OreGorger.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetNonBasicLandPermanent; @@ -46,7 +47,7 @@ public class OreGorger extends CardImpl { public OreGorger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OreskosExplorer.java b/Mage.Sets/src/mage/cards/o/OreskosExplorer.java index f94c034c601..978bdb5d9bc 100644 --- a/Mage.Sets/src/mage/cards/o/OreskosExplorer.java +++ b/Mage.Sets/src/mage/cards/o/OreskosExplorer.java @@ -54,8 +54,8 @@ public class OreskosExplorer extends CardImpl { public OreskosExplorer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Scout"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OreskosSunGuide.java b/Mage.Sets/src/mage/cards/o/OreskosSunGuide.java index a43f33a3cdc..fd0fe3e97af 100644 --- a/Mage.Sets/src/mage/cards/o/OreskosSunGuide.java +++ b/Mage.Sets/src/mage/cards/o/OreskosSunGuide.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.InspiredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class OreskosSunGuide extends CardImpl { public OreskosSunGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Monk"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OreskosSwiftclaw.java b/Mage.Sets/src/mage/cards/o/OreskosSwiftclaw.java index 5316f33d50e..3842061dd12 100644 --- a/Mage.Sets/src/mage/cards/o/OreskosSwiftclaw.java +++ b/Mage.Sets/src/mage/cards/o/OreskosSwiftclaw.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class OreskosSwiftclaw extends CardImpl { public OreskosSwiftclaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OrganGrinder.java b/Mage.Sets/src/mage/cards/o/OrganGrinder.java index b9b1594d7de..cd83aa866c6 100644 --- a/Mage.Sets/src/mage/cards/o/OrganGrinder.java +++ b/Mage.Sets/src/mage/cards/o/OrganGrinder.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.target.TargetPlayer; @@ -50,7 +51,7 @@ public class OrganGrinder extends CardImpl { public OrganGrinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/Orgg.java b/Mage.Sets/src/mage/cards/o/Orgg.java index 8305580cbcf..92074e731f6 100644 --- a/Mage.Sets/src/mage/cards/o/Orgg.java +++ b/Mage.Sets/src/mage/cards/o/Orgg.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -59,7 +60,7 @@ public class Orgg extends CardImpl { } public Orgg(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Orgg"); + this.subtype.add(SubType.ORGG); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/o/OrimSamiteHealer.java b/Mage.Sets/src/mage/cards/o/OrimSamiteHealer.java index 4c2d7647f0b..ed1e3281ffe 100644 --- a/Mage.Sets/src/mage/cards/o/OrimSamiteHealer.java +++ b/Mage.Sets/src/mage/cards/o/OrimSamiteHealer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class OrimSamiteHealer extends CardImpl { public OrimSamiteHealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OrissSamiteGuardian.java b/Mage.Sets/src/mage/cards/o/OrissSamiteGuardian.java index 8af45fa7501..f469f88613c 100644 --- a/Mage.Sets/src/mage/cards/o/OrissSamiteGuardian.java +++ b/Mage.Sets/src/mage/cards/o/OrissSamiteGuardian.java @@ -59,8 +59,8 @@ public class OrissSamiteGuardian extends CardImpl { public OrissSamiteGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OrmendahlProfanePrince.java b/Mage.Sets/src/mage/cards/o/OrmendahlProfanePrince.java index 7a2b424e554..cf9cca1c698 100644 --- a/Mage.Sets/src/mage/cards/o/OrmendahlProfanePrince.java +++ b/Mage.Sets/src/mage/cards/o/OrmendahlProfanePrince.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -47,7 +48,7 @@ public class OrmendahlProfanePrince extends CardImpl { public OrmendahlProfanePrince(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(9); this.toughness = new MageInt(7); this.color.setBlack(true); diff --git a/Mage.Sets/src/mage/cards/o/OrneryKudu.java b/Mage.Sets/src/mage/cards/o/OrneryKudu.java index e0c354206a8..ce5041fcd1b 100644 --- a/Mage.Sets/src/mage/cards/o/OrneryKudu.java +++ b/Mage.Sets/src/mage/cards/o/OrneryKudu.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetControlledCreaturePermanent; @@ -47,7 +48,7 @@ public class OrneryKudu extends CardImpl { public OrneryKudu(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Antelope"); + this.subtype.add(SubType.ANTELOPE); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/Ornitharch.java b/Mage.Sets/src/mage/cards/o/Ornitharch.java index 7f05379fa00..f77205a3e6f 100644 --- a/Mage.Sets/src/mage/cards/o/Ornitharch.java +++ b/Mage.Sets/src/mage/cards/o/Ornitharch.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TributeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.BirdToken; /** @@ -49,7 +50,7 @@ public class Ornitharch extends CardImpl { public Ornitharch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Archon"); + this.subtype.add(SubType.ARCHON); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/Ornithopter.java b/Mage.Sets/src/mage/cards/o/Ornithopter.java index 49f6c1320c3..e65edcc8ad7 100644 --- a/Mage.Sets/src/mage/cards/o/Ornithopter.java +++ b/Mage.Sets/src/mage/cards/o/Ornithopter.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class Ornithopter extends CardImpl { public Ornithopter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE,CardType.ARTIFACT},"{0}"); - this.subtype.add("Thopter"); + this.subtype.add(SubType.THOPTER); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OrochiEggwatcher.java b/Mage.Sets/src/mage/cards/o/OrochiEggwatcher.java index 5a35a35b634..6d4522b7560 100644 --- a/Mage.Sets/src/mage/cards/o/OrochiEggwatcher.java +++ b/Mage.Sets/src/mage/cards/o/OrochiEggwatcher.java @@ -45,6 +45,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.SuperType; @@ -62,8 +63,8 @@ public class OrochiEggwatcher extends CardImpl { public OrochiEggwatcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Snake"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); @@ -96,8 +97,8 @@ class ShidakoBroodmistress extends Token { addSuperType(SuperType.LEGENDARY); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Snake"); - subtype.add("Shaman"); + subtype.add(SubType.SNAKE); + subtype.add(SubType.SHAMAN); power = new MageInt(3); toughness = new MageInt(3); // {G}, Sacrifice a creature: Target creature gets +3/+3 until end of turn. diff --git a/Mage.Sets/src/mage/cards/o/OrochiLeafcaller.java b/Mage.Sets/src/mage/cards/o/OrochiLeafcaller.java index 3aa238c7bff..351c2d21e04 100644 --- a/Mage.Sets/src/mage/cards/o/OrochiLeafcaller.java +++ b/Mage.Sets/src/mage/cards/o/OrochiLeafcaller.java @@ -35,6 +35,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; /** @@ -45,8 +46,8 @@ public class OrochiLeafcaller extends CardImpl { public OrochiLeafcaller (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Snake"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OrochiRanger.java b/Mage.Sets/src/mage/cards/o/OrochiRanger.java index 3074127a2d7..d51966f988d 100644 --- a/Mage.Sets/src/mage/cards/o/OrochiRanger.java +++ b/Mage.Sets/src/mage/cards/o/OrochiRanger.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class OrochiRanger extends CardImpl { public OrochiRanger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Snake"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OrochiSustainer.java b/Mage.Sets/src/mage/cards/o/OrochiSustainer.java index dec1bbc73a6..5cddb8998f4 100644 --- a/Mage.Sets/src/mage/cards/o/OrochiSustainer.java +++ b/Mage.Sets/src/mage/cards/o/OrochiSustainer.java @@ -34,6 +34,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -42,8 +43,8 @@ public class OrochiSustainer extends CardImpl { public OrochiSustainer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Snake"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OrosTheAvenger.java b/Mage.Sets/src/mage/cards/o/OrosTheAvenger.java index e35a26f3460..bcf82bbf809 100644 --- a/Mage.Sets/src/mage/cards/o/OrosTheAvenger.java +++ b/Mage.Sets/src/mage/cards/o/OrosTheAvenger.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -58,7 +59,7 @@ public class OrosTheAvenger extends CardImpl { public OrosTheAvenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/o/OrtolanKeyboardist.java b/Mage.Sets/src/mage/cards/o/OrtolanKeyboardist.java index 16d5f265784..6520ea85e51 100644 --- a/Mage.Sets/src/mage/cards/o/OrtolanKeyboardist.java +++ b/Mage.Sets/src/mage/cards/o/OrtolanKeyboardist.java @@ -1,65 +1,66 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.o; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.common.DrawDiscardControllerEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; - -/** - * - * @author Styxo - */ -public class OrtolanKeyboardist extends CardImpl { - - public OrtolanKeyboardist(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Ortolan"); - this.power = new MageInt(1); - this.toughness = new MageInt(1); - - // {T}: Draw a card then discard a card. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new TapSourceCost())); - - } - - public OrtolanKeyboardist(final OrtolanKeyboardist card) { - super(card); - } - - @Override - public OrtolanKeyboardist copy() { - return new OrtolanKeyboardist(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.o; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.DrawDiscardControllerEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; + +/** + * + * @author Styxo + */ +public class OrtolanKeyboardist extends CardImpl { + + public OrtolanKeyboardist(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); + this.subtype.add(SubType.ORTOLAN); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // {T}: Draw a card then discard a card. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawDiscardControllerEffect(), new TapSourceCost())); + + } + + public OrtolanKeyboardist(final OrtolanKeyboardist card) { + super(card); + } + + @Override + public OrtolanKeyboardist copy() { + return new OrtolanKeyboardist(this); + } +} diff --git a/Mage.Sets/src/mage/cards/o/OrzhovAdvokist.java b/Mage.Sets/src/mage/cards/o/OrzhovAdvokist.java index 831f9cf3e66..72ab986f6d9 100644 --- a/Mage.Sets/src/mage/cards/o/OrzhovAdvokist.java +++ b/Mage.Sets/src/mage/cards/o/OrzhovAdvokist.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantAttackYouAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -62,8 +63,8 @@ public class OrzhovAdvokist extends CardImpl { public OrzhovAdvokist(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/OrzhovEuthanist.java b/Mage.Sets/src/mage/cards/o/OrzhovEuthanist.java index e4ddf11a896..86774c0d5a6 100644 --- a/Mage.Sets/src/mage/cards/o/OrzhovEuthanist.java +++ b/Mage.Sets/src/mage/cards/o/OrzhovEuthanist.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HauntAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.WasDealtDamageThisTurnPredicate; import mage.target.Target; @@ -53,8 +54,8 @@ public class OrzhovEuthanist extends CardImpl { public OrzhovEuthanist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OrzhovGuildmage.java b/Mage.Sets/src/mage/cards/o/OrzhovGuildmage.java index a84c8d50032..963eb239da5 100644 --- a/Mage.Sets/src/mage/cards/o/OrzhovGuildmage.java +++ b/Mage.Sets/src/mage/cards/o/OrzhovGuildmage.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.LoseLifeAllPlayersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -48,8 +49,8 @@ public class OrzhovGuildmage extends CardImpl { public OrzhovGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W/B}{W/B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OrzhovKeyrune.java b/Mage.Sets/src/mage/cards/o/OrzhovKeyrune.java index 74dbde8b948..13d8d91f48f 100644 --- a/Mage.Sets/src/mage/cards/o/OrzhovKeyrune.java +++ b/Mage.Sets/src/mage/cards/o/OrzhovKeyrune.java @@ -38,6 +38,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -75,7 +76,7 @@ public class OrzhovKeyrune extends CardImpl { cardType.add(CardType.CREATURE); color.setWhite(true); color.setBlack(true); - subtype.add("Thrull"); + subtype.add(SubType.THRULL); power = new MageInt(1); toughness = new MageInt(4); this.addAbility(LifelinkAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/o/OrzhovPontiff.java b/Mage.Sets/src/mage/cards/o/OrzhovPontiff.java index 3a24634f8b4..132aacc28f8 100644 --- a/Mage.Sets/src/mage/cards/o/OrzhovPontiff.java +++ b/Mage.Sets/src/mage/cards/o/OrzhovPontiff.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HauntAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -56,8 +57,8 @@ public class OrzhovPontiff extends CardImpl { public OrzhovPontiff(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OsaiVultures.java b/Mage.Sets/src/mage/cards/o/OsaiVultures.java index 6a78b76e49a..c8c9fe363e2 100644 --- a/Mage.Sets/src/mage/cards/o/OsaiVultures.java +++ b/Mage.Sets/src/mage/cards/o/OsaiVultures.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class OsaiVultures extends CardImpl { public OsaiVultures(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OstiaryThrull.java b/Mage.Sets/src/mage/cards/o/OstiaryThrull.java index b696d789b65..d71be4cbcf4 100644 --- a/Mage.Sets/src/mage/cards/o/OstiaryThrull.java +++ b/Mage.Sets/src/mage/cards/o/OstiaryThrull.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class OstiaryThrull extends CardImpl { public OstiaryThrull(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Thrull"); + this.subtype.add(SubType.THRULL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OtherworldlyJourney.java b/Mage.Sets/src/mage/cards/o/OtherworldlyJourney.java index 3caa3685779..ee69afe6582 100644 --- a/Mage.Sets/src/mage/cards/o/OtherworldlyJourney.java +++ b/Mage.Sets/src/mage/cards/o/OtherworldlyJourney.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class OtherworldlyJourney extends CardImpl { public OtherworldlyJourney(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{W}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Exile target creature. At the beginning of the next end step, return that card to the battlefield under its owner's control with a +1/+1 counter on it. this.getSpellAbility().addEffect(new OtherworldlyJourneyEffect()); diff --git a/Mage.Sets/src/mage/cards/o/OupheVandals.java b/Mage.Sets/src/mage/cards/o/OupheVandals.java index b888b30c8da..5c2fb1fc371 100644 --- a/Mage.Sets/src/mage/cards/o/OupheVandals.java +++ b/Mage.Sets/src/mage/cards/o/OupheVandals.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterStackObject; @@ -64,8 +65,8 @@ public class OupheVandals extends CardImpl { public OupheVandals(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Ouphe"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.OUPHE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OuterRimSlaver.java b/Mage.Sets/src/mage/cards/o/OuterRimSlaver.java index f3ca13c477b..15bcc4f4dae 100644 --- a/Mage.Sets/src/mage/cards/o/OuterRimSlaver.java +++ b/Mage.Sets/src/mage/cards/o/OuterRimSlaver.java @@ -1,71 +1,72 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.o; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.FightTargetsEffect; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.counters.CounterType; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class OuterRimSlaver extends CardImpl { - - public OuterRimSlaver(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{R}{G}"); - this.subtype.add("Trandoshan"); - this.subtype.add("Rogue"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // When Outer Rim Slaver enters the battlefield, you may put a bounty counter on target creature. If you do, another target creature fights that creature - Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance()), true); - ability.addEffect(new FightTargetsEffect("another target creature fights that creature")); - ability.addTarget(new TargetCreaturePermanent()); - ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability); - } - - public OuterRimSlaver(final OuterRimSlaver card) { - super(card); - } - - @Override - public OuterRimSlaver copy() { - return new OuterRimSlaver(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.o; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.FightTargetsEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.counters.CounterType; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class OuterRimSlaver extends CardImpl { + + public OuterRimSlaver(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{R}{G}"); + this.subtype.add(SubType.TRANDOSHAN); + this.subtype.add(SubType.ROGUE); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // When Outer Rim Slaver enters the battlefield, you may put a bounty counter on target creature. If you do, another target creature fights that creature + Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance()), true); + ability.addEffect(new FightTargetsEffect("another target creature fights that creature")); + ability.addTarget(new TargetCreaturePermanent()); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public OuterRimSlaver(final OuterRimSlaver card) { + super(card); + } + + @Override + public OuterRimSlaver copy() { + return new OuterRimSlaver(this); + } +} diff --git a/Mage.Sets/src/mage/cards/o/OutlandBoar.java b/Mage.Sets/src/mage/cards/o/OutlandBoar.java index a21e68e0da5..fce4dc4655f 100644 --- a/Mage.Sets/src/mage/cards/o/OutlandBoar.java +++ b/Mage.Sets/src/mage/cards/o/OutlandBoar.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; @@ -54,7 +55,7 @@ public class OutlandBoar extends CardImpl { public OutlandBoar(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{G}"); - this.subtype.add("Boar"); + this.subtype.add(SubType.BOAR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/OutlandColossus.java b/Mage.Sets/src/mage/cards/o/OutlandColossus.java index 4ab84175faf..dc85a505cdc 100644 --- a/Mage.Sets/src/mage/cards/o/OutlandColossus.java +++ b/Mage.Sets/src/mage/cards/o/OutlandColossus.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.RenownAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class OutlandColossus extends CardImpl { public OutlandColossus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/o/OutlawHolocron.java b/Mage.Sets/src/mage/cards/o/OutlawHolocron.java index 745020810a0..8b4a056249b 100644 --- a/Mage.Sets/src/mage/cards/o/OutlawHolocron.java +++ b/Mage.Sets/src/mage/cards/o/OutlawHolocron.java @@ -1,94 +1,94 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.o; - -import java.util.UUID; -import mage.Mana; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.Cost; -import mage.abilities.costs.common.RemoveCountersSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.common.counter.AddCountersSourceEffect; -import mage.abilities.mana.BlackManaAbility; -import mage.abilities.mana.GreenManaAbility; -import mage.abilities.mana.RedManaAbility; -import mage.abilities.mana.SimpleManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.counters.CounterType; - -/** - * - * @author Styxo - */ -public class OutlawHolocron extends CardImpl { - - public OutlawHolocron(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - - // {T}: Put a charge counter on Outlaw Holocron. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance(1)), new TapSourceCost())); - - // {T}, Remove a charge counter from Outlaw Holocron: Add {B}, {R} or {G} to your mana pool. - Cost cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(1)); - Ability ability = new BlackManaAbility(); - ability.addCost(cost); - this.addAbility(ability); - - ability = new RedManaAbility(); - ability.addCost(cost); - this.addAbility(ability); - - ability = new GreenManaAbility(); - ability.addCost(cost); - this.addAbility(ability); - - // {T}, Remove two charge counters from Outlaw Holocron: Add BR or RG to your mana pool.cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(2)); - cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(2)); - - ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 0, 0, 1, 0, 0, 0), new TapSourceCost()); - ability.addCost(cost); - this.addAbility(ability); - - ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 1, 0, 0, 0, 0, 0, 0), new TapSourceCost()); - ability.addCost(cost); - this.addAbility(ability); - } - - public OutlawHolocron(final OutlawHolocron card) { - super(card); - } - - @Override - public OutlawHolocron copy() { - return new OutlawHolocron(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.o; + +import java.util.UUID; +import mage.Mana; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.Cost; +import mage.abilities.costs.common.RemoveCountersSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.mana.BlackManaAbility; +import mage.abilities.mana.GreenManaAbility; +import mage.abilities.mana.RedManaAbility; +import mage.abilities.mana.SimpleManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.counters.CounterType; + +/** + * + * @author Styxo + */ +public class OutlawHolocron extends CardImpl { + + public OutlawHolocron(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); + + // {T}: Put a charge counter on Outlaw Holocron. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance(1)), new TapSourceCost())); + + // {T}, Remove a charge counter from Outlaw Holocron: Add {B}, {R} or {G} to your mana pool. + Cost cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(1)); + Ability ability = new BlackManaAbility(); + ability.addCost(cost); + this.addAbility(ability); + + ability = new RedManaAbility(); + ability.addCost(cost); + this.addAbility(ability); + + ability = new GreenManaAbility(); + ability.addCost(cost); + this.addAbility(ability); + + // {T}, Remove two charge counters from Outlaw Holocron: Add BR or RG to your mana pool.cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(2)); + cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(2)); + + ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 0, 0, 1, 0, 0, 0), new TapSourceCost()); + ability.addCost(cost); + this.addAbility(ability); + + ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 1, 0, 0, 0, 0, 0, 0), new TapSourceCost()); + ability.addCost(cost); + this.addAbility(ability); + } + + public OutlawHolocron(final OutlawHolocron card) { + super(card); + } + + @Override + public OutlawHolocron copy() { + return new OutlawHolocron(this); + } +} diff --git a/Mage.Sets/src/mage/cards/o/OutrageShaman.java b/Mage.Sets/src/mage/cards/o/OutrageShaman.java index f01aeec06da..fddcf54d5cd 100644 --- a/Mage.Sets/src/mage/cards/o/OutrageShaman.java +++ b/Mage.Sets/src/mage/cards/o/OutrageShaman.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -48,8 +49,8 @@ public class OutrageShaman extends CardImpl { public OutrageShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OutriderEnKor.java b/Mage.Sets/src/mage/cards/o/OutriderEnKor.java index 8c8f09ebe19..80070111cdf 100644 --- a/Mage.Sets/src/mage/cards/o/OutriderEnKor.java +++ b/Mage.Sets/src/mage/cards/o/OutriderEnKor.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlankingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -49,9 +50,9 @@ public class OutriderEnKor extends CardImpl { public OutriderEnKor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Rebel"); - this.subtype.add("Knight"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.REBEL); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OutriderOfJhess.java b/Mage.Sets/src/mage/cards/o/OutriderOfJhess.java index 9a3381a634e..a720c350949 100644 --- a/Mage.Sets/src/mage/cards/o/OutriderOfJhess.java +++ b/Mage.Sets/src/mage/cards/o/OutriderOfJhess.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ExaltedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class OutriderOfJhess extends CardImpl { public OutriderOfJhess (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OvalchaseDaredevil.java b/Mage.Sets/src/mage/cards/o/OvalchaseDaredevil.java index 9d51943a0d6..8b704291ce1 100644 --- a/Mage.Sets/src/mage/cards/o/OvalchaseDaredevil.java +++ b/Mage.Sets/src/mage/cards/o/OvalchaseDaredevil.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SetTargetPointer; import mage.constants.TargetController; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class OvalchaseDaredevil extends CardImpl { public OvalchaseDaredevil(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Pilot"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PILOT); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OvalchaseDragster.java b/Mage.Sets/src/mage/cards/o/OvalchaseDragster.java index cdaae482f9f..e8acbec3528 100644 --- a/Mage.Sets/src/mage/cards/o/OvalchaseDragster.java +++ b/Mage.Sets/src/mage/cards/o/OvalchaseDragster.java @@ -1,71 +1,71 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.o; - -import mage.MageInt; -import mage.abilities.keyword.CrewAbility; -import mage.abilities.keyword.HasteAbility; -import mage.abilities.keyword.TrampleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; - -import java.util.UUID; - -/** - * - * @author emerald000 - */ -public class OvalchaseDragster extends CardImpl { - - public OvalchaseDragster(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); - this.subtype.add(SubType.VEHICLE); - this.power = new MageInt(6); - this.toughness = new MageInt(1); - - // Trample - this.addAbility(TrampleAbility.getInstance()); - - // Haste - this.addAbility(HasteAbility.getInstance()); - - // Crew 1 - this.addAbility(new CrewAbility(1)); - } - - public OvalchaseDragster(final OvalchaseDragster card) { - super(card); - } - - @Override - public OvalchaseDragster copy() { - return new OvalchaseDragster(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.o; + +import mage.MageInt; +import mage.abilities.keyword.CrewAbility; +import mage.abilities.keyword.HasteAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +import java.util.UUID; + +/** + * + * @author emerald000 + */ +public class OvalchaseDragster extends CardImpl { + + public OvalchaseDragster(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); + this.subtype.add(SubType.VEHICLE); + this.power = new MageInt(6); + this.toughness = new MageInt(1); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + + // Haste + this.addAbility(HasteAbility.getInstance()); + + // Crew 1 + this.addAbility(new CrewAbility(1)); + } + + public OvalchaseDragster(final OvalchaseDragster card) { + super(card); + } + + @Override + public OvalchaseDragster copy() { + return new OvalchaseDragster(this); + } +} diff --git a/Mage.Sets/src/mage/cards/o/OverbeingOfMyth.java b/Mage.Sets/src/mage/cards/o/OverbeingOfMyth.java index 2a17b416aa4..0a0e2e41037 100644 --- a/Mage.Sets/src/mage/cards/o/OverbeingOfMyth.java +++ b/Mage.Sets/src/mage/cards/o/OverbeingOfMyth.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class OverbeingOfMyth extends CardImpl { public OverbeingOfMyth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G/U}{G/U}{G/U}{G/U}{G/U}"); - this.subtype.add("Spirit"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/o/OvereagerApprentice.java b/Mage.Sets/src/mage/cards/o/OvereagerApprentice.java index 46a537c2a29..09dfe526bba 100644 --- a/Mage.Sets/src/mage/cards/o/OvereagerApprentice.java +++ b/Mage.Sets/src/mage/cards/o/OvereagerApprentice.java @@ -37,6 +37,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class OvereagerApprentice extends CardImpl { public OvereagerApprentice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Minion"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MINION); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OvergrownBattlement.java b/Mage.Sets/src/mage/cards/o/OvergrownBattlement.java index cc57589d042..ab4770dc48b 100644 --- a/Mage.Sets/src/mage/cards/o/OvergrownBattlement.java +++ b/Mage.Sets/src/mage/cards/o/OvergrownBattlement.java @@ -36,6 +36,7 @@ import mage.abilities.mana.DynamicManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -53,7 +54,7 @@ public class OvergrownBattlement extends CardImpl { public OvergrownBattlement(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/o/OvergrownTomb.java b/Mage.Sets/src/mage/cards/o/OvergrownTomb.java index e9df51e8bbe..8f96904673e 100644 --- a/Mage.Sets/src/mage/cards/o/OvergrownTomb.java +++ b/Mage.Sets/src/mage/cards/o/OvergrownTomb.java @@ -37,6 +37,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class OvergrownTomb extends CardImpl { public OvergrownTomb (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},null); - this.subtype.add("Swamp"); - this.subtype.add("Forest"); + this.subtype.add(SubType.SWAMP); + this.subtype.add(SubType.FOREST); this.addAbility(new BlackManaAbility()); this.addAbility(new GreenManaAbility()); diff --git a/Mage.Sets/src/mage/cards/o/Overgrowth.java b/Mage.Sets/src/mage/cards/o/Overgrowth.java index ef7b819c332..2b6eb337a0e 100644 --- a/Mage.Sets/src/mage/cards/o/Overgrowth.java +++ b/Mage.Sets/src/mage/cards/o/Overgrowth.java @@ -37,6 +37,7 @@ import mage.abilities.mana.TriggeredManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -55,7 +56,7 @@ public class Overgrowth extends CardImpl { public Overgrowth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/o/OverseerOfTheDamned.java b/Mage.Sets/src/mage/cards/o/OverseerOfTheDamned.java index ceb2f25430a..17d82dbc086 100644 --- a/Mage.Sets/src/mage/cards/o/OverseerOfTheDamned.java +++ b/Mage.Sets/src/mage/cards/o/OverseerOfTheDamned.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -62,7 +63,7 @@ public class OverseerOfTheDamned extends CardImpl { public OverseerOfTheDamned(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/o/OversoulOfDusk.java b/Mage.Sets/src/mage/cards/o/OversoulOfDusk.java index 0c25f557ea9..adbf16de2f0 100644 --- a/Mage.Sets/src/mage/cards/o/OversoulOfDusk.java +++ b/Mage.Sets/src/mage/cards/o/OversoulOfDusk.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -55,8 +56,8 @@ public class OversoulOfDusk extends CardImpl { public OversoulOfDusk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G/W}{G/W}{G/W}{G/W}{G/W}"); - this.subtype.add("Spirit"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/o/Overtaker.java b/Mage.Sets/src/mage/cards/o/Overtaker.java index deb3ded5291..048d0cea663 100644 --- a/Mage.Sets/src/mage/cards/o/Overtaker.java +++ b/Mage.Sets/src/mage/cards/o/Overtaker.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -54,8 +55,8 @@ public class Overtaker extends CardImpl { public Overtaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OviyaPashiriSageLifecrafter.java b/Mage.Sets/src/mage/cards/o/OviyaPashiriSageLifecrafter.java index b8a64148398..3e68b98e6e7 100644 --- a/Mage.Sets/src/mage/cards/o/OviyaPashiriSageLifecrafter.java +++ b/Mage.Sets/src/mage/cards/o/OviyaPashiriSageLifecrafter.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class OviyaPashiriSageLifecrafter extends CardImpl { public OviyaPashiriSageLifecrafter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OwlFamiliar.java b/Mage.Sets/src/mage/cards/o/OwlFamiliar.java index fc0517d2833..af536880bc3 100644 --- a/Mage.Sets/src/mage/cards/o/OwlFamiliar.java +++ b/Mage.Sets/src/mage/cards/o/OwlFamiliar.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class OwlFamiliar extends CardImpl { public OwlFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OxiddaDaredevil.java b/Mage.Sets/src/mage/cards/o/OxiddaDaredevil.java index fb8949d52b6..0b80ced99b1 100644 --- a/Mage.Sets/src/mage/cards/o/OxiddaDaredevil.java +++ b/Mage.Sets/src/mage/cards/o/OxiddaDaredevil.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -56,8 +57,8 @@ public class OxiddaDaredevil extends CardImpl { public OxiddaDaredevil (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/o/OxiddaGolem.java b/Mage.Sets/src/mage/cards/o/OxiddaGolem.java index 6506954aa72..4ab3a39b276 100644 --- a/Mage.Sets/src/mage/cards/o/OxiddaGolem.java +++ b/Mage.Sets/src/mage/cards/o/OxiddaGolem.java @@ -44,7 +44,7 @@ public class OxiddaGolem extends CardImpl { public OxiddaGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/o/OxiddaScrapmelter.java b/Mage.Sets/src/mage/cards/o/OxiddaScrapmelter.java index e56ae581e83..4d93b5f17b6 100644 --- a/Mage.Sets/src/mage/cards/o/OxiddaScrapmelter.java +++ b/Mage.Sets/src/mage/cards/o/OxiddaScrapmelter.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactPermanent; import mage.target.TargetPermanent; @@ -46,7 +47,7 @@ public class OxiddaScrapmelter extends CardImpl { public OxiddaScrapmelter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/o/OyobiWhoSplitTheHeavens.java b/Mage.Sets/src/mage/cards/o/OyobiWhoSplitTheHeavens.java index cec48568c60..7917bb9fa30 100644 --- a/Mage.Sets/src/mage/cards/o/OyobiWhoSplitTheHeavens.java +++ b/Mage.Sets/src/mage/cards/o/OyobiWhoSplitTheHeavens.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.StaticFilters; import mage.game.permanent.token.AnotherSpiritToken; @@ -47,7 +48,7 @@ public class OyobiWhoSplitTheHeavens extends CardImpl { public OyobiWhoSplitTheHeavens(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/p/Pacifism.java b/Mage.Sets/src/mage/cards/p/Pacifism.java index 4b5d2777c04..ea19abed04b 100644 --- a/Mage.Sets/src/mage/cards/p/Pacifism.java +++ b/Mage.Sets/src/mage/cards/p/Pacifism.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -52,7 +53,7 @@ public class Pacifism extends CardImpl { public Pacifism(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/p/PackGuardian.java b/Mage.Sets/src/mage/cards/p/PackGuardian.java index 095a2ca0abd..1a9849c0611 100644 --- a/Mage.Sets/src/mage/cards/p/PackGuardian.java +++ b/Mage.Sets/src/mage/cards/p/PackGuardian.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterLandCard; import mage.game.permanent.token.WolfToken; @@ -48,8 +49,8 @@ public class PackGuardian extends CardImpl { public PackGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Wolf"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.WOLF); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PackRat.java b/Mage.Sets/src/mage/cards/p/PackRat.java index 4a8bbb951da..cbda4cfa414 100644 --- a/Mage.Sets/src/mage/cards/p/PackRat.java +++ b/Mage.Sets/src/mage/cards/p/PackRat.java @@ -75,7 +75,7 @@ public class PackRat extends CardImpl { public PackRat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PadeemConsulOfInnovation.java b/Mage.Sets/src/mage/cards/p/PadeemConsulOfInnovation.java index 47d81cacf0e..d53d9ff3a67 100644 --- a/Mage.Sets/src/mage/cards/p/PadeemConsulOfInnovation.java +++ b/Mage.Sets/src/mage/cards/p/PadeemConsulOfInnovation.java @@ -51,8 +51,8 @@ public class PadeemConsulOfInnovation extends CardImpl { public PadeemConsulOfInnovation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vedalken"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PainKami.java b/Mage.Sets/src/mage/cards/p/PainKami.java index 0822a0db838..fd1ed19d173 100644 --- a/Mage.Sets/src/mage/cards/p/PainKami.java +++ b/Mage.Sets/src/mage/cards/p/PainKami.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class PainKami extends CardImpl { public PainKami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PainSeer.java b/Mage.Sets/src/mage/cards/p/PainSeer.java index 9cbaa18e851..bcf3ff7163b 100644 --- a/Mage.Sets/src/mage/cards/p/PainSeer.java +++ b/Mage.Sets/src/mage/cards/p/PainSeer.java @@ -38,6 +38,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,8 +52,8 @@ public class PainSeer extends CardImpl { public PainSeer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/Painsmith.java b/Mage.Sets/src/mage/cards/p/Painsmith.java index 34acb86a35d..34a1c007539 100644 --- a/Mage.Sets/src/mage/cards/p/Painsmith.java +++ b/Mage.Sets/src/mage/cards/p/Painsmith.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterArtifactSpell; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ import mage.target.common.TargetCreaturePermanent; public class Painsmith extends CardImpl { public Painsmith (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PaintedBluffs.java b/Mage.Sets/src/mage/cards/p/PaintedBluffs.java index 1d8b8db3318..aa7653dbf2d 100644 --- a/Mage.Sets/src/mage/cards/p/PaintedBluffs.java +++ b/Mage.Sets/src/mage/cards/p/PaintedBluffs.java @@ -36,6 +36,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class PaintedBluffs extends CardImpl { public PaintedBluffs(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Desert"); + this.subtype.add(SubType.DESERT); // {T}: Add {C} to your mana pool. this.addAbility(new ColorlessManaAbility()); diff --git a/Mage.Sets/src/mage/cards/p/PaintersServant.java b/Mage.Sets/src/mage/cards/p/PaintersServant.java index b84c9b18a61..65070b51d2b 100644 --- a/Mage.Sets/src/mage/cards/p/PaintersServant.java +++ b/Mage.Sets/src/mage/cards/p/PaintersServant.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -60,7 +61,7 @@ public class PaintersServant extends CardImpl { public PaintersServant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PainwrackerOni.java b/Mage.Sets/src/mage/cards/p/PainwrackerOni.java index b55f82d98b4..c7032f4424f 100644 --- a/Mage.Sets/src/mage/cards/p/PainwrackerOni.java +++ b/Mage.Sets/src/mage/cards/p/PainwrackerOni.java @@ -52,8 +52,8 @@ public class PainwrackerOni extends CardImpl { public PainwrackerOni (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Demon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DEMON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PalaceFamiliar.java b/Mage.Sets/src/mage/cards/p/PalaceFamiliar.java index 132ba14e395..51be72973b8 100644 --- a/Mage.Sets/src/mage/cards/p/PalaceFamiliar.java +++ b/Mage.Sets/src/mage/cards/p/PalaceFamiliar.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class PalaceFamiliar extends CardImpl { public PalaceFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PalaceGuard.java b/Mage.Sets/src/mage/cards/p/PalaceGuard.java index eaa08e946fa..b274f08ee48 100644 --- a/Mage.Sets/src/mage/cards/p/PalaceGuard.java +++ b/Mage.Sets/src/mage/cards/p/PalaceGuard.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CanBlockAdditionalCreatureEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class PalaceGuard extends CardImpl { public PalaceGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PalaceJailer.java b/Mage.Sets/src/mage/cards/p/PalaceJailer.java index 501fefc06cb..ad7c0abcf37 100644 --- a/Mage.Sets/src/mage/cards/p/PalaceJailer.java +++ b/Mage.Sets/src/mage/cards/p/PalaceJailer.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -69,8 +70,8 @@ public class PalaceJailer extends CardImpl { public PalaceJailer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PalaceSentinels.java b/Mage.Sets/src/mage/cards/p/PalaceSentinels.java index 6befbd5ea30..9429a57550d 100644 --- a/Mage.Sets/src/mage/cards/p/PalaceSentinels.java +++ b/Mage.Sets/src/mage/cards/p/PalaceSentinels.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.BecomesMonarchSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class PalaceSentinels extends CardImpl { public PalaceSentinels(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PaladinEnVec.java b/Mage.Sets/src/mage/cards/p/PaladinEnVec.java index 57b58a6f2c6..5de1d8fee13 100644 --- a/Mage.Sets/src/mage/cards/p/PaladinEnVec.java +++ b/Mage.Sets/src/mage/cards/p/PaladinEnVec.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class PaladinEnVec extends CardImpl { public PaladinEnVec(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PaladinOfPrahv.java b/Mage.Sets/src/mage/cards/p/PaladinOfPrahv.java index 62d15a5e42a..9622a06384e 100644 --- a/Mage.Sets/src/mage/cards/p/PaladinOfPrahv.java +++ b/Mage.Sets/src/mage/cards/p/PaladinOfPrahv.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ForecastAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.game.Game; @@ -56,8 +57,8 @@ public class PaladinOfPrahv extends CardImpl { public PaladinOfPrahv(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PaleBears.java b/Mage.Sets/src/mage/cards/p/PaleBears.java index c82389b9ffb..af933348fd1 100644 --- a/Mage.Sets/src/mage/cards/p/PaleBears.java +++ b/Mage.Sets/src/mage/cards/p/PaleBears.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class PaleBears extends CardImpl { public PaleBears(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Bear"); + this.subtype.add(SubType.BEAR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PaleRecluse.java b/Mage.Sets/src/mage/cards/p/PaleRecluse.java index 906342d80ed..a3c4eb920e0 100644 --- a/Mage.Sets/src/mage/cards/p/PaleRecluse.java +++ b/Mage.Sets/src/mage/cards/p/PaleRecluse.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class PaleRecluse extends CardImpl { public PaleRecluse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{W}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); diff --git a/Mage.Sets/src/mage/cards/p/PaleRiderOfTrostad.java b/Mage.Sets/src/mage/cards/p/PaleRiderOfTrostad.java index 666c1840645..f09cf4f27b8 100644 --- a/Mage.Sets/src/mage/cards/p/PaleRiderOfTrostad.java +++ b/Mage.Sets/src/mage/cards/p/PaleRiderOfTrostad.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SkulkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class PaleRiderOfTrostad extends CardImpl { public PaleRiderOfTrostad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PaleWayfarer.java b/Mage.Sets/src/mage/cards/p/PaleWayfarer.java index 8345fcddb33..ea50659cbf7 100644 --- a/Mage.Sets/src/mage/cards/p/PaleWayfarer.java +++ b/Mage.Sets/src/mage/cards/p/PaleWayfarer.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.choices.ChoiceColor; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -54,8 +55,8 @@ public class PaleWayfarer extends CardImpl { public PaleWayfarer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); - this.subtype.add("Spirit"); - this.subtype.add("Giant"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/Paleoloth.java b/Mage.Sets/src/mage/cards/p/Paleoloth.java index e3e64d29f70..395f5e52508 100644 --- a/Mage.Sets/src/mage/cards/p/Paleoloth.java +++ b/Mage.Sets/src/mage/cards/p/Paleoloth.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -60,7 +61,7 @@ public class Paleoloth extends CardImpl { public Paleoloth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/Palinchron.java b/Mage.Sets/src/mage/cards/p/Palinchron.java index fe637d6c3eb..76a82549b7c 100644 --- a/Mage.Sets/src/mage/cards/p/Palinchron.java +++ b/Mage.Sets/src/mage/cards/p/Palinchron.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class Palinchron extends CardImpl { public Palinchron(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PalisadeGiant.java b/Mage.Sets/src/mage/cards/p/PalisadeGiant.java index 2145e15e4c4..86c523f732f 100644 --- a/Mage.Sets/src/mage/cards/p/PalisadeGiant.java +++ b/Mage.Sets/src/mage/cards/p/PalisadeGiant.java @@ -35,6 +35,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -69,8 +70,8 @@ public class PalisadeGiant extends CardImpl { public PalisadeGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Giant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/p/PalladiaMors.java b/Mage.Sets/src/mage/cards/p/PalladiaMors.java index 24025bff349..c5ba975afe2 100644 --- a/Mage.Sets/src/mage/cards/p/PalladiaMors.java +++ b/Mage.Sets/src/mage/cards/p/PalladiaMors.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; @@ -49,8 +50,8 @@ public class PalladiaMors extends CardImpl { public PalladiaMors(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}{G}{G}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elder"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.ELDER); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/p/PalladiumMyr.java b/Mage.Sets/src/mage/cards/p/PalladiumMyr.java index 992a1ff8dc2..81f05a4a427 100644 --- a/Mage.Sets/src/mage/cards/p/PalladiumMyr.java +++ b/Mage.Sets/src/mage/cards/p/PalladiumMyr.java @@ -35,6 +35,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class PalladiumMyr extends CardImpl { public PalladiumMyr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.ColorlessMana(2), new TapSourceCost())); diff --git a/Mage.Sets/src/mage/cards/p/PallidMycoderm.java b/Mage.Sets/src/mage/cards/p/PallidMycoderm.java index 151e3d91f01..d9196f89c10 100644 --- a/Mage.Sets/src/mage/cards/p/PallidMycoderm.java +++ b/Mage.Sets/src/mage/cards/p/PallidMycoderm.java @@ -64,7 +64,7 @@ public class PallidMycoderm extends CardImpl { public PallidMycoderm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/Pallimud.java b/Mage.Sets/src/mage/cards/p/Pallimud.java index 41096e246a3..74d375aa0df 100644 --- a/Mage.Sets/src/mage/cards/p/Pallimud.java +++ b/Mage.Sets/src/mage/cards/p/Pallimud.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.SetPowerSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class Pallimud extends CardImpl { public Pallimud(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PangTongYoungPhoenix.java b/Mage.Sets/src/mage/cards/p/PangTongYoungPhoenix.java index 575dabcbbcd..4ed1a5a1293 100644 --- a/Mage.Sets/src/mage/cards/p/PangTongYoungPhoenix.java +++ b/Mage.Sets/src/mage/cards/p/PangTongYoungPhoenix.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class PangTongYoungPhoenix extends CardImpl { public PangTongYoungPhoenix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/Panharmonicon.java b/Mage.Sets/src/mage/cards/p/Panharmonicon.java index 2ce198c4788..4bade4472d6 100644 --- a/Mage.Sets/src/mage/cards/p/Panharmonicon.java +++ b/Mage.Sets/src/mage/cards/p/Panharmonicon.java @@ -1,119 +1,119 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.p; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.ReplacementEffectImpl; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.EntersTheBattlefieldEvent; -import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; -import mage.game.events.NumberOfTriggersEvent; - -/** - * - * @author emerald000 - */ -public class Panharmonicon extends CardImpl { - - public Panharmonicon(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); - - // If an artifact or creature entering the battlefield causes a triggered ability of a permanent you control to trigger, that ability triggers an additional time. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PanharmoniconEffect())); - } - - public Panharmonicon(final Panharmonicon card) { - super(card); - } - - @Override - public Panharmonicon copy() { - return new Panharmonicon(this); - } -} - -class PanharmoniconEffect extends ReplacementEffectImpl { - - PanharmoniconEffect() { - super(Duration.WhileOnBattlefield, Outcome.Benefit); - staticText = "If an artifact or creature entering the battlefield causes a triggered ability of a permanent you control to trigger, that ability triggers an additional time"; - } - - PanharmoniconEffect(final PanharmoniconEffect effect) { - super(effect); - } - - @Override - public PanharmoniconEffect copy() { - return new PanharmoniconEffect(this); - } - - @Override - public boolean checksEventType(GameEvent event, Game game) { - return event.getType() == EventType.NUMBER_OF_TRIGGERS; - } - - @Override - public boolean applies(GameEvent event, Ability source, Game game) { - if (event instanceof NumberOfTriggersEvent) { - NumberOfTriggersEvent numberOfTriggersEvent = (NumberOfTriggersEvent) event; - // Only triggers of the controller of Panharmonicon - if (source.getControllerId().equals(event.getPlayerId())) { - GameEvent sourceEvent = numberOfTriggersEvent.getSourceEvent(); - // Only EtB triggers - if (sourceEvent.getType() == EventType.ENTERS_THE_BATTLEFIELD && sourceEvent instanceof EntersTheBattlefieldEvent) { - EntersTheBattlefieldEvent entersTheBattlefieldEvent = (EntersTheBattlefieldEvent) sourceEvent; - // Only for entering artifacts or creatures - if (entersTheBattlefieldEvent.getTarget().isArtifact() - || entersTheBattlefieldEvent.getTarget().isCreature()) { - // Only for triggers of permanents - if (game.getPermanent(numberOfTriggersEvent.getSourceId()) != null) { - return true; - } - } - } - } - } - return false; - } - - @Override - public boolean replaceEvent(GameEvent event, Ability source, Game game) { - event.setAmount(event.getAmount() + 1); - return false; - } +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.p; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.ReplacementEffectImpl; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.EntersTheBattlefieldEvent; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.game.events.NumberOfTriggersEvent; + +/** + * + * @author emerald000 + */ +public class Panharmonicon extends CardImpl { + + public Panharmonicon(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); + + // If an artifact or creature entering the battlefield causes a triggered ability of a permanent you control to trigger, that ability triggers an additional time. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PanharmoniconEffect())); + } + + public Panharmonicon(final Panharmonicon card) { + super(card); + } + + @Override + public Panharmonicon copy() { + return new Panharmonicon(this); + } +} + +class PanharmoniconEffect extends ReplacementEffectImpl { + + PanharmoniconEffect() { + super(Duration.WhileOnBattlefield, Outcome.Benefit); + staticText = "If an artifact or creature entering the battlefield causes a triggered ability of a permanent you control to trigger, that ability triggers an additional time"; + } + + PanharmoniconEffect(final PanharmoniconEffect effect) { + super(effect); + } + + @Override + public PanharmoniconEffect copy() { + return new PanharmoniconEffect(this); + } + + @Override + public boolean checksEventType(GameEvent event, Game game) { + return event.getType() == EventType.NUMBER_OF_TRIGGERS; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + if (event instanceof NumberOfTriggersEvent) { + NumberOfTriggersEvent numberOfTriggersEvent = (NumberOfTriggersEvent) event; + // Only triggers of the controller of Panharmonicon + if (source.getControllerId().equals(event.getPlayerId())) { + GameEvent sourceEvent = numberOfTriggersEvent.getSourceEvent(); + // Only EtB triggers + if (sourceEvent.getType() == EventType.ENTERS_THE_BATTLEFIELD && sourceEvent instanceof EntersTheBattlefieldEvent) { + EntersTheBattlefieldEvent entersTheBattlefieldEvent = (EntersTheBattlefieldEvent) sourceEvent; + // Only for entering artifacts or creatures + if (entersTheBattlefieldEvent.getTarget().isArtifact() + || entersTheBattlefieldEvent.getTarget().isCreature()) { + // Only for triggers of permanents + if (game.getPermanent(numberOfTriggersEvent.getSourceId()) != null) { + return true; + } + } + } + } + } + return false; + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + event.setAmount(event.getAmount() + 1); + return false; + } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/cards/p/PantherWarriors.java b/Mage.Sets/src/mage/cards/p/PantherWarriors.java index c5d31ec47ed..8038e3e126b 100644 --- a/Mage.Sets/src/mage/cards/p/PantherWarriors.java +++ b/Mage.Sets/src/mage/cards/p/PantherWarriors.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class PantherWarriors extends CardImpl { public PantherWarriors(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Cat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(6); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PaperfinRascal.java b/Mage.Sets/src/mage/cards/p/PaperfinRascal.java index 08927d78c84..0dec7c1dadf 100644 --- a/Mage.Sets/src/mage/cards/p/PaperfinRascal.java +++ b/Mage.Sets/src/mage/cards/p/PaperfinRascal.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,8 +46,8 @@ public class PaperfinRascal extends CardImpl { public PaperfinRascal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/ParadiseMantle.java b/Mage.Sets/src/mage/cards/p/ParadiseMantle.java index d1afe74ef1a..6d01514a1f0 100644 --- a/Mage.Sets/src/mage/cards/p/ParadiseMantle.java +++ b/Mage.Sets/src/mage/cards/p/ParadiseMantle.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class ParadiseMantle extends CardImpl { public ParadiseMantle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{0}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has "{tap}: Add one mana of any color to your mana pool." this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, diff --git a/Mage.Sets/src/mage/cards/p/ParadisePlume.java b/Mage.Sets/src/mage/cards/p/ParadisePlume.java index b1a1de9ddae..bee19a6f0b8 100644 --- a/Mage.Sets/src/mage/cards/p/ParadisePlume.java +++ b/Mage.Sets/src/mage/cards/p/ParadisePlume.java @@ -1,157 +1,157 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.p; - -import java.util.UUID; -import mage.Mana; -import mage.ObjectColor; -import mage.abilities.Ability; -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.AsEntersBattlefieldAbility; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.common.ChooseColorEffect; -import mage.abilities.effects.common.GainLifeEffect; -import mage.abilities.effects.common.ManaEffect; -import mage.abilities.mana.SimpleManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.ColoredManaSymbol; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.FilterSpell; -import mage.filter.predicate.mageobject.ColorPredicate; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.stack.Spell; -import mage.players.Player; - -/** - * - * @author jeffwadsworth - */ -public class ParadisePlume extends CardImpl { - - public ParadisePlume(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); - - // As Paradise Plume enters the battlefield, choose a color. - this.addAbility(new AsEntersBattlefieldAbility(new ChooseColorEffect(Outcome.Detriment))); - - // Whenever a player casts a spell of the chosen color, you may gain 1 life. - this.addAbility(new ParadisePlumeSpellCastTriggeredAbility()); - - // {tap}: Add one mana of the chosen color to your mana pool. - this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new ParadisePlumeManaEffect(), new TapSourceCost())); - - } - - public ParadisePlume(final ParadisePlume card) { - super(card); - } - - @Override - public ParadisePlume copy() { - return new ParadisePlume(this); - } -} - -class ParadisePlumeManaEffect extends ManaEffect { - - public ParadisePlumeManaEffect() { - super(); - staticText = "Add one mana of the chosen color to your mana pool"; - } - - public ParadisePlumeManaEffect(final ParadisePlumeManaEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Player player = game.getPlayer(source.getControllerId()); - if (player != null) { - player.getManaPool().addMana(getMana(game, source), game, source); - } - return true; - } - - @Override - public Mana getMana(Game game, Ability source) { - ObjectColor color = (ObjectColor) game.getState().getValue(source.getSourceId() + "_color"); - if (color != null) { - return new Mana(ColoredManaSymbol.lookup(color.toString().charAt(0))); - } else { - return null; - } - } - - @Override - public ParadisePlumeManaEffect copy() { - return new ParadisePlumeManaEffect(this); - } -} - -class ParadisePlumeSpellCastTriggeredAbility extends TriggeredAbilityImpl { - - public ParadisePlumeSpellCastTriggeredAbility() { - super(Zone.BATTLEFIELD, new GainLifeEffect(1), true); - } - - public ParadisePlumeSpellCastTriggeredAbility(final ParadisePlumeSpellCastTriggeredAbility ability) { - super(ability); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.SPELL_CAST; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - ObjectColor color = (ObjectColor) game.getState().getValue(getSourceId() + "_color"); - if (color != null) { - FilterSpell filter = new FilterSpell(); - filter.add(new ColorPredicate(color)); - Spell spell = game.getStack().getSpell(event.getTargetId()); - return (spell != null - && filter.match(spell, getSourceId(), getControllerId(), game)); - } - return false; - } - - @Override - public ParadisePlumeSpellCastTriggeredAbility copy() { - return new ParadisePlumeSpellCastTriggeredAbility(this); - } - - @Override - public String getRule() { - return "Whenever a player casts a spell of the chosen color, " + super.getRule(); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.p; + +import java.util.UUID; +import mage.Mana; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.common.AsEntersBattlefieldAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.ChooseColorEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.ManaEffect; +import mage.abilities.mana.SimpleManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.ColoredManaSymbol; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.FilterSpell; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.stack.Spell; +import mage.players.Player; + +/** + * + * @author jeffwadsworth + */ +public class ParadisePlume extends CardImpl { + + public ParadisePlume(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); + + // As Paradise Plume enters the battlefield, choose a color. + this.addAbility(new AsEntersBattlefieldAbility(new ChooseColorEffect(Outcome.Detriment))); + + // Whenever a player casts a spell of the chosen color, you may gain 1 life. + this.addAbility(new ParadisePlumeSpellCastTriggeredAbility()); + + // {tap}: Add one mana of the chosen color to your mana pool. + this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, new ParadisePlumeManaEffect(), new TapSourceCost())); + + } + + public ParadisePlume(final ParadisePlume card) { + super(card); + } + + @Override + public ParadisePlume copy() { + return new ParadisePlume(this); + } +} + +class ParadisePlumeManaEffect extends ManaEffect { + + public ParadisePlumeManaEffect() { + super(); + staticText = "Add one mana of the chosen color to your mana pool"; + } + + public ParadisePlumeManaEffect(final ParadisePlumeManaEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getControllerId()); + if (player != null) { + player.getManaPool().addMana(getMana(game, source), game, source); + } + return true; + } + + @Override + public Mana getMana(Game game, Ability source) { + ObjectColor color = (ObjectColor) game.getState().getValue(source.getSourceId() + "_color"); + if (color != null) { + return new Mana(ColoredManaSymbol.lookup(color.toString().charAt(0))); + } else { + return null; + } + } + + @Override + public ParadisePlumeManaEffect copy() { + return new ParadisePlumeManaEffect(this); + } +} + +class ParadisePlumeSpellCastTriggeredAbility extends TriggeredAbilityImpl { + + public ParadisePlumeSpellCastTriggeredAbility() { + super(Zone.BATTLEFIELD, new GainLifeEffect(1), true); + } + + public ParadisePlumeSpellCastTriggeredAbility(final ParadisePlumeSpellCastTriggeredAbility ability) { + super(ability); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.SPELL_CAST; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + ObjectColor color = (ObjectColor) game.getState().getValue(getSourceId() + "_color"); + if (color != null) { + FilterSpell filter = new FilterSpell(); + filter.add(new ColorPredicate(color)); + Spell spell = game.getStack().getSpell(event.getTargetId()); + return (spell != null + && filter.match(spell, getSourceId(), getControllerId(), game)); + } + return false; + } + + @Override + public ParadisePlumeSpellCastTriggeredAbility copy() { + return new ParadisePlumeSpellCastTriggeredAbility(this); + } + + @Override + public String getRule() { + return "Whenever a player casts a spell of the chosen color, " + super.getRule(); + } +} diff --git a/Mage.Sets/src/mage/cards/p/ParadoxHaze.java b/Mage.Sets/src/mage/cards/p/ParadoxHaze.java index d87ac200abb..e54902f0d6c 100644 --- a/Mage.Sets/src/mage/cards/p/ParadoxHaze.java +++ b/Mage.Sets/src/mage/cards/p/ParadoxHaze.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -57,7 +58,7 @@ public class ParadoxHaze extends CardImpl { public ParadoxHaze(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant player TargetPlayer auraTarget = new TargetPlayer(); diff --git a/Mage.Sets/src/mage/cards/p/ParagonOfEternalWilds.java b/Mage.Sets/src/mage/cards/p/ParagonOfEternalWilds.java index b2ca1f5efb0..b4b125be739 100644 --- a/Mage.Sets/src/mage/cards/p/ParagonOfEternalWilds.java +++ b/Mage.Sets/src/mage/cards/p/ParagonOfEternalWilds.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -69,8 +70,8 @@ public class ParagonOfEternalWilds extends CardImpl { public ParagonOfEternalWilds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/ParagonOfFierceDefiance.java b/Mage.Sets/src/mage/cards/p/ParagonOfFierceDefiance.java index 28e5f93bc97..d676170c0ea 100644 --- a/Mage.Sets/src/mage/cards/p/ParagonOfFierceDefiance.java +++ b/Mage.Sets/src/mage/cards/p/ParagonOfFierceDefiance.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -66,8 +67,8 @@ public class ParagonOfFierceDefiance extends CardImpl { public ParagonOfFierceDefiance(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/ParagonOfGatheringMists.java b/Mage.Sets/src/mage/cards/p/ParagonOfGatheringMists.java index 4f84a672c63..a59e81f3a50 100644 --- a/Mage.Sets/src/mage/cards/p/ParagonOfGatheringMists.java +++ b/Mage.Sets/src/mage/cards/p/ParagonOfGatheringMists.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -69,8 +70,8 @@ public class ParagonOfGatheringMists extends CardImpl { public ParagonOfGatheringMists(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/ParagonOfNewDawns.java b/Mage.Sets/src/mage/cards/p/ParagonOfNewDawns.java index e8c584ccefb..99d86f412a5 100644 --- a/Mage.Sets/src/mage/cards/p/ParagonOfNewDawns.java +++ b/Mage.Sets/src/mage/cards/p/ParagonOfNewDawns.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -69,8 +70,8 @@ public class ParagonOfNewDawns extends CardImpl { public ParagonOfNewDawns(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/ParagonOfOpenGraves.java b/Mage.Sets/src/mage/cards/p/ParagonOfOpenGraves.java index 15ea4792ebc..4071d900908 100644 --- a/Mage.Sets/src/mage/cards/p/ParagonOfOpenGraves.java +++ b/Mage.Sets/src/mage/cards/p/ParagonOfOpenGraves.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -66,8 +67,8 @@ public class ParagonOfOpenGraves extends CardImpl { public ParagonOfOpenGraves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Skeleton"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.SKELETON); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/ParagonOfTheAmesha.java b/Mage.Sets/src/mage/cards/p/ParagonOfTheAmesha.java index d707bb5cc6f..65eb6ae4ce8 100644 --- a/Mage.Sets/src/mage/cards/p/ParagonOfTheAmesha.java +++ b/Mage.Sets/src/mage/cards/p/ParagonOfTheAmesha.java @@ -53,8 +53,8 @@ public class ParagonOfTheAmesha extends CardImpl { public ParagonOfTheAmesha(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/ParallaxDementia.java b/Mage.Sets/src/mage/cards/p/ParallaxDementia.java index 5ae33c43189..ce9d48eabe3 100644 --- a/Mage.Sets/src/mage/cards/p/ParallaxDementia.java +++ b/Mage.Sets/src/mage/cards/p/ParallaxDementia.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FadingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class ParallaxDementia extends CardImpl { public ParallaxDementia(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/p/ParallectricFeedback.java b/Mage.Sets/src/mage/cards/p/ParallectricFeedback.java index b31b227c7c2..be6e074110e 100644 --- a/Mage.Sets/src/mage/cards/p/ParallectricFeedback.java +++ b/Mage.Sets/src/mage/cards/p/ParallectricFeedback.java @@ -1,98 +1,98 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.p; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.game.Game; -import mage.game.stack.Spell; -import mage.players.Player; -import mage.target.TargetSpell; - -/** - * - * @author Styxo - */ -public class ParallectricFeedback extends CardImpl { - - public ParallectricFeedback(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{R}"); - - // Parallectric Feedback deals damage to target spell's controller equal to that spell's converted mana cost. - this.getSpellAbility().addTarget(new TargetSpell()); - this.getSpellAbility().addEffect(new ParallectricFeedbackEffect()); - - } - - public ParallectricFeedback(final ParallectricFeedback card) { - super(card); - } - - @Override - public ParallectricFeedback copy() { - return new ParallectricFeedback(this); - } -} - -class ParallectricFeedbackEffect extends OneShotEffect { - - public ParallectricFeedbackEffect() { - super(Outcome.Damage); - staticText = "{this} deals damage to target spell's controller equal to that spell's converted mana cost"; - } - - public ParallectricFeedbackEffect(final ParallectricFeedbackEffect effect) { - super(effect); - } - - @Override - public ParallectricFeedbackEffect copy() { - return new ParallectricFeedbackEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - Spell spell = game.getStack().getSpell(source.getFirstTarget()); - if (spell != null) { - Player spellController = game.getPlayer(spell.getControllerId()); - if (spellController != null) { - spellController.damage(spell.getConvertedManaCost(), source.getSourceId(), game, false, true); - return true; - } - } - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.p; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.game.Game; +import mage.game.stack.Spell; +import mage.players.Player; +import mage.target.TargetSpell; + +/** + * + * @author Styxo + */ +public class ParallectricFeedback extends CardImpl { + + public ParallectricFeedback(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{R}"); + + // Parallectric Feedback deals damage to target spell's controller equal to that spell's converted mana cost. + this.getSpellAbility().addTarget(new TargetSpell()); + this.getSpellAbility().addEffect(new ParallectricFeedbackEffect()); + + } + + public ParallectricFeedback(final ParallectricFeedback card) { + super(card); + } + + @Override + public ParallectricFeedback copy() { + return new ParallectricFeedback(this); + } +} + +class ParallectricFeedbackEffect extends OneShotEffect { + + public ParallectricFeedbackEffect() { + super(Outcome.Damage); + staticText = "{this} deals damage to target spell's controller equal to that spell's converted mana cost"; + } + + public ParallectricFeedbackEffect(final ParallectricFeedbackEffect effect) { + super(effect); + } + + @Override + public ParallectricFeedbackEffect copy() { + return new ParallectricFeedbackEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + Spell spell = game.getStack().getSpell(source.getFirstTarget()); + if (spell != null) { + Player spellController = game.getPlayer(spell.getControllerId()); + if (spellController != null) { + spellController.damage(spell.getConvertedManaCost(), source.getSourceId(), game, false, true); + return true; + } + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/p/Paralyze.java b/Mage.Sets/src/mage/cards/p/Paralyze.java index 8b0c910df76..19f3a57a751 100644 --- a/Mage.Sets/src/mage/cards/p/Paralyze.java +++ b/Mage.Sets/src/mage/cards/p/Paralyze.java @@ -53,7 +53,7 @@ public class Paralyze extends CardImpl { public Paralyze(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/p/ParalyzingGrasp.java b/Mage.Sets/src/mage/cards/p/ParalyzingGrasp.java index aeb8b8d79e9..e6b89e3e48c 100644 --- a/Mage.Sets/src/mage/cards/p/ParalyzingGrasp.java +++ b/Mage.Sets/src/mage/cards/p/ParalyzingGrasp.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -48,7 +49,7 @@ public class ParalyzingGrasp extends CardImpl { public ParalyzingGrasp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/p/ParanoidParishBlade.java b/Mage.Sets/src/mage/cards/p/ParanoidParishBlade.java index d0622545ab6..70cb0858711 100644 --- a/Mage.Sets/src/mage/cards/p/ParanoidParishBlade.java +++ b/Mage.Sets/src/mage/cards/p/ParanoidParishBlade.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class ParanoidParishBlade extends CardImpl { public ParanoidParishBlade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/ParapetWatchers.java b/Mage.Sets/src/mage/cards/p/ParapetWatchers.java index 06cb7206ab8..d9b614b2f7a 100644 --- a/Mage.Sets/src/mage/cards/p/ParapetWatchers.java +++ b/Mage.Sets/src/mage/cards/p/ParapetWatchers.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class ParapetWatchers extends CardImpl { public ParapetWatchers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/ParasiticBond.java b/Mage.Sets/src/mage/cards/p/ParasiticBond.java index 09332bea120..ced632e5b4f 100644 --- a/Mage.Sets/src/mage/cards/p/ParasiticBond.java +++ b/Mage.Sets/src/mage/cards/p/ParasiticBond.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class ParasiticBond extends CardImpl { public ParasiticBond(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/p/ParasiticImplant.java b/Mage.Sets/src/mage/cards/p/ParasiticImplant.java index 7dc2c14ed2b..265373bee3b 100644 --- a/Mage.Sets/src/mage/cards/p/ParasiticImplant.java +++ b/Mage.Sets/src/mage/cards/p/ParasiticImplant.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.game.Game; @@ -53,7 +54,7 @@ public class ParasiticImplant extends CardImpl { public ParasiticImplant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/p/ParasiticStrix.java b/Mage.Sets/src/mage/cards/p/ParasiticStrix.java index 020ab87b377..8f7fa96f1e9 100644 --- a/Mage.Sets/src/mage/cards/p/ParasiticStrix.java +++ b/Mage.Sets/src/mage/cards/p/ParasiticStrix.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -52,7 +53,7 @@ public class ParasiticStrix extends CardImpl { public ParasiticStrix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PardicArsonist.java b/Mage.Sets/src/mage/cards/p/PardicArsonist.java index 40186d325a8..ddd8f0f9e84 100644 --- a/Mage.Sets/src/mage/cards/p/PardicArsonist.java +++ b/Mage.Sets/src/mage/cards/p/PardicArsonist.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -51,8 +52,8 @@ public class PardicArsonist extends CardImpl { public PardicArsonist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Barbarian"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BARBARIAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PardicCollaborator.java b/Mage.Sets/src/mage/cards/p/PardicCollaborator.java index 80ba574bfb9..aa9eda38335 100644 --- a/Mage.Sets/src/mage/cards/p/PardicCollaborator.java +++ b/Mage.Sets/src/mage/cards/p/PardicCollaborator.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class PardicCollaborator extends CardImpl { public PardicCollaborator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Barbarian"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BARBARIAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PardicDragon.java b/Mage.Sets/src/mage/cards/p/PardicDragon.java index 8048d6ac75b..e60483e1fe2 100644 --- a/Mage.Sets/src/mage/cards/p/PardicDragon.java +++ b/Mage.Sets/src/mage/cards/p/PardicDragon.java @@ -57,7 +57,7 @@ public class PardicDragon extends CardImpl { public PardicDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PardicFirecat.java b/Mage.Sets/src/mage/cards/p/PardicFirecat.java index bdb227b1b22..bda76400a94 100644 --- a/Mage.Sets/src/mage/cards/p/PardicFirecat.java +++ b/Mage.Sets/src/mage/cards/p/PardicFirecat.java @@ -34,6 +34,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.f.FlameBurst; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class PardicFirecat extends CardImpl { public PardicFirecat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Cat"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PardicLancer.java b/Mage.Sets/src/mage/cards/p/PardicLancer.java index fdd76d71bc2..4926fd238f6 100644 --- a/Mage.Sets/src/mage/cards/p/PardicLancer.java +++ b/Mage.Sets/src/mage/cards/p/PardicLancer.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class PardicLancer extends CardImpl { public PardicLancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Human"); - this.subtype.add("Barbarian"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BARBARIAN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PardicMiner.java b/Mage.Sets/src/mage/cards/p/PardicMiner.java index a67ae3acabe..1b8d12ece32 100644 --- a/Mage.Sets/src/mage/cards/p/PardicMiner.java +++ b/Mage.Sets/src/mage/cards/p/PardicMiner.java @@ -37,6 +37,7 @@ import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class PardicMiner extends CardImpl { public PardicMiner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Dwarf"); + this.subtype.add(SubType.DWARF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PardicSwordsmith.java b/Mage.Sets/src/mage/cards/p/PardicSwordsmith.java index 213f1812ba8..0eb9d51f178 100644 --- a/Mage.Sets/src/mage/cards/p/PardicSwordsmith.java +++ b/Mage.Sets/src/mage/cards/p/PardicSwordsmith.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class PardicSwordsmith extends CardImpl { public PardicSwordsmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Dwarf"); + this.subtype.add(SubType.DWARF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/Pariah.java b/Mage.Sets/src/mage/cards/p/Pariah.java index 1965fe766af..4188939bee8 100644 --- a/Mage.Sets/src/mage/cards/p/Pariah.java +++ b/Mage.Sets/src/mage/cards/p/Pariah.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class Pariah extends CardImpl { public Pariah(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/p/PariahsShield.java b/Mage.Sets/src/mage/cards/p/PariahsShield.java index 31202773b00..b51baacbc2d 100644 --- a/Mage.Sets/src/mage/cards/p/PariahsShield.java +++ b/Mage.Sets/src/mage/cards/p/PariahsShield.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class PariahsShield extends CardImpl { public PariahsShield(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{5}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // All damage that would be dealt to you is dealt to equipped creature instead. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PariahEffect())); diff --git a/Mage.Sets/src/mage/cards/p/PartTheVeil.java b/Mage.Sets/src/mage/cards/p/PartTheVeil.java index 8e7586d0ec5..4fbb462bc69 100644 --- a/Mage.Sets/src/mage/cards/p/PartTheVeil.java +++ b/Mage.Sets/src/mage/cards/p/PartTheVeil.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ReturnToHandFromBattlefieldAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; /** @@ -43,7 +44,7 @@ public class PartTheVeil extends CardImpl { public PartTheVeil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{U}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Return all creatures you control to their owner's hand. Effect effect = new ReturnToHandFromBattlefieldAllEffect(new FilterControlledCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/p/PatagiaGolem.java b/Mage.Sets/src/mage/cards/p/PatagiaGolem.java index 2a3e04a9b06..88ecaf52c51 100644 --- a/Mage.Sets/src/mage/cards/p/PatagiaGolem.java +++ b/Mage.Sets/src/mage/cards/p/PatagiaGolem.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class PatagiaGolem extends CardImpl { public PatagiaGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PatagiaViper.java b/Mage.Sets/src/mage/cards/p/PatagiaViper.java index 9ab2a925215..bef41e88c75 100644 --- a/Mage.Sets/src/mage/cards/p/PatagiaViper.java +++ b/Mage.Sets/src/mage/cards/p/PatagiaViper.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.game.permanent.token.PatagiaViperSnakeToken; import mage.watchers.common.ManaSpentToCastWatcher; @@ -49,7 +50,7 @@ public class PatagiaViper extends CardImpl { public PatagiaViper(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PatchworkGnomes.java b/Mage.Sets/src/mage/cards/p/PatchworkGnomes.java index 6ac12a77b29..d49390c66c7 100644 --- a/Mage.Sets/src/mage/cards/p/PatchworkGnomes.java +++ b/Mage.Sets/src/mage/cards/p/PatchworkGnomes.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.target.common.TargetCardInHand; @@ -47,7 +48,7 @@ public class PatchworkGnomes extends CardImpl { public PatchworkGnomes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Gnome"); + this.subtype.add(SubType.GNOME); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PathOfAngersFlame.java b/Mage.Sets/src/mage/cards/p/PathOfAngersFlame.java index 9c1f0608668..c28e976813b 100644 --- a/Mage.Sets/src/mage/cards/p/PathOfAngersFlame.java +++ b/Mage.Sets/src/mage/cards/p/PathOfAngersFlame.java @@ -32,6 +32,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; @@ -43,7 +44,7 @@ public class PathOfAngersFlame extends CardImpl { public PathOfAngersFlame(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{2}{R}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Creatures you control get +2/+0 until end of turn. this.getSpellAbility().addEffect(new BoostControlledEffect(2, 0, Duration.EndOfTurn, StaticFilters.FILTER_PERMANENT_CREATURE, false)); diff --git a/Mage.Sets/src/mage/cards/p/PathbreakerIbex.java b/Mage.Sets/src/mage/cards/p/PathbreakerIbex.java index 114f469a041..4474aeb864c 100644 --- a/Mage.Sets/src/mage/cards/p/PathbreakerIbex.java +++ b/Mage.Sets/src/mage/cards/p/PathbreakerIbex.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.filter.StaticFilters; @@ -53,7 +54,7 @@ public class PathbreakerIbex extends CardImpl { public PathbreakerIbex(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{G}"); - this.subtype.add("Goat"); + this.subtype.add(SubType.GOAT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PathbreakerWurm.java b/Mage.Sets/src/mage/cards/p/PathbreakerWurm.java index 8a385150cbb..38e8a0d5f02 100644 --- a/Mage.Sets/src/mage/cards/p/PathbreakerWurm.java +++ b/Mage.Sets/src/mage/cards/p/PathbreakerWurm.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class PathbreakerWurm extends CardImpl { public PathbreakerWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PathmakerInitiate.java b/Mage.Sets/src/mage/cards/p/PathmakerInitiate.java index 2e9ea7b7df6..d9fbdfd6165 100644 --- a/Mage.Sets/src/mage/cards/p/PathmakerInitiate.java +++ b/Mage.Sets/src/mage/cards/p/PathmakerInitiate.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Zone; @@ -58,8 +59,8 @@ public class PathmakerInitiate extends CardImpl { public PathmakerInitiate(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PathrazerOfUlamog.java b/Mage.Sets/src/mage/cards/p/PathrazerOfUlamog.java index 14fa5012251..5c3b541a319 100644 --- a/Mage.Sets/src/mage/cards/p/PathrazerOfUlamog.java +++ b/Mage.Sets/src/mage/cards/p/PathrazerOfUlamog.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.AnnihilatorAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class PathrazerOfUlamog extends CardImpl { public PathrazerOfUlamog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{11}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(9); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/p/PathwayArrows.java b/Mage.Sets/src/mage/cards/p/PathwayArrows.java index bd759f77654..126b4e13515 100644 --- a/Mage.Sets/src/mage/cards/p/PathwayArrows.java +++ b/Mage.Sets/src/mage/cards/p/PathwayArrows.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -55,7 +56,7 @@ public class PathwayArrows extends CardImpl { public PathwayArrows(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has "{2}, {T}: This creature deals 1 damage to target creature. If a colorless creature is dealt damage this way, tap it." SimpleActivatedAbility ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new PathwayArrowsEffect(), new GenericManaCost(2)); diff --git a/Mage.Sets/src/mage/cards/p/PatriarchsDesire.java b/Mage.Sets/src/mage/cards/p/PatriarchsDesire.java index 3d199875e02..456ed5423b0 100644 --- a/Mage.Sets/src/mage/cards/p/PatriarchsDesire.java +++ b/Mage.Sets/src/mage/cards/p/PatriarchsDesire.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class PatriarchsDesire extends CardImpl { public PatriarchsDesire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/p/PatrolHound.java b/Mage.Sets/src/mage/cards/p/PatrolHound.java index 1ed6287052a..9eccc002fe6 100644 --- a/Mage.Sets/src/mage/cards/p/PatrolHound.java +++ b/Mage.Sets/src/mage/cards/p/PatrolHound.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class PatrolHound extends CardImpl { public PatrolHound(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PatrolSignaler.java b/Mage.Sets/src/mage/cards/p/PatrolSignaler.java index 52c5d2aa997..0f12096a12a 100644 --- a/Mage.Sets/src/mage/cards/p/PatrolSignaler.java +++ b/Mage.Sets/src/mage/cards/p/PatrolSignaler.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.KithkinToken; @@ -48,8 +49,8 @@ public class PatrolSignaler extends CardImpl { public PatrolSignaler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PatronOfTheAkki.java b/Mage.Sets/src/mage/cards/p/PatronOfTheAkki.java index b077b9f5bcd..47cd1fb699e 100644 --- a/Mage.Sets/src/mage/cards/p/PatronOfTheAkki.java +++ b/Mage.Sets/src/mage/cards/p/PatronOfTheAkki.java @@ -48,7 +48,7 @@ public class PatronOfTheAkki extends CardImpl { public PatronOfTheAkki(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PatronOfTheKitsune.java b/Mage.Sets/src/mage/cards/p/PatronOfTheKitsune.java index 9f70290c1e4..1e1fc3c03eb 100644 --- a/Mage.Sets/src/mage/cards/p/PatronOfTheKitsune.java +++ b/Mage.Sets/src/mage/cards/p/PatronOfTheKitsune.java @@ -46,7 +46,7 @@ public class PatronOfTheKitsune extends CardImpl { public PatronOfTheKitsune(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/p/PatronOfTheMoon.java b/Mage.Sets/src/mage/cards/p/PatronOfTheMoon.java index 4bab9f4e928..d14d4d7ea2f 100644 --- a/Mage.Sets/src/mage/cards/p/PatronOfTheMoon.java +++ b/Mage.Sets/src/mage/cards/p/PatronOfTheMoon.java @@ -53,7 +53,7 @@ public class PatronOfTheMoon extends CardImpl { public PatronOfTheMoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PatronOfTheNezumi.java b/Mage.Sets/src/mage/cards/p/PatronOfTheNezumi.java index df41edc5b2f..bad292df09b 100644 --- a/Mage.Sets/src/mage/cards/p/PatronOfTheNezumi.java +++ b/Mage.Sets/src/mage/cards/p/PatronOfTheNezumi.java @@ -55,7 +55,7 @@ public class PatronOfTheNezumi extends CardImpl { public PatronOfTheNezumi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/p/PatronOfTheOrochi.java b/Mage.Sets/src/mage/cards/p/PatronOfTheOrochi.java index 0779806ae60..67662b719f8 100644 --- a/Mage.Sets/src/mage/cards/p/PatronOfTheOrochi.java +++ b/Mage.Sets/src/mage/cards/p/PatronOfTheOrochi.java @@ -56,7 +56,7 @@ public class PatronOfTheOrochi extends CardImpl { public PatronOfTheOrochi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/p/PatronOfTheValiant.java b/Mage.Sets/src/mage/cards/p/PatronOfTheValiant.java index ae91a31980f..24687df5097 100644 --- a/Mage.Sets/src/mage/cards/p/PatronOfTheValiant.java +++ b/Mage.Sets/src/mage/cards/p/PatronOfTheValiant.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -53,7 +54,7 @@ public class PatronOfTheValiant extends CardImpl { public PatronOfTheValiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PatronOfTheVein.java b/Mage.Sets/src/mage/cards/p/PatronOfTheVein.java index 110c064487d..44f8d62f3a5 100644 --- a/Mage.Sets/src/mage/cards/p/PatronOfTheVein.java +++ b/Mage.Sets/src/mage/cards/p/PatronOfTheVein.java @@ -75,8 +75,8 @@ public class PatronOfTheVein extends CardImpl { public PatronOfTheVein(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PatronOfTheWild.java b/Mage.Sets/src/mage/cards/p/PatronOfTheWild.java index c2a209b71d3..db8afa7648b 100644 --- a/Mage.Sets/src/mage/cards/p/PatronOfTheWild.java +++ b/Mage.Sets/src/mage/cards/p/PatronOfTheWild.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class PatronOfTheWild extends CardImpl { public PatronOfTheWild(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PatronWizard.java b/Mage.Sets/src/mage/cards/p/PatronWizard.java index 3ec3262cde0..350cd4f414e 100644 --- a/Mage.Sets/src/mage/cards/p/PatronWizard.java +++ b/Mage.Sets/src/mage/cards/p/PatronWizard.java @@ -61,8 +61,8 @@ public class PatronWizard extends CardImpl { public PatronWizard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PatternOfRebirth.java b/Mage.Sets/src/mage/cards/p/PatternOfRebirth.java index cf9a2f1ab8e..0627c27f123 100644 --- a/Mage.Sets/src/mage/cards/p/PatternOfRebirth.java +++ b/Mage.Sets/src/mage/cards/p/PatternOfRebirth.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.filter.common.FilterCreatureCard; @@ -52,7 +53,7 @@ public class PatternOfRebirth extends CardImpl { public PatternOfRebirth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/p/PavelMaliki.java b/Mage.Sets/src/mage/cards/p/PavelMaliki.java index db3d0bc1fe8..bd9ad72fb5e 100644 --- a/Mage.Sets/src/mage/cards/p/PavelMaliki.java +++ b/Mage.Sets/src/mage/cards/p/PavelMaliki.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class PavelMaliki extends CardImpl { public PavelMaliki(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PawnOfUlamog.java b/Mage.Sets/src/mage/cards/p/PawnOfUlamog.java index d3e0593e986..7cdff34eef2 100644 --- a/Mage.Sets/src/mage/cards/p/PawnOfUlamog.java +++ b/Mage.Sets/src/mage/cards/p/PawnOfUlamog.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -52,8 +53,8 @@ public class PawnOfUlamog extends CardImpl { public PawnOfUlamog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PeaceStrider.java b/Mage.Sets/src/mage/cards/p/PeaceStrider.java index d650248247a..3bb1aeda30e 100644 --- a/Mage.Sets/src/mage/cards/p/PeaceStrider.java +++ b/Mage.Sets/src/mage/cards/p/PeaceStrider.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class PeaceStrider extends CardImpl { public PeaceStrider (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(3); this.toughness = new MageInt(3); this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(3))); diff --git a/Mage.Sets/src/mage/cards/p/Peacekeeper.java b/Mage.Sets/src/mage/cards/p/Peacekeeper.java index 317f8d7caf8..81a2b363d9e 100644 --- a/Mage.Sets/src/mage/cards/p/Peacekeeper.java +++ b/Mage.Sets/src/mage/cards/p/Peacekeeper.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class Peacekeeper extends CardImpl { public Peacekeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PearlDragon.java b/Mage.Sets/src/mage/cards/p/PearlDragon.java index 8e6bfc66627..dfcff147cce 100644 --- a/Mage.Sets/src/mage/cards/p/PearlDragon.java +++ b/Mage.Sets/src/mage/cards/p/PearlDragon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class PearlDragon extends CardImpl { public PearlDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PearlLakeAncient.java b/Mage.Sets/src/mage/cards/p/PearlLakeAncient.java index addf9406e60..01c23b21d9b 100644 --- a/Mage.Sets/src/mage/cards/p/PearlLakeAncient.java +++ b/Mage.Sets/src/mage/cards/p/PearlLakeAncient.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.target.common.TargetControlledPermanent; @@ -50,7 +51,7 @@ public class PearlLakeAncient extends CardImpl { public PearlLakeAncient(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Leviathan"); + this.subtype.add(SubType.LEVIATHAN); this.power = new MageInt(6); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/p/PearledUnicorn.java b/Mage.Sets/src/mage/cards/p/PearledUnicorn.java index 509286c8f98..9241c736baf 100644 --- a/Mage.Sets/src/mage/cards/p/PearledUnicorn.java +++ b/Mage.Sets/src/mage/cards/p/PearledUnicorn.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class PearledUnicorn extends CardImpl { public PearledUnicorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Unicorn"); + this.subtype.add(SubType.UNICORN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PearlspearCourier.java b/Mage.Sets/src/mage/cards/p/PearlspearCourier.java index 9325fb79e2a..f90d9fa7f15 100644 --- a/Mage.Sets/src/mage/cards/p/PearlspearCourier.java +++ b/Mage.Sets/src/mage/cards/p/PearlspearCourier.java @@ -63,8 +63,8 @@ public class PearlspearCourier extends CardImpl { public PearlspearCourier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PeemaAetherSeer.java b/Mage.Sets/src/mage/cards/p/PeemaAetherSeer.java index 14e4df70a40..47e11477992 100644 --- a/Mage.Sets/src/mage/cards/p/PeemaAetherSeer.java +++ b/Mage.Sets/src/mage/cards/p/PeemaAetherSeer.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -53,8 +54,8 @@ public class PeemaAetherSeer extends CardImpl { public PeemaAetherSeer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PeemaOutrider.java b/Mage.Sets/src/mage/cards/p/PeemaOutrider.java index 9302c50b1d0..70762c3385a 100644 --- a/Mage.Sets/src/mage/cards/p/PeemaOutrider.java +++ b/Mage.Sets/src/mage/cards/p/PeemaOutrider.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class PeemaOutrider extends CardImpl { public PeemaOutrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PegasusCharger.java b/Mage.Sets/src/mage/cards/p/PegasusCharger.java index 3a641fccd17..227a41e0541 100644 --- a/Mage.Sets/src/mage/cards/p/PegasusCharger.java +++ b/Mage.Sets/src/mage/cards/p/PegasusCharger.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class PegasusCharger extends CardImpl { public PegasusCharger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Pegasus"); + this.subtype.add(SubType.PEGASUS); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PelakkaWurm.java b/Mage.Sets/src/mage/cards/p/PelakkaWurm.java index 6ccabd93134..3bd5ec915d8 100644 --- a/Mage.Sets/src/mage/cards/p/PelakkaWurm.java +++ b/Mage.Sets/src/mage/cards/p/PelakkaWurm.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class PelakkaWurm extends CardImpl { public PelakkaWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/p/PemminsAura.java b/Mage.Sets/src/mage/cards/p/PemminsAura.java index 2cee283040b..8f635ac3fa0 100644 --- a/Mage.Sets/src/mage/cards/p/PemminsAura.java +++ b/Mage.Sets/src/mage/cards/p/PemminsAura.java @@ -45,6 +45,7 @@ import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -62,7 +63,7 @@ public class PemminsAura extends CardImpl { public PemminsAura(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/p/PendelhavenElder.java b/Mage.Sets/src/mage/cards/p/PendelhavenElder.java index d081958746a..f35e1bdf70f 100644 --- a/Mage.Sets/src/mage/cards/p/PendelhavenElder.java +++ b/Mage.Sets/src/mage/cards/p/PendelhavenElder.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.TargetController; @@ -59,8 +60,8 @@ public class PendelhavenElder extends CardImpl { public PendelhavenElder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PendrellDrake.java b/Mage.Sets/src/mage/cards/p/PendrellDrake.java index ab252a5a3df..1aaf472d77a 100644 --- a/Mage.Sets/src/mage/cards/p/PendrellDrake.java +++ b/Mage.Sets/src/mage/cards/p/PendrellDrake.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class PendrellDrake extends CardImpl { public PendrellDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PendrellFlux.java b/Mage.Sets/src/mage/cards/p/PendrellFlux.java index bb300645e8f..9e13051e818 100644 --- a/Mage.Sets/src/mage/cards/p/PendrellFlux.java +++ b/Mage.Sets/src/mage/cards/p/PendrellFlux.java @@ -56,7 +56,7 @@ public class PendrellFlux extends CardImpl { public PendrellFlux(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/p/PennonBlade.java b/Mage.Sets/src/mage/cards/p/PennonBlade.java index cf27b23f526..a71c8357862 100644 --- a/Mage.Sets/src/mage/cards/p/PennonBlade.java +++ b/Mage.Sets/src/mage/cards/p/PennonBlade.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -48,7 +49,7 @@ public class PennonBlade extends CardImpl { public PennonBlade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); PermanentsOnBattlefieldCount value = new PermanentsOnBattlefieldCount(new FilterControlledCreaturePermanent()); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(value, value))); diff --git a/Mage.Sets/src/mage/cards/p/PensiveMinotaur.java b/Mage.Sets/src/mage/cards/p/PensiveMinotaur.java index fe7b7caf67f..a72574382ed 100644 --- a/Mage.Sets/src/mage/cards/p/PensiveMinotaur.java +++ b/Mage.Sets/src/mage/cards/p/PensiveMinotaur.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class PensiveMinotaur extends CardImpl { public PensiveMinotaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PentarchPaladin.java b/Mage.Sets/src/mage/cards/p/PentarchPaladin.java index b85684c9258..8ed6f885ace 100644 --- a/Mage.Sets/src/mage/cards/p/PentarchPaladin.java +++ b/Mage.Sets/src/mage/cards/p/PentarchPaladin.java @@ -1,105 +1,106 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.p; - -import java.util.UUID; -import mage.MageInt; -import mage.ObjectColor; -import mage.abilities.Ability; -import mage.abilities.common.AsEntersBattlefieldAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.ChooseColorEffect; -import mage.abilities.keyword.FlankingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.FilterPermanent; -import mage.filter.predicate.mageobject.ColorPredicate; -import mage.game.Game; -import mage.target.TargetPermanent; -import mage.abilities.effects.common.DestroyTargetEffect; - -/** - * - * @author jeffwadsworth - */ -public class PentarchPaladin extends CardImpl { - - private final UUID originalId; - FilterPermanent filter = new FilterPermanent("permanent of the chosen color."); - - public PentarchPaladin(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}{W}"); - - this.subtype.add("Human"); - this.subtype.add("Knight"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // Flanking - this.addAbility(new FlankingAbility()); - - // As Pentarch Paladin enters the battlefield, choose a color. - this.addAbility(new AsEntersBattlefieldAbility(new ChooseColorEffect(Outcome.Detriment))); - - // {W}{W}, {tap}: Destroy target permanent of the chosen color. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{W}{W}")); - ability.addCost(new TapSourceCost()); - ability.addTarget(new TargetPermanent(filter)); - originalId = ability.getOriginalId(); - this.addAbility(ability); - - } - - @Override - public void adjustTargets(Ability ability, Game game) { - ObjectColor color = (ObjectColor) game.getState().getValue(ability.getSourceId() + "_color"); - if (ability.getOriginalId().equals(originalId) - && color != null) { - ability.getTargets().clear(); - FilterPermanent filter = new FilterPermanent("permanent of the chosen color."); - filter.add(new ColorPredicate(color)); - TargetPermanent target = new TargetPermanent(filter); - ability.addTarget(target); - } - } - - public PentarchPaladin(final PentarchPaladin card) { - super(card); - this.originalId = card.originalId; - } - - @Override - public PentarchPaladin copy() { - return new PentarchPaladin(this); - } +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.p; + +import java.util.UUID; +import mage.MageInt; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.AsEntersBattlefieldAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.ChooseColorEffect; +import mage.abilities.keyword.FlankingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.FilterPermanent; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.game.Game; +import mage.target.TargetPermanent; +import mage.abilities.effects.common.DestroyTargetEffect; + +/** + * + * @author jeffwadsworth + */ +public class PentarchPaladin extends CardImpl { + + private final UUID originalId; + FilterPermanent filter = new FilterPermanent("permanent of the chosen color."); + + public PentarchPaladin(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}{W}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Flanking + this.addAbility(new FlankingAbility()); + + // As Pentarch Paladin enters the battlefield, choose a color. + this.addAbility(new AsEntersBattlefieldAbility(new ChooseColorEffect(Outcome.Detriment))); + + // {W}{W}, {tap}: Destroy target permanent of the chosen color. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new ManaCostsImpl("{W}{W}")); + ability.addCost(new TapSourceCost()); + ability.addTarget(new TargetPermanent(filter)); + originalId = ability.getOriginalId(); + this.addAbility(ability); + + } + + @Override + public void adjustTargets(Ability ability, Game game) { + ObjectColor color = (ObjectColor) game.getState().getValue(ability.getSourceId() + "_color"); + if (ability.getOriginalId().equals(originalId) + && color != null) { + ability.getTargets().clear(); + FilterPermanent filter = new FilterPermanent("permanent of the chosen color."); + filter.add(new ColorPredicate(color)); + TargetPermanent target = new TargetPermanent(filter); + ability.addTarget(target); + } + } + + public PentarchPaladin(final PentarchPaladin card) { + super(card); + this.originalId = card.originalId; + } + + @Override + public PentarchPaladin copy() { + return new PentarchPaladin(this); + } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/cards/p/PentarchWard.java b/Mage.Sets/src/mage/cards/p/PentarchWard.java index ea90e3ba9c9..4e793c92726 100644 --- a/Mage.Sets/src/mage/cards/p/PentarchWard.java +++ b/Mage.Sets/src/mage/cards/p/PentarchWard.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -52,7 +53,7 @@ public class PentarchWard extends CardImpl { public PentarchWard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/p/Pentavus.java b/Mage.Sets/src/mage/cards/p/Pentavus.java index 26cb3dcd5dc..95f8d141141 100644 --- a/Mage.Sets/src/mage/cards/p/Pentavus.java +++ b/Mage.Sets/src/mage/cards/p/Pentavus.java @@ -62,7 +62,7 @@ public class Pentavus extends CardImpl { public Pentavus(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{7}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PenumbraBobcat.java b/Mage.Sets/src/mage/cards/p/PenumbraBobcat.java index efa583fdd5d..110b7e64643 100644 --- a/Mage.Sets/src/mage/cards/p/PenumbraBobcat.java +++ b/Mage.Sets/src/mage/cards/p/PenumbraBobcat.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.PenumbraBobcatToken; /** @@ -44,7 +45,7 @@ public class PenumbraBobcat extends CardImpl { public PenumbraBobcat(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PenumbraKavu.java b/Mage.Sets/src/mage/cards/p/PenumbraKavu.java index c9f872aa7ba..d12abf83525 100644 --- a/Mage.Sets/src/mage/cards/p/PenumbraKavu.java +++ b/Mage.Sets/src/mage/cards/p/PenumbraKavu.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.PenumbraKavuToken; /** @@ -44,7 +45,7 @@ public class PenumbraKavu extends CardImpl { public PenumbraKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PenumbraSpider.java b/Mage.Sets/src/mage/cards/p/PenumbraSpider.java index c3cb9f85702..a025bb49807 100644 --- a/Mage.Sets/src/mage/cards/p/PenumbraSpider.java +++ b/Mage.Sets/src/mage/cards/p/PenumbraSpider.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.PenumbraSpiderToken; /** @@ -45,7 +46,7 @@ public class PenumbraSpider extends CardImpl { public PenumbraSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PenumbraWurm.java b/Mage.Sets/src/mage/cards/p/PenumbraWurm.java index d1ac7efa515..04e0464ff86 100644 --- a/Mage.Sets/src/mage/cards/p/PenumbraWurm.java +++ b/Mage.Sets/src/mage/cards/p/PenumbraWurm.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.PenumbraWurmToken; /** @@ -45,7 +46,7 @@ public class PenumbraWurm extends CardImpl { public PenumbraWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/p/PeopleOfTheWoods.java b/Mage.Sets/src/mage/cards/p/PeopleOfTheWoods.java index 074520b1b28..af375c7bb98 100644 --- a/Mage.Sets/src/mage/cards/p/PeopleOfTheWoods.java +++ b/Mage.Sets/src/mage/cards/p/PeopleOfTheWoods.java @@ -55,7 +55,7 @@ public class PeopleOfTheWoods extends CardImpl { public PeopleOfTheWoods(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/Peppersmoke.java b/Mage.Sets/src/mage/cards/p/Peppersmoke.java index 6af95104489..48d77f2d60a 100644 --- a/Mage.Sets/src/mage/cards/p/Peppersmoke.java +++ b/Mage.Sets/src/mage/cards/p/Peppersmoke.java @@ -55,7 +55,7 @@ public class Peppersmoke extends CardImpl { public Peppersmoke(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{B}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); // Target creature gets -1/-1 until end of turn. If you control a Faerie, draw a card. diff --git a/Mage.Sets/src/mage/cards/p/PeregrineDrake.java b/Mage.Sets/src/mage/cards/p/PeregrineDrake.java index 1e86841fbe1..c3ae00ae8c8 100644 --- a/Mage.Sets/src/mage/cards/p/PeregrineDrake.java +++ b/Mage.Sets/src/mage/cards/p/PeregrineDrake.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class PeregrineDrake extends CardImpl { public PeregrineDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PeregrineGriffin.java b/Mage.Sets/src/mage/cards/p/PeregrineGriffin.java index 5bda514a1af..b27f0279f00 100644 --- a/Mage.Sets/src/mage/cards/p/PeregrineGriffin.java +++ b/Mage.Sets/src/mage/cards/p/PeregrineGriffin.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -43,7 +44,7 @@ public class PeregrineGriffin extends CardImpl { public PeregrineGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PeregrineMask.java b/Mage.Sets/src/mage/cards/p/PeregrineMask.java index b0da4f63d6a..998430a3f7f 100644 --- a/Mage.Sets/src/mage/cards/p/PeregrineMask.java +++ b/Mage.Sets/src/mage/cards/p/PeregrineMask.java @@ -48,7 +48,7 @@ public class PeregrineMask extends CardImpl { public PeregrineMask(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has defender, flying, and first strike. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(DefenderAbility.getInstance(), AttachmentType.EQUIPMENT)); ability.addEffect(new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.EQUIPMENT)); diff --git a/Mage.Sets/src/mage/cards/p/PerfectedForm.java b/Mage.Sets/src/mage/cards/p/PerfectedForm.java index 9836d18d248..71fc378da7a 100644 --- a/Mage.Sets/src/mage/cards/p/PerfectedForm.java +++ b/Mage.Sets/src/mage/cards/p/PerfectedForm.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class PerfectedForm extends CardImpl { public PerfectedForm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Insect"); - this.subtype.add("Horror"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.HORROR); this.power = new MageInt(5); this.toughness = new MageInt(4); this.color.setBlue(true); diff --git a/Mage.Sets/src/mage/cards/p/PerilousMyr.java b/Mage.Sets/src/mage/cards/p/PerilousMyr.java index dc76c7452dc..78f65d51345 100644 --- a/Mage.Sets/src/mage/cards/p/PerilousMyr.java +++ b/Mage.Sets/src/mage/cards/p/PerilousMyr.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; /** @@ -45,7 +46,7 @@ public class PerilousMyr extends CardImpl { public PerilousMyr(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PerilousShadow.java b/Mage.Sets/src/mage/cards/p/PerilousShadow.java index 3e29714716c..b59b2a7f493 100644 --- a/Mage.Sets/src/mage/cards/p/PerilousShadow.java +++ b/Mage.Sets/src/mage/cards/p/PerilousShadow.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class PerilousShadow extends CardImpl { public PerilousShadow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Insect"); - this.subtype.add("Shade"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.SHADE); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PerimeterCaptain.java b/Mage.Sets/src/mage/cards/p/PerimeterCaptain.java index 052acdd35ab..0872b0216d9 100644 --- a/Mage.Sets/src/mage/cards/p/PerimeterCaptain.java +++ b/Mage.Sets/src/mage/cards/p/PerimeterCaptain.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -50,8 +51,8 @@ public class PerimeterCaptain extends CardImpl { public PerimeterCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PermeatingMass.java b/Mage.Sets/src/mage/cards/p/PermeatingMass.java index ac630dafa4d..b1eb13fdc40 100644 --- a/Mage.Sets/src/mage/cards/p/PermeatingMass.java +++ b/Mage.Sets/src/mage/cards/p/PermeatingMass.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.game.Game; @@ -49,7 +50,7 @@ public class PermeatingMass extends CardImpl { public PermeatingMass(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PerplexingChimera.java b/Mage.Sets/src/mage/cards/p/PerplexingChimera.java index e2f5d126c9c..e37a20b7685 100644 --- a/Mage.Sets/src/mage/cards/p/PerplexingChimera.java +++ b/Mage.Sets/src/mage/cards/p/PerplexingChimera.java @@ -38,6 +38,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -101,7 +102,7 @@ public class PerplexingChimera extends CardImpl { public PerplexingChimera(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{4}{U}"); - this.subtype.add("Chimera"); + this.subtype.add(SubType.CHIMERA); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PersistentNightmare.java b/Mage.Sets/src/mage/cards/p/PersistentNightmare.java index d08de62287c..efaf3951a0e 100644 --- a/Mage.Sets/src/mage/cards/p/PersistentNightmare.java +++ b/Mage.Sets/src/mage/cards/p/PersistentNightmare.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SkulkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class PersistentNightmare extends CardImpl { public PersistentNightmare(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Nightmare"); + this.subtype.add(SubType.NIGHTMARE); this.power = new MageInt(1); this.toughness = new MageInt(1); this.color.setBlue(true); diff --git a/Mage.Sets/src/mage/cards/p/PersonalEnergyShield.java b/Mage.Sets/src/mage/cards/p/PersonalEnergyShield.java index 172e63ce8bc..e8f666f3ef7 100644 --- a/Mage.Sets/src/mage/cards/p/PersonalEnergyShield.java +++ b/Mage.Sets/src/mage/cards/p/PersonalEnergyShield.java @@ -1,105 +1,105 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.p; - -import java.util.UUID; -import mage.abilities.Mode; -import mage.abilities.effects.common.CounterTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.FilterSpell; -import mage.filter.predicate.ObjectPlayer; -import mage.filter.predicate.ObjectPlayerPredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.game.stack.StackObject; -import mage.target.Target; -import mage.target.TargetSpell; - -/** - * - * @author Styxo - */ -public class PersonalEnergyShield extends CardImpl { - - private final static FilterSpell filter = new FilterSpell("spell that targets you or a permanent you control"); - - static { - filter.add(new PersonalEnergyFieldPredicate()); - } - - public PersonalEnergyShield(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{U}"); - - // Counter target spell that targets you or a permanent you control. - this.getSpellAbility().addEffect(new CounterTargetEffect()); - this.getSpellAbility().addTarget(new TargetSpell(filter)); - } - - public PersonalEnergyShield(final PersonalEnergyShield card) { - super(card); - } - - @Override - public PersonalEnergyShield copy() { - return new PersonalEnergyShield(this); - } -} - -class PersonalEnergyFieldPredicate implements ObjectPlayerPredicate> { - - @Override - public boolean apply(ObjectPlayer input, Game game) { - UUID controllerId = input.getPlayerId(); - if (controllerId == null) { - return false; - } - - for (UUID modeId : input.getObject().getStackAbility().getModes().getSelectedModes()) { - Mode mode = input.getObject().getStackAbility().getModes().get(modeId); - for (Target target : mode.getTargets()) { - for (UUID targetId : target.getTargets()) { - if (controllerId.equals(targetId)) { - return true; - } - Permanent permanent = game.getPermanent(targetId); - if (permanent != null && controllerId.equals(permanent.getControllerId())) { - return true; - } - } - } - } - return false; - } - - @Override - public String toString() { - return "spell that targets you or a permanent you control"; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.p; + +import java.util.UUID; +import mage.abilities.Mode; +import mage.abilities.effects.common.CounterTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.FilterSpell; +import mage.filter.predicate.ObjectPlayer; +import mage.filter.predicate.ObjectPlayerPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.game.stack.StackObject; +import mage.target.Target; +import mage.target.TargetSpell; + +/** + * + * @author Styxo + */ +public class PersonalEnergyShield extends CardImpl { + + private final static FilterSpell filter = new FilterSpell("spell that targets you or a permanent you control"); + + static { + filter.add(new PersonalEnergyFieldPredicate()); + } + + public PersonalEnergyShield(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{U}"); + + // Counter target spell that targets you or a permanent you control. + this.getSpellAbility().addEffect(new CounterTargetEffect()); + this.getSpellAbility().addTarget(new TargetSpell(filter)); + } + + public PersonalEnergyShield(final PersonalEnergyShield card) { + super(card); + } + + @Override + public PersonalEnergyShield copy() { + return new PersonalEnergyShield(this); + } +} + +class PersonalEnergyFieldPredicate implements ObjectPlayerPredicate> { + + @Override + public boolean apply(ObjectPlayer input, Game game) { + UUID controllerId = input.getPlayerId(); + if (controllerId == null) { + return false; + } + + for (UUID modeId : input.getObject().getStackAbility().getModes().getSelectedModes()) { + Mode mode = input.getObject().getStackAbility().getModes().get(modeId); + for (Target target : mode.getTargets()) { + for (UUID targetId : target.getTargets()) { + if (controllerId.equals(targetId)) { + return true; + } + Permanent permanent = game.getPermanent(targetId); + if (permanent != null && controllerId.equals(permanent.getControllerId())) { + return true; + } + } + } + } + return false; + } + + @Override + public String toString() { + return "spell that targets you or a permanent you control"; + } +} diff --git a/Mage.Sets/src/mage/cards/p/PersonalIncarnation.java b/Mage.Sets/src/mage/cards/p/PersonalIncarnation.java index 1225958e727..63ff9fa5de2 100644 --- a/Mage.Sets/src/mage/cards/p/PersonalIncarnation.java +++ b/Mage.Sets/src/mage/cards/p/PersonalIncarnation.java @@ -38,6 +38,7 @@ import mage.abilities.effects.RedirectionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -56,8 +57,8 @@ public class PersonalIncarnation extends CardImpl { public PersonalIncarnation(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{W}{W}"); - this.subtype.add("Avatar"); - this.subtype.add("Incarnation"); + this.subtype.add(SubType.AVATAR); + this.subtype.add(SubType.INCARNATION); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/p/Persuasion.java b/Mage.Sets/src/mage/cards/p/Persuasion.java index e34864aeb76..586a4091ac0 100644 --- a/Mage.Sets/src/mage/cards/p/Persuasion.java +++ b/Mage.Sets/src/mage/cards/p/Persuasion.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class Persuasion extends CardImpl { public Persuasion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/p/Pestermite.java b/Mage.Sets/src/mage/cards/p/Pestermite.java index da81f49fb81..2b1ef5c2d65 100644 --- a/Mage.Sets/src/mage/cards/p/Pestermite.java +++ b/Mage.Sets/src/mage/cards/p/Pestermite.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPermanent; /** @@ -47,8 +48,8 @@ public class Pestermite extends CardImpl { public Pestermite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PestilenceDemon.java b/Mage.Sets/src/mage/cards/p/PestilenceDemon.java index 0477bbaff3e..81e132409b7 100644 --- a/Mage.Sets/src/mage/cards/p/PestilenceDemon.java +++ b/Mage.Sets/src/mage/cards/p/PestilenceDemon.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class PestilenceDemon extends CardImpl { public PestilenceDemon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(7); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/p/PestilenceRats.java b/Mage.Sets/src/mage/cards/p/PestilenceRats.java index 2c658e8b878..e64880e61a5 100644 --- a/Mage.Sets/src/mage/cards/p/PestilenceRats.java +++ b/Mage.Sets/src/mage/cards/p/PestilenceRats.java @@ -56,7 +56,7 @@ public class PestilenceRats extends CardImpl { public PestilenceRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PestilentKathari.java b/Mage.Sets/src/mage/cards/p/PestilentKathari.java index 1e032cf8442..333ab5c8dde 100644 --- a/Mage.Sets/src/mage/cards/p/PestilentKathari.java +++ b/Mage.Sets/src/mage/cards/p/PestilentKathari.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class PestilentKathari extends CardImpl { public PestilentKathari(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Bird"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PestilentSouleater.java b/Mage.Sets/src/mage/cards/p/PestilentSouleater.java index f0222d20eec..ee3e7a1fb61 100644 --- a/Mage.Sets/src/mage/cards/p/PestilentSouleater.java +++ b/Mage.Sets/src/mage/cards/p/PestilentSouleater.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class PestilentSouleater extends CardImpl { public PestilentSouleater(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PetalmaneBaku.java b/Mage.Sets/src/mage/cards/p/PetalmaneBaku.java index 36a06286fc8..04726d31319 100644 --- a/Mage.Sets/src/mage/cards/p/PetalmaneBaku.java +++ b/Mage.Sets/src/mage/cards/p/PetalmaneBaku.java @@ -41,6 +41,7 @@ import mage.abilities.mana.DynamicManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.StaticFilters; @@ -51,7 +52,7 @@ public class PetalmaneBaku extends CardImpl { public PetalmaneBaku(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/Petradon.java b/Mage.Sets/src/mage/cards/p/Petradon.java index e5e3bee23de..a56825ae87b 100644 --- a/Mage.Sets/src/mage/cards/p/Petradon.java +++ b/Mage.Sets/src/mage/cards/p/Petradon.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetLandPermanent; @@ -53,8 +54,8 @@ public class Petradon extends CardImpl { public Petradon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{R}{R}"); - this.subtype.add("Nightmare"); - this.subtype.add("Beast"); + this.subtype.add(SubType.NIGHTMARE); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/p/Petrahydrox.java b/Mage.Sets/src/mage/cards/p/Petrahydrox.java index 8c4c7674aa8..65376c41264 100644 --- a/Mage.Sets/src/mage/cards/p/Petrahydrox.java +++ b/Mage.Sets/src/mage/cards/p/Petrahydrox.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class Petrahydrox extends CardImpl { public Petrahydrox(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U/R}"); - this.subtype.add("Weird"); + this.subtype.add(SubType.WEIRD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/Petravark.java b/Mage.Sets/src/mage/cards/p/Petravark.java index 35be2708769..515ec803080 100644 --- a/Mage.Sets/src/mage/cards/p/Petravark.java +++ b/Mage.Sets/src/mage/cards/p/Petravark.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnFromExileForSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetLandPermanent; @@ -48,8 +49,8 @@ public class Petravark extends CardImpl { public Petravark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Nightmare"); - this.subtype.add("Beast"); + this.subtype.add(SubType.NIGHTMARE); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PetrifiedPlating.java b/Mage.Sets/src/mage/cards/p/PetrifiedPlating.java index 080f5920d69..35e4619fe2f 100644 --- a/Mage.Sets/src/mage/cards/p/PetrifiedPlating.java +++ b/Mage.Sets/src/mage/cards/p/PetrifiedPlating.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class PetrifiedPlating extends CardImpl { public PetrifiedPlating(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/p/PewterGolem.java b/Mage.Sets/src/mage/cards/p/PewterGolem.java index a92ead7a2ed..66e725c50a0 100644 --- a/Mage.Sets/src/mage/cards/p/PewterGolem.java +++ b/Mage.Sets/src/mage/cards/p/PewterGolem.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class PewterGolem extends CardImpl { public PewterGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(4); this.toughness = new MageInt(2); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{1}{B}"))); diff --git a/Mage.Sets/src/mage/cards/p/PhageTheUntouchable.java b/Mage.Sets/src/mage/cards/p/PhageTheUntouchable.java index 6acf7d30ba8..d932fb09717 100644 --- a/Mage.Sets/src/mage/cards/p/PhageTheUntouchable.java +++ b/Mage.Sets/src/mage/cards/p/PhageTheUntouchable.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.LoseGameTargetPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.watchers.common.CastFromHandWatcher; @@ -53,8 +54,8 @@ public class PhageTheUntouchable extends CardImpl { public PhageTheUntouchable(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Avatar"); - this.subtype.add("Minion"); + this.subtype.add(SubType.AVATAR); + this.subtype.add(SubType.MINION); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PhalanxLeader.java b/Mage.Sets/src/mage/cards/p/PhalanxLeader.java index 147278f289c..4a746dff1f6 100644 --- a/Mage.Sets/src/mage/cards/p/PhalanxLeader.java +++ b/Mage.Sets/src/mage/cards/p/PhalanxLeader.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -45,8 +46,8 @@ public class PhalanxLeader extends CardImpl { public PhalanxLeader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/Phantasmagorian.java b/Mage.Sets/src/mage/cards/p/Phantasmagorian.java index e58c48dfc60..0f74b093bb7 100644 --- a/Mage.Sets/src/mage/cards/p/Phantasmagorian.java +++ b/Mage.Sets/src/mage/cards/p/Phantasmagorian.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -56,7 +57,7 @@ public class Phantasmagorian extends CardImpl { public Phantasmagorian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/p/PhantasmalAbomination.java b/Mage.Sets/src/mage/cards/p/PhantasmalAbomination.java index 91d367b5cee..d31c8480494 100644 --- a/Mage.Sets/src/mage/cards/p/PhantasmalAbomination.java +++ b/Mage.Sets/src/mage/cards/p/PhantasmalAbomination.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class PhantasmalAbomination extends CardImpl { public PhantasmalAbomination(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PhantasmalBear.java b/Mage.Sets/src/mage/cards/p/PhantasmalBear.java index b2a0fb95506..50c2732e050 100644 --- a/Mage.Sets/src/mage/cards/p/PhantasmalBear.java +++ b/Mage.Sets/src/mage/cards/p/PhantasmalBear.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class PhantasmalBear extends CardImpl { public PhantasmalBear(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Bear"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.BEAR); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PhantasmalDragon.java b/Mage.Sets/src/mage/cards/p/PhantasmalDragon.java index 28878a03f5f..9d6e388158c 100644 --- a/Mage.Sets/src/mage/cards/p/PhantasmalDragon.java +++ b/Mage.Sets/src/mage/cards/p/PhantasmalDragon.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class PhantasmalDragon extends CardImpl { public PhantasmalDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Dragon"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.DRAGON); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PhantasmalForces.java b/Mage.Sets/src/mage/cards/p/PhantasmalForces.java index 74291c11411..c28059ea49d 100644 --- a/Mage.Sets/src/mage/cards/p/PhantasmalForces.java +++ b/Mage.Sets/src/mage/cards/p/PhantasmalForces.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -46,7 +47,7 @@ public class PhantasmalForces extends CardImpl { public PhantasmalForces(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PhantasmalImage.java b/Mage.Sets/src/mage/cards/p/PhantasmalImage.java index d1f3b20b3a5..78cf8432bb0 100644 --- a/Mage.Sets/src/mage/cards/p/PhantasmalImage.java +++ b/Mage.Sets/src/mage/cards/p/PhantasmalImage.java @@ -80,7 +80,7 @@ public class PhantasmalImage extends CardImpl { public PhantasmalImage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.color.setBlue(true); this.power = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PhantasmalTerrain.java b/Mage.Sets/src/mage/cards/p/PhantasmalTerrain.java index 951bdf9a513..0ff76a2cfbe 100644 --- a/Mage.Sets/src/mage/cards/p/PhantasmalTerrain.java +++ b/Mage.Sets/src/mage/cards/p/PhantasmalTerrain.java @@ -43,6 +43,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -61,7 +62,7 @@ public class PhantasmalTerrain extends CardImpl { public PhantasmalTerrain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/p/Phantatog.java b/Mage.Sets/src/mage/cards/p/Phantatog.java index 97c864887dc..c9bc0e50d16 100644 --- a/Mage.Sets/src/mage/cards/p/Phantatog.java +++ b/Mage.Sets/src/mage/cards/p/Phantatog.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledEnchantmentPermanent; @@ -49,7 +50,7 @@ public class Phantatog extends CardImpl { public Phantatog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); - this.subtype.add("Atog"); + this.subtype.add(SubType.ATOG); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PhantomBeast.java b/Mage.Sets/src/mage/cards/p/PhantomBeast.java index 2eab1395c43..f286768a1a1 100644 --- a/Mage.Sets/src/mage/cards/p/PhantomBeast.java +++ b/Mage.Sets/src/mage/cards/p/PhantomBeast.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class PhantomBeast extends CardImpl { public PhantomBeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Illusion"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ILLUSION); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PhantomCentaur.java b/Mage.Sets/src/mage/cards/p/PhantomCentaur.java index 208bcff512b..f2acd19fda3 100644 --- a/Mage.Sets/src/mage/cards/p/PhantomCentaur.java +++ b/Mage.Sets/src/mage/cards/p/PhantomCentaur.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -48,8 +49,8 @@ public class PhantomCentaur extends CardImpl { public PhantomCentaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PhantomFlock.java b/Mage.Sets/src/mage/cards/p/PhantomFlock.java index 40d5b0c221d..34956cf5c5d 100644 --- a/Mage.Sets/src/mage/cards/p/PhantomFlock.java +++ b/Mage.Sets/src/mage/cards/p/PhantomFlock.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -47,9 +48,9 @@ public class PhantomFlock extends CardImpl { public PhantomFlock(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PhantomGeneral.java b/Mage.Sets/src/mage/cards/p/PhantomGeneral.java index 9d7c5f50e8d..3f3c130a147 100644 --- a/Mage.Sets/src/mage/cards/p/PhantomGeneral.java +++ b/Mage.Sets/src/mage/cards/p/PhantomGeneral.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class PhantomGeneral extends CardImpl { public PhantomGeneral(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Spirit"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PhantomMonster.java b/Mage.Sets/src/mage/cards/p/PhantomMonster.java index 013de960ca1..b54fa7d4726 100644 --- a/Mage.Sets/src/mage/cards/p/PhantomMonster.java +++ b/Mage.Sets/src/mage/cards/p/PhantomMonster.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class PhantomMonster extends CardImpl { public PhantomMonster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PhantomNantuko.java b/Mage.Sets/src/mage/cards/p/PhantomNantuko.java index 49cc4c468c4..bb31bb88ccb 100644 --- a/Mage.Sets/src/mage/cards/p/PhantomNantuko.java +++ b/Mage.Sets/src/mage/cards/p/PhantomNantuko.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -50,8 +51,8 @@ public class PhantomNantuko extends CardImpl { public PhantomNantuko(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Insect"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PhantomNishoba.java b/Mage.Sets/src/mage/cards/p/PhantomNishoba.java index e468abc3d93..755d43286bf 100644 --- a/Mage.Sets/src/mage/cards/p/PhantomNishoba.java +++ b/Mage.Sets/src/mage/cards/p/PhantomNishoba.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -48,9 +49,9 @@ public class PhantomNishoba extends CardImpl { public PhantomNishoba(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Beast"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.BEAST); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PhantomNomad.java b/Mage.Sets/src/mage/cards/p/PhantomNomad.java index a5473c86d03..863afd33c07 100644 --- a/Mage.Sets/src/mage/cards/p/PhantomNomad.java +++ b/Mage.Sets/src/mage/cards/p/PhantomNomad.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -47,8 +48,8 @@ public class PhantomNomad extends CardImpl { public PhantomNomad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Spirit"); - this.subtype.add("Nomad"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.NOMAD); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PhantomTiger.java b/Mage.Sets/src/mage/cards/p/PhantomTiger.java index 9cd51c02a3d..ae28d07554a 100644 --- a/Mage.Sets/src/mage/cards/p/PhantomTiger.java +++ b/Mage.Sets/src/mage/cards/p/PhantomTiger.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -46,8 +47,8 @@ public class PhantomTiger extends CardImpl { public PhantomTiger(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Cat"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PhantomWarrior.java b/Mage.Sets/src/mage/cards/p/PhantomWarrior.java index dc5599a5dc8..b58b4200290 100644 --- a/Mage.Sets/src/mage/cards/p/PhantomWarrior.java +++ b/Mage.Sets/src/mage/cards/p/PhantomWarrior.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class PhantomWarrior extends CardImpl { public PhantomWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Illusion"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ILLUSION); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PhantomWings.java b/Mage.Sets/src/mage/cards/p/PhantomWings.java index 9a299486673..6b9e1609f49 100644 --- a/Mage.Sets/src/mage/cards/p/PhantomWings.java +++ b/Mage.Sets/src/mage/cards/p/PhantomWings.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class PhantomWings extends CardImpl { public PhantomWings(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/p/PhantomWurm.java b/Mage.Sets/src/mage/cards/p/PhantomWurm.java index ac755251877..d38299de701 100644 --- a/Mage.Sets/src/mage/cards/p/PhantomWurm.java +++ b/Mage.Sets/src/mage/cards/p/PhantomWurm.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -47,8 +48,8 @@ public class PhantomWurm extends CardImpl { public PhantomWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Wurm"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.WURM); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PharagaxGiant.java b/Mage.Sets/src/mage/cards/p/PharagaxGiant.java index 8ea864b4b0d..093ac21ebc2 100644 --- a/Mage.Sets/src/mage/cards/p/PharagaxGiant.java +++ b/Mage.Sets/src/mage/cards/p/PharagaxGiant.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TributeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,7 +49,7 @@ public class PharagaxGiant extends CardImpl { public PharagaxGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PharikaGodOfAffliction.java b/Mage.Sets/src/mage/cards/p/PharikaGodOfAffliction.java index 3a62889442a..44d0bafbb68 100644 --- a/Mage.Sets/src/mage/cards/p/PharikaGodOfAffliction.java +++ b/Mage.Sets/src/mage/cards/p/PharikaGodOfAffliction.java @@ -58,7 +58,7 @@ public class PharikaGodOfAffliction extends CardImpl { public PharikaGodOfAffliction(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT, CardType.CREATURE}, "{1}{B}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PharikasChosen.java b/Mage.Sets/src/mage/cards/p/PharikasChosen.java index e13405c13d2..9b0f0090949 100644 --- a/Mage.Sets/src/mage/cards/p/PharikasChosen.java +++ b/Mage.Sets/src/mage/cards/p/PharikasChosen.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class PharikasChosen extends CardImpl { public PharikasChosen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PharikasDisciple.java b/Mage.Sets/src/mage/cards/p/PharikasDisciple.java index 613a62f29b8..94f8fc65ed3 100644 --- a/Mage.Sets/src/mage/cards/p/PharikasDisciple.java +++ b/Mage.Sets/src/mage/cards/p/PharikasDisciple.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.RenownAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class PharikasDisciple extends CardImpl { public PharikasDisciple(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PharikasMender.java b/Mage.Sets/src/mage/cards/p/PharikasMender.java index ce10346ad45..b16989d41f6 100644 --- a/Mage.Sets/src/mage/cards/p/PharikasMender.java +++ b/Mage.Sets/src/mage/cards/p/PharikasMender.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -56,7 +57,7 @@ public class PharikasMender extends CardImpl { public PharikasMender(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{G}"); - this.subtype.add("Gorgon"); + this.subtype.add(SubType.GORGON); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/Phelddagrif.java b/Mage.Sets/src/mage/cards/p/Phelddagrif.java index 8f006372756..cfeec77f40b 100644 --- a/Mage.Sets/src/mage/cards/p/Phelddagrif.java +++ b/Mage.Sets/src/mage/cards/p/Phelddagrif.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class Phelddagrif extends CardImpl { public Phelddagrif(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Phelddagrif"); + this.subtype.add(SubType.PHELDDAGRIF); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PhenaxGodOfDeception.java b/Mage.Sets/src/mage/cards/p/PhenaxGodOfDeception.java index 49a4c7c4921..ad4ca2a1764 100644 --- a/Mage.Sets/src/mage/cards/p/PhenaxGodOfDeception.java +++ b/Mage.Sets/src/mage/cards/p/PhenaxGodOfDeception.java @@ -55,7 +55,7 @@ public class PhenaxGodOfDeception extends CardImpl { public PhenaxGodOfDeception(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{3}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(4); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/p/PheresBandCentaurs.java b/Mage.Sets/src/mage/cards/p/PheresBandCentaurs.java index 6a3530191db..a53bdbc08e9 100644 --- a/Mage.Sets/src/mage/cards/p/PheresBandCentaurs.java +++ b/Mage.Sets/src/mage/cards/p/PheresBandCentaurs.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class PheresBandCentaurs extends CardImpl { public PheresBandCentaurs(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/p/PheresBandRaiders.java b/Mage.Sets/src/mage/cards/p/PheresBandRaiders.java index fd6d8f34c56..e8c3759b54f 100644 --- a/Mage.Sets/src/mage/cards/p/PheresBandRaiders.java +++ b/Mage.Sets/src/mage/cards/p/PheresBandRaiders.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.InspiredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.CentaurEnchantmentCreatureToken; /** @@ -46,8 +47,8 @@ public class PheresBandRaiders extends CardImpl { public PheresBandRaiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PheresBandThunderhoof.java b/Mage.Sets/src/mage/cards/p/PheresBandThunderhoof.java index 23fde193ed3..7b819cd8fc9 100644 --- a/Mage.Sets/src/mage/cards/p/PheresBandThunderhoof.java +++ b/Mage.Sets/src/mage/cards/p/PheresBandThunderhoof.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -44,8 +45,8 @@ public class PheresBandThunderhoof extends CardImpl { public PheresBandThunderhoof(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PheresBandTromper.java b/Mage.Sets/src/mage/cards/p/PheresBandTromper.java index ba94bf90cff..5126a381bc3 100644 --- a/Mage.Sets/src/mage/cards/p/PheresBandTromper.java +++ b/Mage.Sets/src/mage/cards/p/PheresBandTromper.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.InspiredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -44,8 +45,8 @@ public class PheresBandTromper extends CardImpl { public PheresBandTromper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PheresBandWarchief.java b/Mage.Sets/src/mage/cards/p/PheresBandWarchief.java index 25c235bc1f5..13c4209efb4 100644 --- a/Mage.Sets/src/mage/cards/p/PheresBandWarchief.java +++ b/Mage.Sets/src/mage/cards/p/PheresBandWarchief.java @@ -58,8 +58,8 @@ public class PheresBandWarchief extends CardImpl { public PheresBandWarchief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PhobianPhantasm.java b/Mage.Sets/src/mage/cards/p/PhobianPhantasm.java index c4fd43667a8..8cc584c737a 100644 --- a/Mage.Sets/src/mage/cards/p/PhobianPhantasm.java +++ b/Mage.Sets/src/mage/cards/p/PhobianPhantasm.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class PhobianPhantasm extends CardImpl { public PhobianPhantasm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PhylacteryLich.java b/Mage.Sets/src/mage/cards/p/PhylacteryLich.java index b866d61853a..76dc257746e 100644 --- a/Mage.Sets/src/mage/cards/p/PhylacteryLich.java +++ b/Mage.Sets/src/mage/cards/p/PhylacteryLich.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.Counter; @@ -57,7 +58,7 @@ public class PhylacteryLich extends CardImpl { public PhylacteryLich(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/Phyresis.java b/Mage.Sets/src/mage/cards/p/Phyresis.java index f0bdf499950..25e1b179ac2 100644 --- a/Mage.Sets/src/mage/cards/p/Phyresis.java +++ b/Mage.Sets/src/mage/cards/p/Phyresis.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -52,7 +53,7 @@ public class Phyresis extends CardImpl { public Phyresis (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianBattleflies.java b/Mage.Sets/src/mage/cards/p/PhyrexianBattleflies.java index f868615ae38..bc958e550dd 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianBattleflies.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianBattleflies.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class PhyrexianBattleflies extends CardImpl { public PhyrexianBattleflies(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianBloodstock.java b/Mage.Sets/src/mage/cards/p/PhyrexianBloodstock.java index bcfcccc158c..02bb0646d80 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianBloodstock.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianBloodstock.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; import mage.target.common.TargetCreaturePermanent; @@ -54,7 +55,7 @@ public class PhyrexianBloodstock extends CardImpl { public PhyrexianBloodstock(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianBroodlings.java b/Mage.Sets/src/mage/cards/p/PhyrexianBroodlings.java index ed63a88c2f9..50b78edeb9c 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianBroodlings.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianBroodlings.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetControlledCreaturePermanent; @@ -49,7 +50,7 @@ public class PhyrexianBroodlings extends CardImpl { public PhyrexianBroodlings(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Minion"); + this.subtype.add(SubType.MINION); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianColossus.java b/Mage.Sets/src/mage/cards/p/PhyrexianColossus.java index e50648b818f..5302f837af8 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianColossus.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianColossus.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByOneEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class PhyrexianColossus extends CardImpl { public PhyrexianColossus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianCrusader.java b/Mage.Sets/src/mage/cards/p/PhyrexianCrusader.java index 2cf8a6cfcf5..841d677efe9 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianCrusader.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianCrusader.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class PhyrexianCrusader extends CardImpl { public PhyrexianCrusader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianDebaser.java b/Mage.Sets/src/mage/cards/p/PhyrexianDebaser.java index aa859f8b2d4..0ce5bbdc430 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianDebaser.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianDebaser.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,7 +51,7 @@ public class PhyrexianDebaser extends CardImpl { public PhyrexianDebaser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Carrier"); + this.subtype.add(SubType.CARRIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianDefiler.java b/Mage.Sets/src/mage/cards/p/PhyrexianDefiler.java index e4a4897cd40..33d804fcbe3 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianDefiler.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianDefiler.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class PhyrexianDefiler extends CardImpl { public PhyrexianDefiler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Carrier"); + this.subtype.add(SubType.CARRIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianDelver.java b/Mage.Sets/src/mage/cards/p/PhyrexianDelver.java index d2ab2d80c4d..28738beb3e7 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianDelver.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianDelver.java @@ -36,6 +36,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -52,7 +53,7 @@ public class PhyrexianDelver extends CardImpl { public PhyrexianDelver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianDenouncer.java b/Mage.Sets/src/mage/cards/p/PhyrexianDenouncer.java index ef99342ee9a..bb779836858 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianDenouncer.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianDenouncer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class PhyrexianDenouncer extends CardImpl { public PhyrexianDenouncer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Carrier"); + this.subtype.add(SubType.CARRIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianDevourer.java b/Mage.Sets/src/mage/cards/p/PhyrexianDevourer.java index a8bd254a411..4eff6c47d89 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianDevourer.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianDevourer.java @@ -41,6 +41,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -57,7 +58,7 @@ public class PhyrexianDevourer extends CardImpl { public PhyrexianDevourer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianDigester.java b/Mage.Sets/src/mage/cards/p/PhyrexianDigester.java index 4f166f76c25..9712b550d03 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianDigester.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianDigester.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class PhyrexianDigester extends CardImpl { public PhyrexianDigester (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(1); this.addAbility(InfectAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianDreadnought.java b/Mage.Sets/src/mage/cards/p/PhyrexianDreadnought.java index 97eec979523..9a809a46324 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianDreadnought.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianDreadnought.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.StaticFilters; import mage.filter.common.FilterControlledCreaturePermanent; @@ -54,7 +55,7 @@ public class PhyrexianDreadnought extends CardImpl { public PhyrexianDreadnought(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}"); - this.subtype.add("Dreadnought"); + this.subtype.add(SubType.DREADNOUGHT); this.power = new MageInt(12); this.toughness = new MageInt(12); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianDriver.java b/Mage.Sets/src/mage/cards/p/PhyrexianDriver.java index 0d86e2eaa7e..275a13b86f1 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianDriver.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianDriver.java @@ -52,8 +52,8 @@ public class PhyrexianDriver extends CardImpl { public PhyrexianDriver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianGargantua.java b/Mage.Sets/src/mage/cards/p/PhyrexianGargantua.java index 4af0d22745b..62dc597b256 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianGargantua.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianGargantua.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class PhyrexianGargantua extends CardImpl { public PhyrexianGargantua(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianGhoul.java b/Mage.Sets/src/mage/cards/p/PhyrexianGhoul.java index f038d32332d..8203c93a699 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianGhoul.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianGhoul.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -47,7 +48,7 @@ public class PhyrexianGhoul extends CardImpl { public PhyrexianGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianGremlins.java b/Mage.Sets/src/mage/cards/p/PhyrexianGremlins.java index fbf960e654f..47a3a01c0ba 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianGremlins.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianGremlins.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetArtifactPermanent; @@ -49,7 +50,7 @@ public class PhyrexianGremlins extends CardImpl { public PhyrexianGremlins(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Gremlin"); + this.subtype.add(SubType.GREMLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianHulk.java b/Mage.Sets/src/mage/cards/p/PhyrexianHulk.java index 6e4a73e4197..ced45b68eeb 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianHulk.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianHulk.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class PhyrexianHulk extends CardImpl { public PhyrexianHulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianHydra.java b/Mage.Sets/src/mage/cards/p/PhyrexianHydra.java index cb72cd0c693..449a7716ee8 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianHydra.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianHydra.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -52,7 +53,7 @@ public class PhyrexianHydra extends CardImpl { public PhyrexianHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianInfiltrator.java b/Mage.Sets/src/mage/cards/p/PhyrexianInfiltrator.java index ec6d72eb171..5e23a3e2fd2 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianInfiltrator.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianInfiltrator.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.ExchangeControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class PhyrexianInfiltrator extends CardImpl { public PhyrexianInfiltrator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Minion"); + this.subtype.add(SubType.MINION); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianIngester.java b/Mage.Sets/src/mage/cards/p/PhyrexianIngester.java index a51ae8cca2f..b3b12c1c5e8 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianIngester.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianIngester.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -66,7 +67,7 @@ public class PhyrexianIngester extends CardImpl { public PhyrexianIngester(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianIronfoot.java b/Mage.Sets/src/mage/cards/p/PhyrexianIronfoot.java index 0369d92495b..0f13021742b 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianIronfoot.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianIronfoot.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class PhyrexianIronfoot extends CardImpl { public PhyrexianIronfoot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); this.addSuperType(SuperType.SNOW); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianJuggernaut.java b/Mage.Sets/src/mage/cards/p/PhyrexianJuggernaut.java index e33700923e6..9bf7757f3f5 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianJuggernaut.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianJuggernaut.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class PhyrexianJuggernaut extends CardImpl { public PhyrexianJuggernaut (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Juggernaut"); + this.subtype.add(SubType.JUGGERNAUT); this.power = new MageInt(5); this.toughness = new MageInt(5); this.addAbility(InfectAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianMarauder.java b/Mage.Sets/src/mage/cards/p/PhyrexianMarauder.java index 68bf40ed5bf..cf70ee64128 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianMarauder.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianMarauder.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.combat.CantAttackBlockUnlessPaysSourceEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -54,7 +55,7 @@ public class PhyrexianMarauder extends CardImpl { public PhyrexianMarauder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{X}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianMetamorph.java b/Mage.Sets/src/mage/cards/p/PhyrexianMetamorph.java index 26c3605d00f..58aff91817f 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianMetamorph.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianMetamorph.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CopyPermanentEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -62,7 +63,7 @@ public class PhyrexianMetamorph extends CardImpl { public PhyrexianMetamorph(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}{U/P}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianMonitor.java b/Mage.Sets/src/mage/cards/p/PhyrexianMonitor.java index 8a3912f7597..3fb7d8ecce7 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianMonitor.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianMonitor.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class PhyrexianMonitor extends CardImpl { public PhyrexianMonitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianNegator.java b/Mage.Sets/src/mage/cards/p/PhyrexianNegator.java index 5cd268618e6..b673200c02a 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianNegator.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianNegator.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.game.Game; @@ -51,7 +52,7 @@ public class PhyrexianNegator extends CardImpl { public PhyrexianNegator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianObliterator.java b/Mage.Sets/src/mage/cards/p/PhyrexianObliterator.java index 1d92ff4b66e..eeee35a9d0d 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianObliterator.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianObliterator.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.game.Game; @@ -52,7 +53,7 @@ public class PhyrexianObliterator extends CardImpl { public PhyrexianObliterator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianPlaguelord.java b/Mage.Sets/src/mage/cards/p/PhyrexianPlaguelord.java index 7144e203f6d..0a026851703 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianPlaguelord.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianPlaguelord.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -51,7 +52,7 @@ public class PhyrexianPlaguelord extends CardImpl { public PhyrexianPlaguelord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Carrier"); + this.subtype.add(SubType.CARRIER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianProwler.java b/Mage.Sets/src/mage/cards/p/PhyrexianProwler.java index f0a0b11f7d1..742414cab84 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianProwler.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianProwler.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FadingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -48,8 +49,8 @@ public class PhyrexianProwler extends CardImpl { public PhyrexianProwler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianRager.java b/Mage.Sets/src/mage/cards/p/PhyrexianRager.java index 418843f20a1..7d5f7fe750d 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianRager.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianRager.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class PhyrexianRager extends CardImpl { public PhyrexianRager (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianReaper.java b/Mage.Sets/src/mage/cards/p/PhyrexianReaper.java index e1293a3f1dd..3042edd2f31 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianReaper.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianReaper.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -52,7 +53,7 @@ public class PhyrexianReaper extends CardImpl { public PhyrexianReaper(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianRevoker.java b/Mage.Sets/src/mage/cards/p/PhyrexianRevoker.java index 135de121226..28d20f8bcd0 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianRevoker.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianRevoker.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.NameACardEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class PhyrexianRevoker extends CardImpl { public PhyrexianRevoker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianScuta.java b/Mage.Sets/src/mage/cards/p/PhyrexianScuta.java index 2c6f37fd981..bd95e5b0d1e 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianScuta.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianScuta.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -48,7 +49,7 @@ public class PhyrexianScuta extends CardImpl { public PhyrexianScuta(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianSlayer.java b/Mage.Sets/src/mage/cards/p/PhyrexianSlayer.java index 9177230c6cd..d83c9e7a4e1 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianSlayer.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianSlayer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -53,7 +54,7 @@ public class PhyrexianSlayer extends CardImpl { public PhyrexianSlayer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Minion"); + this.subtype.add(SubType.MINION); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianSnowcrusher.java b/Mage.Sets/src/mage/cards/p/PhyrexianSnowcrusher.java index 321d88df2b5..658270e0a26 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianSnowcrusher.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianSnowcrusher.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class PhyrexianSnowcrusher extends CardImpl { public PhyrexianSnowcrusher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); addSuperType(SuperType.SNOW); - this.subtype.add("Juggernaut"); + this.subtype.add(SubType.JUGGERNAUT); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianSoulgorger.java b/Mage.Sets/src/mage/cards/p/PhyrexianSoulgorger.java index c4b5658c86a..f9949e4777b 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianSoulgorger.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianSoulgorger.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.CumulativeUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.target.common.TargetControlledCreaturePermanent; @@ -47,7 +48,7 @@ public class PhyrexianSoulgorger extends CardImpl { public PhyrexianSoulgorger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); addSuperType(SuperType.SNOW); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianSwarmlord.java b/Mage.Sets/src/mage/cards/p/PhyrexianSwarmlord.java index 810ea2635e2..0bcf51fe43a 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianSwarmlord.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianSwarmlord.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.events.GameEvent.EventType; import mage.game.permanent.token.InsectInfectToken; @@ -47,8 +48,8 @@ public class PhyrexianSwarmlord extends CardImpl { public PhyrexianSwarmlord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Insect"); - this.subtype.add("Horror"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianTotem.java b/Mage.Sets/src/mage/cards/p/PhyrexianTotem.java index 0eb4476cfbc..d34591cee95 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianTotem.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianTotem.java @@ -40,6 +40,7 @@ import mage.abilities.mana.BlackManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -82,7 +83,7 @@ public class PhyrexianTotem extends CardImpl { cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); color.setBlack(true); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); power = new MageInt(5); toughness = new MageInt(5); this.addAbility(TrampleAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianVatmother.java b/Mage.Sets/src/mage/cards/p/PhyrexianVatmother.java index 66ea53301b5..9e19e525de3 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianVatmother.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianVatmother.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -51,7 +52,7 @@ public class PhyrexianVatmother extends CardImpl { public PhyrexianVatmother (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianWalker.java b/Mage.Sets/src/mage/cards/p/PhyrexianWalker.java index 891bb823dc8..4b39cbb3e1d 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianWalker.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianWalker.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class PhyrexianWalker extends CardImpl { public PhyrexianWalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{0}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(0); this.toughness = new MageInt(3); } diff --git a/Mage.Sets/src/mage/cards/p/PhyrexianWarBeast.java b/Mage.Sets/src/mage/cards/p/PhyrexianWarBeast.java index 17adbd1ca99..074a596fe1a 100644 --- a/Mage.Sets/src/mage/cards/p/PhyrexianWarBeast.java +++ b/Mage.Sets/src/mage/cards/p/PhyrexianWarBeast.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.SacrificeControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledLandPermanent; import mage.target.common.TargetControlledPermanent; @@ -48,7 +49,7 @@ public class PhyrexianWarBeast extends CardImpl { public PhyrexianWarBeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/Phytohydra.java b/Mage.Sets/src/mage/cards/p/Phytohydra.java index 0b908056ec2..3e0f7a45e31 100644 --- a/Mage.Sets/src/mage/cards/p/Phytohydra.java +++ b/Mage.Sets/src/mage/cards/p/Phytohydra.java @@ -50,8 +50,8 @@ public class Phytohydra extends CardImpl { public Phytohydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{W}{W}"); - this.subtype.add("Plant"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/Phytotitan.java b/Mage.Sets/src/mage/cards/p/Phytotitan.java index f3aaa2bc76a..b8e680b2df6 100644 --- a/Mage.Sets/src/mage/cards/p/Phytotitan.java +++ b/Mage.Sets/src/mage/cards/p/Phytotitan.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; @@ -50,8 +51,8 @@ public class Phytotitan extends CardImpl { public Phytotitan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(7); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PiaAndKiranNalaar.java b/Mage.Sets/src/mage/cards/p/PiaAndKiranNalaar.java index f4469a26511..e56ee474934 100644 --- a/Mage.Sets/src/mage/cards/p/PiaAndKiranNalaar.java +++ b/Mage.Sets/src/mage/cards/p/PiaAndKiranNalaar.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; @@ -56,8 +57,8 @@ public class PiaAndKiranNalaar extends CardImpl { public PiaAndKiranNalaar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PiaNalaar.java b/Mage.Sets/src/mage/cards/p/PiaNalaar.java index 1e22ac31988..ce681598bda 100644 --- a/Mage.Sets/src/mage/cards/p/PiaNalaar.java +++ b/Mage.Sets/src/mage/cards/p/PiaNalaar.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -59,8 +60,8 @@ public class PiaNalaar extends CardImpl { public PiaNalaar(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PiannaNomadCaptain.java b/Mage.Sets/src/mage/cards/p/PiannaNomadCaptain.java index f8a6e6ad9fb..eb775493d17 100644 --- a/Mage.Sets/src/mage/cards/p/PiannaNomadCaptain.java +++ b/Mage.Sets/src/mage/cards/p/PiannaNomadCaptain.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; @@ -54,8 +55,8 @@ public class PiannaNomadCaptain extends CardImpl { public PiannaNomadCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Nomad"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PierceStrider.java b/Mage.Sets/src/mage/cards/p/PierceStrider.java index c8a05587510..a94344e257a 100644 --- a/Mage.Sets/src/mage/cards/p/PierceStrider.java +++ b/Mage.Sets/src/mage/cards/p/PierceStrider.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetOpponent; /** @@ -46,7 +47,7 @@ public class PierceStrider extends CardImpl { public PierceStrider (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(3); this.toughness = new MageInt(3); Ability ability = new EntersBattlefieldTriggeredAbility(new LoseLifeTargetEffect(3)); diff --git a/Mage.Sets/src/mage/cards/p/PilgrimOfJustice.java b/Mage.Sets/src/mage/cards/p/PilgrimOfJustice.java index fc26e34b240..6bca38ea514 100644 --- a/Mage.Sets/src/mage/cards/p/PilgrimOfJustice.java +++ b/Mage.Sets/src/mage/cards/p/PilgrimOfJustice.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class PilgrimOfJustice extends CardImpl { public PilgrimOfJustice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PilgrimOfTheFires.java b/Mage.Sets/src/mage/cards/p/PilgrimOfTheFires.java index fc9a989e5a0..5317cc03f1b 100644 --- a/Mage.Sets/src/mage/cards/p/PilgrimOfTheFires.java +++ b/Mage.Sets/src/mage/cards/p/PilgrimOfTheFires.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class PilgrimOfTheFires extends CardImpl { public PilgrimOfTheFires(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PilgrimOfVirtue.java b/Mage.Sets/src/mage/cards/p/PilgrimOfVirtue.java index 7aa40ce5985..5a0efa8d5a3 100644 --- a/Mage.Sets/src/mage/cards/p/PilgrimOfVirtue.java +++ b/Mage.Sets/src/mage/cards/p/PilgrimOfVirtue.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class PilgrimOfVirtue extends CardImpl { public PilgrimOfVirtue(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PilgrimsEye.java b/Mage.Sets/src/mage/cards/p/PilgrimsEye.java index 354cb2c7e13..23a024d07e1 100644 --- a/Mage.Sets/src/mage/cards/p/PilgrimsEye.java +++ b/Mage.Sets/src/mage/cards/p/PilgrimsEye.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterCard; import mage.filter.StaticFilters; @@ -58,7 +59,7 @@ public class PilgrimsEye extends CardImpl { public PilgrimsEye (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Thopter"); + this.subtype.add(SubType.THOPTER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PiliPala.java b/Mage.Sets/src/mage/cards/p/PiliPala.java index 2d553def0a1..8bb859cd411 100644 --- a/Mage.Sets/src/mage/cards/p/PiliPala.java +++ b/Mage.Sets/src/mage/cards/p/PiliPala.java @@ -37,6 +37,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class PiliPala extends CardImpl { public PiliPala(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PillagingHorde.java b/Mage.Sets/src/mage/cards/p/PillagingHorde.java index e4c8e352aeb..bc3044ba419 100644 --- a/Mage.Sets/src/mage/cards/p/PillagingHorde.java +++ b/Mage.Sets/src/mage/cards/p/PillagingHorde.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class PillagingHorde extends CardImpl { public PillagingHorde(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Barbarian"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BARBARIAN); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PillarOfWar.java b/Mage.Sets/src/mage/cards/p/PillarOfWar.java index 9b6997e20f6..1327761b254 100644 --- a/Mage.Sets/src/mage/cards/p/PillarOfWar.java +++ b/Mage.Sets/src/mage/cards/p/PillarOfWar.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class PillarOfWar extends CardImpl { public PillarOfWar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PillarfieldOx.java b/Mage.Sets/src/mage/cards/p/PillarfieldOx.java index dfe9b85c763..1db279c443a 100644 --- a/Mage.Sets/src/mage/cards/p/PillarfieldOx.java +++ b/Mage.Sets/src/mage/cards/p/PillarfieldOx.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class PillarfieldOx extends CardImpl { public PillarfieldOx (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Ox"); + this.subtype.add(SubType.OX); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PilloryOfTheSleepless.java b/Mage.Sets/src/mage/cards/p/PilloryOfTheSleepless.java index e3c28ecd043..36baf1e85fc 100644 --- a/Mage.Sets/src/mage/cards/p/PilloryOfTheSleepless.java +++ b/Mage.Sets/src/mage/cards/p/PilloryOfTheSleepless.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class PilloryOfTheSleepless extends CardImpl { public PilloryOfTheSleepless(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/p/PinToTheEarth.java b/Mage.Sets/src/mage/cards/p/PinToTheEarth.java index a5d5b192260..2e080dcbdc4 100644 --- a/Mage.Sets/src/mage/cards/p/PinToTheEarth.java +++ b/Mage.Sets/src/mage/cards/p/PinToTheEarth.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class PinToTheEarth extends CardImpl { public PinToTheEarth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/p/PincerSpider.java b/Mage.Sets/src/mage/cards/p/PincerSpider.java index 7629af15149..9829ca138de 100644 --- a/Mage.Sets/src/mage/cards/p/PincerSpider.java +++ b/Mage.Sets/src/mage/cards/p/PincerSpider.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -49,7 +50,7 @@ public class PincerSpider extends CardImpl { public PincerSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PincherBeetles.java b/Mage.Sets/src/mage/cards/p/PincherBeetles.java index c2b2369f726..868301d756b 100644 --- a/Mage.Sets/src/mage/cards/p/PincherBeetles.java +++ b/Mage.Sets/src/mage/cards/p/PincherBeetles.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class PincherBeetles extends CardImpl { public PincherBeetles(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PineWalker.java b/Mage.Sets/src/mage/cards/p/PineWalker.java index 9ebc06e29cc..666601ee1ec 100644 --- a/Mage.Sets/src/mage/cards/p/PineWalker.java +++ b/Mage.Sets/src/mage/cards/p/PineWalker.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; /** @@ -47,7 +48,7 @@ public class PineWalker extends CardImpl { public PineWalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PiousEvangel.java b/Mage.Sets/src/mage/cards/p/PiousEvangel.java index cf6131f527b..4fe5e915f4e 100644 --- a/Mage.Sets/src/mage/cards/p/PiousEvangel.java +++ b/Mage.Sets/src/mage/cards/p/PiousEvangel.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.w.WaywardDisciple; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledPermanent; @@ -64,8 +65,8 @@ public class PiousEvangel extends CardImpl { public PiousEvangel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PiousKitsune.java b/Mage.Sets/src/mage/cards/p/PiousKitsune.java index 43674144869..ddd1df5baa2 100644 --- a/Mage.Sets/src/mage/cards/p/PiousKitsune.java +++ b/Mage.Sets/src/mage/cards/p/PiousKitsune.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -58,8 +59,8 @@ public class PiousKitsune extends CardImpl { public PiousKitsune(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Fox"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.FOX); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PiousWarrior.java b/Mage.Sets/src/mage/cards/p/PiousWarrior.java index 162c2536292..3154314046a 100644 --- a/Mage.Sets/src/mage/cards/p/PiousWarrior.java +++ b/Mage.Sets/src/mage/cards/p/PiousWarrior.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,9 +52,9 @@ public class PiousWarrior extends CardImpl { public PiousWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PirateShip.java b/Mage.Sets/src/mage/cards/p/PirateShip.java index 7b3bed101ae..e5c723ce6a4 100644 --- a/Mage.Sets/src/mage/cards/p/PirateShip.java +++ b/Mage.Sets/src/mage/cards/p/PirateShip.java @@ -53,8 +53,8 @@ public class PirateShip extends CardImpl { public PirateShip(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PiratesCutlass.java b/Mage.Sets/src/mage/cards/p/PiratesCutlass.java index 0c6b00b464a..20e66dda7c2 100644 --- a/Mage.Sets/src/mage/cards/p/PiratesCutlass.java +++ b/Mage.Sets/src/mage/cards/p/PiratesCutlass.java @@ -63,7 +63,7 @@ public class PiratesCutlass extends CardImpl { public PiratesCutlass(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // When Pirate's Cutlass enters the battlefield, attach it to target Pirate you control. Ability ability = new EntersBattlefieldTriggeredAbility(new AttachEffect(Outcome.BoostCreature, "attach it to target Pirate you control"), false); diff --git a/Mage.Sets/src/mage/cards/p/PistonSledge.java b/Mage.Sets/src/mage/cards/p/PistonSledge.java index 3f49583cac3..4fd1a823e96 100644 --- a/Mage.Sets/src/mage/cards/p/PistonSledge.java +++ b/Mage.Sets/src/mage/cards/p/PistonSledge.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -61,7 +62,7 @@ public class PistonSledge extends CardImpl { public PistonSledge (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); Ability ability = new EntersBattlefieldTriggeredAbility(new AttachEffect(Outcome.BoostCreature, "attach it to target creature you control"), false); ability.addTarget(new TargetControlledCreaturePermanent()); diff --git a/Mage.Sets/src/mage/cards/p/PitImp.java b/Mage.Sets/src/mage/cards/p/PitImp.java index d9fe9c226a1..91669c5b1c8 100644 --- a/Mage.Sets/src/mage/cards/p/PitImp.java +++ b/Mage.Sets/src/mage/cards/p/PitImp.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class PitImp extends CardImpl { public PitImp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PitKeeper.java b/Mage.Sets/src/mage/cards/p/PitKeeper.java index 92d00c8ba09..0ee13d589d5 100644 --- a/Mage.Sets/src/mage/cards/p/PitKeeper.java +++ b/Mage.Sets/src/mage/cards/p/PitKeeper.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.game.Game; import mage.players.Player; @@ -51,8 +52,8 @@ public class PitKeeper extends CardImpl { public PitKeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PitRaptor.java b/Mage.Sets/src/mage/cards/p/PitRaptor.java index 325580bb110..5aaf7565445 100644 --- a/Mage.Sets/src/mage/cards/p/PitRaptor.java +++ b/Mage.Sets/src/mage/cards/p/PitRaptor.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -47,8 +48,8 @@ public class PitRaptor extends CardImpl { public PitRaptor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Bird"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PitScorpion.java b/Mage.Sets/src/mage/cards/p/PitScorpion.java index c937512458d..f14e3d3cb08 100644 --- a/Mage.Sets/src/mage/cards/p/PitScorpion.java +++ b/Mage.Sets/src/mage/cards/p/PitScorpion.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddPoisonCounterTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class PitScorpion extends CardImpl { public PitScorpion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Scorpion"); + this.subtype.add(SubType.SCORPION); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PitSpawn.java b/Mage.Sets/src/mage/cards/p/PitSpawn.java index 012c0f3b90f..f9785e1772d 100644 --- a/Mage.Sets/src/mage/cards/p/PitSpawn.java +++ b/Mage.Sets/src/mage/cards/p/PitSpawn.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,7 +49,7 @@ public class PitSpawn extends CardImpl { public PitSpawn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PitchburnDevils.java b/Mage.Sets/src/mage/cards/p/PitchburnDevils.java index 2acf02f12a8..468641efb12 100644 --- a/Mage.Sets/src/mage/cards/p/PitchburnDevils.java +++ b/Mage.Sets/src/mage/cards/p/PitchburnDevils.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; /** @@ -44,7 +45,7 @@ public class PitchburnDevils extends CardImpl { public PitchburnDevils(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PithDriller.java b/Mage.Sets/src/mage/cards/p/PithDriller.java index d251cd07291..cc363df062c 100644 --- a/Mage.Sets/src/mage/cards/p/PithDriller.java +++ b/Mage.Sets/src/mage/cards/p/PithDriller.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -45,7 +46,7 @@ public class PithDriller extends CardImpl { public PithDriller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{B/P}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PitilessHorde.java b/Mage.Sets/src/mage/cards/p/PitilessHorde.java index fedd65bec8f..12b0d4477c2 100644 --- a/Mage.Sets/src/mage/cards/p/PitilessHorde.java +++ b/Mage.Sets/src/mage/cards/p/PitilessHorde.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,8 +46,8 @@ public class PitilessHorde extends CardImpl { public PitilessHorde(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Orc"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PitilessVizier.java b/Mage.Sets/src/mage/cards/p/PitilessVizier.java index 601f0cffc42..f333e33f19d 100644 --- a/Mage.Sets/src/mage/cards/p/PitilessVizier.java +++ b/Mage.Sets/src/mage/cards/p/PitilessVizier.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,8 +47,8 @@ public class PitilessVizier extends CardImpl { public PitilessVizier(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Minotaur"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PixieQueen.java b/Mage.Sets/src/mage/cards/p/PixieQueen.java index c33edbb176d..77bfdc1a04a 100644 --- a/Mage.Sets/src/mage/cards/p/PixieQueen.java +++ b/Mage.Sets/src/mage/cards/p/PixieQueen.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,7 +51,7 @@ public class PixieQueen extends CardImpl { public PixieQueen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PlagueBeetle.java b/Mage.Sets/src/mage/cards/p/PlagueBeetle.java index 517a18c943e..9d969e9335b 100644 --- a/Mage.Sets/src/mage/cards/p/PlagueBeetle.java +++ b/Mage.Sets/src/mage/cards/p/PlagueBeetle.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class PlagueBeetle extends CardImpl { public PlagueBeetle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PlagueBelcher.java b/Mage.Sets/src/mage/cards/p/PlagueBelcher.java index e45ae342b0c..0a342194b0b 100644 --- a/Mage.Sets/src/mage/cards/p/PlagueBelcher.java +++ b/Mage.Sets/src/mage/cards/p/PlagueBelcher.java @@ -63,8 +63,8 @@ public class PlagueBelcher extends CardImpl { public PlagueBelcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PlagueDogs.java b/Mage.Sets/src/mage/cards/p/PlagueDogs.java index c78999564b8..c1df1cb1c4b 100644 --- a/Mage.Sets/src/mage/cards/p/PlagueDogs.java +++ b/Mage.Sets/src/mage/cards/p/PlagueDogs.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class PlagueDogs extends CardImpl { public PlagueDogs(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Hound"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HOUND); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PlagueFiend.java b/Mage.Sets/src/mage/cards/p/PlagueFiend.java index 8b08a427995..9188629acea 100644 --- a/Mage.Sets/src/mage/cards/p/PlagueFiend.java +++ b/Mage.Sets/src/mage/cards/p/PlagueFiend.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -50,7 +51,7 @@ public class PlagueFiend extends CardImpl { public PlagueFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PlagueMyr.java b/Mage.Sets/src/mage/cards/p/PlagueMyr.java index 5dec84d0402..bdd3f9d0d28 100644 --- a/Mage.Sets/src/mage/cards/p/PlagueMyr.java +++ b/Mage.Sets/src/mage/cards/p/PlagueMyr.java @@ -35,6 +35,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class PlagueMyr extends CardImpl { public PlagueMyr (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(InfectAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/p/PlagueRats.java b/Mage.Sets/src/mage/cards/p/PlagueRats.java index 3f42b26d9cd..861a86cce31 100644 --- a/Mage.Sets/src/mage/cards/p/PlagueRats.java +++ b/Mage.Sets/src/mage/cards/p/PlagueRats.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -54,7 +55,7 @@ public class PlagueRats extends CardImpl { public PlagueRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PlagueSliver.java b/Mage.Sets/src/mage/cards/p/PlagueSliver.java index 1902d8d8dc3..bee95b8b0c2 100644 --- a/Mage.Sets/src/mage/cards/p/PlagueSliver.java +++ b/Mage.Sets/src/mage/cards/p/PlagueSliver.java @@ -54,7 +54,7 @@ public class PlagueSliver extends CardImpl { public PlagueSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PlagueSpitter.java b/Mage.Sets/src/mage/cards/p/PlagueSpitter.java index c9a0d68e200..f7c2d980215 100644 --- a/Mage.Sets/src/mage/cards/p/PlagueSpitter.java +++ b/Mage.Sets/src/mage/cards/p/PlagueSpitter.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageEverythingEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -46,7 +47,7 @@ public class PlagueSpitter extends CardImpl { public PlagueSpitter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PlagueStinger.java b/Mage.Sets/src/mage/cards/p/PlagueStinger.java index 2575c516c9f..6e85f830281 100644 --- a/Mage.Sets/src/mage/cards/p/PlagueStinger.java +++ b/Mage.Sets/src/mage/cards/p/PlagueStinger.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class PlagueStinger extends CardImpl { public PlagueStinger (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Insect"); - this.subtype.add("Horror"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PlagueWitch.java b/Mage.Sets/src/mage/cards/p/PlagueWitch.java index 5f148d22b39..06aec4b39bb 100644 --- a/Mage.Sets/src/mage/cards/p/PlagueWitch.java +++ b/Mage.Sets/src/mage/cards/p/PlagueWitch.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class PlagueWitch extends CardImpl { public PlagueWitch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Elf"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/Plaguebearer.java b/Mage.Sets/src/mage/cards/p/Plaguebearer.java index 508cf9c7411..7749ad75d46 100644 --- a/Mage.Sets/src/mage/cards/p/Plaguebearer.java +++ b/Mage.Sets/src/mage/cards/p/Plaguebearer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -62,7 +63,7 @@ public class Plaguebearer extends CardImpl { public Plaguebearer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PlaguedRusalka.java b/Mage.Sets/src/mage/cards/p/PlaguedRusalka.java index 2c46f2b6cb7..23cc2b1f2d0 100644 --- a/Mage.Sets/src/mage/cards/p/PlaguedRusalka.java +++ b/Mage.Sets/src/mage/cards/p/PlaguedRusalka.java @@ -48,7 +48,7 @@ public class PlaguedRusalka extends CardImpl { public PlaguedRusalka(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PlaguemawBeast.java b/Mage.Sets/src/mage/cards/p/PlaguemawBeast.java index 681eb900f2f..cb67ea3be9f 100644 --- a/Mage.Sets/src/mage/cards/p/PlaguemawBeast.java +++ b/Mage.Sets/src/mage/cards/p/PlaguemawBeast.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.ProliferateEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -49,7 +50,7 @@ public class PlaguemawBeast extends CardImpl { public PlaguemawBeast (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PlanarGuide.java b/Mage.Sets/src/mage/cards/p/PlanarGuide.java index 577197c5345..9dafcdfb001 100644 --- a/Mage.Sets/src/mage/cards/p/PlanarGuide.java +++ b/Mage.Sets/src/mage/cards/p/PlanarGuide.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -56,8 +57,8 @@ public class PlanarGuide extends CardImpl { public PlanarGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PlanarOverlay.java b/Mage.Sets/src/mage/cards/p/PlanarOverlay.java index 33e52bc2353..d4154de5dd5 100644 --- a/Mage.Sets/src/mage/cards/p/PlanarOverlay.java +++ b/Mage.Sets/src/mage/cards/p/PlanarOverlay.java @@ -1,112 +1,112 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.p; - -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.*; -import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.filter.predicate.permanent.ControllerPredicate; -import mage.game.Game; -import mage.players.Player; -import mage.target.Target; -import mage.target.common.TargetLandPermanent; - -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; - -/** - * - * @author Styxo - */ -public class PlanarOverlay extends CardImpl { - - public PlanarOverlay(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}"); - - // Each player chooses a land he or she controls of each basic land type. Return those lands to their owners' hands. - this.getSpellAbility().addEffect(new PlanarOverlayEffect()); - } - - public PlanarOverlay(final PlanarOverlay card) { - super(card); - } - - @Override - public PlanarOverlay copy() { - return new PlanarOverlay(this); - } -} - -class PlanarOverlayEffect extends OneShotEffect { - - public PlanarOverlayEffect() { - super(Outcome.ReturnToHand); - this.staticText = "Each player chooses a land he or she controls of each basic land type. Return those lands to their owners' hands"; - } - - public PlanarOverlayEffect(final PlanarOverlayEffect effect) { - super(effect); - } - - @Override - public PlanarOverlayEffect copy() { - return new PlanarOverlayEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - Set lands = new HashSet<>(); - for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) { - Player player = game.getPlayer(playerId); - if (player != null) { - for (SubType landName : SubType.getBasicLands(false)) { - FilterLandPermanent filter = new FilterLandPermanent(landName + " to return to hand"); - filter.add(new SubtypePredicate(landName)); - filter.add(new ControllerPredicate(TargetController.YOU)); - Target target = new TargetLandPermanent(1, 1, filter, true); - if (target.canChoose(source.getSourceId(), player.getId(), game)) { - player.chooseTarget(outcome, target, source, game); - lands.add(game.getPermanent(target.getFirstTarget())); - } - } - } - } - controller.moveCards(lands, Zone.HAND, source, game); - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.p; + +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.filter.common.FilterLandPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.game.Game; +import mage.players.Player; +import mage.target.Target; +import mage.target.common.TargetLandPermanent; + +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + +/** + * + * @author Styxo + */ +public class PlanarOverlay extends CardImpl { + + public PlanarOverlay(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{U}"); + + // Each player chooses a land he or she controls of each basic land type. Return those lands to their owners' hands. + this.getSpellAbility().addEffect(new PlanarOverlayEffect()); + } + + public PlanarOverlay(final PlanarOverlay card) { + super(card); + } + + @Override + public PlanarOverlay copy() { + return new PlanarOverlay(this); + } +} + +class PlanarOverlayEffect extends OneShotEffect { + + public PlanarOverlayEffect() { + super(Outcome.ReturnToHand); + this.staticText = "Each player chooses a land he or she controls of each basic land type. Return those lands to their owners' hands"; + } + + public PlanarOverlayEffect(final PlanarOverlayEffect effect) { + super(effect); + } + + @Override + public PlanarOverlayEffect copy() { + return new PlanarOverlayEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + Set lands = new HashSet<>(); + for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) { + Player player = game.getPlayer(playerId); + if (player != null) { + for (SubType landName : SubType.getBasicLands(false)) { + FilterLandPermanent filter = new FilterLandPermanent(landName + " to return to hand"); + filter.add(new SubtypePredicate(landName)); + filter.add(new ControllerPredicate(TargetController.YOU)); + Target target = new TargetLandPermanent(1, 1, filter, true); + if (target.canChoose(source.getSourceId(), player.getId(), game)) { + player.chooseTarget(outcome, target, source, game); + lands.add(game.getPermanent(target.getFirstTarget())); + } + } + } + } + controller.moveCards(lands, Zone.HAND, source, game); + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/p/PlaneswalkersMischief.java b/Mage.Sets/src/mage/cards/p/PlaneswalkersMischief.java index 58c4e520882..1e9bc9d243a 100644 --- a/Mage.Sets/src/mage/cards/p/PlaneswalkersMischief.java +++ b/Mage.Sets/src/mage/cards/p/PlaneswalkersMischief.java @@ -1,194 +1,194 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.p; - -import java.util.List; -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.common.ActivateAsSorceryActivatedAbility; -import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; -import mage.abilities.condition.Condition; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalOneShotEffect; -import mage.abilities.effects.AsThoughEffect; -import mage.abilities.effects.AsThoughEffectImpl; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.ReturnFromExileEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.Cards; -import mage.cards.CardsImpl; -import mage.constants.AsThoughEffectType; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.stack.Spell; -import mage.players.Player; -import mage.target.common.TargetOpponent; -import mage.target.targetpointer.FixedTarget; -import mage.watchers.common.SpellsCastWatcher; - -/** - * - * @author jeffwadsworth - */ -public class PlaneswalkersMischief extends CardImpl { - - public PlaneswalkersMischief(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}"); - - // {3}{U}: Target opponent reveals a card at random from his or her hand. If it's an instant or sorcery card, exile it. You may cast it without paying its mana cost for as long as it remains exiled. At the beginning of the next end step, if you haven't cast it, return it to its owner's hand. Activate this ability only any time you could cast a sorcery. - Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new PlaneswalkersMischiefEffect(), new ManaCostsImpl("{3}{U}")); - ability.addTarget(new TargetOpponent()); - this.addAbility(ability); - - } - - public PlaneswalkersMischief(final PlaneswalkersMischief card) { - super(card); - } - - @Override - public PlaneswalkersMischief copy() { - return new PlaneswalkersMischief(this); - } -} - -class PlaneswalkersMischiefEffect extends OneShotEffect { - - public PlaneswalkersMischiefEffect() { - super(Outcome.Benefit); - this.staticText = "Target opponent reveals a card at random from his or her hand. If it's an instant or sorcery card, exile it. You may cast it without paying its mana cost for as long as it remains exiled. At the beginning of the next end step, if you haven't cast it, return it to its owner's hand."; - } - - public PlaneswalkersMischiefEffect(final PlaneswalkersMischiefEffect effect) { - super(effect); - } - - @Override - public PlaneswalkersMischiefEffect copy() { - return new PlaneswalkersMischiefEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player opponent = game.getPlayer(source.getFirstTarget()); - if (opponent != null - && opponent.getHand().size() > 0) { - Card revealedCard = opponent.getHand().getRandom(game); - Cards cards = new CardsImpl(); - cards.add(revealedCard); - opponent.revealCards("Planeswalker's Mischief Reveal", cards, game); - if (revealedCard.isInstant() - || revealedCard.isSorcery()) { - opponent.moveCardToExileWithInfo(revealedCard, source.getSourceId(), "Planeswalker's Mischief", source.getSourceId(), game, Zone.HAND, true); - AsThoughEffect effect = new PlaneswalkersMischiefCastFromExileEffect(); - effect.setTargetPointer(new FixedTarget(revealedCard.getId())); - game.addEffect(effect, source); - OneShotEffect effect2 = new ReturnFromExileEffect(source.getSourceId(), Zone.HAND); - Condition condition = new SpellWasNotCastCondition(source.getSourceId(), revealedCard.getId()); - ConditionalOneShotEffect effect3 = new ConditionalOneShotEffect(effect2, condition, "if you haven't cast it, return it to its owner's hand."); - DelayedTriggeredAbility delayedAbility = new AtTheBeginOfNextEndStepDelayedTriggeredAbility(effect3); - game.addDelayedTriggeredAbility(delayedAbility, source); - return true; - } - } - return false; - } -} - -class PlaneswalkersMischiefCastFromExileEffect extends AsThoughEffectImpl { - - PlaneswalkersMischiefCastFromExileEffect() { - super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, Duration.Custom, Outcome.Benefit); - staticText = "You may cast that card without paying its mana cost as long as it remains exiled"; - } - - PlaneswalkersMischiefCastFromExileEffect(final PlaneswalkersMischiefCastFromExileEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - return true; - } - - @Override - public PlaneswalkersMischiefCastFromExileEffect copy() { - return new PlaneswalkersMischiefCastFromExileEffect(this); - } - - @Override - public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - if (targetPointer.getTargets(game, source).contains(objectId) - && game.getState().getZone(objectId) == Zone.EXILED) { - Player player = game.getPlayer(source.getControllerId()); - Card card = game.getCard(objectId); - if (player != null - && card != null) { - player.setCastSourceIdWithAlternateMana(objectId, null, card.getSpellAbility().getCosts()); - return true; - } - } - return false; - } -} - -class SpellWasNotCastCondition implements Condition { - - protected UUID exileId; - protected UUID cardId; - - public SpellWasNotCastCondition(UUID exileId, UUID cardId) { - this.exileId = exileId; - this.cardId = cardId; - } - - @Override - public boolean apply(Game game, Ability source) { - if (!game.getExile().getExileZone(exileId).contains(cardId)) { - return false; - } - SpellsCastWatcher watcher = (SpellsCastWatcher) game.getState().getWatchers().get(SpellsCastWatcher.class.getSimpleName(), source.getSourceId()); - if (watcher != null) { - List spells = watcher.getSpellsCastThisTurn(source.getControllerId()); - if (spells != null) { - for (Spell spell : spells) { - if (spell.getSourceId().equals(cardId)) { - return false; - } - } - } - } - return true; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.p; + +import java.util.List; +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.DelayedTriggeredAbility; +import mage.abilities.common.ActivateAsSorceryActivatedAbility; +import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; +import mage.abilities.condition.Condition; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.AsThoughEffect; +import mage.abilities.effects.AsThoughEffectImpl; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.ReturnFromExileEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.Cards; +import mage.cards.CardsImpl; +import mage.constants.AsThoughEffectType; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.stack.Spell; +import mage.players.Player; +import mage.target.common.TargetOpponent; +import mage.target.targetpointer.FixedTarget; +import mage.watchers.common.SpellsCastWatcher; + +/** + * + * @author jeffwadsworth + */ +public class PlaneswalkersMischief extends CardImpl { + + public PlaneswalkersMischief(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}"); + + // {3}{U}: Target opponent reveals a card at random from his or her hand. If it's an instant or sorcery card, exile it. You may cast it without paying its mana cost for as long as it remains exiled. At the beginning of the next end step, if you haven't cast it, return it to its owner's hand. Activate this ability only any time you could cast a sorcery. + Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new PlaneswalkersMischiefEffect(), new ManaCostsImpl("{3}{U}")); + ability.addTarget(new TargetOpponent()); + this.addAbility(ability); + + } + + public PlaneswalkersMischief(final PlaneswalkersMischief card) { + super(card); + } + + @Override + public PlaneswalkersMischief copy() { + return new PlaneswalkersMischief(this); + } +} + +class PlaneswalkersMischiefEffect extends OneShotEffect { + + public PlaneswalkersMischiefEffect() { + super(Outcome.Benefit); + this.staticText = "Target opponent reveals a card at random from his or her hand. If it's an instant or sorcery card, exile it. You may cast it without paying its mana cost for as long as it remains exiled. At the beginning of the next end step, if you haven't cast it, return it to its owner's hand."; + } + + public PlaneswalkersMischiefEffect(final PlaneswalkersMischiefEffect effect) { + super(effect); + } + + @Override + public PlaneswalkersMischiefEffect copy() { + return new PlaneswalkersMischiefEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player opponent = game.getPlayer(source.getFirstTarget()); + if (opponent != null + && opponent.getHand().size() > 0) { + Card revealedCard = opponent.getHand().getRandom(game); + Cards cards = new CardsImpl(); + cards.add(revealedCard); + opponent.revealCards("Planeswalker's Mischief Reveal", cards, game); + if (revealedCard.isInstant() + || revealedCard.isSorcery()) { + opponent.moveCardToExileWithInfo(revealedCard, source.getSourceId(), "Planeswalker's Mischief", source.getSourceId(), game, Zone.HAND, true); + AsThoughEffect effect = new PlaneswalkersMischiefCastFromExileEffect(); + effect.setTargetPointer(new FixedTarget(revealedCard.getId())); + game.addEffect(effect, source); + OneShotEffect effect2 = new ReturnFromExileEffect(source.getSourceId(), Zone.HAND); + Condition condition = new SpellWasNotCastCondition(source.getSourceId(), revealedCard.getId()); + ConditionalOneShotEffect effect3 = new ConditionalOneShotEffect(effect2, condition, "if you haven't cast it, return it to its owner's hand."); + DelayedTriggeredAbility delayedAbility = new AtTheBeginOfNextEndStepDelayedTriggeredAbility(effect3); + game.addDelayedTriggeredAbility(delayedAbility, source); + return true; + } + } + return false; + } +} + +class PlaneswalkersMischiefCastFromExileEffect extends AsThoughEffectImpl { + + PlaneswalkersMischiefCastFromExileEffect() { + super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, Duration.Custom, Outcome.Benefit); + staticText = "You may cast that card without paying its mana cost as long as it remains exiled"; + } + + PlaneswalkersMischiefCastFromExileEffect(final PlaneswalkersMischiefCastFromExileEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } + + @Override + public PlaneswalkersMischiefCastFromExileEffect copy() { + return new PlaneswalkersMischiefCastFromExileEffect(this); + } + + @Override + public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { + if (targetPointer.getTargets(game, source).contains(objectId) + && game.getState().getZone(objectId) == Zone.EXILED) { + Player player = game.getPlayer(source.getControllerId()); + Card card = game.getCard(objectId); + if (player != null + && card != null) { + player.setCastSourceIdWithAlternateMana(objectId, null, card.getSpellAbility().getCosts()); + return true; + } + } + return false; + } +} + +class SpellWasNotCastCondition implements Condition { + + protected UUID exileId; + protected UUID cardId; + + public SpellWasNotCastCondition(UUID exileId, UUID cardId) { + this.exileId = exileId; + this.cardId = cardId; + } + + @Override + public boolean apply(Game game, Ability source) { + if (!game.getExile().getExileZone(exileId).contains(cardId)) { + return false; + } + SpellsCastWatcher watcher = (SpellsCastWatcher) game.getState().getWatchers().get(SpellsCastWatcher.class.getSimpleName(), source.getSourceId()); + if (watcher != null) { + List spells = watcher.getSpellsCastThisTurn(source.getControllerId()); + if (spells != null) { + for (Spell spell : spells) { + if (spell.getSourceId().equals(cardId)) { + return false; + } + } + } + } + return true; + } +} diff --git a/Mage.Sets/src/mage/cards/p/PlantElemental.java b/Mage.Sets/src/mage/cards/p/PlantElemental.java index 107638bc14c..7b9897ab7e0 100644 --- a/Mage.Sets/src/mage/cards/p/PlantElemental.java +++ b/Mage.Sets/src/mage/cards/p/PlantElemental.java @@ -54,8 +54,8 @@ public class PlantElemental extends CardImpl { public PlantElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PlasmaElemental.java b/Mage.Sets/src/mage/cards/p/PlasmaElemental.java index 4aac6f03ec0..24b4e024d02 100644 --- a/Mage.Sets/src/mage/cards/p/PlasmaElemental.java +++ b/Mage.Sets/src/mage/cards/p/PlasmaElemental.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -44,7 +45,7 @@ public class PlasmaElemental extends CardImpl { public PlasmaElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/Plateau.java b/Mage.Sets/src/mage/cards/p/Plateau.java index c6f6703d8c8..297aae0019f 100644 --- a/Mage.Sets/src/mage/cards/p/Plateau.java +++ b/Mage.Sets/src/mage/cards/p/Plateau.java @@ -33,6 +33,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class Plateau extends CardImpl { public Plateau(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Mountain"); - this.subtype.add("Plains"); + this.subtype.add(SubType.MOUNTAIN); + this.subtype.add(SubType.PLAINS); this.addAbility(new RedManaAbility()); this.addAbility(new WhiteManaAbility()); } diff --git a/Mage.Sets/src/mage/cards/p/PlatedCrusher.java b/Mage.Sets/src/mage/cards/p/PlatedCrusher.java index ecdadc70955..ed7cc3aa7bb 100644 --- a/Mage.Sets/src/mage/cards/p/PlatedCrusher.java +++ b/Mage.Sets/src/mage/cards/p/PlatedCrusher.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class PlatedCrusher extends CardImpl { public PlatedCrusher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(7); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/p/PlatedGeopede.java b/Mage.Sets/src/mage/cards/p/PlatedGeopede.java index a7dc603772c..127eb787611 100644 --- a/Mage.Sets/src/mage/cards/p/PlatedGeopede.java +++ b/Mage.Sets/src/mage/cards/p/PlatedGeopede.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,7 +47,7 @@ public class PlatedGeopede extends CardImpl { public PlatedGeopede (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PlatedRootwalla.java b/Mage.Sets/src/mage/cards/p/PlatedRootwalla.java index 9a58a1e32b5..22baec042df 100644 --- a/Mage.Sets/src/mage/cards/p/PlatedRootwalla.java +++ b/Mage.Sets/src/mage/cards/p/PlatedRootwalla.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class PlatedRootwalla extends CardImpl { public PlatedRootwalla(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PlatedSeastrider.java b/Mage.Sets/src/mage/cards/p/PlatedSeastrider.java index a4c55c1eaec..fb3eefc69b1 100644 --- a/Mage.Sets/src/mage/cards/p/PlatedSeastrider.java +++ b/Mage.Sets/src/mage/cards/p/PlatedSeastrider.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class PlatedSeastrider extends CardImpl { public PlatedSeastrider (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PlatedSlagwurm.java b/Mage.Sets/src/mage/cards/p/PlatedSlagwurm.java index 5f2d3aa84dc..4945931c013 100644 --- a/Mage.Sets/src/mage/cards/p/PlatedSlagwurm.java +++ b/Mage.Sets/src/mage/cards/p/PlatedSlagwurm.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class PlatedSlagwurm extends CardImpl { public PlatedSlagwurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/p/PlatedSliver.java b/Mage.Sets/src/mage/cards/p/PlatedSliver.java index 44313d9eb6d..07b3fc1e351 100644 --- a/Mage.Sets/src/mage/cards/p/PlatedSliver.java +++ b/Mage.Sets/src/mage/cards/p/PlatedSliver.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -46,7 +47,7 @@ public class PlatedSliver extends CardImpl { public PlatedSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PlatedSpider.java b/Mage.Sets/src/mage/cards/p/PlatedSpider.java index 3f26d845817..cbff6d7b207 100644 --- a/Mage.Sets/src/mage/cards/p/PlatedSpider.java +++ b/Mage.Sets/src/mage/cards/p/PlatedSpider.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class PlatedSpider extends CardImpl { public PlatedSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PlatedWurm.java b/Mage.Sets/src/mage/cards/p/PlatedWurm.java index 60cd681206c..fc4c4724a8c 100644 --- a/Mage.Sets/src/mage/cards/p/PlatedWurm.java +++ b/Mage.Sets/src/mage/cards/p/PlatedWurm.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class PlatedWurm extends CardImpl { public PlatedWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PlatinumAngel.java b/Mage.Sets/src/mage/cards/p/PlatinumAngel.java index 0b13f9c79db..884ab68ead8 100644 --- a/Mage.Sets/src/mage/cards/p/PlatinumAngel.java +++ b/Mage.Sets/src/mage/cards/p/PlatinumAngel.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class PlatinumAngel extends CardImpl { public PlatinumAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PlatinumEmperion.java b/Mage.Sets/src/mage/cards/p/PlatinumEmperion.java index 7156744c82a..0f01f74ee4b 100644 --- a/Mage.Sets/src/mage/cards/p/PlatinumEmperion.java +++ b/Mage.Sets/src/mage/cards/p/PlatinumEmperion.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.LifeTotalCantChangeControllerEff import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -45,7 +46,7 @@ public class PlatinumEmperion extends CardImpl { public PlatinumEmperion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{8}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/p/PlaxcasterFrogling.java b/Mage.Sets/src/mage/cards/p/PlaxcasterFrogling.java index 6542fd85344..766c8745fbd 100644 --- a/Mage.Sets/src/mage/cards/p/PlaxcasterFrogling.java +++ b/Mage.Sets/src/mage/cards/p/PlaxcasterFrogling.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -58,8 +59,8 @@ public class PlaxcasterFrogling extends CardImpl { public PlaxcasterFrogling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{U}"); - this.subtype.add("Frog"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.FROG); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/Plaxmanta.java b/Mage.Sets/src/mage/cards/p/Plaxmanta.java index fe148f7521c..04f595fe6ed 100644 --- a/Mage.Sets/src/mage/cards/p/Plaxmanta.java +++ b/Mage.Sets/src/mage/cards/p/Plaxmanta.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; @@ -51,7 +52,7 @@ public class Plaxmanta extends CardImpl { public Plaxmanta(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PloKoon.java b/Mage.Sets/src/mage/cards/p/PloKoon.java index 285771fd72b..0b85352b67d 100644 --- a/Mage.Sets/src/mage/cards/p/PloKoon.java +++ b/Mage.Sets/src/mage/cards/p/PloKoon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MeditateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class PloKoon extends CardImpl { public PloKoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("KelDor"); - this.subtype.add("Jedi"); + this.subtype.add(SubType.KELDOR); + this.subtype.add(SubType.JEDI); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PloverKnights.java b/Mage.Sets/src/mage/cards/p/PloverKnights.java index 5838a6f500b..79bc4ffb46d 100644 --- a/Mage.Sets/src/mage/cards/p/PloverKnights.java +++ b/Mage.Sets/src/mage/cards/p/PloverKnights.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class PloverKnights extends CardImpl { public PloverKnights(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Knight"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PlowThroughReito.java b/Mage.Sets/src/mage/cards/p/PlowThroughReito.java index 827896b12e9..1b573a46561 100644 --- a/Mage.Sets/src/mage/cards/p/PlowThroughReito.java +++ b/Mage.Sets/src/mage/cards/p/PlowThroughReito.java @@ -47,7 +47,7 @@ public class PlowThroughReito extends CardImpl { public PlowThroughReito(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{W}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Sweep - Return any number of Plains you control to their owner's hand. Target creature gets +1/+1 until end of turn for each Plains returned this way. diff --git a/Mage.Sets/src/mage/cards/p/PlumesOfPeace.java b/Mage.Sets/src/mage/cards/p/PlumesOfPeace.java index 211e95487ef..42c1f143d1a 100644 --- a/Mage.Sets/src/mage/cards/p/PlumesOfPeace.java +++ b/Mage.Sets/src/mage/cards/p/PlumesOfPeace.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ForecastAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class PlumesOfPeace extends CardImpl { public PlumesOfPeace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/p/Plumeveil.java b/Mage.Sets/src/mage/cards/p/Plumeveil.java index 2aba677efdd..10466504e9c 100644 --- a/Mage.Sets/src/mage/cards/p/Plumeveil.java +++ b/Mage.Sets/src/mage/cards/p/Plumeveil.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class Plumeveil extends CardImpl { public Plumeveil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W/U}{W/U}{W/U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PoisonbellyOgre.java b/Mage.Sets/src/mage/cards/p/PoisonbellyOgre.java index 3280507ff62..a586cec1446 100644 --- a/Mage.Sets/src/mage/cards/p/PoisonbellyOgre.java +++ b/Mage.Sets/src/mage/cards/p/PoisonbellyOgre.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SetTargetPointer; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -54,8 +55,8 @@ public class PoisonbellyOgre extends CardImpl { public PoisonbellyOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PolarKraken.java b/Mage.Sets/src/mage/cards/p/PolarKraken.java index adcc3bff24c..e07ddc11eb0 100644 --- a/Mage.Sets/src/mage/cards/p/PolarKraken.java +++ b/Mage.Sets/src/mage/cards/p/PolarKraken.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledLandPermanent; import mage.target.common.TargetControlledPermanent; @@ -47,7 +48,7 @@ public class PolarKraken extends CardImpl { public PolarKraken(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{8}{U}{U}{U}"); - this.subtype.add("Kraken"); + this.subtype.add(SubType.KRAKEN); this.power = new MageInt(11); this.toughness = new MageInt(11); diff --git a/Mage.Sets/src/mage/cards/p/PolisCrusher.java b/Mage.Sets/src/mage/cards/p/PolisCrusher.java index 2040c771c37..f93d8121e41 100644 --- a/Mage.Sets/src/mage/cards/p/PolisCrusher.java +++ b/Mage.Sets/src/mage/cards/p/PolisCrusher.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.FilterPermanent; import mage.filter.common.FilterEnchantmentPermanent; @@ -68,7 +69,7 @@ public class PolisCrusher extends CardImpl { public PolisCrusher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}"); - this.subtype.add("Cyclops"); + this.subtype.add(SubType.CYCLOPS); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PollenbrightWings.java b/Mage.Sets/src/mage/cards/p/PollenbrightWings.java index 9ad21ff9061..103c6ec8c75 100644 --- a/Mage.Sets/src/mage/cards/p/PollenbrightWings.java +++ b/Mage.Sets/src/mage/cards/p/PollenbrightWings.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -62,7 +63,7 @@ public class PollenbrightWings extends CardImpl { public PollenbrightWings(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{G}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/p/PollutedDead.java b/Mage.Sets/src/mage/cards/p/PollutedDead.java index b067c16b410..628ad1df164 100644 --- a/Mage.Sets/src/mage/cards/p/PollutedDead.java +++ b/Mage.Sets/src/mage/cards/p/PollutedDead.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.Target; import mage.target.common.TargetLandPermanent; @@ -45,7 +46,7 @@ public class PollutedDead extends CardImpl { public PollutedDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PolukranosWorldEater.java b/Mage.Sets/src/mage/cards/p/PolukranosWorldEater.java index 64f7d6540d3..f5de49c0afb 100644 --- a/Mage.Sets/src/mage/cards/p/PolukranosWorldEater.java +++ b/Mage.Sets/src/mage/cards/p/PolukranosWorldEater.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MonstrosityAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.TargetController; @@ -79,7 +80,7 @@ public class PolukranosWorldEater extends CardImpl { public PolukranosWorldEater(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PontiffOfBlight.java b/Mage.Sets/src/mage/cards/p/PontiffOfBlight.java index 55fb6498d1f..58ce9ca53a9 100644 --- a/Mage.Sets/src/mage/cards/p/PontiffOfBlight.java +++ b/Mage.Sets/src/mage/cards/p/PontiffOfBlight.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ExtortAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -59,8 +60,8 @@ public class PontiffOfBlight extends CardImpl { public PontiffOfBlight (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/p/PonybackBrigade.java b/Mage.Sets/src/mage/cards/p/PonybackBrigade.java index 1707a729d41..d5d5fdc5468 100644 --- a/Mage.Sets/src/mage/cards/p/PonybackBrigade.java +++ b/Mage.Sets/src/mage/cards/p/PonybackBrigade.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -52,8 +53,8 @@ public class PonybackBrigade extends CardImpl { public PonybackBrigade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{W}{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PoolingVenom.java b/Mage.Sets/src/mage/cards/p/PoolingVenom.java index 51e613a8bdf..7dee14c8c27 100644 --- a/Mage.Sets/src/mage/cards/p/PoolingVenom.java +++ b/Mage.Sets/src/mage/cards/p/PoolingVenom.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -52,7 +53,7 @@ public class PoolingVenom extends CardImpl { public PoolingVenom(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/p/PorcelainLegionnaire.java b/Mage.Sets/src/mage/cards/p/PorcelainLegionnaire.java index 474daa00acb..d771cbfe671 100644 --- a/Mage.Sets/src/mage/cards/p/PorcelainLegionnaire.java +++ b/Mage.Sets/src/mage/cards/p/PorcelainLegionnaire.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class PorcelainLegionnaire extends CardImpl { public PorcelainLegionnaire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}{W/P}"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PortalMage.java b/Mage.Sets/src/mage/cards/p/PortalMage.java index 7fa82ce8f27..bf51b9c413b 100644 --- a/Mage.Sets/src/mage/cards/p/PortalMage.java +++ b/Mage.Sets/src/mage/cards/p/PortalMage.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.PhaseStep; import mage.filter.StaticFilters; @@ -60,8 +61,8 @@ public class PortalMage extends CardImpl { public PortalMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PossessedAven.java b/Mage.Sets/src/mage/cards/p/PossessedAven.java index 2110e978626..3b26e6503ec 100644 --- a/Mage.Sets/src/mage/cards/p/PossessedAven.java +++ b/Mage.Sets/src/mage/cards/p/PossessedAven.java @@ -47,6 +47,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -67,9 +68,9 @@ public class PossessedAven extends CardImpl { public PossessedAven(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); - this.subtype.add("Horror"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PossessedBarbarian.java b/Mage.Sets/src/mage/cards/p/PossessedBarbarian.java index 3e5c7976044..b9e6ae864ff 100644 --- a/Mage.Sets/src/mage/cards/p/PossessedBarbarian.java +++ b/Mage.Sets/src/mage/cards/p/PossessedBarbarian.java @@ -47,6 +47,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -67,9 +68,9 @@ public class PossessedBarbarian extends CardImpl { public PossessedBarbarian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Barbarian"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BARBARIAN); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PossessedCentaur.java b/Mage.Sets/src/mage/cards/p/PossessedCentaur.java index 4340b8cd91f..6a23ff07008 100644 --- a/Mage.Sets/src/mage/cards/p/PossessedCentaur.java +++ b/Mage.Sets/src/mage/cards/p/PossessedCentaur.java @@ -47,6 +47,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -67,8 +68,8 @@ public class PossessedCentaur extends CardImpl { public PossessedCentaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Horror"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PossessedNomad.java b/Mage.Sets/src/mage/cards/p/PossessedNomad.java index 2f6fdd73053..2c11681173b 100644 --- a/Mage.Sets/src/mage/cards/p/PossessedNomad.java +++ b/Mage.Sets/src/mage/cards/p/PossessedNomad.java @@ -47,6 +47,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -67,9 +68,9 @@ public class PossessedNomad extends CardImpl { public PossessedNomad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PossessedSkaab.java b/Mage.Sets/src/mage/cards/p/PossessedSkaab.java index 9697db8dd0d..ea4c55b3705 100644 --- a/Mage.Sets/src/mage/cards/p/PossessedSkaab.java +++ b/Mage.Sets/src/mage/cards/p/PossessedSkaab.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -68,7 +69,7 @@ public class PossessedSkaab extends CardImpl { public PossessedSkaab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PoulticeSliver.java b/Mage.Sets/src/mage/cards/p/PoulticeSliver.java index 86e389d9ba8..4d7cf354c92 100644 --- a/Mage.Sets/src/mage/cards/p/PoulticeSliver.java +++ b/Mage.Sets/src/mage/cards/p/PoulticeSliver.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.GainAbilityAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -52,7 +53,7 @@ public class PoulticeSliver extends CardImpl { public PoulticeSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PouncingCheetah.java b/Mage.Sets/src/mage/cards/p/PouncingCheetah.java index 06178c9da08..1daaa78b3e5 100644 --- a/Mage.Sets/src/mage/cards/p/PouncingCheetah.java +++ b/Mage.Sets/src/mage/cards/p/PouncingCheetah.java @@ -6,6 +6,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Stravant @@ -14,7 +15,7 @@ public class PouncingCheetah extends CardImpl { public PouncingCheetah(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PouncingJaguar.java b/Mage.Sets/src/mage/cards/p/PouncingJaguar.java index 8ae999baecf..64987260aa3 100644 --- a/Mage.Sets/src/mage/cards/p/PouncingJaguar.java +++ b/Mage.Sets/src/mage/cards/p/PouncingJaguar.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class PouncingJaguar extends CardImpl { public PouncingJaguar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PouncingKavu.java b/Mage.Sets/src/mage/cards/p/PouncingKavu.java index 44a9e212087..45470aa7a2a 100644 --- a/Mage.Sets/src/mage/cards/p/PouncingKavu.java +++ b/Mage.Sets/src/mage/cards/p/PouncingKavu.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.counters.CounterType; @@ -53,7 +54,7 @@ public class PouncingKavu extends CardImpl { public PouncingKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PouncingWurm.java b/Mage.Sets/src/mage/cards/p/PouncingWurm.java index 5e1e2a6c297..1a56ae0a300 100644 --- a/Mage.Sets/src/mage/cards/p/PouncingWurm.java +++ b/Mage.Sets/src/mage/cards/p/PouncingWurm.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.counters.CounterType; @@ -51,7 +52,7 @@ public class PouncingWurm extends CardImpl { public PouncingWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PowerArtifact.java b/Mage.Sets/src/mage/cards/p/PowerArtifact.java index 25337c32c5f..24b9eaa09b0 100644 --- a/Mage.Sets/src/mage/cards/p/PowerArtifact.java +++ b/Mage.Sets/src/mage/cards/p/PowerArtifact.java @@ -17,6 +17,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.CostModificationType; import mage.constants.Duration; import mage.constants.Outcome; @@ -36,7 +37,7 @@ public class PowerArtifact extends CardImpl { public PowerArtifact(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact TargetPermanent auraTarget = new TargetArtifactPermanent(); diff --git a/Mage.Sets/src/mage/cards/p/PowerOfFire.java b/Mage.Sets/src/mage/cards/p/PowerOfFire.java index 1c88480df7e..df227e5011e 100644 --- a/Mage.Sets/src/mage/cards/p/PowerOfFire.java +++ b/Mage.Sets/src/mage/cards/p/PowerOfFire.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class PowerOfFire extends CardImpl { public PowerOfFire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/p/PradeshGypsies.java b/Mage.Sets/src/mage/cards/p/PradeshGypsies.java index 528438a142c..034651fd7b6 100644 --- a/Mage.Sets/src/mage/cards/p/PradeshGypsies.java +++ b/Mage.Sets/src/mage/cards/p/PradeshGypsies.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class PradeshGypsies extends CardImpl { public PradeshGypsies(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PrairieStream.java b/Mage.Sets/src/mage/cards/p/PrairieStream.java index 483d2d1ec5f..910803683fc 100644 --- a/Mage.Sets/src/mage/cards/p/PrairieStream.java +++ b/Mage.Sets/src/mage/cards/p/PrairieStream.java @@ -39,6 +39,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; @@ -58,8 +59,8 @@ public class PrairieStream extends CardImpl { public PrairieStream(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Plains"); - this.subtype.add("Island"); + this.subtype.add(SubType.PLAINS); + this.subtype.add(SubType.ISLAND); // Prairie Stream enters the battlefield tapped unless you control two or more basic lands. Condition controls = new InvertCondition(new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1)); diff --git a/Mage.Sets/src/mage/cards/p/PrakhataClubSecurity.java b/Mage.Sets/src/mage/cards/p/PrakhataClubSecurity.java index d1054cc819d..f8a4c64ab8f 100644 --- a/Mage.Sets/src/mage/cards/p/PrakhataClubSecurity.java +++ b/Mage.Sets/src/mage/cards/p/PrakhataClubSecurity.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class PrakhataClubSecurity extends CardImpl { public PrakhataClubSecurity(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Aetherborn"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.AETHERBORN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(4); } diff --git a/Mage.Sets/src/mage/cards/p/PrakhataPillarBug.java b/Mage.Sets/src/mage/cards/p/PrakhataPillarBug.java index 91fe9c18020..61c7e4a90d5 100644 --- a/Mage.Sets/src/mage/cards/p/PrakhataPillarBug.java +++ b/Mage.Sets/src/mage/cards/p/PrakhataPillarBug.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class PrakhataPillarBug extends CardImpl { public PrakhataPillarBug(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/Preacher.java b/Mage.Sets/src/mage/cards/p/Preacher.java index 653197552fa..fd3e5522a44 100644 --- a/Mage.Sets/src/mage/cards/p/Preacher.java +++ b/Mage.Sets/src/mage/cards/p/Preacher.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -59,8 +60,8 @@ public class Preacher extends CardImpl { public Preacher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PrecinctCaptain.java b/Mage.Sets/src/mage/cards/p/PrecinctCaptain.java index 6caa2b3c828..420e366593b 100644 --- a/Mage.Sets/src/mage/cards/p/PrecinctCaptain.java +++ b/Mage.Sets/src/mage/cards/p/PrecinctCaptain.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.SoldierToken; /** @@ -45,8 +46,8 @@ public class PrecinctCaptain extends CardImpl { public PrecinctCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PrecipiceOfMortis.java b/Mage.Sets/src/mage/cards/p/PrecipiceOfMortis.java index 22f99b7ff78..c9ab7e0e8d7 100644 --- a/Mage.Sets/src/mage/cards/p/PrecipiceOfMortis.java +++ b/Mage.Sets/src/mage/cards/p/PrecipiceOfMortis.java @@ -1,134 +1,134 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.p; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.ReplacementEffectImpl; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.EntersTheBattlefieldEvent; -import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; -import mage.game.events.NumberOfTriggersEvent; -import mage.game.events.ZoneChangeEvent; - -/** - * - * @author Styxo - */ -public class PrecipiceOfMortis extends CardImpl { - - public PrecipiceOfMortis(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}{U}{W}"); - - // If a Jedi entering or leaving the battlefield causes a triggered ability of a permanent you control to trigger, that ability triggers additional time - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PrecipiceOfMortisEffect())); - - } - - public PrecipiceOfMortis(final PrecipiceOfMortis card) { - super(card); - } - - @Override - public PrecipiceOfMortis copy() { - return new PrecipiceOfMortis(this); - } -} - -class PrecipiceOfMortisEffect extends ReplacementEffectImpl { - - public PrecipiceOfMortisEffect() { - super(Duration.WhileOnBattlefield, Outcome.Benefit); - staticText = "If a Jedi entering or leaving the battlefield causes a triggered ability of a permanent you control to trigger, that ability triggers additional time"; - } - - public PrecipiceOfMortisEffect(final PrecipiceOfMortisEffect effect) { - super(effect); - } - - @Override - public PrecipiceOfMortisEffect copy() { - return new PrecipiceOfMortisEffect(this); - } - - @Override - public boolean checksEventType(GameEvent event, Game game) { - return event.getType() == EventType.NUMBER_OF_TRIGGERS; - } - - @Override - public boolean applies(GameEvent event, Ability source, Game game) { - if (event instanceof NumberOfTriggersEvent) { - NumberOfTriggersEvent numberOfTriggersEvent = (NumberOfTriggersEvent) event; - // Only triggers of the controller of Precipice of Mortis - if (source.getControllerId().equals(event.getPlayerId())) { - GameEvent sourceEvent = numberOfTriggersEvent.getSourceEvent(); - // enters triggers - if (sourceEvent.getType() == EventType.ENTERS_THE_BATTLEFIELD && sourceEvent instanceof EntersTheBattlefieldEvent) { - EntersTheBattlefieldEvent entersTheBattlefieldEvent = (EntersTheBattlefieldEvent) sourceEvent; - // Only for entering Jedis - if (entersTheBattlefieldEvent.getTarget().getSubtype(game).contains("Jedi")) { - // Only for triggers of permanents - if (game.getPermanent(numberOfTriggersEvent.getSourceId()) != null) { - return true; - } - } - } - // leaves triggers - if (sourceEvent.getType() == EventType.ZONE_CHANGE && sourceEvent instanceof ZoneChangeEvent) { - ZoneChangeEvent leavesTheBattlefieldEvent = (ZoneChangeEvent) sourceEvent; - if (leavesTheBattlefieldEvent.getFromZone() == Zone.BATTLEFIELD) { - // Only for leaving Jedis - if (leavesTheBattlefieldEvent.getTarget().getSubtype(game).contains("Jedi")) { - // Only for triggers of permanents - if (game.getPermanent(numberOfTriggersEvent.getSourceId()) != null) { - return true; - } - } - } - - } - } - } - return false; - } - - @Override - public boolean replaceEvent(GameEvent event, Ability source, Game game) { - event.setAmount(event.getAmount() + 1); - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.p; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.ReplacementEffectImpl; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.EntersTheBattlefieldEvent; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.game.events.NumberOfTriggersEvent; +import mage.game.events.ZoneChangeEvent; + +/** + * + * @author Styxo + */ +public class PrecipiceOfMortis extends CardImpl { + + public PrecipiceOfMortis(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}{U}{W}"); + + // If a Jedi entering or leaving the battlefield causes a triggered ability of a permanent you control to trigger, that ability triggers additional time + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PrecipiceOfMortisEffect())); + + } + + public PrecipiceOfMortis(final PrecipiceOfMortis card) { + super(card); + } + + @Override + public PrecipiceOfMortis copy() { + return new PrecipiceOfMortis(this); + } +} + +class PrecipiceOfMortisEffect extends ReplacementEffectImpl { + + public PrecipiceOfMortisEffect() { + super(Duration.WhileOnBattlefield, Outcome.Benefit); + staticText = "If a Jedi entering or leaving the battlefield causes a triggered ability of a permanent you control to trigger, that ability triggers additional time"; + } + + public PrecipiceOfMortisEffect(final PrecipiceOfMortisEffect effect) { + super(effect); + } + + @Override + public PrecipiceOfMortisEffect copy() { + return new PrecipiceOfMortisEffect(this); + } + + @Override + public boolean checksEventType(GameEvent event, Game game) { + return event.getType() == EventType.NUMBER_OF_TRIGGERS; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + if (event instanceof NumberOfTriggersEvent) { + NumberOfTriggersEvent numberOfTriggersEvent = (NumberOfTriggersEvent) event; + // Only triggers of the controller of Precipice of Mortis + if (source.getControllerId().equals(event.getPlayerId())) { + GameEvent sourceEvent = numberOfTriggersEvent.getSourceEvent(); + // enters triggers + if (sourceEvent.getType() == EventType.ENTERS_THE_BATTLEFIELD && sourceEvent instanceof EntersTheBattlefieldEvent) { + EntersTheBattlefieldEvent entersTheBattlefieldEvent = (EntersTheBattlefieldEvent) sourceEvent; + // Only for entering Jedis + if (entersTheBattlefieldEvent.getTarget().getSubtype(game).contains("Jedi")) { + // Only for triggers of permanents + if (game.getPermanent(numberOfTriggersEvent.getSourceId()) != null) { + return true; + } + } + } + // leaves triggers + if (sourceEvent.getType() == EventType.ZONE_CHANGE && sourceEvent instanceof ZoneChangeEvent) { + ZoneChangeEvent leavesTheBattlefieldEvent = (ZoneChangeEvent) sourceEvent; + if (leavesTheBattlefieldEvent.getFromZone() == Zone.BATTLEFIELD) { + // Only for leaving Jedis + if (leavesTheBattlefieldEvent.getTarget().getSubtype(game).contains("Jedi")) { + // Only for triggers of permanents + if (game.getPermanent(numberOfTriggersEvent.getSourceId()) != null) { + return true; + } + } + } + + } + } + } + return false; + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + event.setAmount(event.getAmount() + 1); + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/p/PrecursorGolem.java b/Mage.Sets/src/mage/cards/p/PrecursorGolem.java index b648ca2c4a4..9eb0e305c5f 100644 --- a/Mage.Sets/src/mage/cards/p/PrecursorGolem.java +++ b/Mage.Sets/src/mage/cards/p/PrecursorGolem.java @@ -58,7 +58,7 @@ public class PrecursorGolem extends CardImpl { public PrecursorGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PredatorDragon.java b/Mage.Sets/src/mage/cards/p/PredatorDragon.java index 11d8d58e366..952d1e95566 100644 --- a/Mage.Sets/src/mage/cards/p/PredatorDragon.java +++ b/Mage.Sets/src/mage/cards/p/PredatorDragon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class PredatorDragon extends CardImpl { public PredatorDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PredatorOoze.java b/Mage.Sets/src/mage/cards/p/PredatorOoze.java index 65fb0d62515..54b97fe05ef 100644 --- a/Mage.Sets/src/mage/cards/p/PredatorOoze.java +++ b/Mage.Sets/src/mage/cards/p/PredatorOoze.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -46,7 +47,7 @@ public class PredatorOoze extends CardImpl { public PredatorOoze(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}{G}"); - this.subtype.add("Ooze"); + this.subtype.add(SubType.OOZE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PredatorsGambit.java b/Mage.Sets/src/mage/cards/p/PredatorsGambit.java index f1495f0198b..8787cfbc0c3 100644 --- a/Mage.Sets/src/mage/cards/p/PredatorsGambit.java +++ b/Mage.Sets/src/mage/cards/p/PredatorsGambit.java @@ -53,7 +53,7 @@ public class PredatorsGambit extends CardImpl { public PredatorsGambit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/p/PredatoryNightstalker.java b/Mage.Sets/src/mage/cards/p/PredatoryNightstalker.java index 82a33d9aaac..24971923d7e 100644 --- a/Mage.Sets/src/mage/cards/p/PredatoryNightstalker.java +++ b/Mage.Sets/src/mage/cards/p/PredatoryNightstalker.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetOpponent; @@ -46,7 +47,7 @@ public class PredatoryNightstalker extends CardImpl { public PredatoryNightstalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Nightstalker"); + this.subtype.add(SubType.NIGHTSTALKER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PredatorySliver.java b/Mage.Sets/src/mage/cards/p/PredatorySliver.java index 13008c45ff7..9a8f44527c8 100644 --- a/Mage.Sets/src/mage/cards/p/PredatorySliver.java +++ b/Mage.Sets/src/mage/cards/p/PredatorySliver.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -46,7 +47,7 @@ public class PredatorySliver extends CardImpl { public PredatorySliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PredatoryUrge.java b/Mage.Sets/src/mage/cards/p/PredatoryUrge.java index fd07b834eee..a3edc773191 100644 --- a/Mage.Sets/src/mage/cards/p/PredatoryUrge.java +++ b/Mage.Sets/src/mage/cards/p/PredatoryUrge.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -54,7 +55,7 @@ public class PredatoryUrge extends CardImpl { public PredatoryUrge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/p/PreeminentCaptain.java b/Mage.Sets/src/mage/cards/p/PreeminentCaptain.java index 5b3c0cd2a32..a49ff3ea022 100644 --- a/Mage.Sets/src/mage/cards/p/PreeminentCaptain.java +++ b/Mage.Sets/src/mage/cards/p/PreeminentCaptain.java @@ -55,8 +55,8 @@ public class PreeminentCaptain extends CardImpl { public PreeminentCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PrescientChimera.java b/Mage.Sets/src/mage/cards/p/PrescientChimera.java index 1bfed463918..8f85aa8de2e 100644 --- a/Mage.Sets/src/mage/cards/p/PrescientChimera.java +++ b/Mage.Sets/src/mage/cards/p/PrescientChimera.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; /** @@ -45,7 +46,7 @@ public class PrescientChimera extends CardImpl { public PrescientChimera(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Chimera"); + this.subtype.add(SubType.CHIMERA); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PresenceOfGond.java b/Mage.Sets/src/mage/cards/p/PresenceOfGond.java index a8bb0854413..7867daff6b1 100644 --- a/Mage.Sets/src/mage/cards/p/PresenceOfGond.java +++ b/Mage.Sets/src/mage/cards/p/PresenceOfGond.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class PresenceOfGond extends CardImpl { public PresenceOfGond(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/p/PreyseizerDragon.java b/Mage.Sets/src/mage/cards/p/PreyseizerDragon.java index ff1158c2e68..8fb9bf3669f 100644 --- a/Mage.Sets/src/mage/cards/p/PreyseizerDragon.java +++ b/Mage.Sets/src/mage/cards/p/PreyseizerDragon.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetCreatureOrPlayer; @@ -50,7 +51,7 @@ public class PreyseizerDragon extends CardImpl { public PreyseizerDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/Prickleboar.java b/Mage.Sets/src/mage/cards/p/Prickleboar.java index 10005f831b5..a5038ba4de4 100644 --- a/Mage.Sets/src/mage/cards/p/Prickleboar.java +++ b/Mage.Sets/src/mage/cards/p/Prickleboar.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class Prickleboar extends CardImpl { public Prickleboar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Boar"); + this.subtype.add(SubType.BOAR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PricklyBoggart.java b/Mage.Sets/src/mage/cards/p/PricklyBoggart.java index 3123f1bd755..596fcb4e362 100644 --- a/Mage.Sets/src/mage/cards/p/PricklyBoggart.java +++ b/Mage.Sets/src/mage/cards/p/PricklyBoggart.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class PricklyBoggart extends CardImpl { public PricklyBoggart(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PrideGuardian.java b/Mage.Sets/src/mage/cards/p/PrideGuardian.java index f6d406f5af4..b6a00f06c49 100644 --- a/Mage.Sets/src/mage/cards/p/PrideGuardian.java +++ b/Mage.Sets/src/mage/cards/p/PrideGuardian.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -44,8 +45,8 @@ public class PrideGuardian extends CardImpl { public PrideGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Cat"); - this.subtype.add("Monk"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.MONK); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PrideOfLions.java b/Mage.Sets/src/mage/cards/p/PrideOfLions.java index 9be6b9787f3..881a865c3b1 100644 --- a/Mage.Sets/src/mage/cards/p/PrideOfLions.java +++ b/Mage.Sets/src/mage/cards/p/PrideOfLions.java @@ -33,6 +33,7 @@ import mage.abilities.common.DamageAsThoughNotBlockedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class PrideOfLions extends CardImpl { public PrideOfLions(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PrideOfTheClouds.java b/Mage.Sets/src/mage/cards/p/PrideOfTheClouds.java index 118cf77d1d9..3afa71fcdb0 100644 --- a/Mage.Sets/src/mage/cards/p/PrideOfTheClouds.java +++ b/Mage.Sets/src/mage/cards/p/PrideOfTheClouds.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ForecastAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -61,8 +62,8 @@ public class PrideOfTheClouds extends CardImpl { public PrideOfTheClouds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}"); - this.subtype.add("Elemental"); - this.subtype.add("Cat"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.CAT); this.power = new MageInt(1); this.toughness = new MageInt(1); @@ -93,7 +94,7 @@ public class PrideOfTheClouds extends CardImpl { cardType.add(CardType.CREATURE); color.setWhite(true); color.setBlue(true); - subtype.add("Bird"); + subtype.add(SubType.BIRD); power = new MageInt(1); toughness = new MageInt(1); addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/p/PrideSovereign.java b/Mage.Sets/src/mage/cards/p/PrideSovereign.java index 5ab7e90fc5b..386a7c50420 100644 --- a/Mage.Sets/src/mage/cards/p/PrideSovereign.java +++ b/Mage.Sets/src/mage/cards/p/PrideSovereign.java @@ -58,7 +58,7 @@ public class PrideSovereign extends CardImpl { public PrideSovereign(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PriestOfGix.java b/Mage.Sets/src/mage/cards/p/PriestOfGix.java index 3050d1d489b..5442756a88f 100644 --- a/Mage.Sets/src/mage/cards/p/PriestOfGix.java +++ b/Mage.Sets/src/mage/cards/p/PriestOfGix.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.BasicManaEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,9 +45,9 @@ public class PriestOfGix extends CardImpl { public PriestOfGix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Minion"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.MINION); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PriestOfIroas.java b/Mage.Sets/src/mage/cards/p/PriestOfIroas.java index 9f47687de28..9839cf032a1 100644 --- a/Mage.Sets/src/mage/cards/p/PriestOfIroas.java +++ b/Mage.Sets/src/mage/cards/p/PriestOfIroas.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetEnchantmentPermanent; @@ -48,8 +49,8 @@ public class PriestOfIroas extends CardImpl { public PriestOfIroas(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PriestOfTheBloodRite.java b/Mage.Sets/src/mage/cards/p/PriestOfTheBloodRite.java index 6f2b6b4057c..e8999b9ae1a 100644 --- a/Mage.Sets/src/mage/cards/p/PriestOfTheBloodRite.java +++ b/Mage.Sets/src/mage/cards/p/PriestOfTheBloodRite.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.game.permanent.token.DemonToken; @@ -47,8 +48,8 @@ public class PriestOfTheBloodRite extends CardImpl { public PriestOfTheBloodRite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PriestOfTheWakeningSun.java b/Mage.Sets/src/mage/cards/p/PriestOfTheWakeningSun.java index ee8ef721a69..84bf9affeb7 100644 --- a/Mage.Sets/src/mage/cards/p/PriestOfTheWakeningSun.java +++ b/Mage.Sets/src/mage/cards/p/PriestOfTheWakeningSun.java @@ -68,8 +68,8 @@ public class PriestOfTheWakeningSun extends CardImpl { public PriestOfTheWakeningSun(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PriestOfTitania.java b/Mage.Sets/src/mage/cards/p/PriestOfTitania.java index f57150f47c2..3e4040ebf94 100644 --- a/Mage.Sets/src/mage/cards/p/PriestOfTitania.java +++ b/Mage.Sets/src/mage/cards/p/PriestOfTitania.java @@ -54,8 +54,8 @@ public class PriestOfTitania extends CardImpl { public PriestOfTitania(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PriestOfUrabrask.java b/Mage.Sets/src/mage/cards/p/PriestOfUrabrask.java index b09e587aedd..18dc6536030 100644 --- a/Mage.Sets/src/mage/cards/p/PriestOfUrabrask.java +++ b/Mage.Sets/src/mage/cards/p/PriestOfUrabrask.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.BasicManaEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class PriestOfUrabrask extends CardImpl { public PriestOfUrabrask(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PriestOfYawgmoth.java b/Mage.Sets/src/mage/cards/p/PriestOfYawgmoth.java index 6d87fed7300..f35654992eb 100644 --- a/Mage.Sets/src/mage/cards/p/PriestOfYawgmoth.java +++ b/Mage.Sets/src/mage/cards/p/PriestOfYawgmoth.java @@ -37,6 +37,7 @@ import mage.abilities.mana.DynamicManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledArtifactPermanent; import mage.target.common.TargetControlledPermanent; @@ -48,8 +49,8 @@ public class PriestOfYawgmoth extends CardImpl { public PriestOfYawgmoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PriestsOfNorn.java b/Mage.Sets/src/mage/cards/p/PriestsOfNorn.java index 019ad763716..5dee024ebbf 100644 --- a/Mage.Sets/src/mage/cards/p/PriestsOfNorn.java +++ b/Mage.Sets/src/mage/cards/p/PriestsOfNorn.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class PriestsOfNorn extends CardImpl { public PriestsOfNorn (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PrimalClay.java b/Mage.Sets/src/mage/cards/p/PrimalClay.java index 0e43e129458..0a0647dcbe6 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalClay.java +++ b/Mage.Sets/src/mage/cards/p/PrimalClay.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class PrimalClay extends CardImpl { public PrimalClay(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PrimalCocoon.java b/Mage.Sets/src/mage/cards/p/PrimalCocoon.java index 948e7d2e754..b89d87d0615 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalCocoon.java +++ b/Mage.Sets/src/mage/cards/p/PrimalCocoon.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class PrimalCocoon extends CardImpl { public PrimalCocoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/p/PrimalDruid.java b/Mage.Sets/src/mage/cards/p/PrimalDruid.java index 93d22631d4a..f733fb87c4f 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalDruid.java +++ b/Mage.Sets/src/mage/cards/p/PrimalDruid.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -47,8 +48,8 @@ public class PrimalDruid extends CardImpl { public PrimalDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PrimalForcemage.java b/Mage.Sets/src/mage/cards/p/PrimalForcemage.java index 3135f61f85b..c5f16a10886 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalForcemage.java +++ b/Mage.Sets/src/mage/cards/p/PrimalForcemage.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SetTargetPointer; import mage.constants.TargetController; @@ -59,8 +60,8 @@ public class PrimalForcemage extends CardImpl { public PrimalForcemage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PrimalFrenzy.java b/Mage.Sets/src/mage/cards/p/PrimalFrenzy.java index 5577e6112d2..aa8c822553a 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalFrenzy.java +++ b/Mage.Sets/src/mage/cards/p/PrimalFrenzy.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class PrimalFrenzy extends CardImpl { public PrimalFrenzy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/p/PrimalHuntbeast.java b/Mage.Sets/src/mage/cards/p/PrimalHuntbeast.java index 4821d7098fa..5b37bdaf5eb 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalHuntbeast.java +++ b/Mage.Sets/src/mage/cards/p/PrimalHuntbeast.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class PrimalHuntbeast extends CardImpl { public PrimalHuntbeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PrimalInstinct.java b/Mage.Sets/src/mage/cards/p/PrimalInstinct.java index 199f85b0d64..06499be09a1 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalInstinct.java +++ b/Mage.Sets/src/mage/cards/p/PrimalInstinct.java @@ -1,99 +1,99 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.p; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.counters.CounterType; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class PrimalInstinct extends CardImpl { - - public PrimalInstinct(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{R}{G}"); - - // Put a +1/+1 counter on target creature, then double the number of +1/+1 counters on that creature. - this.getSpellAbility().addEffect(new PrimalInstictEffect()); - this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - } - - public PrimalInstinct(final PrimalInstinct card) { - super(card); - } - - @Override - public PrimalInstinct copy() { - return new PrimalInstinct(this); - } -} - -class PrimalInstictEffect extends OneShotEffect { - - public PrimalInstictEffect() { - super(Outcome.BoostCreature); - staticText = "Put a +1/+1 counter on target creature, then double the number of +1/+1 counters on that creature."; - } - - public PrimalInstictEffect(PrimalInstictEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - Permanent target = game.getPermanent(getTargetPointer().getFirst(game, source)); - if (target != null) { - target.addCounters(CounterType.P1P1.createInstance(), source, game); - int addCounterCount = target.getCounters(game).getCount(CounterType.P1P1); - game.informPlayers("Counters " + addCounterCount); - target.addCounters(CounterType.P1P1.createInstance(addCounterCount), source, game); - return true; - } - } - return false; - } - - @Override - public PrimalInstictEffect copy() { - return new PrimalInstictEffect(this); - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.p; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.counters.CounterType; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class PrimalInstinct extends CardImpl { + + public PrimalInstinct(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{R}{G}"); + + // Put a +1/+1 counter on target creature, then double the number of +1/+1 counters on that creature. + this.getSpellAbility().addEffect(new PrimalInstictEffect()); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + } + + public PrimalInstinct(final PrimalInstinct card) { + super(card); + } + + @Override + public PrimalInstinct copy() { + return new PrimalInstinct(this); + } +} + +class PrimalInstictEffect extends OneShotEffect { + + public PrimalInstictEffect() { + super(Outcome.BoostCreature); + staticText = "Put a +1/+1 counter on target creature, then double the number of +1/+1 counters on that creature."; + } + + public PrimalInstictEffect(PrimalInstictEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + Permanent target = game.getPermanent(getTargetPointer().getFirst(game, source)); + if (target != null) { + target.addCounters(CounterType.P1P1.createInstance(), source, game); + int addCounterCount = target.getCounters(game).getCount(CounterType.P1P1); + game.informPlayers("Counters " + addCounterCount); + target.addCounters(CounterType.P1P1.createInstance(addCounterCount), source, game); + return true; + } + } + return false; + } + + @Override + public PrimalInstictEffect copy() { + return new PrimalInstictEffect(this); + } + +} diff --git a/Mage.Sets/src/mage/cards/p/PrimalPlasma.java b/Mage.Sets/src/mage/cards/p/PrimalPlasma.java index 502712683e0..b53b28b63ae 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalPlasma.java +++ b/Mage.Sets/src/mage/cards/p/PrimalPlasma.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,8 +59,8 @@ public class PrimalPlasma extends CardImpl { public PrimalPlasma(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Elemental"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PrimalVisitation.java b/Mage.Sets/src/mage/cards/p/PrimalVisitation.java index 714bba6513d..64d8641d196 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalVisitation.java +++ b/Mage.Sets/src/mage/cards/p/PrimalVisitation.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class PrimalVisitation extends CardImpl { public PrimalVisitation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{R}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/p/PrimalWhisperer.java b/Mage.Sets/src/mage/cards/p/PrimalWhisperer.java index 3e7fa3ca5eb..9f60a6432ea 100644 --- a/Mage.Sets/src/mage/cards/p/PrimalWhisperer.java +++ b/Mage.Sets/src/mage/cards/p/PrimalWhisperer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -56,8 +57,8 @@ public class PrimalWhisperer extends CardImpl { public PrimalWhisperer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/Primalcrux.java b/Mage.Sets/src/mage/cards/p/Primalcrux.java index 5b01d6219e3..ab41acd0d18 100644 --- a/Mage.Sets/src/mage/cards/p/Primalcrux.java +++ b/Mage.Sets/src/mage/cards/p/Primalcrux.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -53,7 +54,7 @@ public class Primalcrux extends CardImpl { public Primalcrux(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}{G}{G}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PrimeSpeakerZegana.java b/Mage.Sets/src/mage/cards/p/PrimeSpeakerZegana.java index bd7fb83dee6..ede4efb0181 100644 --- a/Mage.Sets/src/mage/cards/p/PrimeSpeakerZegana.java +++ b/Mage.Sets/src/mage/cards/p/PrimeSpeakerZegana.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -55,8 +56,8 @@ public class PrimeSpeakerZegana extends CardImpl { public PrimeSpeakerZegana(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); addSuperType(SuperType.LEGENDARY); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PrimevalForce.java b/Mage.Sets/src/mage/cards/p/PrimevalForce.java index 2d1748d47c9..e9aee8dfd06 100644 --- a/Mage.Sets/src/mage/cards/p/PrimevalForce.java +++ b/Mage.Sets/src/mage/cards/p/PrimevalForce.java @@ -53,7 +53,7 @@ public class PrimevalForce extends CardImpl { public PrimevalForce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/p/PrimevalProtector.java b/Mage.Sets/src/mage/cards/p/PrimevalProtector.java index f59f4588a9b..f96e2ea0c2b 100644 --- a/Mage.Sets/src/mage/cards/p/PrimevalProtector.java +++ b/Mage.Sets/src/mage/cards/p/PrimevalProtector.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.CostModificationType; import mage.constants.Duration; import mage.constants.Outcome; @@ -67,7 +68,7 @@ public class PrimevalProtector extends CardImpl { public PrimevalProtector(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{10}{G}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(10); this.toughness = new MageInt(10); diff --git a/Mage.Sets/src/mage/cards/p/PrimevalShambler.java b/Mage.Sets/src/mage/cards/p/PrimevalShambler.java index d619d18204c..33b11a78db2 100644 --- a/Mage.Sets/src/mage/cards/p/PrimevalShambler.java +++ b/Mage.Sets/src/mage/cards/p/PrimevalShambler.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class PrimevalShambler extends CardImpl { public PrimevalShambler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Horror"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HORROR); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PrimevalTitan.java b/Mage.Sets/src/mage/cards/p/PrimevalTitan.java index acc1eaa053f..2e6f4b616fa 100644 --- a/Mage.Sets/src/mage/cards/p/PrimevalTitan.java +++ b/Mage.Sets/src/mage/cards/p/PrimevalTitan.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterLandCard; import mage.target.common.TargetCardInLibrary; @@ -47,7 +48,7 @@ public class PrimevalTitan extends CardImpl { public PrimevalTitan(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{G}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/p/PrimocEscapee.java b/Mage.Sets/src/mage/cards/p/PrimocEscapee.java index 3a18aebe84e..7d52505f1a0 100644 --- a/Mage.Sets/src/mage/cards/p/PrimocEscapee.java +++ b/Mage.Sets/src/mage/cards/p/PrimocEscapee.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class PrimocEscapee extends CardImpl { public PrimocEscapee(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PrimordialHydra.java b/Mage.Sets/src/mage/cards/p/PrimordialHydra.java index 90cc0b68f9d..5e1aae63434 100644 --- a/Mage.Sets/src/mage/cards/p/PrimordialHydra.java +++ b/Mage.Sets/src/mage/cards/p/PrimordialHydra.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class PrimordialHydra extends CardImpl { public PrimordialHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{X}{G}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.color.setGreen(true); this.power = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PrimordialSage.java b/Mage.Sets/src/mage/cards/p/PrimordialSage.java index bb0a0ca8218..e80831f68d8 100644 --- a/Mage.Sets/src/mage/cards/p/PrimordialSage.java +++ b/Mage.Sets/src/mage/cards/p/PrimordialSage.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; /** @@ -44,7 +45,7 @@ public class PrimordialSage extends CardImpl { public PrimordialSage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PrinceOfThralls.java b/Mage.Sets/src/mage/cards/p/PrinceOfThralls.java index 4d6b8d2484f..bedd2b7a7cf 100644 --- a/Mage.Sets/src/mage/cards/p/PrinceOfThralls.java +++ b/Mage.Sets/src/mage/cards/p/PrinceOfThralls.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class PrinceOfThralls extends CardImpl { public PrinceOfThralls(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{B}{B}{R}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/p/PrincessLeia.java b/Mage.Sets/src/mage/cards/p/PrincessLeia.java index 6e94fa25c91..bf7b0da7a3c 100644 --- a/Mage.Sets/src/mage/cards/p/PrincessLeia.java +++ b/Mage.Sets/src/mage/cards/p/PrincessLeia.java @@ -1,92 +1,92 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.p; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.dynamicvalue.DynamicValue; -import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.effects.common.continuous.BoostControlledEffect; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.*; -import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.filter.predicate.permanent.AnotherPredicate; -import mage.game.permanent.token.RebelToken; - -/** - * - * @author Styxo - */ -public class PrincessLeia extends CardImpl { - - private static final FilterControlledCreaturePermanent filter1 = new FilterControlledCreaturePermanent("other Rebel creature you control"); - private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent("Rebel creature you control"); - - static { - SubtypePredicate rebel = new SubtypePredicate(SubType.REBEL); - filter1.add(new AnotherPredicate()); - filter1.add(rebel); - filter2.add(rebel); - } - - public PrincessLeia(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{U}{W}"); - addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Rebel"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // When Princess Leia enters the battlefield, create three 1/1 white Rebel creature tokens. - this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new RebelToken(), 3))); - - // Princess Leia gets +1/+1 for each other Rebel creature you control. - DynamicValue count = new PermanentsOnBattlefieldCount(filter1); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(count, count, Duration.WhileOnBattlefield))); - - // Other Rebel creatures you control get +1/+1. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter2, true))); - - } - - public PrincessLeia(final PrincessLeia card) { - super(card); - } - - @Override - public PrincessLeia copy() { - return new PrincessLeia(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.p; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.*; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.predicate.permanent.AnotherPredicate; +import mage.game.permanent.token.RebelToken; + +/** + * + * @author Styxo + */ +public class PrincessLeia extends CardImpl { + + private static final FilterControlledCreaturePermanent filter1 = new FilterControlledCreaturePermanent("other Rebel creature you control"); + private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent("Rebel creature you control"); + + static { + SubtypePredicate rebel = new SubtypePredicate(SubType.REBEL); + filter1.add(new AnotherPredicate()); + filter1.add(rebel); + filter2.add(rebel); + } + + public PrincessLeia(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{U}{W}"); + addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // When Princess Leia enters the battlefield, create three 1/1 white Rebel creature tokens. + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new RebelToken(), 3))); + + // Princess Leia gets +1/+1 for each other Rebel creature you control. + DynamicValue count = new PermanentsOnBattlefieldCount(filter1); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(count, count, Duration.WhileOnBattlefield))); + + // Other Rebel creatures you control get +1/+1. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter2, true))); + + } + + public PrincessLeia(final PrincessLeia card) { + super(card); + } + + @Override + public PrincessLeia copy() { + return new PrincessLeia(this); + } +} diff --git a/Mage.Sets/src/mage/cards/p/PrincessLucrezia.java b/Mage.Sets/src/mage/cards/p/PrincessLucrezia.java index 8423153f0e1..b4ccb069500 100644 --- a/Mage.Sets/src/mage/cards/p/PrincessLucrezia.java +++ b/Mage.Sets/src/mage/cards/p/PrincessLucrezia.java @@ -33,6 +33,7 @@ import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -44,8 +45,8 @@ public class PrincessLucrezia extends CardImpl { public PrincessLucrezia(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PrismwakeMerrow.java b/Mage.Sets/src/mage/cards/p/PrismwakeMerrow.java index 7ce1e1b4290..136ab5f6998 100644 --- a/Mage.Sets/src/mage/cards/p/PrismwakeMerrow.java +++ b/Mage.Sets/src/mage/cards/p/PrismwakeMerrow.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.TargetPermanent; @@ -47,8 +48,8 @@ public class PrismwakeMerrow extends CardImpl { public PrismwakeMerrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PrisonBarricade.java b/Mage.Sets/src/mage/cards/p/PrisonBarricade.java index f46ef58254b..c5f63fd01ae 100644 --- a/Mage.Sets/src/mage/cards/p/PrisonBarricade.java +++ b/Mage.Sets/src/mage/cards/p/PrisonBarricade.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.counters.CounterType; @@ -51,7 +52,7 @@ public class PrisonBarricade extends CardImpl { public PrisonBarricade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PrisonTerm.java b/Mage.Sets/src/mage/cards/p/PrisonTerm.java index 430d4b9d8f6..bd38c3800e9 100644 --- a/Mage.Sets/src/mage/cards/p/PrisonTerm.java +++ b/Mage.Sets/src/mage/cards/p/PrisonTerm.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.constants.TargetController; @@ -65,7 +66,7 @@ public class PrisonTerm extends CardImpl { public PrisonTerm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/p/PristineAngel.java b/Mage.Sets/src/mage/cards/p/PristineAngel.java index 23e0f0f529d..5c83b844a39 100644 --- a/Mage.Sets/src/mage/cards/p/PristineAngel.java +++ b/Mage.Sets/src/mage/cards/p/PristineAngel.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterCard; @@ -70,7 +71,7 @@ public class PristineAngel extends CardImpl { public PristineAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PristineSkywise.java b/Mage.Sets/src/mage/cards/p/PristineSkywise.java index 84968cc16d3..bd8828f7e60 100644 --- a/Mage.Sets/src/mage/cards/p/PristineSkywise.java +++ b/Mage.Sets/src/mage/cards/p/PristineSkywise.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -56,7 +57,7 @@ public class PristineSkywise extends CardImpl { public PristineSkywise(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{U}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/PrizedAmalgam.java b/Mage.Sets/src/mage/cards/p/PrizedAmalgam.java index 835ca9dac0b..cd0e1b721fd 100644 --- a/Mage.Sets/src/mage/cards/p/PrizedAmalgam.java +++ b/Mage.Sets/src/mage/cards/p/PrizedAmalgam.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -62,7 +63,7 @@ public class PrizedAmalgam extends CardImpl { public PrizedAmalgam(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PrizedElephant.java b/Mage.Sets/src/mage/cards/p/PrizedElephant.java index d447b1c175e..93209ab1040 100644 --- a/Mage.Sets/src/mage/cards/p/PrizedElephant.java +++ b/Mage.Sets/src/mage/cards/p/PrizedElephant.java @@ -62,7 +62,7 @@ public class PrizedElephant extends CardImpl { public PrizedElephant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.color.setWhite(true); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PrizedUnicorn.java b/Mage.Sets/src/mage/cards/p/PrizedUnicorn.java index aee69355d9b..555a505b6e7 100644 --- a/Mage.Sets/src/mage/cards/p/PrizedUnicorn.java +++ b/Mage.Sets/src/mage/cards/p/PrizedUnicorn.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.MustBeBlockedByAllSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class PrizedUnicorn extends CardImpl { public PrizedUnicorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Unicorn"); + this.subtype.add(SubType.UNICORN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PrizefighterConstruct.java b/Mage.Sets/src/mage/cards/p/PrizefighterConstruct.java index 4f40193aaf2..b95d7baec82 100644 --- a/Mage.Sets/src/mage/cards/p/PrizefighterConstruct.java +++ b/Mage.Sets/src/mage/cards/p/PrizefighterConstruct.java @@ -1,58 +1,59 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.p; - -import java.util.UUID; -import mage.MageInt; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class PrizefighterConstruct extends CardImpl { - - public PrizefighterConstruct(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{5}"); - - this.subtype.add("Construct"); - this.power = new MageInt(6); - this.toughness = new MageInt(2); - } - - public PrizefighterConstruct(final PrizefighterConstruct card) { - super(card); - } - - @Override - public PrizefighterConstruct copy() { - return new PrizefighterConstruct(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.p; + +import java.util.UUID; +import mage.MageInt; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author Styxo + */ +public class PrizefighterConstruct extends CardImpl { + + public PrizefighterConstruct(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{5}"); + + this.subtype.add(SubType.CONSTRUCT); + this.power = new MageInt(6); + this.toughness = new MageInt(2); + } + + public PrizefighterConstruct(final PrizefighterConstruct card) { + super(card); + } + + @Override + public PrizefighterConstruct copy() { + return new PrizefighterConstruct(this); + } +} diff --git a/Mage.Sets/src/mage/cards/p/ProbeDroid.java b/Mage.Sets/src/mage/cards/p/ProbeDroid.java index 0255f9ec4d9..f59886959ce 100644 --- a/Mage.Sets/src/mage/cards/p/ProbeDroid.java +++ b/Mage.Sets/src/mage/cards/p/ProbeDroid.java @@ -1,71 +1,72 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.p; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.LookAtTargetPlayerHandEffect; -import mage.abilities.keyword.RepairAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.target.TargetPlayer; - -/** - * - * @author Styxo - */ -public class ProbeDroid extends CardImpl { - - public ProbeDroid(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{U}"); - this.subtype.add("Droid"); - this.subtype.add("Scout"); - this.power = new MageInt(1); - this.toughness = new MageInt(1); - - // When Probe Droid enters the battlefield, target player reveals his or her hand. - Ability ability = new EntersBattlefieldTriggeredAbility(new LookAtTargetPlayerHandEffect()); - ability.addTarget(new TargetPlayer()); - this.addAbility(ability); - - // Repair 3 - this.addAbility(new RepairAbility(3)); - } - - public ProbeDroid(final ProbeDroid card) { - super(card); - } - - @Override - public ProbeDroid copy() { - return new ProbeDroid(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.p; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.LookAtTargetPlayerHandEffect; +import mage.abilities.keyword.RepairAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.TargetPlayer; + +/** + * + * @author Styxo + */ +public class ProbeDroid extends CardImpl { + + public ProbeDroid(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{U}"); + this.subtype.add(SubType.DROID); + this.subtype.add(SubType.SCOUT); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // When Probe Droid enters the battlefield, target player reveals his or her hand. + Ability ability = new EntersBattlefieldTriggeredAbility(new LookAtTargetPlayerHandEffect()); + ability.addTarget(new TargetPlayer()); + this.addAbility(ability); + + // Repair 3 + this.addAbility(new RepairAbility(3)); + } + + public ProbeDroid(final ProbeDroid card) { + super(card); + } + + @Override + public ProbeDroid copy() { + return new ProbeDroid(this); + } +} diff --git a/Mage.Sets/src/mage/cards/p/ProdigalPyromancer.java b/Mage.Sets/src/mage/cards/p/ProdigalPyromancer.java index 5c6b8d19151..525e37b40b7 100644 --- a/Mage.Sets/src/mage/cards/p/ProdigalPyromancer.java +++ b/Mage.Sets/src/mage/cards/p/ProdigalPyromancer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class ProdigalPyromancer extends CardImpl { public ProdigalPyromancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/ProdigalSorcerer.java b/Mage.Sets/src/mage/cards/p/ProdigalSorcerer.java index 40873c17642..2c64a8a6c03 100644 --- a/Mage.Sets/src/mage/cards/p/ProdigalSorcerer.java +++ b/Mage.Sets/src/mage/cards/p/ProdigalSorcerer.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -46,8 +47,8 @@ public class ProdigalSorcerer extends CardImpl { public ProdigalSorcerer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/ProfanerOfTheDead.java b/Mage.Sets/src/mage/cards/p/ProfanerOfTheDead.java index 0db3ce1a974..f44d0f4850d 100644 --- a/Mage.Sets/src/mage/cards/p/ProfanerOfTheDead.java +++ b/Mage.Sets/src/mage/cards/p/ProfanerOfTheDead.java @@ -52,8 +52,8 @@ public class ProfanerOfTheDead extends CardImpl { public ProfanerOfTheDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - this.subtype.add("Naga"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/ProgenitorMimic.java b/Mage.Sets/src/mage/cards/p/ProgenitorMimic.java index 9b71ac90572..1fdd464ddc1 100644 --- a/Mage.Sets/src/mage/cards/p/ProgenitorMimic.java +++ b/Mage.Sets/src/mage/cards/p/ProgenitorMimic.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.CopyPermanentEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -59,7 +60,7 @@ public class ProgenitorMimic extends CardImpl { public ProgenitorMimic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/Progenitus.java b/Mage.Sets/src/mage/cards/p/Progenitus.java index 55fdc1815ba..ecfc73fa509 100644 --- a/Mage.Sets/src/mage/cards/p/Progenitus.java +++ b/Mage.Sets/src/mage/cards/p/Progenitus.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterCard; import mage.game.Game; @@ -49,8 +50,8 @@ public class Progenitus extends CardImpl { public Progenitus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}{U}{U}{B}{B}{R}{R}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Hydra"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.HYDRA); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(10); this.toughness = new MageInt(10); diff --git a/Mage.Sets/src/mage/cards/p/PrognosticSphinx.java b/Mage.Sets/src/mage/cards/p/PrognosticSphinx.java index 89db97a014c..1ddb981a3c8 100644 --- a/Mage.Sets/src/mage/cards/p/PrognosticSphinx.java +++ b/Mage.Sets/src/mage/cards/p/PrognosticSphinx.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class PrognosticSphinx extends CardImpl { public PrognosticSphinx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PromisedKannushi.java b/Mage.Sets/src/mage/cards/p/PromisedKannushi.java index 15ed186ff1b..a91cbe426ad 100644 --- a/Mage.Sets/src/mage/cards/p/PromisedKannushi.java +++ b/Mage.Sets/src/mage/cards/p/PromisedKannushi.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class PromisedKannushi extends CardImpl { public PromisedKannushi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PropellerPioneer.java b/Mage.Sets/src/mage/cards/p/PropellerPioneer.java index b98ca26418e..623c827ca77 100644 --- a/Mage.Sets/src/mage/cards/p/PropellerPioneer.java +++ b/Mage.Sets/src/mage/cards/p/PropellerPioneer.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class PropellerPioneer extends CardImpl { public PropellerPioneer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/ProphetOfDistortion.java b/Mage.Sets/src/mage/cards/p/ProphetOfDistortion.java index ea849321871..cc2d0cb82b3 100644 --- a/Mage.Sets/src/mage/cards/p/ProphetOfDistortion.java +++ b/Mage.Sets/src/mage/cards/p/ProphetOfDistortion.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class ProphetOfDistortion extends CardImpl { public ProphetOfDistortion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/ProphetOfKruphix.java b/Mage.Sets/src/mage/cards/p/ProphetOfKruphix.java index 4f5c38aa326..1490bceb45c 100644 --- a/Mage.Sets/src/mage/cards/p/ProphetOfKruphix.java +++ b/Mage.Sets/src/mage/cards/p/ProphetOfKruphix.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.UntapAllDuringEachOtherPlayersUn import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -57,8 +58,8 @@ public class ProphetOfKruphix extends CardImpl { public ProphetOfKruphix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PropheticFlamespeaker.java b/Mage.Sets/src/mage/cards/p/PropheticFlamespeaker.java index e0ac4aab73f..9755ae63acc 100644 --- a/Mage.Sets/src/mage/cards/p/PropheticFlamespeaker.java +++ b/Mage.Sets/src/mage/cards/p/PropheticFlamespeaker.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,8 +59,8 @@ public class PropheticFlamespeaker extends CardImpl { public PropheticFlamespeaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PropheticRavings.java b/Mage.Sets/src/mage/cards/p/PropheticRavings.java index a77edb01832..af21f3f40db 100644 --- a/Mage.Sets/src/mage/cards/p/PropheticRavings.java +++ b/Mage.Sets/src/mage/cards/p/PropheticRavings.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -56,7 +57,7 @@ public class PropheticRavings extends CardImpl { public PropheticRavings(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/p/ProsperousPirates.java b/Mage.Sets/src/mage/cards/p/ProsperousPirates.java index f61dd5bcca1..9ff437a039f 100644 --- a/Mage.Sets/src/mage/cards/p/ProsperousPirates.java +++ b/Mage.Sets/src/mage/cards/p/ProsperousPirates.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.TreasureToken; /** @@ -45,8 +46,8 @@ public class ProsperousPirates extends CardImpl { public ProsperousPirates(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/p/ProsshSkyraiderOfKher.java b/Mage.Sets/src/mage/cards/p/ProsshSkyraiderOfKher.java index 8aa5f1d31c5..4b03351c25b 100644 --- a/Mage.Sets/src/mage/cards/p/ProsshSkyraiderOfKher.java +++ b/Mage.Sets/src/mage/cards/p/ProsshSkyraiderOfKher.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class ProsshSkyraiderOfKher extends CardImpl { public ProsshSkyraiderOfKher(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/ProteanHulk.java b/Mage.Sets/src/mage/cards/p/ProteanHulk.java index 588fb7c137e..c1ea7511368 100644 --- a/Mage.Sets/src/mage/cards/p/ProteanHulk.java +++ b/Mage.Sets/src/mage/cards/p/ProteanHulk.java @@ -34,6 +34,7 @@ import mage.abilities.common.DiesTriggeredAbility; import mage.abilities.effects.OneShotEffect; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class ProteanHulk extends CardImpl { public ProteanHulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/p/ProteanHydra.java b/Mage.Sets/src/mage/cards/p/ProteanHydra.java index dee0a752f22..3ba89fb0b19 100644 --- a/Mage.Sets/src/mage/cards/p/ProteanHydra.java +++ b/Mage.Sets/src/mage/cards/p/ProteanHydra.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -57,7 +58,7 @@ public class ProteanHydra extends CardImpl { public ProteanHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{X}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/ProtectiveBubble.java b/Mage.Sets/src/mage/cards/p/ProtectiveBubble.java index 616d55a7fe1..e203df91d58 100644 --- a/Mage.Sets/src/mage/cards/p/ProtectiveBubble.java +++ b/Mage.Sets/src/mage/cards/p/ProtectiveBubble.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class ProtectiveBubble extends CardImpl { public ProtectiveBubble(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/p/ProtectorOfTheCrown.java b/Mage.Sets/src/mage/cards/p/ProtectorOfTheCrown.java index 526e6d329b4..2d878a23df4 100644 --- a/Mage.Sets/src/mage/cards/p/ProtectorOfTheCrown.java +++ b/Mage.Sets/src/mage/cards/p/ProtectorOfTheCrown.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.BecomesMonarchSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class ProtectorOfTheCrown extends CardImpl { public ProtectorOfTheCrown(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}"); - this.subtype.add("Giant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/ProvenCombatant.java b/Mage.Sets/src/mage/cards/p/ProvenCombatant.java index bc1efa6d1a6..9cb841b6839 100644 --- a/Mage.Sets/src/mage/cards/p/ProvenCombatant.java +++ b/Mage.Sets/src/mage/cards/p/ProvenCombatant.java @@ -7,6 +7,7 @@ import mage.abilities.keyword.EternalizeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; public class ProvenCombatant extends CardImpl { @@ -14,8 +15,8 @@ public class ProvenCombatant extends CardImpl { super(ownerId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{U}"); - subtype.add("Human"); - subtype.add("Warrior"); + subtype.add(SubType.HUMAN); + subtype.add(SubType.WARRIOR); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/ProwessOfTheFair.java b/Mage.Sets/src/mage/cards/p/ProwessOfTheFair.java index 119b47b9008..f89f63f1d50 100644 --- a/Mage.Sets/src/mage/cards/p/ProwessOfTheFair.java +++ b/Mage.Sets/src/mage/cards/p/ProwessOfTheFair.java @@ -57,7 +57,7 @@ public class ProwessOfTheFair extends CardImpl { public ProwessOfTheFair(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); // Whenever another nontoken Elf is put into your graveyard from the battlefield, you may create a 1/1 green Elf Warrior creature token. this.addAbility(new PutIntoGraveFromBattlefieldAllTriggeredAbility(new CreateTokenEffect(new ElfToken()), diff --git a/Mage.Sets/src/mage/cards/p/ProwlersHelm.java b/Mage.Sets/src/mage/cards/p/ProwlersHelm.java index 229b161db3c..f4c2117e883 100644 --- a/Mage.Sets/src/mage/cards/p/ProwlersHelm.java +++ b/Mage.Sets/src/mage/cards/p/ProwlersHelm.java @@ -52,7 +52,7 @@ public class ProwlersHelm extends CardImpl { public ProwlersHelm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature can't be blocked except by Walls. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, diff --git a/Mage.Sets/src/mage/cards/p/ProwlingNightstalker.java b/Mage.Sets/src/mage/cards/p/ProwlingNightstalker.java index 4b36cf20b1c..e5adef201d0 100644 --- a/Mage.Sets/src/mage/cards/p/ProwlingNightstalker.java +++ b/Mage.Sets/src/mage/cards/p/ProwlingNightstalker.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -54,7 +55,7 @@ public class ProwlingNightstalker extends CardImpl { public ProwlingNightstalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Nightstalker"); + this.subtype.add(SubType.NIGHTSTALKER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/ProwlingPangolin.java b/Mage.Sets/src/mage/cards/p/ProwlingPangolin.java index 29631f38e4e..8b4896518e3 100644 --- a/Mage.Sets/src/mage/cards/p/ProwlingPangolin.java +++ b/Mage.Sets/src/mage/cards/p/ProwlingPangolin.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterControlledCreaturePermanent; import mage.game.Game; @@ -52,7 +53,7 @@ public class ProwlingPangolin extends CardImpl { public ProwlingPangolin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/ProwlingSerpopard.java b/Mage.Sets/src/mage/cards/p/ProwlingSerpopard.java index 93536124fdf..e8c37df809e 100644 --- a/Mage.Sets/src/mage/cards/p/ProwlingSerpopard.java +++ b/Mage.Sets/src/mage/cards/p/ProwlingSerpopard.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CantBeCounteredControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterSpell; @@ -55,8 +56,8 @@ public class ProwlingSerpopard extends CardImpl { public ProwlingSerpopard(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{G}"); - this.subtype.add("Cat"); - this.subtype.add("Snake"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PsionicGift.java b/Mage.Sets/src/mage/cards/p/PsionicGift.java index a30308bcdef..e7a452fd5b3 100644 --- a/Mage.Sets/src/mage/cards/p/PsionicGift.java +++ b/Mage.Sets/src/mage/cards/p/PsionicGift.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -54,7 +55,7 @@ public class PsionicGift extends CardImpl { public PsionicGift(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/p/PsionicSliver.java b/Mage.Sets/src/mage/cards/p/PsionicSliver.java index 431ec402011..c3e0b7576d6 100644 --- a/Mage.Sets/src/mage/cards/p/PsionicSliver.java +++ b/Mage.Sets/src/mage/cards/p/PsionicSliver.java @@ -56,7 +56,7 @@ public class PsionicSliver extends CardImpl { public PsionicSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/Psychatog.java b/Mage.Sets/src/mage/cards/p/Psychatog.java index ff7ea76cfd3..026952e99c6 100644 --- a/Mage.Sets/src/mage/cards/p/Psychatog.java +++ b/Mage.Sets/src/mage/cards/p/Psychatog.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterCard; @@ -49,7 +50,7 @@ public class Psychatog extends CardImpl { public Psychatog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{B}"); - this.subtype.add("Atog"); + this.subtype.add(SubType.ATOG); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PsychicMembrane.java b/Mage.Sets/src/mage/cards/p/PsychicMembrane.java index dca46e47bda..d712a8f8003 100644 --- a/Mage.Sets/src/mage/cards/p/PsychicMembrane.java +++ b/Mage.Sets/src/mage/cards/p/PsychicMembrane.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class PsychicMembrane extends CardImpl { public PsychicMembrane(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PsychicOverload.java b/Mage.Sets/src/mage/cards/p/PsychicOverload.java index 34cfa1eb210..3b82668b636 100644 --- a/Mage.Sets/src/mage/cards/p/PsychicOverload.java +++ b/Mage.Sets/src/mage/cards/p/PsychicOverload.java @@ -1,89 +1,90 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.p; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.common.DiscardTargetCost; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.DontUntapInControllersUntapStepEnchantedEffect; -import mage.abilities.effects.common.TapEnchantedEffect; -import mage.abilities.effects.common.UntapSourceEffect; -import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; -import mage.abilities.keyword.EnchantAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.AttachmentType; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.common.FilterArtifactCard; -import mage.target.TargetPermanent; -import mage.target.common.TargetCardInHand; - -/** - * - * @author wetterlicht - */ -public class PsychicOverload extends CardImpl { - - public PsychicOverload(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}"); - this.subtype.add("Aura"); - - // Enchant permanent - TargetPermanent auraTarget = new TargetPermanent(); - this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); - this.addAbility(new EnchantAbility(auraTarget.getTargetName())); - - // When Psychic Overload enters the battlefield, tap enchanted permanent. - this.addAbility(new EntersBattlefieldTriggeredAbility(new TapEnchantedEffect())); - // Enchanted permanent doesn't untap during its controller's untap step. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect())); - - // Enchanted permanent has "Discard two artifact cards: Untap this permanent." - Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new DiscardTargetCost(new TargetCardInHand(2, new FilterArtifactCard("two artifact cards")))); - Effect effect = new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield, "Enchanted permanent has \"Discard two artifact cards: Untap this permanent.\""); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); - } - - public PsychicOverload(final PsychicOverload card) { - super(card); - } - - @Override - public PsychicOverload copy() { - return new PsychicOverload(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.p; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.DiscardTargetCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.DontUntapInControllersUntapStepEnchantedEffect; +import mage.abilities.effects.common.TapEnchantedEffect; +import mage.abilities.effects.common.UntapSourceEffect; +import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.common.FilterArtifactCard; +import mage.target.TargetPermanent; +import mage.target.common.TargetCardInHand; + +/** + * + * @author wetterlicht + */ +public class PsychicOverload extends CardImpl { + + public PsychicOverload(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}"); + this.subtype.add(SubType.AURA); + + // Enchant permanent + TargetPermanent auraTarget = new TargetPermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.Detriment)); + this.addAbility(new EnchantAbility(auraTarget.getTargetName())); + + // When Psychic Overload enters the battlefield, tap enchanted permanent. + this.addAbility(new EntersBattlefieldTriggeredAbility(new TapEnchantedEffect())); + // Enchanted permanent doesn't untap during its controller's untap step. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DontUntapInControllersUntapStepEnchantedEffect())); + + // Enchanted permanent has "Discard two artifact cards: Untap this permanent." + Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapSourceEffect(), new DiscardTargetCost(new TargetCardInHand(2, new FilterArtifactCard("two artifact cards")))); + Effect effect = new GainAbilityAttachedEffect(gainedAbility, AttachmentType.AURA, Duration.WhileOnBattlefield, "Enchanted permanent has \"Discard two artifact cards: Untap this permanent.\""); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect)); + } + + public PsychicOverload(final PsychicOverload card) { + super(card); + } + + @Override + public PsychicOverload copy() { + return new PsychicOverload(this); + } +} diff --git a/Mage.Sets/src/mage/cards/p/PsychicPossession.java b/Mage.Sets/src/mage/cards/p/PsychicPossession.java index 7d61103b906..5615a65fb31 100644 --- a/Mage.Sets/src/mage/cards/p/PsychicPossession.java +++ b/Mage.Sets/src/mage/cards/p/PsychicPossession.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class PsychicPossession extends CardImpl { public PsychicPossession(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant opponent TargetPlayer auraTarget = new TargetOpponent(); diff --git a/Mage.Sets/src/mage/cards/p/PsychicVenom.java b/Mage.Sets/src/mage/cards/p/PsychicVenom.java index 872f8c2dcd7..b7117b4f4e6 100644 --- a/Mage.Sets/src/mage/cards/p/PsychicVenom.java +++ b/Mage.Sets/src/mage/cards/p/PsychicVenom.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.target.TargetPermanent; import mage.target.common.TargetLandPermanent; @@ -50,7 +51,7 @@ public class PsychicVenom extends CardImpl { public PsychicVenom(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/p/PsychosisCrawler.java b/Mage.Sets/src/mage/cards/p/PsychosisCrawler.java index f1b89f7e870..5b6609995b8 100644 --- a/Mage.Sets/src/mage/cards/p/PsychosisCrawler.java +++ b/Mage.Sets/src/mage/cards/p/PsychosisCrawler.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class PsychosisCrawler extends CardImpl { public PsychosisCrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/p/PsychotropeThallid.java b/Mage.Sets/src/mage/cards/p/PsychotropeThallid.java index ac3ef6d89a7..1c193eabbd5 100644 --- a/Mage.Sets/src/mage/cards/p/PsychotropeThallid.java +++ b/Mage.Sets/src/mage/cards/p/PsychotropeThallid.java @@ -63,7 +63,7 @@ public class PsychotropeThallid extends CardImpl { public PsychotropeThallid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PteronGhost.java b/Mage.Sets/src/mage/cards/p/PteronGhost.java index b88858bdf1f..19d9b741b09 100644 --- a/Mage.Sets/src/mage/cards/p/PteronGhost.java +++ b/Mage.Sets/src/mage/cards/p/PteronGhost.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -56,7 +57,7 @@ public class PteronGhost extends CardImpl { public PteronGhost(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PulmonicSliver.java b/Mage.Sets/src/mage/cards/p/PulmonicSliver.java index ae6d934320f..10b358fd796 100644 --- a/Mage.Sets/src/mage/cards/p/PulmonicSliver.java +++ b/Mage.Sets/src/mage/cards/p/PulmonicSliver.java @@ -55,7 +55,7 @@ public class PulmonicSliver extends CardImpl { public PulmonicSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PulsatingIllusion.java b/Mage.Sets/src/mage/cards/p/PulsatingIllusion.java index dda32b5c05a..32ce7d82f4e 100644 --- a/Mage.Sets/src/mage/cards/p/PulsatingIllusion.java +++ b/Mage.Sets/src/mage/cards/p/PulsatingIllusion.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCardInHand; @@ -48,7 +49,7 @@ public class PulsatingIllusion extends CardImpl { public PulsatingIllusion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PulseOfTheTangle.java b/Mage.Sets/src/mage/cards/p/PulseOfTheTangle.java index 01aa908d507..326bbdf4379 100644 --- a/Mage.Sets/src/mage/cards/p/PulseOfTheTangle.java +++ b/Mage.Sets/src/mage/cards/p/PulseOfTheTangle.java @@ -1,115 +1,115 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.p; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.ControllerIdPredicate; -import mage.game.Game; -import mage.game.permanent.token.BeastToken; -import mage.players.Player; - -/** - * - * @author wetterlicht - */ -public class PulseOfTheTangle extends CardImpl { - - public PulseOfTheTangle(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{G}{G}"); - - // Create a 3/3 green Beast creature token. Then if an opponent controls more creatures than you, return Pulse of the Tangle to its owner's hand. - this.getSpellAbility().addEffect(new CreateTokenEffect(new BeastToken())); - this.getSpellAbility().addEffect(new PulseOfTheTangleReturnToHandEffect()); - } - - public PulseOfTheTangle(final PulseOfTheTangle card) { - super(card); - } - - @Override - public PulseOfTheTangle copy() { - return new PulseOfTheTangle(this); - } -} - -class PulseOfTheTangleReturnToHandEffect extends OneShotEffect { - - PulseOfTheTangleReturnToHandEffect() { - super(Outcome.Benefit); - this.staticText = "Then if an opponent controls more creatures than you, return {this} to its owner's hand"; - } - - PulseOfTheTangleReturnToHandEffect(final PulseOfTheTangleReturnToHandEffect effect) { - super(effect); - } - - @Override - public PulseOfTheTangleReturnToHandEffect copy() { - return new PulseOfTheTangleReturnToHandEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - FilterControlledCreaturePermanent controllerFilter = new FilterControlledCreaturePermanent(); - PermanentsOnBattlefieldCount controllerCount = new PermanentsOnBattlefieldCount(controllerFilter); - int controllerAmount = controllerCount.calculate(game, source, this); - boolean check = false; - if (controller != null) { - for (UUID opponentID : game.getOpponents(controller.getId())) { - if (opponentID != null) { - FilterCreaturePermanent opponentFilter = new FilterCreaturePermanent(); - opponentFilter.add(new ControllerIdPredicate(opponentID)); - PermanentsOnBattlefieldCount opponentCreatureCount = new PermanentsOnBattlefieldCount(opponentFilter); - check = opponentCreatureCount.calculate(game, source, this) > controllerAmount; - if (check) { - break; - } - } - } - if (check) { - Card card = game.getCard(source.getSourceId()); - controller.moveCards(card, Zone.HAND, source, game); - return true; - } - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.p; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.ControllerIdPredicate; +import mage.game.Game; +import mage.game.permanent.token.BeastToken; +import mage.players.Player; + +/** + * + * @author wetterlicht + */ +public class PulseOfTheTangle extends CardImpl { + + public PulseOfTheTangle(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{G}{G}"); + + // Create a 3/3 green Beast creature token. Then if an opponent controls more creatures than you, return Pulse of the Tangle to its owner's hand. + this.getSpellAbility().addEffect(new CreateTokenEffect(new BeastToken())); + this.getSpellAbility().addEffect(new PulseOfTheTangleReturnToHandEffect()); + } + + public PulseOfTheTangle(final PulseOfTheTangle card) { + super(card); + } + + @Override + public PulseOfTheTangle copy() { + return new PulseOfTheTangle(this); + } +} + +class PulseOfTheTangleReturnToHandEffect extends OneShotEffect { + + PulseOfTheTangleReturnToHandEffect() { + super(Outcome.Benefit); + this.staticText = "Then if an opponent controls more creatures than you, return {this} to its owner's hand"; + } + + PulseOfTheTangleReturnToHandEffect(final PulseOfTheTangleReturnToHandEffect effect) { + super(effect); + } + + @Override + public PulseOfTheTangleReturnToHandEffect copy() { + return new PulseOfTheTangleReturnToHandEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + FilterControlledCreaturePermanent controllerFilter = new FilterControlledCreaturePermanent(); + PermanentsOnBattlefieldCount controllerCount = new PermanentsOnBattlefieldCount(controllerFilter); + int controllerAmount = controllerCount.calculate(game, source, this); + boolean check = false; + if (controller != null) { + for (UUID opponentID : game.getOpponents(controller.getId())) { + if (opponentID != null) { + FilterCreaturePermanent opponentFilter = new FilterCreaturePermanent(); + opponentFilter.add(new ControllerIdPredicate(opponentID)); + PermanentsOnBattlefieldCount opponentCreatureCount = new PermanentsOnBattlefieldCount(opponentFilter); + check = opponentCreatureCount.calculate(game, source, this) > controllerAmount; + if (check) { + break; + } + } + } + if (check) { + Card card = game.getCard(source.getSourceId()); + controller.moveCards(card, Zone.HAND, source, game); + return true; + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/p/PulseTracker.java b/Mage.Sets/src/mage/cards/p/PulseTracker.java index 9661d27d065..19528c01f0b 100644 --- a/Mage.Sets/src/mage/cards/p/PulseTracker.java +++ b/Mage.Sets/src/mage/cards/p/PulseTracker.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -48,8 +49,8 @@ public class PulseTracker extends CardImpl { public PulseTracker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PulsemageAdvocate.java b/Mage.Sets/src/mage/cards/p/PulsemageAdvocate.java index ad9d3f64708..2352409ffeb 100644 --- a/Mage.Sets/src/mage/cards/p/PulsemageAdvocate.java +++ b/Mage.Sets/src/mage/cards/p/PulsemageAdvocate.java @@ -39,6 +39,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -63,8 +64,8 @@ public class PulsemageAdvocate extends CardImpl { public PulsemageAdvocate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PuppetConjurer.java b/Mage.Sets/src/mage/cards/p/PuppetConjurer.java index 7d79679d4b2..ecc09b12531 100644 --- a/Mage.Sets/src/mage/cards/p/PuppetConjurer.java +++ b/Mage.Sets/src/mage/cards/p/PuppetConjurer.java @@ -60,8 +60,8 @@ public class PuppetConjurer extends CardImpl { public PuppetConjurer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/Puppeteer.java b/Mage.Sets/src/mage/cards/p/Puppeteer.java index 23ea047c43a..681e4294c17 100644 --- a/Mage.Sets/src/mage/cards/p/Puppeteer.java +++ b/Mage.Sets/src/mage/cards/p/Puppeteer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.MayTapOrUntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class Puppeteer extends CardImpl { public Puppeteer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PuppeteerClique.java b/Mage.Sets/src/mage/cards/p/PuppeteerClique.java index dae88222321..3450dc80fa3 100644 --- a/Mage.Sets/src/mage/cards/p/PuppeteerClique.java +++ b/Mage.Sets/src/mage/cards/p/PuppeteerClique.java @@ -44,6 +44,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -65,8 +66,8 @@ public class PuppeteerClique extends CardImpl { public PuppeteerClique(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PuresightMerrow.java b/Mage.Sets/src/mage/cards/p/PuresightMerrow.java index 88697c3d082..b5124e85f52 100644 --- a/Mage.Sets/src/mage/cards/p/PuresightMerrow.java +++ b/Mage.Sets/src/mage/cards/p/PuresightMerrow.java @@ -41,6 +41,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -54,8 +55,8 @@ public class PuresightMerrow extends CardImpl { public PuresightMerrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W/U}{W/U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PuresteelPaladin.java b/Mage.Sets/src/mage/cards/p/PuresteelPaladin.java index f57b33675d7..28fae07ef7d 100644 --- a/Mage.Sets/src/mage/cards/p/PuresteelPaladin.java +++ b/Mage.Sets/src/mage/cards/p/PuresteelPaladin.java @@ -57,8 +57,8 @@ public class PuresteelPaladin extends CardImpl { public PuresteelPaladin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/Purity.java b/Mage.Sets/src/mage/cards/p/Purity.java index a6e32374389..ac03da61b85 100644 --- a/Mage.Sets/src/mage/cards/p/Purity.java +++ b/Mage.Sets/src/mage/cards/p/Purity.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -55,8 +56,8 @@ public class Purity extends CardImpl { public Purity(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{W}{W}"); - this.subtype.add("Elemental"); - this.subtype.add("Incarnation"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.INCARNATION); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/p/PurphorosGodOfTheForge.java b/Mage.Sets/src/mage/cards/p/PurphorosGodOfTheForge.java index 2ffb85c87d8..6da9bbd4386 100644 --- a/Mage.Sets/src/mage/cards/p/PurphorosGodOfTheForge.java +++ b/Mage.Sets/src/mage/cards/p/PurphorosGodOfTheForge.java @@ -60,7 +60,7 @@ public class PurphorosGodOfTheForge extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{3}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/p/PurphorossEmissary.java b/Mage.Sets/src/mage/cards/p/PurphorossEmissary.java index 80af4956ec5..a427dc47c55 100644 --- a/Mage.Sets/src/mage/cards/p/PurphorossEmissary.java +++ b/Mage.Sets/src/mage/cards/p/PurphorossEmissary.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -50,7 +51,7 @@ public class PurphorossEmissary extends CardImpl { public PurphorossEmissary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{3}{R}"); - this.subtype.add("Ox"); + this.subtype.add(SubType.OX); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PursuitOfFlight.java b/Mage.Sets/src/mage/cards/p/PursuitOfFlight.java index 169a87b0254..b1f97a2cd60 100644 --- a/Mage.Sets/src/mage/cards/p/PursuitOfFlight.java +++ b/Mage.Sets/src/mage/cards/p/PursuitOfFlight.java @@ -56,7 +56,7 @@ public class PursuitOfFlight extends CardImpl { public PursuitOfFlight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); this.color.setRed(true); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/p/PusKami.java b/Mage.Sets/src/mage/cards/p/PusKami.java index 8a5aa701eb0..babcda4832f 100644 --- a/Mage.Sets/src/mage/cards/p/PusKami.java +++ b/Mage.Sets/src/mage/cards/p/PusKami.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -60,7 +61,7 @@ public class PusKami extends CardImpl { public PusKami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/Putrefax.java b/Mage.Sets/src/mage/cards/p/Putrefax.java index 332edaa92a1..511334b50e6 100644 --- a/Mage.Sets/src/mage/cards/p/Putrefax.java +++ b/Mage.Sets/src/mage/cards/p/Putrefax.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.events.GameEvent; /** @@ -48,7 +49,7 @@ public class Putrefax extends CardImpl { public Putrefax (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PutridImp.java b/Mage.Sets/src/mage/cards/p/PutridImp.java index 08f9689d51c..046a07e3512 100644 --- a/Mage.Sets/src/mage/cards/p/PutridImp.java +++ b/Mage.Sets/src/mage/cards/p/PutridImp.java @@ -45,6 +45,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class PutridImp extends CardImpl { public PutridImp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Imp"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.IMP); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PutridLeech.java b/Mage.Sets/src/mage/cards/p/PutridLeech.java index 18a4504e454..88edf548258 100644 --- a/Mage.Sets/src/mage/cards/p/PutridLeech.java +++ b/Mage.Sets/src/mage/cards/p/PutridLeech.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class PutridLeech extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{G}"); - this.subtype.add("Zombie"); - this.subtype.add("Leech"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.LEECH); this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(new LimitedTimesPerTurnActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new PayLifeCost(2))); diff --git a/Mage.Sets/src/mage/cards/p/PutridWarrior.java b/Mage.Sets/src/mage/cards/p/PutridWarrior.java index 27e76b505a3..bcd6aac13dc 100644 --- a/Mage.Sets/src/mage/cards/p/PutridWarrior.java +++ b/Mage.Sets/src/mage/cards/p/PutridWarrior.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.LoseLifeAllPlayersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -54,9 +55,9 @@ public class PutridWarrior extends CardImpl { public PutridWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Soldier"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PygmyKavu.java b/Mage.Sets/src/mage/cards/p/PygmyKavu.java index 60e15058455..b04ca0d5e6d 100644 --- a/Mage.Sets/src/mage/cards/p/PygmyKavu.java +++ b/Mage.Sets/src/mage/cards/p/PygmyKavu.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -56,7 +57,7 @@ public class PygmyKavu extends CardImpl { public PygmyKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/p/PygmyPyrosaur.java b/Mage.Sets/src/mage/cards/p/PygmyPyrosaur.java index 7e71e1d53ef..69f48ab75e3 100644 --- a/Mage.Sets/src/mage/cards/p/PygmyPyrosaur.java +++ b/Mage.Sets/src/mage/cards/p/PygmyPyrosaur.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class PygmyPyrosaur extends CardImpl { public PygmyPyrosaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PygmyRazorback.java b/Mage.Sets/src/mage/cards/p/PygmyRazorback.java index 5c0b9da0f30..3789b2365b9 100644 --- a/Mage.Sets/src/mage/cards/p/PygmyRazorback.java +++ b/Mage.Sets/src/mage/cards/p/PygmyRazorback.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class PygmyRazorback extends CardImpl { public PygmyRazorback(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Boar"); + this.subtype.add(SubType.BOAR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PygmyTroll.java b/Mage.Sets/src/mage/cards/p/PygmyTroll.java index 43b98deb417..ef69814e8df 100644 --- a/Mage.Sets/src/mage/cards/p/PygmyTroll.java +++ b/Mage.Sets/src/mage/cards/p/PygmyTroll.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class PygmyTroll extends CardImpl { public PygmyTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Troll"); + this.subtype.add(SubType.TROLL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/Pyknite.java b/Mage.Sets/src/mage/cards/p/Pyknite.java index 62e6f33a002..85ed3c545ce 100644 --- a/Mage.Sets/src/mage/cards/p/Pyknite.java +++ b/Mage.Sets/src/mage/cards/p/Pyknite.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,7 +47,7 @@ public class Pyknite extends CardImpl { public Pyknite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Ouphe"); + this.subtype.add(SubType.OUPHE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PyreCharger.java b/Mage.Sets/src/mage/cards/p/PyreCharger.java index d32887152ed..89c36edc254 100644 --- a/Mage.Sets/src/mage/cards/p/PyreCharger.java +++ b/Mage.Sets/src/mage/cards/p/PyreCharger.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class PyreCharger extends CardImpl { public PyreCharger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PyreHound.java b/Mage.Sets/src/mage/cards/p/PyreHound.java index 8f90c5258ea..d3c61ec8316 100644 --- a/Mage.Sets/src/mage/cards/p/PyreHound.java +++ b/Mage.Sets/src/mage/cards/p/PyreHound.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterInstantOrSorcerySpell; @@ -46,8 +47,8 @@ public class PyreHound extends CardImpl { public PyreHound(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Hound"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.HOUND); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/PyreZombie.java b/Mage.Sets/src/mage/cards/p/PyreZombie.java index e2fa5aeb504..86200277bee 100644 --- a/Mage.Sets/src/mage/cards/p/PyreZombie.java +++ b/Mage.Sets/src/mage/cards/p/PyreZombie.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -52,7 +53,7 @@ public class PyreZombie extends CardImpl { public PyreZombie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PyreheartWolf.java b/Mage.Sets/src/mage/cards/p/PyreheartWolf.java index 4216cfed2e1..8ab32e9b2b4 100644 --- a/Mage.Sets/src/mage/cards/p/PyreheartWolf.java +++ b/Mage.Sets/src/mage/cards/p/PyreheartWolf.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.UndyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -55,7 +56,7 @@ public class PyreheartWolf extends CardImpl { public PyreheartWolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PyrewildShaman.java b/Mage.Sets/src/mage/cards/p/PyrewildShaman.java index 4e773f1f57c..d8e6d15213f 100644 --- a/Mage.Sets/src/mage/cards/p/PyrewildShaman.java +++ b/Mage.Sets/src/mage/cards/p/PyrewildShaman.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.BloodrushAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -56,8 +57,8 @@ public class PyrewildShaman extends CardImpl { public PyrewildShaman (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/p/PyroclastConsul.java b/Mage.Sets/src/mage/cards/p/PyroclastConsul.java index 6951b1f0b10..c9b10e2da0a 100644 --- a/Mage.Sets/src/mage/cards/p/PyroclastConsul.java +++ b/Mage.Sets/src/mage/cards/p/PyroclastConsul.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; /** @@ -44,8 +45,8 @@ public class PyroclastConsul extends CardImpl { public PyroclastConsul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/p/Python.java b/Mage.Sets/src/mage/cards/p/Python.java index f3c57a5b891..130eabfbfc9 100644 --- a/Mage.Sets/src/mage/cards/p/Python.java +++ b/Mage.Sets/src/mage/cards/p/Python.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class Python extends CardImpl { public Python(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/q/QalSismaBehemoth.java b/Mage.Sets/src/mage/cards/q/QalSismaBehemoth.java index a9152c37d7c..1cf934f1162 100644 --- a/Mage.Sets/src/mage/cards/q/QalSismaBehemoth.java +++ b/Mage.Sets/src/mage/cards/q/QalSismaBehemoth.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.CantAttackBlockUnlessPaysSourceEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class QalSismaBehemoth extends CardImpl { public QalSismaBehemoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/q/QarsiDeceiver.java b/Mage.Sets/src/mage/cards/q/QarsiDeceiver.java index 0593e7149b3..ea13931fad0 100644 --- a/Mage.Sets/src/mage/cards/q/QarsiDeceiver.java +++ b/Mage.Sets/src/mage/cards/q/QarsiDeceiver.java @@ -41,6 +41,7 @@ import mage.abilities.mana.builder.ConditionalManaBuilder; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.Game; import mage.game.stack.Spell; @@ -52,8 +53,8 @@ public class QarsiDeceiver extends CardImpl { public QarsiDeceiver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Naga"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/q/QarsiHighPriest.java b/Mage.Sets/src/mage/cards/q/QarsiHighPriest.java index 20bb8b19ef3..dea8b30150b 100644 --- a/Mage.Sets/src/mage/cards/q/QarsiHighPriest.java +++ b/Mage.Sets/src/mage/cards/q/QarsiHighPriest.java @@ -38,6 +38,7 @@ import mage.abilities.effects.keyword.ManifestEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; @@ -50,8 +51,8 @@ public class QarsiHighPriest extends CardImpl { public QarsiHighPriest(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/q/QarsiSadist.java b/Mage.Sets/src/mage/cards/q/QarsiSadist.java index f37bcdc1e32..a0d92da937b 100644 --- a/Mage.Sets/src/mage/cards/q/QarsiSadist.java +++ b/Mage.Sets/src/mage/cards/q/QarsiSadist.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ExploitAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetOpponent; /** @@ -48,8 +49,8 @@ public class QarsiSadist extends CardImpl { public QarsiSadist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/q/QasaliAmbusher.java b/Mage.Sets/src/mage/cards/q/QasaliAmbusher.java index df04017d726..4ff501b423c 100644 --- a/Mage.Sets/src/mage/cards/q/QasaliAmbusher.java +++ b/Mage.Sets/src/mage/cards/q/QasaliAmbusher.java @@ -53,8 +53,8 @@ public class QasaliAmbusher extends CardImpl { public QasaliAmbusher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/q/QasaliPridemage.java b/Mage.Sets/src/mage/cards/q/QasaliPridemage.java index 173e05f26ab..10b478140dc 100644 --- a/Mage.Sets/src/mage/cards/q/QasaliPridemage.java +++ b/Mage.Sets/src/mage/cards/q/QasaliPridemage.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ExaltedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.Target; @@ -52,8 +53,8 @@ public class QasaliPridemage extends CardImpl { public QasaliPridemage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/q/QasaliSlingers.java b/Mage.Sets/src/mage/cards/q/QasaliSlingers.java index 90a8d7a4fdf..b3598497e53 100644 --- a/Mage.Sets/src/mage/cards/q/QasaliSlingers.java +++ b/Mage.Sets/src/mage/cards/q/QasaliSlingers.java @@ -52,8 +52,8 @@ public class QasaliSlingers extends CardImpl { public QasaliSlingers(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); - this.subtype.add("Cat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/q/QuagSickness.java b/Mage.Sets/src/mage/cards/q/QuagSickness.java index e5f0b1fc7ff..07d14ee0768 100644 --- a/Mage.Sets/src/mage/cards/q/QuagSickness.java +++ b/Mage.Sets/src/mage/cards/q/QuagSickness.java @@ -59,7 +59,7 @@ public class QuagSickness extends CardImpl { public QuagSickness(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/q/QuagVampires.java b/Mage.Sets/src/mage/cards/q/QuagVampires.java index db91e34298f..e7d5f90a9e6 100644 --- a/Mage.Sets/src/mage/cards/q/QuagVampires.java +++ b/Mage.Sets/src/mage/cards/q/QuagVampires.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -47,8 +48,8 @@ public class QuagVampires extends CardImpl { public QuagVampires(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/q/QuagmireDruid.java b/Mage.Sets/src/mage/cards/q/QuagmireDruid.java index 3483230ec25..05eec0d41c5 100644 --- a/Mage.Sets/src/mage/cards/q/QuagmireDruid.java +++ b/Mage.Sets/src/mage/cards/q/QuagmireDruid.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -51,8 +52,8 @@ public class QuagmireDruid extends CardImpl { public QuagmireDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/q/QuagmireLamprey.java b/Mage.Sets/src/mage/cards/q/QuagmireLamprey.java index fbc9a0f39b1..b1aef745ca8 100644 --- a/Mage.Sets/src/mage/cards/q/QuagmireLamprey.java +++ b/Mage.Sets/src/mage/cards/q/QuagmireLamprey.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,7 +46,7 @@ public class QuagmireLamprey extends CardImpl { public QuagmireLamprey(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Fish"); + this.subtype.add(SubType.FISH); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/q/Quagnoth.java b/Mage.Sets/src/mage/cards/q/Quagnoth.java index f95379bfa77..17d79f15d1a 100644 --- a/Mage.Sets/src/mage/cards/q/Quagnoth.java +++ b/Mage.Sets/src/mage/cards/q/Quagnoth.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SplitSecondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class Quagnoth extends CardImpl { public Quagnoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/q/QuarryBeetle.java b/Mage.Sets/src/mage/cards/q/QuarryBeetle.java index f55b65d4ef7..61dbd24575c 100644 --- a/Mage.Sets/src/mage/cards/q/QuarryBeetle.java +++ b/Mage.Sets/src/mage/cards/q/QuarryBeetle.java @@ -1,68 +1,69 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.q; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.common.FilterLandCard; -import mage.target.common.TargetCardInYourGraveyard; - -/** - * - * @author ciaccona007 - */ -public class QuarryBeetle extends CardImpl { - - public QuarryBeetle(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); - - this.subtype.add("Insect"); - this.power = new MageInt(4); - this.toughness = new MageInt(5); - - // When Quarry Beetle enters the battlefield, you may return target land card from your graveyard to the battlefield. - Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), true); - ability.addTarget(new TargetCardInYourGraveyard(new FilterLandCard("land card from your graveyard"))); - addAbility(ability); - } - - public QuarryBeetle(final QuarryBeetle card) { - super(card); - } - - @Override - public QuarryBeetle copy() { - return new QuarryBeetle(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.q; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.common.FilterLandCard; +import mage.target.common.TargetCardInYourGraveyard; + +/** + * + * @author ciaccona007 + */ +public class QuarryBeetle extends CardImpl { + + public QuarryBeetle(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); + + this.subtype.add(SubType.INSECT); + this.power = new MageInt(4); + this.toughness = new MageInt(5); + + // When Quarry Beetle enters the battlefield, you may return target land card from your graveyard to the battlefield. + Ability ability = new EntersBattlefieldTriggeredAbility(new ReturnFromGraveyardToBattlefieldTargetEffect(), true); + ability.addTarget(new TargetCardInYourGraveyard(new FilterLandCard("land card from your graveyard"))); + addAbility(ability); + } + + public QuarryBeetle(final QuarryBeetle card) { + super(card); + } + + @Override + public QuarryBeetle copy() { + return new QuarryBeetle(this); + } +} diff --git a/Mage.Sets/src/mage/cards/q/QuarryColossus.java b/Mage.Sets/src/mage/cards/q/QuarryColossus.java index c241be33e08..d2d00304fb9 100644 --- a/Mage.Sets/src/mage/cards/q/QuarryColossus.java +++ b/Mage.Sets/src/mage/cards/q/QuarryColossus.java @@ -57,7 +57,7 @@ public class QuarryColossus extends CardImpl { public QuarryColossus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/q/QuarryHauler.java b/Mage.Sets/src/mage/cards/q/QuarryHauler.java index 311917fbc45..296b36b933c 100644 --- a/Mage.Sets/src/mage/cards/q/QuarryHauler.java +++ b/Mage.Sets/src/mage/cards/q/QuarryHauler.java @@ -1,126 +1,127 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.q; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.OneShotEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.counters.Counter; -import mage.counters.CounterType; -import mage.counters.Counters; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.TargetPermanent; - -/** - * - * @author Styxo - */ -public class QuarryHauler extends CardImpl { - - public QuarryHauler(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - - this.subtype.add("Camel"); - this.power = new MageInt(4); - this.toughness = new MageInt(3); - - // When Quarry Hauler enters the battlefield, for each kind of counter on target permanent, put another counter of that kind on it or remove one from it. - Ability ability = new EntersBattlefieldTriggeredAbility(new QuarryHaulerEffect()); - ability.addTarget(new TargetPermanent()); - this.addAbility(ability); - } - - public QuarryHauler(final QuarryHauler card) { - super(card); - } - - @Override - public QuarryHauler copy() { - return new QuarryHauler(this); - } -} - -class QuarryHaulerEffect extends OneShotEffect { - - public QuarryHaulerEffect() { - super(Outcome.BoostCreature); - this.staticText = "for each kind of counter on target permanent, put another counter of that kind on it or remove one from it"; - - } - - public QuarryHaulerEffect(final QuarryHaulerEffect effect) { - super(effect); - } - - @Override - public QuarryHaulerEffect copy() { - return new QuarryHaulerEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source)); - if (controller != null) { - if (permanent != null) { - Counters counters = permanent.getCounters(game).copy(); - CounterType counterType; - for (Counter counter : counters.values()) { - if (controller.chooseUse(Outcome.BoostCreature, "Do you want to add or remove a " + counter.getName() + " counter?", null, "add", "remove", source, game)) { - counterType = CounterType.findByName(counter.getName()); - Counter counterToAdd; - if (counterType != null) { - counterToAdd = counterType.createInstance(); - } else { - counterToAdd = new Counter(counter.getName()); - } - permanent.addCounters(counterToAdd, source, game); - } else { - counterType = CounterType.findByName(counter.getName()); - if (counterType != null) { - permanent.removeCounters(counterType.createInstance(), game); - } else { - permanent.removeCounters(counter.getName(), 1, game); - } - } - } - } - return true; - } - return false; - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.q; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.counters.Counter; +import mage.counters.CounterType; +import mage.counters.Counters; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.TargetPermanent; + +/** + * + * @author Styxo + */ +public class QuarryHauler extends CardImpl { + + public QuarryHauler(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); + + this.subtype.add(SubType.CAMEL); + this.power = new MageInt(4); + this.toughness = new MageInt(3); + + // When Quarry Hauler enters the battlefield, for each kind of counter on target permanent, put another counter of that kind on it or remove one from it. + Ability ability = new EntersBattlefieldTriggeredAbility(new QuarryHaulerEffect()); + ability.addTarget(new TargetPermanent()); + this.addAbility(ability); + } + + public QuarryHauler(final QuarryHauler card) { + super(card); + } + + @Override + public QuarryHauler copy() { + return new QuarryHauler(this); + } +} + +class QuarryHaulerEffect extends OneShotEffect { + + public QuarryHaulerEffect() { + super(Outcome.BoostCreature); + this.staticText = "for each kind of counter on target permanent, put another counter of that kind on it or remove one from it"; + + } + + public QuarryHaulerEffect(final QuarryHaulerEffect effect) { + super(effect); + } + + @Override + public QuarryHaulerEffect copy() { + return new QuarryHaulerEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source)); + if (controller != null) { + if (permanent != null) { + Counters counters = permanent.getCounters(game).copy(); + CounterType counterType; + for (Counter counter : counters.values()) { + if (controller.chooseUse(Outcome.BoostCreature, "Do you want to add or remove a " + counter.getName() + " counter?", null, "add", "remove", source, game)) { + counterType = CounterType.findByName(counter.getName()); + Counter counterToAdd; + if (counterType != null) { + counterToAdd = counterType.createInstance(); + } else { + counterToAdd = new Counter(counter.getName()); + } + permanent.addCounters(counterToAdd, source, game); + } else { + counterType = CounterType.findByName(counter.getName()); + if (counterType != null) { + permanent.removeCounters(counterType.createInstance(), game); + } else { + permanent.removeCounters(counter.getName(), 1, game); + } + } + } + } + return true; + } + return false; + } + +} diff --git a/Mage.Sets/src/mage/cards/q/QueenMarchesa.java b/Mage.Sets/src/mage/cards/q/QueenMarchesa.java index 4a0fff3a60c..ab67ac06a48 100644 --- a/Mage.Sets/src/mage/cards/q/QueenMarchesa.java +++ b/Mage.Sets/src/mage/cards/q/QueenMarchesa.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.game.Game; @@ -56,8 +57,8 @@ public class QueenMarchesa extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{W}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/q/QueensBaySoldier.java b/Mage.Sets/src/mage/cards/q/QueensBaySoldier.java index 7287490ddbe..508897bca58 100644 --- a/Mage.Sets/src/mage/cards/q/QueensBaySoldier.java +++ b/Mage.Sets/src/mage/cards/q/QueensBaySoldier.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class QueensBaySoldier extends CardImpl { public QueensBaySoldier(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); } diff --git a/Mage.Sets/src/mage/cards/q/QuestingPhelddagrif.java b/Mage.Sets/src/mage/cards/q/QuestingPhelddagrif.java index b8d1013dc9a..c5c1067ef23 100644 --- a/Mage.Sets/src/mage/cards/q/QuestingPhelddagrif.java +++ b/Mage.Sets/src/mage/cards/q/QuestingPhelddagrif.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.HippoToken; @@ -57,7 +58,7 @@ public class QuestingPhelddagrif extends CardImpl { public QuestingPhelddagrif(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{W}{U}"); - this.subtype.add("Phelddagrif"); + this.subtype.add(SubType.PHELDDAGRIF); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/q/QuiGonJinn.java b/Mage.Sets/src/mage/cards/q/QuiGonJinn.java index 95f47cd475e..ce8a9e10e14 100644 --- a/Mage.Sets/src/mage/cards/q/QuiGonJinn.java +++ b/Mage.Sets/src/mage/cards/q/QuiGonJinn.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.target.common.TargetCardInGraveyard; @@ -56,8 +57,8 @@ public class QuiGonJinn extends CardImpl { public QuiGonJinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{U}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Jedi"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.JEDI); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/q/QuickSliver.java b/Mage.Sets/src/mage/cards/q/QuickSliver.java index 3fe1fe505c3..71c7513e0e4 100644 --- a/Mage.Sets/src/mage/cards/q/QuickSliver.java +++ b/Mage.Sets/src/mage/cards/q/QuickSliver.java @@ -54,7 +54,7 @@ public class QuickSliver extends CardImpl { public QuickSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/q/Quickchange.java b/Mage.Sets/src/mage/cards/q/Quickchange.java index 47ce4239f52..1f6ea700d5c 100644 --- a/Mage.Sets/src/mage/cards/q/Quickchange.java +++ b/Mage.Sets/src/mage/cards/q/Quickchange.java @@ -1,64 +1,64 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.q; - -import java.util.UUID; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.effects.common.continuous.BecomesColorOrColorsTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author LevelX2 - */ -public class Quickchange extends CardImpl { - - public Quickchange(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}"); - - // Target creature becomes the color or colors of your choice until end of turn. - this.getSpellAbility().addEffect(new BecomesColorOrColorsTargetEffect(Duration.EndOfTurn)); - this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - - // Draw a card. - this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); - } - - public Quickchange(final Quickchange card) { - super(card); - } - - @Override - public Quickchange copy() { - return new Quickchange(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.q; + +import java.util.UUID; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.continuous.BecomesColorOrColorsTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class Quickchange extends CardImpl { + + public Quickchange(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}"); + + // Target creature becomes the color or colors of your choice until end of turn. + this.getSpellAbility().addEffect(new BecomesColorOrColorsTargetEffect(Duration.EndOfTurn)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + + // Draw a card. + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); + } + + public Quickchange(final Quickchange card) { + super(card); + } + + @Override + public Quickchange copy() { + return new Quickchange(this); + } +} diff --git a/Mage.Sets/src/mage/cards/q/QuickeningLicid.java b/Mage.Sets/src/mage/cards/q/QuickeningLicid.java index 52391a53ac6..fc9ce2fdd22 100644 --- a/Mage.Sets/src/mage/cards/q/QuickeningLicid.java +++ b/Mage.Sets/src/mage/cards/q/QuickeningLicid.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class QuickeningLicid extends CardImpl { public QuickeningLicid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Licid"); + this.subtype.add(SubType.LICID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/q/Quickling.java b/Mage.Sets/src/mage/cards/q/Quickling.java index 22377cedac4..cb85f46f962 100644 --- a/Mage.Sets/src/mage/cards/q/Quickling.java +++ b/Mage.Sets/src/mage/cards/q/Quickling.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -55,8 +56,8 @@ public class Quickling extends CardImpl { public Quickling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/q/QuicksilverBehemoth.java b/Mage.Sets/src/mage/cards/q/QuicksilverBehemoth.java index 0bf7fceb273..c97adc17b15 100644 --- a/Mage.Sets/src/mage/cards/q/QuicksilverBehemoth.java +++ b/Mage.Sets/src/mage/cards/q/QuicksilverBehemoth.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.AffinityForArtifactsAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,7 +48,7 @@ public class QuicksilverBehemoth extends CardImpl { public QuicksilverBehemoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/q/QuicksilverDagger.java b/Mage.Sets/src/mage/cards/q/QuicksilverDagger.java index 1764c3c3014..7904d92d3ae 100644 --- a/Mage.Sets/src/mage/cards/q/QuicksilverDagger.java +++ b/Mage.Sets/src/mage/cards/q/QuicksilverDagger.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -55,7 +56,7 @@ public class QuicksilverDagger extends CardImpl { public QuicksilverDagger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/q/QuicksilverDragon.java b/Mage.Sets/src/mage/cards/q/QuicksilverDragon.java index f09405a9325..f06737bc09a 100644 --- a/Mage.Sets/src/mage/cards/q/QuicksilverDragon.java +++ b/Mage.Sets/src/mage/cards/q/QuicksilverDragon.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class QuicksilverDragon extends CardImpl { public QuicksilverDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/q/QuicksilverElemental.java b/Mage.Sets/src/mage/cards/q/QuicksilverElemental.java index 1da56d64f3d..5c5cefc1f9e 100644 --- a/Mage.Sets/src/mage/cards/q/QuicksilverElemental.java +++ b/Mage.Sets/src/mage/cards/q/QuicksilverElemental.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.ManaType; @@ -62,7 +63,7 @@ public class QuicksilverElemental extends CardImpl { public QuicksilverElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/q/QuicksilverGargantuan.java b/Mage.Sets/src/mage/cards/q/QuicksilverGargantuan.java index 370facf9dd9..254507f8c97 100644 --- a/Mage.Sets/src/mage/cards/q/QuicksilverGargantuan.java +++ b/Mage.Sets/src/mage/cards/q/QuicksilverGargantuan.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CopyPermanentEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.Game; import mage.game.permanent.Permanent; import mage.util.functions.ApplyToPermanent; @@ -47,7 +48,7 @@ public class QuicksilverGargantuan extends CardImpl { public QuicksilverGargantuan(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{U}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/q/QuicksilverWall.java b/Mage.Sets/src/mage/cards/q/QuicksilverWall.java index a027e674de2..23c3618aad7 100644 --- a/Mage.Sets/src/mage/cards/q/QuicksilverWall.java +++ b/Mage.Sets/src/mage/cards/q/QuicksilverWall.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class QuicksilverWall extends CardImpl { public QuicksilverWall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(1); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/q/QuicksmithGenius.java b/Mage.Sets/src/mage/cards/q/QuicksmithGenius.java index dd94a0e0afb..dd937f64d76 100644 --- a/Mage.Sets/src/mage/cards/q/QuicksmithGenius.java +++ b/Mage.Sets/src/mage/cards/q/QuicksmithGenius.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; @@ -47,8 +48,8 @@ public class QuicksmithGenius extends CardImpl { public QuicksmithGenius(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/q/QuicksmithRebel.java b/Mage.Sets/src/mage/cards/q/QuicksmithRebel.java index 4368886e967..a4480f5e8a3 100644 --- a/Mage.Sets/src/mage/cards/q/QuicksmithRebel.java +++ b/Mage.Sets/src/mage/cards/q/QuicksmithRebel.java @@ -1,83 +1,84 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.q; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.condition.common.SourceOnBattlefieldControlUnchangedCondition; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalContinuousEffect; -import mage.abilities.effects.common.DamageTargetEffect; -import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.filter.common.FilterControlledArtifactPermanent; -import mage.target.TargetPermanent; -import mage.target.common.TargetCreatureOrPlayer; - -/** - * - * @author Styxo - */ -public class QuicksmithRebel extends CardImpl { - - public QuicksmithRebel(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - - this.subtype.add("Human"); - this.subtype.add("Artificer"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - - // When Quicksmith Rebel enters the battlefield, target artifact you control gains "{T}: This artifact deals 2 damage to target creature or player" for as long as you control Quicksmith Rebel. - Ability artifactAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new TapSourceCost()); - artifactAbility.addTarget(new TargetCreatureOrPlayer()); - ConditionalContinuousEffect effect = new ConditionalContinuousEffect( - new GainAbilityTargetEffect(artifactAbility, Duration.Custom), - new SourceOnBattlefieldControlUnchangedCondition(), - "target artifact you control gains \"{T}: This artifact deals 2 damage to target creature or player\" for as long as you control {this}"); - Ability ability = new EntersBattlefieldTriggeredAbility(effect, false); - ability.addTarget(new TargetPermanent(new FilterControlledArtifactPermanent())); - this.addAbility(ability); - } - - public QuicksmithRebel(final QuicksmithRebel card) { - super(card); - } - - @Override - public QuicksmithRebel copy() { - return new QuicksmithRebel(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.q; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.condition.common.SourceOnBattlefieldControlUnchangedCondition; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.filter.common.FilterControlledArtifactPermanent; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreatureOrPlayer; + +/** + * + * @author Styxo + */ +public class QuicksmithRebel extends CardImpl { + + public QuicksmithRebel(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // When Quicksmith Rebel enters the battlefield, target artifact you control gains "{T}: This artifact deals 2 damage to target creature or player" for as long as you control Quicksmith Rebel. + Ability artifactAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new TapSourceCost()); + artifactAbility.addTarget(new TargetCreatureOrPlayer()); + ConditionalContinuousEffect effect = new ConditionalContinuousEffect( + new GainAbilityTargetEffect(artifactAbility, Duration.Custom), + new SourceOnBattlefieldControlUnchangedCondition(), + "target artifact you control gains \"{T}: This artifact deals 2 damage to target creature or player\" for as long as you control {this}"); + Ability ability = new EntersBattlefieldTriggeredAbility(effect, false); + ability.addTarget(new TargetPermanent(new FilterControlledArtifactPermanent())); + this.addAbility(ability); + } + + public QuicksmithRebel(final QuicksmithRebel card) { + super(card); + } + + @Override + public QuicksmithRebel copy() { + return new QuicksmithRebel(this); + } +} diff --git a/Mage.Sets/src/mage/cards/q/QuicksmithSpy.java b/Mage.Sets/src/mage/cards/q/QuicksmithSpy.java index b32cd993015..05cc836dab0 100644 --- a/Mage.Sets/src/mage/cards/q/QuicksmithSpy.java +++ b/Mage.Sets/src/mage/cards/q/QuicksmithSpy.java @@ -1,81 +1,82 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.q; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.condition.common.SourceOnBattlefieldControlUnchangedCondition; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.decorator.ConditionalContinuousEffect; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.filter.common.FilterControlledArtifactPermanent; -import mage.target.TargetPermanent; - -/** - * - * @author Styxo - */ -public class QuicksmithSpy extends CardImpl { - - public QuicksmithSpy(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - - this.subtype.add("Human"); - this.subtype.add("Artificer"); - this.power = new MageInt(2); - this.toughness = new MageInt(3); - - // When Quicksmith Spy enters the battlefield, target artifact you control gains "{T}: Draw a card" for as long as you control Quicksmith Spy. - Ability artifactAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new TapSourceCost()); - ConditionalContinuousEffect effect = new ConditionalContinuousEffect( - new GainAbilityTargetEffect(artifactAbility, Duration.Custom), - new SourceOnBattlefieldControlUnchangedCondition(), - "target artifact you control gains \"{T}: Draw a card\" for as long as you control {this}"); - Ability ability = new EntersBattlefieldTriggeredAbility(effect, false); - ability.addTarget(new TargetPermanent(new FilterControlledArtifactPermanent())); - this.addAbility(ability); - } - - public QuicksmithSpy(final QuicksmithSpy card) { - super(card); - } - - @Override - public QuicksmithSpy copy() { - return new QuicksmithSpy(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.q; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.condition.common.SourceOnBattlefieldControlUnchangedCondition; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.filter.common.FilterControlledArtifactPermanent; +import mage.target.TargetPermanent; + +/** + * + * @author Styxo + */ +public class QuicksmithSpy extends CardImpl { + + public QuicksmithSpy(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // When Quicksmith Spy enters the battlefield, target artifact you control gains "{T}: Draw a card" for as long as you control Quicksmith Spy. + Ability artifactAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new TapSourceCost()); + ConditionalContinuousEffect effect = new ConditionalContinuousEffect( + new GainAbilityTargetEffect(artifactAbility, Duration.Custom), + new SourceOnBattlefieldControlUnchangedCondition(), + "target artifact you control gains \"{T}: Draw a card\" for as long as you control {this}"); + Ability ability = new EntersBattlefieldTriggeredAbility(effect, false); + ability.addTarget(new TargetPermanent(new FilterControlledArtifactPermanent())); + this.addAbility(ability); + } + + public QuicksmithSpy(final QuicksmithSpy card) { + super(card); + } + + @Override + public QuicksmithSpy copy() { + return new QuicksmithSpy(this); + } +} diff --git a/Mage.Sets/src/mage/cards/q/QuietDisrepair.java b/Mage.Sets/src/mage/cards/q/QuietDisrepair.java index 5b80f8a0a0d..069df0742d3 100644 --- a/Mage.Sets/src/mage/cards/q/QuietDisrepair.java +++ b/Mage.Sets/src/mage/cards/q/QuietDisrepair.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.StaticFilters; @@ -52,7 +53,7 @@ public class QuietDisrepair extends CardImpl { public QuietDisrepair(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact or enchantment diff --git a/Mage.Sets/src/mage/cards/q/QuietusSpike.java b/Mage.Sets/src/mage/cards/q/QuietusSpike.java index 36df0c1df13..76badb7eef0 100644 --- a/Mage.Sets/src/mage/cards/q/QuietusSpike.java +++ b/Mage.Sets/src/mage/cards/q/QuietusSpike.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class QuietusSpike extends CardImpl { public QuietusSpike(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has deathtouch. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(DeathtouchAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/q/QuillSlingerBoggart.java b/Mage.Sets/src/mage/cards/q/QuillSlingerBoggart.java index b3c4892aac6..20233d68701 100644 --- a/Mage.Sets/src/mage/cards/q/QuillSlingerBoggart.java +++ b/Mage.Sets/src/mage/cards/q/QuillSlingerBoggart.java @@ -54,8 +54,8 @@ public class QuillSlingerBoggart extends CardImpl { public QuillSlingerBoggart(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/q/QuilledSlagwurm.java b/Mage.Sets/src/mage/cards/q/QuilledSlagwurm.java index 94fb5780d9a..be73b0a9ebf 100644 --- a/Mage.Sets/src/mage/cards/q/QuilledSlagwurm.java +++ b/Mage.Sets/src/mage/cards/q/QuilledSlagwurm.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class QuilledSlagwurm extends CardImpl { public QuilledSlagwurm (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/q/QuilledSliver.java b/Mage.Sets/src/mage/cards/q/QuilledSliver.java index dc2ab137ca5..6c07791a094 100644 --- a/Mage.Sets/src/mage/cards/q/QuilledSliver.java +++ b/Mage.Sets/src/mage/cards/q/QuilledSliver.java @@ -57,7 +57,7 @@ public class QuilledSliver extends CardImpl { public QuilledSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/q/QuilledWolf.java b/Mage.Sets/src/mage/cards/q/QuilledWolf.java index efae7c414eb..7201d484411 100644 --- a/Mage.Sets/src/mage/cards/q/QuilledWolf.java +++ b/Mage.Sets/src/mage/cards/q/QuilledWolf.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class QuilledWolf extends CardImpl { public QuilledWolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/q/QuillmaneBaku.java b/Mage.Sets/src/mage/cards/q/QuillmaneBaku.java index 3ff433352dc..2d72cae907f 100644 --- a/Mage.Sets/src/mage/cards/q/QuillmaneBaku.java +++ b/Mage.Sets/src/mage/cards/q/QuillmaneBaku.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.Zone; @@ -62,7 +63,7 @@ public class QuillmaneBaku extends CardImpl { public QuillmaneBaku(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/q/Quillspike.java b/Mage.Sets/src/mage/cards/q/Quillspike.java index 0e992b994e5..66280a8d0c5 100644 --- a/Mage.Sets/src/mage/cards/q/Quillspike.java +++ b/Mage.Sets/src/mage/cards/q/Quillspike.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -52,7 +53,7 @@ public class Quillspike extends CardImpl { public Quillspike(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B/G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/q/QuirionDryad.java b/Mage.Sets/src/mage/cards/q/QuirionDryad.java index d679e22087e..3780ac110af 100644 --- a/Mage.Sets/src/mage/cards/q/QuirionDryad.java +++ b/Mage.Sets/src/mage/cards/q/QuirionDryad.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -58,7 +59,7 @@ public class QuirionDryad extends CardImpl { public QuirionDryad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/q/QuirionElves.java b/Mage.Sets/src/mage/cards/q/QuirionElves.java index ed2677619c3..e63b4ba5747 100644 --- a/Mage.Sets/src/mage/cards/q/QuirionElves.java +++ b/Mage.Sets/src/mage/cards/q/QuirionElves.java @@ -41,6 +41,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class QuirionElves extends CardImpl { public QuirionElves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/q/QuirionExplorer.java b/Mage.Sets/src/mage/cards/q/QuirionExplorer.java index 99aa8c8316d..4f1aa85b0bf 100644 --- a/Mage.Sets/src/mage/cards/q/QuirionExplorer.java +++ b/Mage.Sets/src/mage/cards/q/QuirionExplorer.java @@ -33,6 +33,7 @@ import mage.abilities.mana.AnyColorLandsProduceManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -43,9 +44,9 @@ public class QuirionExplorer extends CardImpl { public QuirionExplorer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/q/QuirionRanger.java b/Mage.Sets/src/mage/cards/q/QuirionRanger.java index 2ada1b478d1..7b0a93ebaee 100644 --- a/Mage.Sets/src/mage/cards/q/QuirionRanger.java +++ b/Mage.Sets/src/mage/cards/q/QuirionRanger.java @@ -57,7 +57,7 @@ public class QuirionRanger extends CardImpl { public QuirionRanger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/q/QuirionSentinel.java b/Mage.Sets/src/mage/cards/q/QuirionSentinel.java index b28c2376769..c148a8d219e 100644 --- a/Mage.Sets/src/mage/cards/q/QuirionSentinel.java +++ b/Mage.Sets/src/mage/cards/q/QuirionSentinel.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.AddManaOfAnyColorEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class QuirionSentinel extends CardImpl { public QuirionSentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/q/QuirionTrailblazer.java b/Mage.Sets/src/mage/cards/q/QuirionTrailblazer.java index d40ec25a920..24d7e351d20 100644 --- a/Mage.Sets/src/mage/cards/q/QuirionTrailblazer.java +++ b/Mage.Sets/src/mage/cards/q/QuirionTrailblazer.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.filter.common.FilterBasicLandCard; import mage.target.common.TargetCardInLibrary; @@ -46,8 +47,8 @@ public class QuirionTrailblazer extends CardImpl { public QuirionTrailblazer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/q/Qumulox.java b/Mage.Sets/src/mage/cards/q/Qumulox.java index dab16972fb4..53cda52285a 100644 --- a/Mage.Sets/src/mage/cards/q/Qumulox.java +++ b/Mage.Sets/src/mage/cards/q/Qumulox.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class Qumulox extends CardImpl { public Qumulox(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{U}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RabbleRouser.java b/Mage.Sets/src/mage/cards/r/RabbleRouser.java index 8efaddbc876..8228c56cf03 100644 --- a/Mage.Sets/src/mage/cards/r/RabbleRouser.java +++ b/Mage.Sets/src/mage/cards/r/RabbleRouser.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.BloodthirstAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterAttackingCreature; @@ -53,8 +54,8 @@ public class RabbleRouser extends CardImpl { public RabbleRouser(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RabidBloodsucker.java b/Mage.Sets/src/mage/cards/r/RabidBloodsucker.java index 31e6b43e057..de73ccebcd2 100644 --- a/Mage.Sets/src/mage/cards/r/RabidBloodsucker.java +++ b/Mage.Sets/src/mage/cards/r/RabidBloodsucker.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class RabidBloodsucker extends CardImpl { public RabidBloodsucker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RabidElephant.java b/Mage.Sets/src/mage/cards/r/RabidElephant.java index ce6c85e6f0b..7ebbf49f2f6 100644 --- a/Mage.Sets/src/mage/cards/r/RabidElephant.java +++ b/Mage.Sets/src/mage/cards/r/RabidElephant.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -48,7 +49,7 @@ public class RabidElephant extends CardImpl { public RabidElephant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RabidRats.java b/Mage.Sets/src/mage/cards/r/RabidRats.java index e327356084c..6d909d6fd3b 100644 --- a/Mage.Sets/src/mage/cards/r/RabidRats.java +++ b/Mage.Sets/src/mage/cards/r/RabidRats.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterBlockingCreature; @@ -49,7 +50,7 @@ public class RabidRats extends CardImpl { public RabidRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RabidWolverines.java b/Mage.Sets/src/mage/cards/r/RabidWolverines.java index 46e64bfc0f2..df9f205d564 100644 --- a/Mage.Sets/src/mage/cards/r/RabidWolverines.java +++ b/Mage.Sets/src/mage/cards/r/RabidWolverines.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class RabidWolverines extends CardImpl { public RabidWolverines(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Wolverine"); + this.subtype.add(SubType.WOLVERINE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RabidWombat.java b/Mage.Sets/src/mage/cards/r/RabidWombat.java index 7626df65aba..074f0c400cb 100644 --- a/Mage.Sets/src/mage/cards/r/RabidWombat.java +++ b/Mage.Sets/src/mage/cards/r/RabidWombat.java @@ -1,72 +1,73 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.dynamicvalue.common.AuraAttachedCount; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.abilities.keyword.VigilanceAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; - -/** - * - * @author Styxo - */ -public class RabidWombat extends CardImpl { - - public RabidWombat(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); - - this.subtype.add("Wombat"); - this.power = new MageInt(0); - this.toughness = new MageInt(1); - - // Vigilance - this.addAbility(VigilanceAbility.getInstance()); - - // Rabid Wombat gets +2/+2 for each Aura attached to it. - AuraAttachedCount count = new AuraAttachedCount(2); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(count, count, Duration.WhileOnBattlefield))); - - } - - public RabidWombat(final RabidWombat card) { - super(card); - } - - @Override - public RabidWombat copy() { - return new RabidWombat(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.dynamicvalue.common.AuraAttachedCount; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; + +/** + * + * @author Styxo + */ +public class RabidWombat extends CardImpl { + + public RabidWombat(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); + + this.subtype.add(SubType.WOMBAT); + this.power = new MageInt(0); + this.toughness = new MageInt(1); + + // Vigilance + this.addAbility(VigilanceAbility.getInstance()); + + // Rabid Wombat gets +2/+2 for each Aura attached to it. + AuraAttachedCount count = new AuraAttachedCount(2); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(count, count, Duration.WhileOnBattlefield))); + + } + + public RabidWombat(final RabidWombat card) { + super(card); + } + + @Override + public RabidWombat copy() { + return new RabidWombat(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/RacecourseFury.java b/Mage.Sets/src/mage/cards/r/RacecourseFury.java index 56c1549acda..874a328498a 100644 --- a/Mage.Sets/src/mage/cards/r/RacecourseFury.java +++ b/Mage.Sets/src/mage/cards/r/RacecourseFury.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class RacecourseFury extends CardImpl { public RacecourseFury (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); this.color.setRed(true); // Enchant land diff --git a/Mage.Sets/src/mage/cards/r/RadhaHeirToKeld.java b/Mage.Sets/src/mage/cards/r/RadhaHeirToKeld.java index af2730dd581..a34c2e8285e 100644 --- a/Mage.Sets/src/mage/cards/r/RadhaHeirToKeld.java +++ b/Mage.Sets/src/mage/cards/r/RadhaHeirToKeld.java @@ -37,6 +37,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -48,8 +49,8 @@ public class RadhaHeirToKeld extends CardImpl { public RadhaHeirToKeld(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RadiantArchangel.java b/Mage.Sets/src/mage/cards/r/RadiantArchangel.java index 782ec1219fb..aa351809adc 100644 --- a/Mage.Sets/src/mage/cards/r/RadiantArchangel.java +++ b/Mage.Sets/src/mage/cards/r/RadiantArchangel.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -62,7 +63,7 @@ public class RadiantArchangel extends CardImpl { public RadiantArchangel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RadiantEssence.java b/Mage.Sets/src/mage/cards/r/RadiantEssence.java index 681eddfa4a4..6e0a25f808a 100644 --- a/Mage.Sets/src/mage/cards/r/RadiantEssence.java +++ b/Mage.Sets/src/mage/cards/r/RadiantEssence.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -56,7 +57,7 @@ public class RadiantEssence extends CardImpl { public RadiantEssence(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RadiantKavu.java b/Mage.Sets/src/mage/cards/r/RadiantKavu.java index 2a4afadb2e3..23ba243a996 100644 --- a/Mage.Sets/src/mage/cards/r/RadiantKavu.java +++ b/Mage.Sets/src/mage/cards/r/RadiantKavu.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventAllDamageByAllPermanentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -55,7 +56,7 @@ public class RadiantKavu extends CardImpl { public RadiantKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}{W}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RadiantsDragoons.java b/Mage.Sets/src/mage/cards/r/RadiantsDragoons.java index 50378bb73ec..a00e704ce06 100644 --- a/Mage.Sets/src/mage/cards/r/RadiantsDragoons.java +++ b/Mage.Sets/src/mage/cards/r/RadiantsDragoons.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class RadiantsDragoons extends CardImpl { public RadiantsDragoons(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RadjanSpirit.java b/Mage.Sets/src/mage/cards/r/RadjanSpirit.java index 02a576858ea..01e8f7a0496 100644 --- a/Mage.Sets/src/mage/cards/r/RadjanSpirit.java +++ b/Mage.Sets/src/mage/cards/r/RadjanSpirit.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class RadjanSpirit extends CardImpl { public RadjanSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RafiqOfTheMany.java b/Mage.Sets/src/mage/cards/r/RafiqOfTheMany.java index 60959e24a10..ef7de56fa2c 100644 --- a/Mage.Sets/src/mage/cards/r/RafiqOfTheMany.java +++ b/Mage.Sets/src/mage/cards/r/RafiqOfTheMany.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ExaltedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class RafiqOfTheMany extends CardImpl { addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RagDealer.java b/Mage.Sets/src/mage/cards/r/RagDealer.java index 4a812023747..bff3922143f 100644 --- a/Mage.Sets/src/mage/cards/r/RagDealer.java +++ b/Mage.Sets/src/mage/cards/r/RagDealer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.target.common.TargetCardInASingleGraveyard; @@ -49,8 +50,8 @@ public class RagDealer extends CardImpl { public RagDealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RagMan.java b/Mage.Sets/src/mage/cards/r/RagMan.java index efbf7a83af0..a13274d1a61 100644 --- a/Mage.Sets/src/mage/cards/r/RagMan.java +++ b/Mage.Sets/src/mage/cards/r/RagMan.java @@ -42,6 +42,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -57,8 +58,8 @@ public class RagMan extends CardImpl { public RagMan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Minion"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MINION); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/Ragamuffyn.java b/Mage.Sets/src/mage/cards/r/Ragamuffyn.java index 30523b770ed..88d06cb3dca 100644 --- a/Mage.Sets/src/mage/cards/r/Ragamuffyn.java +++ b/Mage.Sets/src/mage/cards/r/Ragamuffyn.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; @@ -59,8 +60,8 @@ public class Ragamuffyn extends CardImpl { public Ragamuffyn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RageForger.java b/Mage.Sets/src/mage/cards/r/RageForger.java index cddf11ac275..54c4ee18f86 100644 --- a/Mage.Sets/src/mage/cards/r/RageForger.java +++ b/Mage.Sets/src/mage/cards/r/RageForger.java @@ -70,8 +70,8 @@ public class RageForger extends CardImpl { public RageForger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RageNimbus.java b/Mage.Sets/src/mage/cards/r/RageNimbus.java index 61b9c372b5a..f8ad5eff420 100644 --- a/Mage.Sets/src/mage/cards/r/RageNimbus.java +++ b/Mage.Sets/src/mage/cards/r/RageNimbus.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class RageNimbus extends CardImpl { public RageNimbus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RageThrower.java b/Mage.Sets/src/mage/cards/r/RageThrower.java index 364ad2d999e..0d6ff4948f1 100644 --- a/Mage.Sets/src/mage/cards/r/RageThrower.java +++ b/Mage.Sets/src/mage/cards/r/RageThrower.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -44,8 +45,8 @@ public class RageThrower extends CardImpl { public RageThrower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RageWeaver.java b/Mage.Sets/src/mage/cards/r/RageWeaver.java index d2860b5a863..025498f8abe 100644 --- a/Mage.Sets/src/mage/cards/r/RageWeaver.java +++ b/Mage.Sets/src/mage/cards/r/RageWeaver.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -61,8 +62,8 @@ public class RageWeaver extends CardImpl { public RageWeaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RagebloodShaman.java b/Mage.Sets/src/mage/cards/r/RagebloodShaman.java index 31eb4e6fc64..7ed0d3c7436 100644 --- a/Mage.Sets/src/mage/cards/r/RagebloodShaman.java +++ b/Mage.Sets/src/mage/cards/r/RagebloodShaman.java @@ -53,8 +53,8 @@ public class RagebloodShaman extends CardImpl { public RagebloodShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/Ragemonger.java b/Mage.Sets/src/mage/cards/r/Ragemonger.java index f4a79925283..d6962eb38ca 100644 --- a/Mage.Sets/src/mage/cards/r/Ragemonger.java +++ b/Mage.Sets/src/mage/cards/r/Ragemonger.java @@ -53,8 +53,8 @@ public class Ragemonger extends CardImpl { public Ragemonger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RaggedVeins.java b/Mage.Sets/src/mage/cards/r/RaggedVeins.java index 468b2ec06dc..ca4a36a08bb 100644 --- a/Mage.Sets/src/mage/cards/r/RaggedVeins.java +++ b/Mage.Sets/src/mage/cards/r/RaggedVeins.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class RaggedVeins extends CardImpl { public RaggedVeins(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash diff --git a/Mage.Sets/src/mage/cards/r/RagingBull.java b/Mage.Sets/src/mage/cards/r/RagingBull.java index feb461e702f..db49af701d2 100644 --- a/Mage.Sets/src/mage/cards/r/RagingBull.java +++ b/Mage.Sets/src/mage/cards/r/RagingBull.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class RagingBull extends CardImpl { public RagingBull(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Ox"); + this.subtype.add(SubType.OX); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RagingCougar.java b/Mage.Sets/src/mage/cards/r/RagingCougar.java index 902e0904794..ddccd5ea4bb 100644 --- a/Mage.Sets/src/mage/cards/r/RagingCougar.java +++ b/Mage.Sets/src/mage/cards/r/RagingCougar.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class RagingCougar extends CardImpl { public RagingCougar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RagingGoblin.java b/Mage.Sets/src/mage/cards/r/RagingGoblin.java index 232e4dbaeba..e074adc4d9d 100644 --- a/Mage.Sets/src/mage/cards/r/RagingGoblin.java +++ b/Mage.Sets/src/mage/cards/r/RagingGoblin.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class RagingGoblin extends CardImpl { public RagingGoblin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RagingGorilla.java b/Mage.Sets/src/mage/cards/r/RagingGorilla.java index 7eb1e94ec2e..6dc332f2b7f 100644 --- a/Mage.Sets/src/mage/cards/r/RagingGorilla.java +++ b/Mage.Sets/src/mage/cards/r/RagingGorilla.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class RagingGorilla extends CardImpl { public RagingGorilla(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Ape"); + this.subtype.add(SubType.APE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RagingKavu.java b/Mage.Sets/src/mage/cards/r/RagingKavu.java index 97655d92af3..8f28f404aee 100644 --- a/Mage.Sets/src/mage/cards/r/RagingKavu.java +++ b/Mage.Sets/src/mage/cards/r/RagingKavu.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class RagingKavu extends CardImpl { public RagingKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RagingMinotaur.java b/Mage.Sets/src/mage/cards/r/RagingMinotaur.java index 02e7340477e..8a0b0729864 100644 --- a/Mage.Sets/src/mage/cards/r/RagingMinotaur.java +++ b/Mage.Sets/src/mage/cards/r/RagingMinotaur.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class RagingMinotaur extends CardImpl { public RagingMinotaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RagingPoltergeist.java b/Mage.Sets/src/mage/cards/r/RagingPoltergeist.java index d3321e9158c..3683b1eaed5 100644 --- a/Mage.Sets/src/mage/cards/r/RagingPoltergeist.java +++ b/Mage.Sets/src/mage/cards/r/RagingPoltergeist.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class RagingPoltergeist extends CardImpl { public RagingPoltergeist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(6); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RagingRavine.java b/Mage.Sets/src/mage/cards/r/RagingRavine.java index 4c8fe6043d4..03c27be3701 100644 --- a/Mage.Sets/src/mage/cards/r/RagingRavine.java +++ b/Mage.Sets/src/mage/cards/r/RagingRavine.java @@ -44,6 +44,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -89,7 +90,7 @@ class RagingRavineToken extends Token { public RagingRavineToken() { super("", "3/3 red and green Elemental creature"); cardType.add(CardType.CREATURE); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); color.setRed(true); color.setGreen(true); power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RagingReek.java b/Mage.Sets/src/mage/cards/r/RagingReek.java index e8514b3221b..d8df1f33f67 100644 --- a/Mage.Sets/src/mage/cards/r/RagingReek.java +++ b/Mage.Sets/src/mage/cards/r/RagingReek.java @@ -1,65 +1,66 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.AttacksEachTurnStaticAbility; -import mage.abilities.keyword.MonstrosityAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class RagingReek extends CardImpl { - - public RagingReek(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); - this.subtype.add("Beast"); - this.power = new MageInt(4); - this.toughness = new MageInt(4); - - // Raging Reek attacks each turn if able. - this.addAbility(new AttacksEachTurnStaticAbility()); - - //{5}{R}: Monstrosity 2 - this.addAbility(new MonstrosityAbility("{5}{R}", 2)); - } - - public RagingReek(final RagingReek card) { - super(card); - } - - @Override - public RagingReek copy() { - return new RagingReek(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.AttacksEachTurnStaticAbility; +import mage.abilities.keyword.MonstrosityAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author Styxo + */ +public class RagingReek extends CardImpl { + + public RagingReek(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); + this.subtype.add(SubType.BEAST); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // Raging Reek attacks each turn if able. + this.addAbility(new AttacksEachTurnStaticAbility()); + + //{5}{R}: Monstrosity 2 + this.addAbility(new MonstrosityAbility("{5}{R}", 2)); + } + + public RagingReek(final RagingReek card) { + super(card); + } + + @Override + public RagingReek copy() { + return new RagingReek(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/RagingSpirit.java b/Mage.Sets/src/mage/cards/r/RagingSpirit.java index ab0c73ec8bf..32c1d252433 100644 --- a/Mage.Sets/src/mage/cards/r/RagingSpirit.java +++ b/Mage.Sets/src/mage/cards/r/RagingSpirit.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BecomesColorSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class RagingSpirit extends CardImpl { public RagingSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RagingSwordtooth.java b/Mage.Sets/src/mage/cards/r/RagingSwordtooth.java index 20f4415c2fa..ecb8b4a279d 100644 --- a/Mage.Sets/src/mage/cards/r/RagingSwordtooth.java +++ b/Mage.Sets/src/mage/cards/r/RagingSwordtooth.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -53,7 +54,7 @@ public class RagingSwordtooth extends CardImpl { public RagingSwordtooth(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{G}"); - this.subtype.add("Dinosaur"); + this.subtype.add(SubType.DINOSAUR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/Ragnar.java b/Mage.Sets/src/mage/cards/r/Ragnar.java index 24c582e7d5b..a6e3a013093 100644 --- a/Mage.Sets/src/mage/cards/r/Ragnar.java +++ b/Mage.Sets/src/mage/cards/r/Ragnar.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.RegenerateTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class Ragnar extends CardImpl { public Ragnar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RaidingNightstalker.java b/Mage.Sets/src/mage/cards/r/RaidingNightstalker.java index e041cdb066e..8034c87ec16 100644 --- a/Mage.Sets/src/mage/cards/r/RaidingNightstalker.java +++ b/Mage.Sets/src/mage/cards/r/RaidingNightstalker.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class RaidingNightstalker extends CardImpl { public RaidingNightstalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Nightstalker"); + this.subtype.add(SubType.NIGHTSTALKER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RainbowCrow.java b/Mage.Sets/src/mage/cards/r/RainbowCrow.java index 256f8723e52..55e2e387a99 100644 --- a/Mage.Sets/src/mage/cards/r/RainbowCrow.java +++ b/Mage.Sets/src/mage/cards/r/RainbowCrow.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class RainbowCrow extends CardImpl { public RainbowCrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RainbowEfreet.java b/Mage.Sets/src/mage/cards/r/RainbowEfreet.java index 7d9547bd3c8..2da59df2d51 100644 --- a/Mage.Sets/src/mage/cards/r/RainbowEfreet.java +++ b/Mage.Sets/src/mage/cards/r/RainbowEfreet.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class RainbowEfreet extends CardImpl { public RainbowEfreet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Efreet"); + this.subtype.add(SubType.EFREET); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RaisedByWolves.java b/Mage.Sets/src/mage/cards/r/RaisedByWolves.java index 14b5d805807..505c1011b02 100644 --- a/Mage.Sets/src/mage/cards/r/RaisedByWolves.java +++ b/Mage.Sets/src/mage/cards/r/RaisedByWolves.java @@ -60,7 +60,7 @@ public class RaisedByWolves extends CardImpl { public RaisedByWolves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{G}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/r/RakaDisciple.java b/Mage.Sets/src/mage/cards/r/RakaDisciple.java index 9dcaf3bed07..db395c495b1 100644 --- a/Mage.Sets/src/mage/cards/r/RakaDisciple.java +++ b/Mage.Sets/src/mage/cards/r/RakaDisciple.java @@ -49,8 +49,8 @@ public class RakaDisciple extends CardImpl { public RakaDisciple(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/Rakavolver.java b/Mage.Sets/src/mage/cards/r/Rakavolver.java index 0ba34701d3f..ef202f3b163 100644 --- a/Mage.Sets/src/mage/cards/r/Rakavolver.java +++ b/Mage.Sets/src/mage/cards/r/Rakavolver.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.counters.CounterType; @@ -52,7 +53,7 @@ public class Rakavolver extends CardImpl { public Rakavolver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Volver"); + this.subtype.add(SubType.VOLVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RakdosCackler.java b/Mage.Sets/src/mage/cards/r/RakdosCackler.java index 1b6703badf9..14c40fd4ad8 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosCackler.java +++ b/Mage.Sets/src/mage/cards/r/RakdosCackler.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.UnleashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class RakdosCackler extends CardImpl { public RakdosCackler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B/R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); diff --git a/Mage.Sets/src/mage/cards/r/RakdosDrake.java b/Mage.Sets/src/mage/cards/r/RakdosDrake.java index 86b5db55b88..a62a50ebef3 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosDrake.java +++ b/Mage.Sets/src/mage/cards/r/RakdosDrake.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.UnleashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class RakdosDrake extends CardImpl { public RakdosDrake (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RakdosGuildmage.java b/Mage.Sets/src/mage/cards/r/RakdosGuildmage.java index ead3a004d03..d27adbb0d7a 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosGuildmage.java +++ b/Mage.Sets/src/mage/cards/r/RakdosGuildmage.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class RakdosGuildmage extends CardImpl { public RakdosGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B/R}{B/R}"); - this.subtype.add("Zombie"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RakdosIckspitter.java b/Mage.Sets/src/mage/cards/r/RakdosIckspitter.java index eb28c2b757f..deb71050cbc 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosIckspitter.java +++ b/Mage.Sets/src/mage/cards/r/RakdosIckspitter.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.LoseLifeTargetControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class RakdosIckspitter extends CardImpl { public RakdosIckspitter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}"); - this.subtype.add("Thrull"); + this.subtype.add(SubType.THRULL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RakdosKeyrune.java b/Mage.Sets/src/mage/cards/r/RakdosKeyrune.java index fc4e656f2f7..321ebd38a1e 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosKeyrune.java +++ b/Mage.Sets/src/mage/cards/r/RakdosKeyrune.java @@ -38,6 +38,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -74,7 +75,7 @@ public class RakdosKeyrune extends CardImpl { cardType.add(CardType.CREATURE); color.setBlack(true); color.setRed(true); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); power = new MageInt(3); toughness = new MageInt(1); this.addAbility(FirstStrikeAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/r/RakdosLordOfRiots.java b/Mage.Sets/src/mage/cards/r/RakdosLordOfRiots.java index 52720812984..29c0bf55c39 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosLordOfRiots.java +++ b/Mage.Sets/src/mage/cards/r/RakdosLordOfRiots.java @@ -56,7 +56,7 @@ public class RakdosLordOfRiots extends CardImpl { public RakdosLordOfRiots(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/RakdosPitDragon.java b/Mage.Sets/src/mage/cards/r/RakdosPitDragon.java index 2b5a602eb3d..ea89f233804 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosPitDragon.java +++ b/Mage.Sets/src/mage/cards/r/RakdosPitDragon.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class RakdosPitDragon extends CardImpl { public RakdosPitDragon (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RakdosRagemutt.java b/Mage.Sets/src/mage/cards/r/RakdosRagemutt.java index 37a95736c09..859c4599b33 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosRagemutt.java +++ b/Mage.Sets/src/mage/cards/r/RakdosRagemutt.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class RakdosRagemutt extends CardImpl { public RakdosRagemutt(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Hound"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.HOUND); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RakdosRingleader.java b/Mage.Sets/src/mage/cards/r/RakdosRingleader.java index 9b4ac3ef6a2..c02d506a61f 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosRingleader.java +++ b/Mage.Sets/src/mage/cards/r/RakdosRingleader.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,8 +49,8 @@ public class RakdosRingleader extends CardImpl { public RakdosRingleader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{R}"); - this.subtype.add("Skeleton"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.SKELETON); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RakdosShredFreak.java b/Mage.Sets/src/mage/cards/r/RakdosShredFreak.java index da0365a1923..685630a1647 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosShredFreak.java +++ b/Mage.Sets/src/mage/cards/r/RakdosShredFreak.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class RakdosShredFreak extends CardImpl { public RakdosShredFreak(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B/R}{B/R}"); - this.subtype.add("Human"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RakdosTheDefiler.java b/Mage.Sets/src/mage/cards/r/RakdosTheDefiler.java index d8d332b4ded..046461214a0 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosTheDefiler.java +++ b/Mage.Sets/src/mage/cards/r/RakdosTheDefiler.java @@ -67,7 +67,7 @@ public class RakdosTheDefiler extends CardImpl { public RakdosTheDefiler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(7); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/RakeclawGargantuan.java b/Mage.Sets/src/mage/cards/r/RakeclawGargantuan.java index 46757873400..fb99545ec48 100644 --- a/Mage.Sets/src/mage/cards/r/RakeclawGargantuan.java +++ b/Mage.Sets/src/mage/cards/r/RakeclawGargantuan.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class RakeclawGargantuan extends CardImpl { public RakeclawGargantuan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}{W}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RakishHeir.java b/Mage.Sets/src/mage/cards/r/RakishHeir.java index f6e2fd8804e..ed586f580a8 100644 --- a/Mage.Sets/src/mage/cards/r/RakishHeir.java +++ b/Mage.Sets/src/mage/cards/r/RakishHeir.java @@ -53,7 +53,7 @@ public class RakishHeir extends CardImpl { public RakishHeir(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RakkaMar.java b/Mage.Sets/src/mage/cards/r/RakkaMar.java index 24aa26b385a..d56862ec417 100644 --- a/Mage.Sets/src/mage/cards/r/RakkaMar.java +++ b/Mage.Sets/src/mage/cards/r/RakkaMar.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.game.permanent.token.RakkaMarElementalToken; @@ -53,8 +54,8 @@ public class RakkaMar extends CardImpl { public RakkaMar(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RakshaGoldenCub.java b/Mage.Sets/src/mage/cards/r/RakshaGoldenCub.java index 73e66d6430f..b37215bda18 100644 --- a/Mage.Sets/src/mage/cards/r/RakshaGoldenCub.java +++ b/Mage.Sets/src/mage/cards/r/RakshaGoldenCub.java @@ -60,8 +60,8 @@ public class RakshaGoldenCub extends CardImpl { public RakshaGoldenCub(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Cat"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RakshasaDeathdealer.java b/Mage.Sets/src/mage/cards/r/RakshasaDeathdealer.java index 88417346420..e43faf09293 100644 --- a/Mage.Sets/src/mage/cards/r/RakshasaDeathdealer.java +++ b/Mage.Sets/src/mage/cards/r/RakshasaDeathdealer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class RakshasaDeathdealer extends CardImpl { public RakshasaDeathdealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{G}"); - this.subtype.add("Cat"); - this.subtype.add("Demon"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.DEMON); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RakshasaGravecaller.java b/Mage.Sets/src/mage/cards/r/RakshasaGravecaller.java index 5f9ba35f548..086884aae37 100644 --- a/Mage.Sets/src/mage/cards/r/RakshasaGravecaller.java +++ b/Mage.Sets/src/mage/cards/r/RakshasaGravecaller.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ExploitAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.ZombieToken; /** @@ -45,8 +46,8 @@ public class RakshasaGravecaller extends CardImpl { public RakshasaGravecaller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Cat"); - this.subtype.add("Demon"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.DEMON); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/RakshasaVizier.java b/Mage.Sets/src/mage/cards/r/RakshasaVizier.java index 1e95c1c7241..278f7207f1c 100644 --- a/Mage.Sets/src/mage/cards/r/RakshasaVizier.java +++ b/Mage.Sets/src/mage/cards/r/RakshasaVizier.java @@ -35,6 +35,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -49,8 +50,8 @@ public class RakshasaVizier extends CardImpl { public RakshasaVizier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{G}{U}"); - this.subtype.add("Cat"); - this.subtype.add("Demon"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.DEMON); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RalZarek.java b/Mage.Sets/src/mage/cards/r/RalZarek.java index 6d4012579d6..87f9640f291 100644 --- a/Mage.Sets/src/mage/cards/r/RalZarek.java +++ b/Mage.Sets/src/mage/cards/r/RalZarek.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.FilterPermanent; @@ -65,7 +66,7 @@ public class RalZarek extends CardImpl { public RalZarek(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{U}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Ral"); + this.subtype.add(SubType.RAL); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/r/RallyingFire.java b/Mage.Sets/src/mage/cards/r/RallyingFire.java index c509e4b0f07..fb11ce5ae13 100644 --- a/Mage.Sets/src/mage/cards/r/RallyingFire.java +++ b/Mage.Sets/src/mage/cards/r/RallyingFire.java @@ -1,59 +1,59 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.abilities.effects.common.continuous.BoostControlledEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; - -/** - * - * @author Styxo - */ -public class RallyingFire extends CardImpl { - - public RallyingFire(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}"); - - // Creatures you control get +2/+0 until end of turn. - this.getSpellAbility().addEffect(new BoostControlledEffect(2, 0, Duration.EndOfTurn)); - - } - - public RallyingFire(final RallyingFire card) { - super(card); - } - - @Override - public RallyingFire copy() { - return new RallyingFire(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; + +/** + * + * @author Styxo + */ +public class RallyingFire extends CardImpl { + + public RallyingFire(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}"); + + // Creatures you control get +2/+0 until end of turn. + this.getSpellAbility().addEffect(new BoostControlledEffect(2, 0, Duration.EndOfTurn)); + + } + + public RallyingFire(final RallyingFire card) { + super(card); + } + + @Override + public RallyingFire copy() { + return new RallyingFire(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/RamirezDePietro.java b/Mage.Sets/src/mage/cards/r/RamirezDePietro.java index a674384e243..24d101e2fef 100644 --- a/Mage.Sets/src/mage/cards/r/RamirezDePietro.java +++ b/Mage.Sets/src/mage/cards/r/RamirezDePietro.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -44,8 +45,8 @@ public class RamirezDePietro extends CardImpl { public RamirezDePietro(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RamosDragonEngine.java b/Mage.Sets/src/mage/cards/r/RamosDragonEngine.java index 632081e3851..e6fc90f0e12 100644 --- a/Mage.Sets/src/mage/cards/r/RamosDragonEngine.java +++ b/Mage.Sets/src/mage/cards/r/RamosDragonEngine.java @@ -40,6 +40,7 @@ import mage.abilities.mana.ActivateOncePerTurnManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class RamosDragonEngine extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{6}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RamosianCaptain.java b/Mage.Sets/src/mage/cards/r/RamosianCaptain.java index 083083c833e..3c146004dc1 100644 --- a/Mage.Sets/src/mage/cards/r/RamosianCaptain.java +++ b/Mage.Sets/src/mage/cards/r/RamosianCaptain.java @@ -62,8 +62,8 @@ public class RamosianCaptain extends CardImpl { public RamosianCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RamosianCommander.java b/Mage.Sets/src/mage/cards/r/RamosianCommander.java index f279ec7f749..cf94f171bfe 100644 --- a/Mage.Sets/src/mage/cards/r/RamosianCommander.java +++ b/Mage.Sets/src/mage/cards/r/RamosianCommander.java @@ -61,8 +61,8 @@ public class RamosianCommander extends CardImpl { public RamosianCommander(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RamosianLieutenant.java b/Mage.Sets/src/mage/cards/r/RamosianLieutenant.java index 5ec98897bb1..b5cabddd0f5 100644 --- a/Mage.Sets/src/mage/cards/r/RamosianLieutenant.java +++ b/Mage.Sets/src/mage/cards/r/RamosianLieutenant.java @@ -61,8 +61,8 @@ public class RamosianLieutenant extends CardImpl { public RamosianLieutenant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RamosianRevivalist.java b/Mage.Sets/src/mage/cards/r/RamosianRevivalist.java index 22e6ba70970..016ef0634f2 100644 --- a/Mage.Sets/src/mage/cards/r/RamosianRevivalist.java +++ b/Mage.Sets/src/mage/cards/r/RamosianRevivalist.java @@ -60,9 +60,9 @@ public class RamosianRevivalist extends CardImpl { public RamosianRevivalist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RamosianSergeant.java b/Mage.Sets/src/mage/cards/r/RamosianSergeant.java index 6a241eb3382..c4b9afafaff 100644 --- a/Mage.Sets/src/mage/cards/r/RamosianSergeant.java +++ b/Mage.Sets/src/mage/cards/r/RamosianSergeant.java @@ -60,8 +60,8 @@ public class RamosianSergeant extends CardImpl { public RamosianSergeant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RamosianSkyMarshal.java b/Mage.Sets/src/mage/cards/r/RamosianSkyMarshal.java index 4bf64154a28..b7fb03245ef 100644 --- a/Mage.Sets/src/mage/cards/r/RamosianSkyMarshal.java +++ b/Mage.Sets/src/mage/cards/r/RamosianSkyMarshal.java @@ -61,8 +61,8 @@ public class RamosianSkyMarshal extends CardImpl { public RamosianSkyMarshal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RampagingBaloths.java b/Mage.Sets/src/mage/cards/r/RampagingBaloths.java index 482d6e2e483..59fca09e645 100644 --- a/Mage.Sets/src/mage/cards/r/RampagingBaloths.java +++ b/Mage.Sets/src/mage/cards/r/RampagingBaloths.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.BeastToken2; /** @@ -46,7 +47,7 @@ public class RampagingBaloths extends CardImpl { public RampagingBaloths(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/RampagingHippo.java b/Mage.Sets/src/mage/cards/r/RampagingHippo.java index 55d7dbade44..b515c9a9d4f 100644 --- a/Mage.Sets/src/mage/cards/r/RampagingHippo.java +++ b/Mage.Sets/src/mage/cards/r/RampagingHippo.java @@ -8,12 +8,13 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; public class RampagingHippo extends CardImpl { public RampagingHippo(UUID cardID, CardSetInfo cardSetInfo){ super(cardID, cardSetInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{G}"); - subtype.add("Hippo"); + subtype.add(SubType.HIPPO); power = new MageInt(5); toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/RampagingWerewolf.java b/Mage.Sets/src/mage/cards/r/RampagingWerewolf.java index 6b56ebdc092..116c1f8f498 100644 --- a/Mage.Sets/src/mage/cards/r/RampagingWerewolf.java +++ b/Mage.Sets/src/mage/cards/r/RampagingWerewolf.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -47,7 +48,7 @@ public class RampagingWerewolf extends CardImpl { public RampagingWerewolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.color.setRed(true); // this card is the second face of double-faced card diff --git a/Mage.Sets/src/mage/cards/r/RampantElephant.java b/Mage.Sets/src/mage/cards/r/RampantElephant.java index ff3c1e81d4e..9a8a451658a 100644 --- a/Mage.Sets/src/mage/cards/r/RampantElephant.java +++ b/Mage.Sets/src/mage/cards/r/RampantElephant.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.MustBeBlockedByTargetSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class RampantElephant extends CardImpl { public RampantElephant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RampartCrawler.java b/Mage.Sets/src/mage/cards/r/RampartCrawler.java index ff5537efe10..01859377222 100644 --- a/Mage.Sets/src/mage/cards/r/RampartCrawler.java +++ b/Mage.Sets/src/mage/cards/r/RampartCrawler.java @@ -54,8 +54,8 @@ public class RampartCrawler extends CardImpl { public RampartCrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Lizard"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.LIZARD); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/Ramroller.java b/Mage.Sets/src/mage/cards/r/Ramroller.java index fbd556af004..ff34e6cd917 100644 --- a/Mage.Sets/src/mage/cards/r/Ramroller.java +++ b/Mage.Sets/src/mage/cards/r/Ramroller.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; @@ -57,7 +58,7 @@ public class Ramroller extends CardImpl { public Ramroller(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); - this.subtype.add("Juggernaut"); + this.subtype.add(SubType.JUGGERNAUT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RamsesOverdark.java b/Mage.Sets/src/mage/cards/r/RamsesOverdark.java index 1d4024bb8c3..21634605a56 100644 --- a/Mage.Sets/src/mage/cards/r/RamsesOverdark.java +++ b/Mage.Sets/src/mage/cards/r/RamsesOverdark.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -57,8 +58,8 @@ public class RamsesOverdark extends CardImpl { public RamsesOverdark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RamunapExcavator.java b/Mage.Sets/src/mage/cards/r/RamunapExcavator.java index 32e38916f4d..7540fee3352 100644 --- a/Mage.Sets/src/mage/cards/r/RamunapExcavator.java +++ b/Mage.Sets/src/mage/cards/r/RamunapExcavator.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ruleModifying.PlayLandsFromGraveyardEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -44,8 +45,8 @@ public class RamunapExcavator extends CardImpl { public RamunapExcavator(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Naga"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RamunapHydra.java b/Mage.Sets/src/mage/cards/r/RamunapHydra.java index cfd58f0c8f0..3a7c2b221b1 100644 --- a/Mage.Sets/src/mage/cards/r/RamunapHydra.java +++ b/Mage.Sets/src/mage/cards/r/RamunapHydra.java @@ -1,134 +1,134 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.condition.common.CardsInControllerGraveCondition; -import mage.abilities.effects.WhileConditionContinuousEffect; -import mage.abilities.effects.common.continuous.BoostSourceWhileControlsEffect; -import mage.abilities.keyword.ReachAbility; -import mage.abilities.keyword.TrampleAbility; -import mage.abilities.keyword.VigilanceAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.Outcome; -import mage.constants.SubLayer; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.FilterCard; -import mage.filter.FilterPermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; - -/** - * - * @author LevelX2 - */ -public class RamunapHydra extends CardImpl { - - public RamunapHydra(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - - this.subtype.add("Snake"); - this.subtype.add("Hydra"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // Vigilance - this.addAbility(VigilanceAbility.getInstance()); - - // Reach - this.addAbility(ReachAbility.getInstance()); - - // Trample - this.addAbility(TrampleAbility.getInstance()); - - // Ramunap Hydra gets +1/+1 as long as you control a Desert. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceWhileControlsEffect(new FilterPermanent(SubType.DESERT, "Desert"), 1, 1))); - - // Ramunap Hydra gets +1/+1 as long as there is a Desert card in your graveyard. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RamunapHydraBoostEffect(1, 1))); - } - - public RamunapHydra(final RamunapHydra card) { - super(card); - } - - @Override - public RamunapHydra copy() { - return new RamunapHydra(this); - } -} - -class RamunapHydraBoostEffect extends WhileConditionContinuousEffect { - - private final static FilterCard filter = new FilterCard("a Desert"); - - static { - filter.add(new SubtypePredicate(SubType.DESERT)); - } - - private final int power; - private final int toughness; - - public RamunapHydraBoostEffect(int power, int toughness) { - super(Duration.WhileOnBattlefield, Layer.PTChangingEffects_7, SubLayer.ModifyPT_7c, new CardsInControllerGraveCondition(1, filter), Outcome.BoostCreature); - this.power = power; - this.toughness = toughness; - staticText = "{this} gets +1/+1 as long as there is a Desert card in your graveyard"; - } - - public RamunapHydraBoostEffect(final RamunapHydraBoostEffect effect) { - super(effect); - this.power = effect.power; - this.toughness = effect.toughness; - } - - @Override - public RamunapHydraBoostEffect copy() { - return new RamunapHydraBoostEffect(this); - } - - @Override - public boolean applyEffect(Game game, Ability source) { - Permanent permanent = game.getPermanent(source.getSourceId()); - if (permanent != null) { - permanent.addPower(power); - permanent.addToughness(toughness); - } - return true; - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.CardsInControllerGraveCondition; +import mage.abilities.effects.WhileConditionContinuousEffect; +import mage.abilities.effects.common.continuous.BoostSourceWhileControlsEffect; +import mage.abilities.keyword.ReachAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Layer; +import mage.constants.Outcome; +import mage.constants.SubLayer; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.FilterPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; + +/** + * + * @author LevelX2 + */ +public class RamunapHydra extends CardImpl { + + public RamunapHydra(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); + + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.HYDRA); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Vigilance + this.addAbility(VigilanceAbility.getInstance()); + + // Reach + this.addAbility(ReachAbility.getInstance()); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + + // Ramunap Hydra gets +1/+1 as long as you control a Desert. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceWhileControlsEffect(new FilterPermanent(SubType.DESERT, "Desert"), 1, 1))); + + // Ramunap Hydra gets +1/+1 as long as there is a Desert card in your graveyard. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new RamunapHydraBoostEffect(1, 1))); + } + + public RamunapHydra(final RamunapHydra card) { + super(card); + } + + @Override + public RamunapHydra copy() { + return new RamunapHydra(this); + } +} + +class RamunapHydraBoostEffect extends WhileConditionContinuousEffect { + + private final static FilterCard filter = new FilterCard("a Desert"); + + static { + filter.add(new SubtypePredicate(SubType.DESERT)); + } + + private final int power; + private final int toughness; + + public RamunapHydraBoostEffect(int power, int toughness) { + super(Duration.WhileOnBattlefield, Layer.PTChangingEffects_7, SubLayer.ModifyPT_7c, new CardsInControllerGraveCondition(1, filter), Outcome.BoostCreature); + this.power = power; + this.toughness = toughness; + staticText = "{this} gets +1/+1 as long as there is a Desert card in your graveyard"; + } + + public RamunapHydraBoostEffect(final RamunapHydraBoostEffect effect) { + super(effect); + this.power = effect.power; + this.toughness = effect.toughness; + } + + @Override + public RamunapHydraBoostEffect copy() { + return new RamunapHydraBoostEffect(this); + } + + @Override + public boolean applyEffect(Game game, Ability source) { + Permanent permanent = game.getPermanent(source.getSourceId()); + if (permanent != null) { + permanent.addPower(power); + permanent.addToughness(toughness); + } + return true; + } + +} diff --git a/Mage.Sets/src/mage/cards/r/RamunapRuins.java b/Mage.Sets/src/mage/cards/r/RamunapRuins.java index ed41f99f1f0..5870867df2c 100644 --- a/Mage.Sets/src/mage/cards/r/RamunapRuins.java +++ b/Mage.Sets/src/mage/cards/r/RamunapRuins.java @@ -64,7 +64,7 @@ public class RamunapRuins extends CardImpl { public RamunapRuins(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Desert"); + this.subtype.add(SubType.DESERT); // {t}: Add {C} to your mana pool. this.addAbility(new ColorlessManaAbility()); diff --git a/Mage.Sets/src/mage/cards/r/RancidRats.java b/Mage.Sets/src/mage/cards/r/RancidRats.java index 0d355305ee0..4dfdb9d0698 100644 --- a/Mage.Sets/src/mage/cards/r/RancidRats.java +++ b/Mage.Sets/src/mage/cards/r/RancidRats.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.SkulkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class RancidRats extends CardImpl { public RancidRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Rat"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.RAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/Rancor.java b/Mage.Sets/src/mage/cards/r/Rancor.java index abf7cf5a88c..7055d30b644 100644 --- a/Mage.Sets/src/mage/cards/r/Rancor.java +++ b/Mage.Sets/src/mage/cards/r/Rancor.java @@ -51,7 +51,7 @@ public class Rancor extends CardImpl { public Rancor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/r/RangerEnVec.java b/Mage.Sets/src/mage/cards/r/RangerEnVec.java index a4bde3902e2..ec5c650cdf1 100644 --- a/Mage.Sets/src/mage/cards/r/RangerEnVec.java +++ b/Mage.Sets/src/mage/cards/r/RangerEnVec.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; @@ -47,9 +48,9 @@ public class RangerEnVec extends CardImpl { public RangerEnVec(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RangerOfEos.java b/Mage.Sets/src/mage/cards/r/RangerOfEos.java index ae959749e5c..34e14c7123b 100644 --- a/Mage.Sets/src/mage/cards/r/RangerOfEos.java +++ b/Mage.Sets/src/mage/cards/r/RangerOfEos.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -57,8 +58,8 @@ public class RangerOfEos extends CardImpl { public RangerOfEos(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RangingRaptors.java b/Mage.Sets/src/mage/cards/r/RangingRaptors.java index 6dd035fb8d6..8044e9a5907 100644 --- a/Mage.Sets/src/mage/cards/r/RangingRaptors.java +++ b/Mage.Sets/src/mage/cards/r/RangingRaptors.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -48,7 +49,7 @@ public class RangingRaptors extends CardImpl { public RangingRaptors(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Dinosaur"); + this.subtype.add(SubType.DINOSAUR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RankAndFile.java b/Mage.Sets/src/mage/cards/r/RankAndFile.java index d5439abb07c..30c4c3c6725 100644 --- a/Mage.Sets/src/mage/cards/r/RankAndFile.java +++ b/Mage.Sets/src/mage/cards/r/RankAndFile.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -53,7 +54,7 @@ public class RankAndFile extends CardImpl { public RankAndFile(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RapaciousOne.java b/Mage.Sets/src/mage/cards/r/RapaciousOne.java index da72946c8fc..42121a58a5c 100644 --- a/Mage.Sets/src/mage/cards/r/RapaciousOne.java +++ b/Mage.Sets/src/mage/cards/r/RapaciousOne.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.DamagedPlayerEvent; @@ -50,8 +51,8 @@ public class RapaciousOne extends CardImpl { public RapaciousOne(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{R}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RappellingScouts.java b/Mage.Sets/src/mage/cards/r/RappellingScouts.java index 31285726a77..4552bcb01bc 100644 --- a/Mage.Sets/src/mage/cards/r/RappellingScouts.java +++ b/Mage.Sets/src/mage/cards/r/RappellingScouts.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,9 +48,9 @@ public class RappellingScouts extends CardImpl { public RappellingScouts(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RaptorHatchling.java b/Mage.Sets/src/mage/cards/r/RaptorHatchling.java index b19be5c2f1e..ba89e9c9b5d 100644 --- a/Mage.Sets/src/mage/cards/r/RaptorHatchling.java +++ b/Mage.Sets/src/mage/cards/r/RaptorHatchling.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.DinosaurToken; @@ -47,7 +48,7 @@ public class RaptorHatchling extends CardImpl { public RaptorHatchling(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Dinosaur"); + this.subtype.add(SubType.DINOSAUR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RashidaScalebane.java b/Mage.Sets/src/mage/cards/r/RashidaScalebane.java index 6fdddac92ae..3847a40deae 100644 --- a/Mage.Sets/src/mage/cards/r/RashidaScalebane.java +++ b/Mage.Sets/src/mage/cards/r/RashidaScalebane.java @@ -65,8 +65,8 @@ public class RashidaScalebane extends CardImpl { public RashidaScalebane(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RashmiEternitiesCrafter.java b/Mage.Sets/src/mage/cards/r/RashmiEternitiesCrafter.java index b47abec66ff..d9942e4b18b 100644 --- a/Mage.Sets/src/mage/cards/r/RashmiEternitiesCrafter.java +++ b/Mage.Sets/src/mage/cards/r/RashmiEternitiesCrafter.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class RashmiEternitiesCrafter extends CardImpl { public RashmiEternitiesCrafter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RasputinDreamweaver.java b/Mage.Sets/src/mage/cards/r/RasputinDreamweaver.java index 1dcf71f4490..f22f370108b 100644 --- a/Mage.Sets/src/mage/cards/r/RasputinDreamweaver.java +++ b/Mage.Sets/src/mage/cards/r/RasputinDreamweaver.java @@ -64,8 +64,8 @@ public class RasputinDreamweaver extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/Ratcatcher.java b/Mage.Sets/src/mage/cards/r/Ratcatcher.java index 09c57ce6eac..a0571c14bd7 100644 --- a/Mage.Sets/src/mage/cards/r/Ratcatcher.java +++ b/Mage.Sets/src/mage/cards/r/Ratcatcher.java @@ -56,8 +56,8 @@ public class Ratcatcher extends CardImpl { public Ratcatcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Ogre"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RathiAssassin.java b/Mage.Sets/src/mage/cards/r/RathiAssassin.java index eb07baf019a..d5815cfe33d 100644 --- a/Mage.Sets/src/mage/cards/r/RathiAssassin.java +++ b/Mage.Sets/src/mage/cards/r/RathiAssassin.java @@ -71,9 +71,9 @@ public class RathiAssassin extends CardImpl { public RathiAssassin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Mercenary"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.MERCENARY); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RathiDragon.java b/Mage.Sets/src/mage/cards/r/RathiDragon.java index 3d23d796d5a..55caf4f1688 100644 --- a/Mage.Sets/src/mage/cards/r/RathiDragon.java +++ b/Mage.Sets/src/mage/cards/r/RathiDragon.java @@ -55,7 +55,7 @@ public class RathiDragon extends CardImpl { public RathiDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RathiFiend.java b/Mage.Sets/src/mage/cards/r/RathiFiend.java index 5c14c171aa4..0ee722910ee 100644 --- a/Mage.Sets/src/mage/cards/r/RathiFiend.java +++ b/Mage.Sets/src/mage/cards/r/RathiFiend.java @@ -62,8 +62,8 @@ public class RathiFiend extends CardImpl { public RathiFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Horror"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HORROR); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RathiIntimidator.java b/Mage.Sets/src/mage/cards/r/RathiIntimidator.java index a6e32f520f0..bc9cb595889 100644 --- a/Mage.Sets/src/mage/cards/r/RathiIntimidator.java +++ b/Mage.Sets/src/mage/cards/r/RathiIntimidator.java @@ -61,8 +61,8 @@ public class RathiIntimidator extends CardImpl { public RathiIntimidator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Horror"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HORROR); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RathiTrapper.java b/Mage.Sets/src/mage/cards/r/RathiTrapper.java index 83f2c4de9fd..f3494aeb22f 100644 --- a/Mage.Sets/src/mage/cards/r/RathiTrapper.java +++ b/Mage.Sets/src/mage/cards/r/RathiTrapper.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,9 +49,9 @@ public class RathiTrapper extends CardImpl { public RathiTrapper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RatsOfRath.java b/Mage.Sets/src/mage/cards/r/RatsOfRath.java index e0c2aac7ca8..373574fef8d 100644 --- a/Mage.Sets/src/mage/cards/r/RatsOfRath.java +++ b/Mage.Sets/src/mage/cards/r/RatsOfRath.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Outcome; import mage.constants.Zone; @@ -62,7 +63,7 @@ public class RatsOfRath extends CardImpl { public RatsOfRath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RattleblazeScarecrow.java b/Mage.Sets/src/mage/cards/r/RattleblazeScarecrow.java index f7ad18ff674..d2dcfb5739d 100644 --- a/Mage.Sets/src/mage/cards/r/RattleblazeScarecrow.java +++ b/Mage.Sets/src/mage/cards/r/RattleblazeScarecrow.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.PersistAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -64,7 +65,7 @@ public class RattleblazeScarecrow extends CardImpl { public RattleblazeScarecrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/Rattlechains.java b/Mage.Sets/src/mage/cards/r/Rattlechains.java index 226563116af..ff3d330ecff 100644 --- a/Mage.Sets/src/mage/cards/r/Rattlechains.java +++ b/Mage.Sets/src/mage/cards/r/Rattlechains.java @@ -64,7 +64,7 @@ public class Rattlechains extends CardImpl { public Rattlechains(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RattleclawMystic.java b/Mage.Sets/src/mage/cards/r/RattleclawMystic.java index 25d6733bbe5..18cbf5667c2 100644 --- a/Mage.Sets/src/mage/cards/r/RattleclawMystic.java +++ b/Mage.Sets/src/mage/cards/r/RattleclawMystic.java @@ -40,6 +40,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -49,8 +50,8 @@ public class RattleclawMystic extends CardImpl { public RattleclawMystic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RavagerOfTheFells.java b/Mage.Sets/src/mage/cards/r/RavagerOfTheFells.java index 8caf5c6c1e4..685218673c4 100644 --- a/Mage.Sets/src/mage/cards/r/RavagerOfTheFells.java +++ b/Mage.Sets/src/mage/cards/r/RavagerOfTheFells.java @@ -45,6 +45,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -66,7 +67,7 @@ public class RavagerOfTheFells extends CardImpl { public RavagerOfTheFells(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, ""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.color.setRed(true); this.color.setGreen(true); diff --git a/Mage.Sets/src/mage/cards/r/RavagingHorde.java b/Mage.Sets/src/mage/cards/r/RavagingHorde.java index 75af6f38ca3..02d5af045aa 100644 --- a/Mage.Sets/src/mage/cards/r/RavagingHorde.java +++ b/Mage.Sets/src/mage/cards/r/RavagingHorde.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetLandPermanent; /** @@ -46,8 +47,8 @@ public class RavagingHorde extends CardImpl { public RavagingHorde(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RavagingRiftwurm.java b/Mage.Sets/src/mage/cards/r/RavagingRiftwurm.java index b6f99c7ed98..8ebcf6510fa 100644 --- a/Mage.Sets/src/mage/cards/r/RavagingRiftwurm.java +++ b/Mage.Sets/src/mage/cards/r/RavagingRiftwurm.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.VanishingUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -49,7 +50,7 @@ public class RavagingRiftwurm extends CardImpl { public RavagingRiftwurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/RavenFamiliar.java b/Mage.Sets/src/mage/cards/r/RavenFamiliar.java index 65a81fd55c5..6a3092707e0 100644 --- a/Mage.Sets/src/mage/cards/r/RavenFamiliar.java +++ b/Mage.Sets/src/mage/cards/r/RavenFamiliar.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EchoAbility; import mage.abilities.keyword.FlyingAbility; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -53,7 +54,7 @@ public class RavenFamiliar extends CardImpl { public RavenFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RavenGuildMaster.java b/Mage.Sets/src/mage/cards/r/RavenGuildMaster.java index 67988663ac1..1ae43258697 100644 --- a/Mage.Sets/src/mage/cards/r/RavenGuildMaster.java +++ b/Mage.Sets/src/mage/cards/r/RavenGuildMaster.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,9 +46,9 @@ public class RavenGuildMaster extends CardImpl { public RavenGuildMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RavenousBaboons.java b/Mage.Sets/src/mage/cards/r/RavenousBaboons.java index fac62e35761..f25f2773a34 100644 --- a/Mage.Sets/src/mage/cards/r/RavenousBaboons.java +++ b/Mage.Sets/src/mage/cards/r/RavenousBaboons.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetNonBasicLandPermanent; /** @@ -45,7 +46,7 @@ public class RavenousBaboons extends CardImpl { public RavenousBaboons(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Monkey"); + this.subtype.add(SubType.MONKEY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RavenousBaloth.java b/Mage.Sets/src/mage/cards/r/RavenousBaloth.java index d39cba906d8..5df4f99aa77 100644 --- a/Mage.Sets/src/mage/cards/r/RavenousBaloth.java +++ b/Mage.Sets/src/mage/cards/r/RavenousBaloth.java @@ -54,7 +54,7 @@ public class RavenousBaloth extends CardImpl { public RavenousBaloth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RavenousBloodseeker.java b/Mage.Sets/src/mage/cards/r/RavenousBloodseeker.java index 3d02c4abe09..dbbc2d8f53b 100644 --- a/Mage.Sets/src/mage/cards/r/RavenousBloodseeker.java +++ b/Mage.Sets/src/mage/cards/r/RavenousBloodseeker.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class RavenousBloodseeker extends CardImpl { public RavenousBloodseeker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Vampire"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RavenousDaggertooth.java b/Mage.Sets/src/mage/cards/r/RavenousDaggertooth.java index 15e07945230..05e0b7ffbaa 100644 --- a/Mage.Sets/src/mage/cards/r/RavenousDaggertooth.java +++ b/Mage.Sets/src/mage/cards/r/RavenousDaggertooth.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class RavenousDaggertooth extends CardImpl { public RavenousDaggertooth(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Dinosaur"); + this.subtype.add(SubType.DINOSAUR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RavenousDemon.java b/Mage.Sets/src/mage/cards/r/RavenousDemon.java index a184fb171f7..89435b118a6 100644 --- a/Mage.Sets/src/mage/cards/r/RavenousDemon.java +++ b/Mage.Sets/src/mage/cards/r/RavenousDemon.java @@ -56,7 +56,7 @@ public class RavenousDemon extends CardImpl { public RavenousDemon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.transformable = true; this.secondSideCardClazz = ArchdemonOfGreed.class; diff --git a/Mage.Sets/src/mage/cards/r/RavenousIntruder.java b/Mage.Sets/src/mage/cards/r/RavenousIntruder.java index f6ff9153091..38fb34b1e2a 100644 --- a/Mage.Sets/src/mage/cards/r/RavenousIntruder.java +++ b/Mage.Sets/src/mage/cards/r/RavenousIntruder.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -56,7 +57,7 @@ public class RavenousIntruder extends CardImpl { public RavenousIntruder(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Gremlin"); + this.subtype.add(SubType.GREMLIN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RavenousLeucrocota.java b/Mage.Sets/src/mage/cards/r/RavenousLeucrocota.java index 8fabb2c5d20..1a8bb3a039e 100644 --- a/Mage.Sets/src/mage/cards/r/RavenousLeucrocota.java +++ b/Mage.Sets/src/mage/cards/r/RavenousLeucrocota.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class RavenousLeucrocota extends CardImpl { public RavenousLeucrocota(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RavenousRats.java b/Mage.Sets/src/mage/cards/r/RavenousRats.java index a85c5836cd1..9cbf5ccfd79 100644 --- a/Mage.Sets/src/mage/cards/r/RavenousRats.java +++ b/Mage.Sets/src/mage/cards/r/RavenousRats.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetOpponent; /** @@ -46,7 +47,7 @@ public class RavenousRats extends CardImpl { public RavenousRats (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RavenousSkirge.java b/Mage.Sets/src/mage/cards/r/RavenousSkirge.java index bde2b528dda..ba851c2ffc0 100644 --- a/Mage.Sets/src/mage/cards/r/RavenousSkirge.java +++ b/Mage.Sets/src/mage/cards/r/RavenousSkirge.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class RavenousSkirge extends CardImpl { public RavenousSkirge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RavenousWampa.java b/Mage.Sets/src/mage/cards/r/RavenousWampa.java index 8d2df03ad41..c45aa0b7df3 100644 --- a/Mage.Sets/src/mage/cards/r/RavenousWampa.java +++ b/Mage.Sets/src/mage/cards/r/RavenousWampa.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import static mage.cards.r.RavenousWampa.RAVENOUS_WAMPA_STATE_VALUE_KEY_PREFIX; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.StaticFilters; import mage.game.Game; @@ -57,7 +58,7 @@ public class RavenousWampa extends CardImpl { public RavenousWampa(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R/W}{R/W}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RavensRunDragoon.java b/Mage.Sets/src/mage/cards/r/RavensRunDragoon.java index 719bdc2eafb..c62841459e3 100644 --- a/Mage.Sets/src/mage/cards/r/RavensRunDragoon.java +++ b/Mage.Sets/src/mage/cards/r/RavensRunDragoon.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -53,8 +54,8 @@ public class RavensRunDragoon extends CardImpl { public RavensRunDragoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G/W}{G/W}"); - this.subtype.add("Elf"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RavingDead.java b/Mage.Sets/src/mage/cards/r/RavingDead.java index 5941f75e305..7333e66a6f8 100644 --- a/Mage.Sets/src/mage/cards/r/RavingDead.java +++ b/Mage.Sets/src/mage/cards/r/RavingDead.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.game.Game; @@ -51,7 +52,7 @@ public class RavingDead extends CardImpl { public RavingDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/RavingOniSlave.java b/Mage.Sets/src/mage/cards/r/RavingOniSlave.java index 8af800211ac..04f702dbfd6 100644 --- a/Mage.Sets/src/mage/cards/r/RavingOniSlave.java +++ b/Mage.Sets/src/mage/cards/r/RavingOniSlave.java @@ -49,8 +49,8 @@ public class RavingOniSlave extends CardImpl { public RavingOniSlave(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RavosSoultender.java b/Mage.Sets/src/mage/cards/r/RavosSoultender.java index ec2100ab10b..890ec3103b9 100644 --- a/Mage.Sets/src/mage/cards/r/RavosSoultender.java +++ b/Mage.Sets/src/mage/cards/r/RavosSoultender.java @@ -52,8 +52,8 @@ public class RavosSoultender extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RayneAcademyChancellor.java b/Mage.Sets/src/mage/cards/r/RayneAcademyChancellor.java index e933a8bd16b..3a3c3e1d229 100644 --- a/Mage.Sets/src/mage/cards/r/RayneAcademyChancellor.java +++ b/Mage.Sets/src/mage/cards/r/RayneAcademyChancellor.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.game.Game; @@ -53,8 +54,8 @@ public class RayneAcademyChancellor extends CardImpl { public RayneAcademyChancellor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RaziaBorosArchangel.java b/Mage.Sets/src/mage/cards/r/RaziaBorosArchangel.java index c7a2535ede4..24bacde1358 100644 --- a/Mage.Sets/src/mage/cards/r/RaziaBorosArchangel.java +++ b/Mage.Sets/src/mage/cards/r/RaziaBorosArchangel.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -61,7 +62,7 @@ public class RaziaBorosArchangel extends CardImpl { public RaziaBorosArchangel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(6); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RazingSnidd.java b/Mage.Sets/src/mage/cards/r/RazingSnidd.java index 63c790a4440..f0aff98ea6e 100644 --- a/Mage.Sets/src/mage/cards/r/RazingSnidd.java +++ b/Mage.Sets/src/mage/cards/r/RazingSnidd.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.SacrificeAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.predicate.Predicates; @@ -56,7 +57,7 @@ public class RazingSnidd extends CardImpl { public RazingSnidd(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RazorBoomerang.java b/Mage.Sets/src/mage/cards/r/RazorBoomerang.java index b41dee1ffd3..756f0ea0482 100644 --- a/Mage.Sets/src/mage/cards/r/RazorBoomerang.java +++ b/Mage.Sets/src/mage/cards/r/RazorBoomerang.java @@ -53,7 +53,7 @@ public class RazorBoomerang extends CardImpl { public RazorBoomerang(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has "{tap}, Unattach Razor Boomerang: Razor Boomerang deals 1 damage to target creature or player. Return Razor Boomerang to its owner's hand." Ability gainAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new RazorBoomerangEffect(this.getId()), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/r/RazorGolem.java b/Mage.Sets/src/mage/cards/r/RazorGolem.java index 41e5d40509f..8acf5bb8fd1 100644 --- a/Mage.Sets/src/mage/cards/r/RazorGolem.java +++ b/Mage.Sets/src/mage/cards/r/RazorGolem.java @@ -44,7 +44,7 @@ public class RazorGolem extends CardImpl { public RazorGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RazorHippogriff.java b/Mage.Sets/src/mage/cards/r/RazorHippogriff.java index a4afa5c747f..57d10c1b725 100644 --- a/Mage.Sets/src/mage/cards/r/RazorHippogriff.java +++ b/Mage.Sets/src/mage/cards/r/RazorHippogriff.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterArtifactCard; @@ -55,7 +56,7 @@ public class RazorHippogriff extends CardImpl { public RazorHippogriff (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Hippogriff"); + this.subtype.add(SubType.HIPPOGRIFF); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RazorSwine.java b/Mage.Sets/src/mage/cards/r/RazorSwine.java index 563028c913d..d577b570e71 100644 --- a/Mage.Sets/src/mage/cards/r/RazorSwine.java +++ b/Mage.Sets/src/mage/cards/r/RazorSwine.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class RazorSwine extends CardImpl { public RazorSwine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Boar"); + this.subtype.add(SubType.BOAR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RazorclawBear.java b/Mage.Sets/src/mage/cards/r/RazorclawBear.java index df3efc7f406..72f8eda6b05 100644 --- a/Mage.Sets/src/mage/cards/r/RazorclawBear.java +++ b/Mage.Sets/src/mage/cards/r/RazorclawBear.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class RazorclawBear extends CardImpl { public RazorclawBear(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Bear"); + this.subtype.add(SubType.BEAR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RazorfieldRhino.java b/Mage.Sets/src/mage/cards/r/RazorfieldRhino.java index 1bfe76e5212..3166251a439 100644 --- a/Mage.Sets/src/mage/cards/r/RazorfieldRhino.java +++ b/Mage.Sets/src/mage/cards/r/RazorfieldRhino.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class RazorfieldRhino extends CardImpl { public RazorfieldRhino (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Rhino"); + this.subtype.add(SubType.RHINO); this.power = new MageInt(4); this.toughness = new MageInt(4); ContinuousEffect effect1 = new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield); diff --git a/Mage.Sets/src/mage/cards/r/RazorfieldThresher.java b/Mage.Sets/src/mage/cards/r/RazorfieldThresher.java index 0b924c87b3d..5bfd9249ab6 100644 --- a/Mage.Sets/src/mage/cards/r/RazorfieldThresher.java +++ b/Mage.Sets/src/mage/cards/r/RazorfieldThresher.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class RazorfieldThresher extends CardImpl { public RazorfieldThresher (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(6); this.toughness = new MageInt(4); } diff --git a/Mage.Sets/src/mage/cards/r/RazorfinAbolisher.java b/Mage.Sets/src/mage/cards/r/RazorfinAbolisher.java index 37e36212c1d..b374c359be7 100644 --- a/Mage.Sets/src/mage/cards/r/RazorfinAbolisher.java +++ b/Mage.Sets/src/mage/cards/r/RazorfinAbolisher.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.CounterAnyPredicate; @@ -57,8 +58,8 @@ public class RazorfinAbolisher extends CardImpl { public RazorfinAbolisher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RazorfinHunter.java b/Mage.Sets/src/mage/cards/r/RazorfinHunter.java index 5251650fbfd..d7a3466b972 100644 --- a/Mage.Sets/src/mage/cards/r/RazorfinHunter.java +++ b/Mage.Sets/src/mage/cards/r/RazorfinHunter.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -47,8 +48,8 @@ public class RazorfinHunter extends CardImpl { public RazorfinHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{R}"); - this.subtype.add("Merfolk"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RazorfootGriffin.java b/Mage.Sets/src/mage/cards/r/RazorfootGriffin.java index 8b33e52b9f2..a4908ed2ebc 100644 --- a/Mage.Sets/src/mage/cards/r/RazorfootGriffin.java +++ b/Mage.Sets/src/mage/cards/r/RazorfootGriffin.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class RazorfootGriffin extends CardImpl { public RazorfootGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RazorgrassScreen.java b/Mage.Sets/src/mage/cards/r/RazorgrassScreen.java index c622af53c9f..0e7fec20ac8 100644 --- a/Mage.Sets/src/mage/cards/r/RazorgrassScreen.java +++ b/Mage.Sets/src/mage/cards/r/RazorgrassScreen.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class RazorgrassScreen extends CardImpl { public RazorgrassScreen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RazorjawOni.java b/Mage.Sets/src/mage/cards/r/RazorjawOni.java index 271b1fbe851..c6f477cfed6 100644 --- a/Mage.Sets/src/mage/cards/r/RazorjawOni.java +++ b/Mage.Sets/src/mage/cards/r/RazorjawOni.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantBlockAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -54,8 +55,8 @@ public class RazorjawOni extends CardImpl { public RazorjawOni(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Demon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DEMON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RazormaneMasticore.java b/Mage.Sets/src/mage/cards/r/RazormaneMasticore.java index c922c0a193a..809e328c392 100644 --- a/Mage.Sets/src/mage/cards/r/RazormaneMasticore.java +++ b/Mage.Sets/src/mage/cards/r/RazormaneMasticore.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.target.common.TargetCardInHand; @@ -52,7 +53,7 @@ public class RazormaneMasticore extends CardImpl { public RazormaneMasticore(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Masticore"); + this.subtype.add(SubType.MASTICORE); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RazortoothRats.java b/Mage.Sets/src/mage/cards/r/RazortoothRats.java index 52aa8eaf4ca..b84b017f331 100644 --- a/Mage.Sets/src/mage/cards/r/RazortoothRats.java +++ b/Mage.Sets/src/mage/cards/r/RazortoothRats.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class RazortoothRats extends CardImpl { public RazortoothRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/ReachOfBranches.java b/Mage.Sets/src/mage/cards/r/ReachOfBranches.java index 675455621ac..9e6d7292410 100644 --- a/Mage.Sets/src/mage/cards/r/ReachOfBranches.java +++ b/Mage.Sets/src/mage/cards/r/ReachOfBranches.java @@ -57,7 +57,7 @@ public class ReachOfBranches extends CardImpl { public ReachOfBranches(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.TRIBAL, CardType.INSTANT}, "{4}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); // Create a 2/5 green Treefolk Shaman creature token. this.getSpellAbility().addEffect(new CreateTokenEffect(new TreefolkShamanToken())); diff --git a/Mage.Sets/src/mage/cards/r/RealityAcid.java b/Mage.Sets/src/mage/cards/r/RealityAcid.java index ebd20ce846c..9ff5b673755 100644 --- a/Mage.Sets/src/mage/cards/r/RealityAcid.java +++ b/Mage.Sets/src/mage/cards/r/RealityAcid.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.VanishingUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -58,7 +59,7 @@ public class RealityAcid extends CardImpl { public RealityAcid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant permanent TargetPermanent auraTarget = new TargetPermanent(); diff --git a/Mage.Sets/src/mage/cards/r/RealitySmasher.java b/Mage.Sets/src/mage/cards/r/RealitySmasher.java index d976e3ffdef..4dac350e748 100644 --- a/Mage.Sets/src/mage/cards/r/RealitySmasher.java +++ b/Mage.Sets/src/mage/cards/r/RealitySmasher.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -53,7 +54,7 @@ public class RealitySmasher extends CardImpl { public RealitySmasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{C}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RealmRazer.java b/Mage.Sets/src/mage/cards/r/RealmRazer.java index f444c38b608..f16fd2ed3b6 100644 --- a/Mage.Sets/src/mage/cards/r/RealmRazer.java +++ b/Mage.Sets/src/mage/cards/r/RealmRazer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; @@ -53,7 +54,7 @@ public class RealmRazer extends CardImpl { public RealmRazer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{G}{W}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RealmSeekers.java b/Mage.Sets/src/mage/cards/r/RealmSeekers.java index b84c52b1b8e..10541e48923 100644 --- a/Mage.Sets/src/mage/cards/r/RealmSeekers.java +++ b/Mage.Sets/src/mage/cards/r/RealmSeekers.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterLandCard; @@ -53,8 +54,8 @@ public class RealmSeekers extends CardImpl { public RealmSeekers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/r/Realmwright.java b/Mage.Sets/src/mage/cards/r/Realmwright.java index 0be59ba52bc..37ad6bc962a 100644 --- a/Mage.Sets/src/mage/cards/r/Realmwright.java +++ b/Mage.Sets/src/mage/cards/r/Realmwright.java @@ -43,6 +43,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -61,8 +62,8 @@ public class Realmwright extends CardImpl { public Realmwright(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/ReaperFromTheAbyss.java b/Mage.Sets/src/mage/cards/r/ReaperFromTheAbyss.java index 20d4d70bb86..54b6118712a 100644 --- a/Mage.Sets/src/mage/cards/r/ReaperFromTheAbyss.java +++ b/Mage.Sets/src/mage/cards/r/ReaperFromTheAbyss.java @@ -63,7 +63,7 @@ public class ReaperFromTheAbyss extends CardImpl { public ReaperFromTheAbyss(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/ReaperOfFlightMoonsilver.java b/Mage.Sets/src/mage/cards/r/ReaperOfFlightMoonsilver.java index fe843085fc0..d3bb2ae27c1 100644 --- a/Mage.Sets/src/mage/cards/r/ReaperOfFlightMoonsilver.java +++ b/Mage.Sets/src/mage/cards/r/ReaperOfFlightMoonsilver.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -49,7 +50,7 @@ public class ReaperOfFlightMoonsilver extends CardImpl { public ReaperOfFlightMoonsilver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/ReaperOfSheoldred.java b/Mage.Sets/src/mage/cards/r/ReaperOfSheoldred.java index c963f370023..7f6dd446ccb 100644 --- a/Mage.Sets/src/mage/cards/r/ReaperOfSheoldred.java +++ b/Mage.Sets/src/mage/cards/r/ReaperOfSheoldred.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -52,7 +53,7 @@ public class ReaperOfSheoldred extends CardImpl { public ReaperOfSheoldred(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/ReaperOfTheWilds.java b/Mage.Sets/src/mage/cards/r/ReaperOfTheWilds.java index 7095eaeeebe..29ae49e9606 100644 --- a/Mage.Sets/src/mage/cards/r/ReaperOfTheWilds.java +++ b/Mage.Sets/src/mage/cards/r/ReaperOfTheWilds.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class ReaperOfTheWilds extends CardImpl { public ReaperOfTheWilds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{G}"); - this.subtype.add("Gorgon"); + this.subtype.add(SubType.GORGON); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/ReasonBelieve.java b/Mage.Sets/src/mage/cards/r/ReasonBelieve.java index 9b513ce339e..9633c0e95c1 100644 --- a/Mage.Sets/src/mage/cards/r/ReasonBelieve.java +++ b/Mage.Sets/src/mage/cards/r/ReasonBelieve.java @@ -1,109 +1,109 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.keyword.ScryEffect; -import mage.abilities.keyword.AftermathAbility; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.SplitCard; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.SpellAbilityType; -import mage.constants.Zone; -import mage.game.Game; -import mage.players.Player; - -/** - * - * @author LevelX2 - */ -public class ReasonBelieve extends SplitCard { - - public ReasonBelieve(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, new CardType[]{CardType.SORCERY}, "{U}", "{4}{G}", SpellAbilityType.SPLIT_AFTERMATH); - - // Reason - // Scry 3. - getLeftHalfCard().getSpellAbility().addEffect(new ScryEffect(3)); - - // Believe - // Aftermath - ((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility().setRuleAtTheTop(true)); - // Look at the top card of your library. You may put it onto the battlefield if it's a creature card. If you don't, put it into your hand. - getRightHalfCard().getSpellAbility().addEffect(new BelieveEffect()); - - } - - public ReasonBelieve(final ReasonBelieve card) { - super(card); - } - - @Override - public ReasonBelieve copy() { - return new ReasonBelieve(this); - } -} - -class BelieveEffect extends OneShotEffect { - - BelieveEffect() { - super(Outcome.PutCardInPlay); - this.staticText = "Look at the top card of your library. You may put it onto the battlefield if it's a creature card. If you don't, put it into your hand"; - } - - BelieveEffect(final BelieveEffect effect) { - super(effect); - } - - @Override - public BelieveEffect copy() { - return new BelieveEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - Card card = controller.getLibrary().getFromTop(game); - if (card != null) { - if (card.isCreature() && controller.chooseUse(outcome, "Put " + card.getIdName() + " onto the battlefield?", source, game)) { - controller.moveCards(card, Zone.BATTLEFIELD, source, game); - } else { - controller.moveCards(card, Zone.HAND, source, game); - } - } - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.keyword.ScryEffect; +import mage.abilities.keyword.AftermathAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.SplitCard; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.SpellAbilityType; +import mage.constants.Zone; +import mage.game.Game; +import mage.players.Player; + +/** + * + * @author LevelX2 + */ +public class ReasonBelieve extends SplitCard { + + public ReasonBelieve(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, new CardType[]{CardType.SORCERY}, "{U}", "{4}{G}", SpellAbilityType.SPLIT_AFTERMATH); + + // Reason + // Scry 3. + getLeftHalfCard().getSpellAbility().addEffect(new ScryEffect(3)); + + // Believe + // Aftermath + ((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility().setRuleAtTheTop(true)); + // Look at the top card of your library. You may put it onto the battlefield if it's a creature card. If you don't, put it into your hand. + getRightHalfCard().getSpellAbility().addEffect(new BelieveEffect()); + + } + + public ReasonBelieve(final ReasonBelieve card) { + super(card); + } + + @Override + public ReasonBelieve copy() { + return new ReasonBelieve(this); + } +} + +class BelieveEffect extends OneShotEffect { + + BelieveEffect() { + super(Outcome.PutCardInPlay); + this.staticText = "Look at the top card of your library. You may put it onto the battlefield if it's a creature card. If you don't, put it into your hand"; + } + + BelieveEffect(final BelieveEffect effect) { + super(effect); + } + + @Override + public BelieveEffect copy() { + return new BelieveEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + Card card = controller.getLibrary().getFromTop(game); + if (card != null) { + if (card.isCreature() && controller.chooseUse(outcome, "Put " + card.getIdName() + " onto the battlefield?", source, game)) { + controller.moveCards(card, Zone.BATTLEFIELD, source, game); + } else { + controller.moveCards(card, Zone.HAND, source, game); + } + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/r/ReassemblingSkeleton.java b/Mage.Sets/src/mage/cards/r/ReassemblingSkeleton.java index 5bbe2f03d8a..01f29f13f68 100644 --- a/Mage.Sets/src/mage/cards/r/ReassemblingSkeleton.java +++ b/Mage.Sets/src/mage/cards/r/ReassemblingSkeleton.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class ReassemblingSkeleton extends CardImpl { public ReassemblingSkeleton(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Skeleton"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.SKELETON); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/ReaverDrone.java b/Mage.Sets/src/mage/cards/r/ReaverDrone.java index 05facf61d16..2c66e84bb0c 100644 --- a/Mage.Sets/src/mage/cards/r/ReaverDrone.java +++ b/Mage.Sets/src/mage/cards/r/ReaverDrone.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -59,8 +60,8 @@ public class ReaverDrone extends CardImpl { public ReaverDrone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RebelInformer.java b/Mage.Sets/src/mage/cards/r/RebelInformer.java index f02fd52d01e..13937fd6949 100644 --- a/Mage.Sets/src/mage/cards/r/RebelInformer.java +++ b/Mage.Sets/src/mage/cards/r/RebelInformer.java @@ -68,9 +68,9 @@ public class RebelInformer extends CardImpl { public RebelInformer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Mercenary"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MERCENARY); + this.subtype.add(SubType.REBEL); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RebellionOfTheFlamekin.java b/Mage.Sets/src/mage/cards/r/RebellionOfTheFlamekin.java index f69c26319db..b67a8b677a4 100644 --- a/Mage.Sets/src/mage/cards/r/RebellionOfTheFlamekin.java +++ b/Mage.Sets/src/mage/cards/r/RebellionOfTheFlamekin.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class RebellionOfTheFlamekin extends CardImpl { public RebellionOfTheFlamekin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ENCHANTMENT},"{3}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); // Whenever you clash, you may pay {1}. If you do create a 3/1 Red Elemental Shaman creature token in play. If you won that token gains haste this.addAbility(new RebellionOfTheFlamekinTriggeredAbility()); diff --git a/Mage.Sets/src/mage/cards/r/RebukingCeremony.java b/Mage.Sets/src/mage/cards/r/RebukingCeremony.java index f767108db77..540b5172829 100644 --- a/Mage.Sets/src/mage/cards/r/RebukingCeremony.java +++ b/Mage.Sets/src/mage/cards/r/RebukingCeremony.java @@ -1,59 +1,59 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.abilities.effects.common.PutOnLibraryTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.target.common.TargetArtifactPermanent; - -/** - * - * @author wetterlicht - */ -public class RebukingCeremony extends CardImpl { - - public RebukingCeremony(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{G}{G}"); - - // Put two target artifacts on top of their owners' libraries. - getSpellAbility().addEffect(new PutOnLibraryTargetEffect(true)); - getSpellAbility().addTarget(new TargetArtifactPermanent(2)); - } - - public RebukingCeremony(final RebukingCeremony card) { - super(card); - } - - @Override - public RebukingCeremony copy() { - return new RebukingCeremony(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.abilities.effects.common.PutOnLibraryTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.target.common.TargetArtifactPermanent; + +/** + * + * @author wetterlicht + */ +public class RebukingCeremony extends CardImpl { + + public RebukingCeremony(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{G}{G}"); + + // Put two target artifacts on top of their owners' libraries. + getSpellAbility().addEffect(new PutOnLibraryTargetEffect(true)); + getSpellAbility().addTarget(new TargetArtifactPermanent(2)); + } + + public RebukingCeremony(final RebukingCeremony card) { + super(card); + } + + @Override + public RebukingCeremony copy() { + return new RebukingCeremony(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/RecklessBrute.java b/Mage.Sets/src/mage/cards/r/RecklessBrute.java index 5b98cd2bdf8..4917cfee2d3 100644 --- a/Mage.Sets/src/mage/cards/r/RecklessBrute.java +++ b/Mage.Sets/src/mage/cards/r/RecklessBrute.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class RecklessBrute extends CardImpl { public RecklessBrute(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RecklessBushwhacker.java b/Mage.Sets/src/mage/cards/r/RecklessBushwhacker.java index 1aa05dc3721..85caed6e8a1 100644 --- a/Mage.Sets/src/mage/cards/r/RecklessBushwhacker.java +++ b/Mage.Sets/src/mage/cards/r/RecklessBushwhacker.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.SurgeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -57,9 +58,9 @@ public class RecklessBushwhacker extends CardImpl { public RecklessBushwhacker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); - this.subtype.add("Ally"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RecklessCohort.java b/Mage.Sets/src/mage/cards/r/RecklessCohort.java index c73f12006c0..3bb45602f94 100644 --- a/Mage.Sets/src/mage/cards/r/RecklessCohort.java +++ b/Mage.Sets/src/mage/cards/r/RecklessCohort.java @@ -56,9 +56,9 @@ public class RecklessCohort extends CardImpl { public RecklessCohort(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RecklessEmbermage.java b/Mage.Sets/src/mage/cards/r/RecklessEmbermage.java index d63a530ec60..b39024d81c6 100644 --- a/Mage.Sets/src/mage/cards/r/RecklessEmbermage.java +++ b/Mage.Sets/src/mage/cards/r/RecklessEmbermage.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class RecklessEmbermage extends CardImpl { public RecklessEmbermage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RecklessFireweaver.java b/Mage.Sets/src/mage/cards/r/RecklessFireweaver.java index 71feeaebbe6..16756b9cc38 100644 --- a/Mage.Sets/src/mage/cards/r/RecklessFireweaver.java +++ b/Mage.Sets/src/mage/cards/r/RecklessFireweaver.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamagePlayersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; @@ -46,8 +47,8 @@ public class RecklessFireweaver extends CardImpl { public RecklessFireweaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RecklessImp.java b/Mage.Sets/src/mage/cards/r/RecklessImp.java index de416c3d438..4f1b436c08e 100644 --- a/Mage.Sets/src/mage/cards/r/RecklessImp.java +++ b/Mage.Sets/src/mage/cards/r/RecklessImp.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class RecklessImp extends CardImpl { public RecklessImp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RecklessOgre.java b/Mage.Sets/src/mage/cards/r/RecklessOgre.java index 8f563c2d72d..b21dc15a7d6 100644 --- a/Mage.Sets/src/mage/cards/r/RecklessOgre.java +++ b/Mage.Sets/src/mage/cards/r/RecklessOgre.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class RecklessOgre extends CardImpl { public RecklessOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.OGRE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RecklessOne.java b/Mage.Sets/src/mage/cards/r/RecklessOne.java index 73d8bb93af6..c780944074a 100644 --- a/Mage.Sets/src/mage/cards/r/RecklessOne.java +++ b/Mage.Sets/src/mage/cards/r/RecklessOne.java @@ -56,8 +56,8 @@ public class RecklessOne extends CardImpl { public RecklessOne(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/r/RecklessRacer.java b/Mage.Sets/src/mage/cards/r/RecklessRacer.java index 343c8c9c8f7..70dea0f3ad4 100644 --- a/Mage.Sets/src/mage/cards/r/RecklessRacer.java +++ b/Mage.Sets/src/mage/cards/r/RecklessRacer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,8 +48,8 @@ public class RecklessRacer extends CardImpl { public RecklessRacer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Pilot"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PILOT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RecklessReveler.java b/Mage.Sets/src/mage/cards/r/RecklessReveler.java index 856e38485b6..ccdf72a987c 100644 --- a/Mage.Sets/src/mage/cards/r/RecklessReveler.java +++ b/Mage.Sets/src/mage/cards/r/RecklessReveler.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetArtifactPermanent; @@ -48,7 +49,7 @@ public class RecklessReveler extends CardImpl { public RecklessReveler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Satyr"); + this.subtype.add(SubType.SATYR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RecklessScholar.java b/Mage.Sets/src/mage/cards/r/RecklessScholar.java index 94884ea8d3d..69ed4bd7b7f 100644 --- a/Mage.Sets/src/mage/cards/r/RecklessScholar.java +++ b/Mage.Sets/src/mage/cards/r/RecklessScholar.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -48,8 +49,8 @@ public class RecklessScholar extends CardImpl { public RecklessScholar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RecklessWaif.java b/Mage.Sets/src/mage/cards/r/RecklessWaif.java index 846333576db..c7180d7a4dd 100644 --- a/Mage.Sets/src/mage/cards/r/RecklessWaif.java +++ b/Mage.Sets/src/mage/cards/r/RecklessWaif.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.m.MercilessPredator; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,9 +49,9 @@ public class RecklessWaif extends CardImpl { public RecklessWaif(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); + this.subtype.add(SubType.WEREWOLF); this.transformable = true; this.secondSideCardClazz = MercilessPredator.class; diff --git a/Mage.Sets/src/mage/cards/r/RecklessWurm.java b/Mage.Sets/src/mage/cards/r/RecklessWurm.java index a866366fcd6..c9975c8e9b3 100644 --- a/Mage.Sets/src/mage/cards/r/RecklessWurm.java +++ b/Mage.Sets/src/mage/cards/r/RecklessWurm.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class RecklessWurm extends CardImpl { public RecklessWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/Reclamation.java b/Mage.Sets/src/mage/cards/r/Reclamation.java index 8e64a2fcd86..810dd67431e 100644 --- a/Mage.Sets/src/mage/cards/r/Reclamation.java +++ b/Mage.Sets/src/mage/cards/r/Reclamation.java @@ -1,98 +1,98 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.common.SacrificeTargetCost; -import mage.abilities.effects.PayCostToAttackBlockEffectImpl; -import mage.abilities.effects.PayCostToAttackBlockEffectImpl.RestrictType; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.common.FilterControlledLandPermanent; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.permanent.Permanent; -import mage.target.common.TargetControlledPermanent; - -/** - * - * @author jeffwadsworth - */ -public class Reclamation extends CardImpl { - - public Reclamation(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}{W}"); - - - // Black creatures can't attack unless their controller sacrifices a land for each black creature he or she controls that's attacking. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ReclamationCostToAttackBlockEffect())); - - } - - public Reclamation(final Reclamation card) { - super(card); - } - - @Override - public Reclamation copy() { - return new Reclamation(this); - } -} - -class ReclamationCostToAttackBlockEffect extends PayCostToAttackBlockEffectImpl { - - ReclamationCostToAttackBlockEffect() { - super(Duration.WhileOnBattlefield, Outcome.Detriment, RestrictType.ATTACK, - new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledLandPermanent("a land")))); - staticText = "Black creatures can't attack unless their controller sacrifices a land (This cost is paid as attackers are declared.)"; - } - - ReclamationCostToAttackBlockEffect(ReclamationCostToAttackBlockEffect effect) { - super(effect); - } - - @Override - public boolean applies(GameEvent event, Ability source, Game game) { - Permanent permanent = game.getPermanent(event.getSourceId()); - return (permanent != null - && permanent.isCreature() - && permanent.getColor(game).isBlack()); - } - - @Override - public ReclamationCostToAttackBlockEffect copy() { - return new ReclamationCostToAttackBlockEffect(this); - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.effects.PayCostToAttackBlockEffectImpl; +import mage.abilities.effects.PayCostToAttackBlockEffectImpl.RestrictType; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.common.FilterControlledLandPermanent; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; +import mage.target.common.TargetControlledPermanent; + +/** + * + * @author jeffwadsworth + */ +public class Reclamation extends CardImpl { + + public Reclamation(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{G}{W}"); + + + // Black creatures can't attack unless their controller sacrifices a land for each black creature he or she controls that's attacking. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ReclamationCostToAttackBlockEffect())); + + } + + public Reclamation(final Reclamation card) { + super(card); + } + + @Override + public Reclamation copy() { + return new Reclamation(this); + } +} + +class ReclamationCostToAttackBlockEffect extends PayCostToAttackBlockEffectImpl { + + ReclamationCostToAttackBlockEffect() { + super(Duration.WhileOnBattlefield, Outcome.Detriment, RestrictType.ATTACK, + new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledLandPermanent("a land")))); + staticText = "Black creatures can't attack unless their controller sacrifices a land (This cost is paid as attackers are declared.)"; + } + + ReclamationCostToAttackBlockEffect(ReclamationCostToAttackBlockEffect effect) { + super(effect); + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + Permanent permanent = game.getPermanent(event.getSourceId()); + return (permanent != null + && permanent.isCreature() + && permanent.getColor(game).isBlack()); + } + + @Override + public ReclamationCostToAttackBlockEffect copy() { + return new ReclamationCostToAttackBlockEffect(this); + } + +} diff --git a/Mage.Sets/src/mage/cards/r/ReclamationSage.java b/Mage.Sets/src/mage/cards/r/ReclamationSage.java index 8b90d6cc314..6191f76d165 100644 --- a/Mage.Sets/src/mage/cards/r/ReclamationSage.java +++ b/Mage.Sets/src/mage/cards/r/ReclamationSage.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -47,8 +48,8 @@ public class ReclamationSage extends CardImpl { public ReclamationSage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/ReclusiveArtificer.java b/Mage.Sets/src/mage/cards/r/ReclusiveArtificer.java index 6c5e95c1709..91bfe219e43 100644 --- a/Mage.Sets/src/mage/cards/r/ReclusiveArtificer.java +++ b/Mage.Sets/src/mage/cards/r/ReclusiveArtificer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.target.common.TargetCreaturePermanent; @@ -55,8 +56,8 @@ public class ReclusiveArtificer extends CardImpl { public ReclusiveArtificer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{R}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RecruiterOfTheGuard.java b/Mage.Sets/src/mage/cards/r/RecruiterOfTheGuard.java index 37145018f47..f4d9f622198 100644 --- a/Mage.Sets/src/mage/cards/r/RecruiterOfTheGuard.java +++ b/Mage.Sets/src/mage/cards/r/RecruiterOfTheGuard.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.ToughnessPredicate; @@ -52,8 +53,8 @@ public class RecruiterOfTheGuard extends CardImpl { public RecruiterOfTheGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RecumbentBliss.java b/Mage.Sets/src/mage/cards/r/RecumbentBliss.java index bcdb8b781b0..3717c467812 100644 --- a/Mage.Sets/src/mage/cards/r/RecumbentBliss.java +++ b/Mage.Sets/src/mage/cards/r/RecumbentBliss.java @@ -51,7 +51,7 @@ public class RecumbentBliss extends CardImpl { public RecumbentBliss(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/r/RedCliffsArmada.java b/Mage.Sets/src/mage/cards/r/RedCliffsArmada.java index 546abe3d99e..4282afcb564 100644 --- a/Mage.Sets/src/mage/cards/r/RedCliffsArmada.java +++ b/Mage.Sets/src/mage/cards/r/RedCliffsArmada.java @@ -46,8 +46,8 @@ public class RedCliffsArmada extends CardImpl { public RedCliffsArmada(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RedScarab.java b/Mage.Sets/src/mage/cards/r/RedScarab.java index 9ecb18cfdb7..2ccc5a8867a 100644 --- a/Mage.Sets/src/mage/cards/r/RedScarab.java +++ b/Mage.Sets/src/mage/cards/r/RedScarab.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -67,7 +68,7 @@ public class RedScarab extends CardImpl { public RedScarab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/r/RedWard.java b/Mage.Sets/src/mage/cards/r/RedWard.java index bc7dae4b92f..7d531775edb 100644 --- a/Mage.Sets/src/mage/cards/r/RedWard.java +++ b/Mage.Sets/src/mage/cards/r/RedWard.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -60,7 +61,7 @@ public class RedWard extends CardImpl { public RedWard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/r/ReduceInStature.java b/Mage.Sets/src/mage/cards/r/ReduceInStature.java index 97c874dc6f8..eb91f77d36f 100644 --- a/Mage.Sets/src/mage/cards/r/ReduceInStature.java +++ b/Mage.Sets/src/mage/cards/r/ReduceInStature.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class ReduceInStature extends CardImpl { public ReduceInStature(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/r/RedwoodTreefolk.java b/Mage.Sets/src/mage/cards/r/RedwoodTreefolk.java index c4e731d7dae..7c6513e644f 100644 --- a/Mage.Sets/src/mage/cards/r/RedwoodTreefolk.java +++ b/Mage.Sets/src/mage/cards/r/RedwoodTreefolk.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class RedwoodTreefolk extends CardImpl { public RedwoodTreefolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/ReefPirates.java b/Mage.Sets/src/mage/cards/r/ReefPirates.java index 1d9efd7d88f..06dab8ce59e 100644 --- a/Mage.Sets/src/mage/cards/r/ReefPirates.java +++ b/Mage.Sets/src/mage/cards/r/ReefPirates.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class ReefPirates extends CardImpl { public ReefPirates(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/ReefShaman.java b/Mage.Sets/src/mage/cards/r/ReefShaman.java index e41294cc059..28988753dd2 100644 --- a/Mage.Sets/src/mage/cards/r/ReefShaman.java +++ b/Mage.Sets/src/mage/cards/r/ReefShaman.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BecomesBasicLandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetLandPermanent; @@ -48,8 +49,8 @@ public class ReefShaman extends CardImpl { public ReefShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/ReefWorm.java b/Mage.Sets/src/mage/cards/r/ReefWorm.java index f29cf904e7c..efe06d3d60c 100644 --- a/Mage.Sets/src/mage/cards/r/ReefWorm.java +++ b/Mage.Sets/src/mage/cards/r/ReefWorm.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.ReefWormFishToken; /** @@ -44,7 +45,7 @@ public class ReefWorm extends CardImpl { public ReefWorm(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - this.subtype.add("Worm"); + this.subtype.add(SubType.WORM); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/ReflectorMage.java b/Mage.Sets/src/mage/cards/r/ReflectorMage.java index 3f43c1514be..1eadff80176 100644 --- a/Mage.Sets/src/mage/cards/r/ReflectorMage.java +++ b/Mage.Sets/src/mage/cards/r/ReflectorMage.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.PhaseStep; @@ -67,8 +68,8 @@ public class ReflectorMage extends CardImpl { public ReflectorMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/ReflexSliver.java b/Mage.Sets/src/mage/cards/r/ReflexSliver.java index b54ace95ab9..c67d54c7a5e 100644 --- a/Mage.Sets/src/mage/cards/r/ReflexSliver.java +++ b/Mage.Sets/src/mage/cards/r/ReflexSliver.java @@ -55,7 +55,7 @@ public class ReflexSliver extends CardImpl { public ReflexSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/Reflexes.java b/Mage.Sets/src/mage/cards/r/Reflexes.java index c17f8e60bcf..219dfab44dc 100644 --- a/Mage.Sets/src/mage/cards/r/Reflexes.java +++ b/Mage.Sets/src/mage/cards/r/Reflexes.java @@ -48,7 +48,7 @@ public class Reflexes extends CardImpl { public Reflexes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/r/RegalBehemoth.java b/Mage.Sets/src/mage/cards/r/RegalBehemoth.java index 234efea11d2..2e184fae5a9 100644 --- a/Mage.Sets/src/mage/cards/r/RegalBehemoth.java +++ b/Mage.Sets/src/mage/cards/r/RegalBehemoth.java @@ -39,6 +39,7 @@ import mage.abilities.mana.TriggeredManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledLandPermanent; @@ -57,7 +58,7 @@ public class RegalBehemoth extends CardImpl { public RegalBehemoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{G}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RegalCaracal.java b/Mage.Sets/src/mage/cards/r/RegalCaracal.java index e4021f89024..17e198cd043 100644 --- a/Mage.Sets/src/mage/cards/r/RegalCaracal.java +++ b/Mage.Sets/src/mage/cards/r/RegalCaracal.java @@ -61,7 +61,7 @@ public class RegalCaracal extends CardImpl { public RegalCaracal(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{W}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RegalForce.java b/Mage.Sets/src/mage/cards/r/RegalForce.java index ab8a9b75086..1f84845beda 100644 --- a/Mage.Sets/src/mage/cards/r/RegalForce.java +++ b/Mage.Sets/src/mage/cards/r/RegalForce.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -53,7 +54,7 @@ public class RegalForce extends CardImpl { public RegalForce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RegalUnicorn.java b/Mage.Sets/src/mage/cards/r/RegalUnicorn.java index 295e6f7040b..8f95cd5f431 100644 --- a/Mage.Sets/src/mage/cards/r/RegalUnicorn.java +++ b/Mage.Sets/src/mage/cards/r/RegalUnicorn.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class RegalUnicorn extends CardImpl { public RegalUnicorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Unicorn"); + this.subtype.add(SubType.UNICORN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RegathanFirecat.java b/Mage.Sets/src/mage/cards/r/RegathanFirecat.java index e7a68ebeba9..92dc8fd3e2e 100644 --- a/Mage.Sets/src/mage/cards/r/RegathanFirecat.java +++ b/Mage.Sets/src/mage/cards/r/RegathanFirecat.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class RegathanFirecat extends CardImpl { public RegathanFirecat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Cat"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.CAT); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/Regeneration.java b/Mage.Sets/src/mage/cards/r/Regeneration.java index 038465af2b2..0cd8cd95a60 100644 --- a/Mage.Sets/src/mage/cards/r/Regeneration.java +++ b/Mage.Sets/src/mage/cards/r/Regeneration.java @@ -48,7 +48,7 @@ public class Regeneration extends CardImpl { public Regeneration(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/r/RegisaurAlpha.java b/Mage.Sets/src/mage/cards/r/RegisaurAlpha.java index 8b1f69312b8..e73c5e301f0 100644 --- a/Mage.Sets/src/mage/cards/r/RegisaurAlpha.java +++ b/Mage.Sets/src/mage/cards/r/RegisaurAlpha.java @@ -62,7 +62,7 @@ public class RegisaurAlpha extends CardImpl { public RegisaurAlpha(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{G}"); - this.subtype.add("Dinosaur"); + this.subtype.add(SubType.DINOSAUR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/Regression.java b/Mage.Sets/src/mage/cards/r/Regression.java index fe7fdeeea32..aba63019350 100644 --- a/Mage.Sets/src/mage/cards/r/Regression.java +++ b/Mage.Sets/src/mage/cards/r/Regression.java @@ -1,68 +1,68 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.abilities.effects.common.ShuffleIntoLibraryTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.FilterPermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.CardTypePredicate; -import mage.target.TargetPermanent; - -/** - * - * @author Styxo - */ -public class Regression extends CardImpl { - - private static final FilterPermanent filter = new FilterPermanent("artifact or enchantment"); - - static { - filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.ENCHANTMENT))); - } - - public Regression(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{G}"); - - // Choose target artifact or enchantment. Its owner shuffles it into his or her library. - this.getSpellAbility().addEffect(new ShuffleIntoLibraryTargetEffect()); - this.getSpellAbility().addTarget(new TargetPermanent(filter)); - } - - public Regression(final Regression card) { - super(card); - } - - @Override - public Regression copy() { - return new Regression(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.abilities.effects.common.ShuffleIntoLibraryTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.FilterPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.target.TargetPermanent; + +/** + * + * @author Styxo + */ +public class Regression extends CardImpl { + + private static final FilterPermanent filter = new FilterPermanent("artifact or enchantment"); + + static { + filter.add(Predicates.or(new CardTypePredicate(CardType.ARTIFACT), new CardTypePredicate(CardType.ENCHANTMENT))); + } + + public Regression(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{G}"); + + // Choose target artifact or enchantment. Its owner shuffles it into his or her library. + this.getSpellAbility().addEffect(new ShuffleIntoLibraryTargetEffect()); + this.getSpellAbility().addTarget(new TargetPermanent(filter)); + } + + public Regression(final Regression card) { + super(card); + } + + @Override + public Regression copy() { + return new Regression(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/ReinforcedBulwark.java b/Mage.Sets/src/mage/cards/r/ReinforcedBulwark.java index 1454a9ca4bc..7f0396a90b0 100644 --- a/Mage.Sets/src/mage/cards/r/ReinforcedBulwark.java +++ b/Mage.Sets/src/mage/cards/r/ReinforcedBulwark.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class ReinforcedBulwark extends CardImpl { public ReinforcedBulwark(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/ReinsOfTheVinesteed.java b/Mage.Sets/src/mage/cards/r/ReinsOfTheVinesteed.java index 636e937c4bb..837efc634ad 100644 --- a/Mage.Sets/src/mage/cards/r/ReinsOfTheVinesteed.java +++ b/Mage.Sets/src/mage/cards/r/ReinsOfTheVinesteed.java @@ -61,7 +61,7 @@ public class ReinsOfTheVinesteed extends CardImpl { public ReinsOfTheVinesteed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/r/ReiverDemon.java b/Mage.Sets/src/mage/cards/r/ReiverDemon.java index de77ecd3e87..cb2880a725e 100644 --- a/Mage.Sets/src/mage/cards/r/ReiverDemon.java +++ b/Mage.Sets/src/mage/cards/r/ReiverDemon.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -59,7 +60,7 @@ public class ReiverDemon extends CardImpl { public ReiverDemon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/RekiTheHistoryOfKamigawa.java b/Mage.Sets/src/mage/cards/r/RekiTheHistoryOfKamigawa.java index 0f6305bc6c6..1b11d4a0d33 100644 --- a/Mage.Sets/src/mage/cards/r/RekiTheHistoryOfKamigawa.java +++ b/Mage.Sets/src/mage/cards/r/RekiTheHistoryOfKamigawa.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.SupertypePredicate; @@ -53,8 +54,8 @@ public class RekiTheHistoryOfKamigawa extends CardImpl { public RekiTheHistoryOfKamigawa(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/ReleaseTheGremlins.java b/Mage.Sets/src/mage/cards/r/ReleaseTheGremlins.java index 88b53d08992..7ad016c11f7 100644 --- a/Mage.Sets/src/mage/cards/r/ReleaseTheGremlins.java +++ b/Mage.Sets/src/mage/cards/r/ReleaseTheGremlins.java @@ -1,78 +1,78 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.SpellAbility; -import mage.abilities.dynamicvalue.common.ManacostVariableValue; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.effects.common.DestroyTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.game.Game; -import mage.game.permanent.token.GremlinToken; -import mage.target.common.TargetArtifactPermanent; - -/** - * - * @author Styxo - */ -public class ReleaseTheGremlins extends CardImpl { - - public ReleaseTheGremlins(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{X}{X}{R}"); - - // Destroy X target artifacts. - this.getSpellAbility().addEffect(new DestroyTargetEffect("Destroy X target artifacts")); - this.getSpellAbility().addTarget(new TargetArtifactPermanent()); - - // Create X 2/2 red Gremlin creature tokens. - this.getSpellAbility().addEffect(new CreateTokenEffect(new GremlinToken(), new ManacostVariableValue())); - - } - - @Override - public void adjustTargets(Ability ability, Game game) { - if (ability instanceof SpellAbility) { - ability.getTargets().clear(); - int xValue = ability.getManaCostsToPay().getX(); - ability.addTarget(new TargetArtifactPermanent(xValue, xValue)); - } - } - - public ReleaseTheGremlins(final ReleaseTheGremlins card) { - super(card); - } - - @Override - public ReleaseTheGremlins copy() { - return new ReleaseTheGremlins(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.SpellAbility; +import mage.abilities.dynamicvalue.common.ManacostVariableValue; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.game.Game; +import mage.game.permanent.token.GremlinToken; +import mage.target.common.TargetArtifactPermanent; + +/** + * + * @author Styxo + */ +public class ReleaseTheGremlins extends CardImpl { + + public ReleaseTheGremlins(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{X}{X}{R}"); + + // Destroy X target artifacts. + this.getSpellAbility().addEffect(new DestroyTargetEffect("Destroy X target artifacts")); + this.getSpellAbility().addTarget(new TargetArtifactPermanent()); + + // Create X 2/2 red Gremlin creature tokens. + this.getSpellAbility().addEffect(new CreateTokenEffect(new GremlinToken(), new ManacostVariableValue())); + + } + + @Override + public void adjustTargets(Ability ability, Game game) { + if (ability instanceof SpellAbility) { + ability.getTargets().clear(); + int xValue = ability.getManaCostsToPay().getX(); + ability.addTarget(new TargetArtifactPermanent(xValue, xValue)); + } + } + + public ReleaseTheGremlins(final ReleaseTheGremlins card) { + super(card); + } + + @Override + public ReleaseTheGremlins copy() { + return new ReleaseTheGremlins(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/RelentlessDead.java b/Mage.Sets/src/mage/cards/r/RelentlessDead.java index db733573445..48e4026b520 100644 --- a/Mage.Sets/src/mage/cards/r/RelentlessDead.java +++ b/Mage.Sets/src/mage/cards/r/RelentlessDead.java @@ -58,7 +58,7 @@ public class RelentlessDead extends CardImpl { public RelentlessDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RelentlessHunter.java b/Mage.Sets/src/mage/cards/r/RelentlessHunter.java index 04a4e97004f..edb8236ffb5 100644 --- a/Mage.Sets/src/mage/cards/r/RelentlessHunter.java +++ b/Mage.Sets/src/mage/cards/r/RelentlessHunter.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class RelentlessHunter extends CardImpl { public RelentlessHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RelentlessRats.java b/Mage.Sets/src/mage/cards/r/RelentlessRats.java index c9c5c880290..4810a1bb99b 100644 --- a/Mage.Sets/src/mage/cards/r/RelentlessRats.java +++ b/Mage.Sets/src/mage/cards/r/RelentlessRats.java @@ -56,7 +56,7 @@ public class RelentlessRats extends CardImpl { public RelentlessRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RelentlessSkaabs.java b/Mage.Sets/src/mage/cards/r/RelentlessSkaabs.java index 04f47b8229b..56ae0187345 100644 --- a/Mage.Sets/src/mage/cards/r/RelentlessSkaabs.java +++ b/Mage.Sets/src/mage/cards/r/RelentlessSkaabs.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.UndyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInYourGraveyard; @@ -45,7 +46,7 @@ public class RelentlessSkaabs extends CardImpl { public RelentlessSkaabs(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RelicBane.java b/Mage.Sets/src/mage/cards/r/RelicBane.java index 5e6c4651389..bcb3e6d1df0 100644 --- a/Mage.Sets/src/mage/cards/r/RelicBane.java +++ b/Mage.Sets/src/mage/cards/r/RelicBane.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class RelicBane extends CardImpl { public RelicBane(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact TargetPermanent auraTarget = new TargetArtifactPermanent(); diff --git a/Mage.Sets/src/mage/cards/r/RelicPutrescence.java b/Mage.Sets/src/mage/cards/r/RelicPutrescence.java index 6f714923ad4..f31cb5d9232 100644 --- a/Mage.Sets/src/mage/cards/r/RelicPutrescence.java +++ b/Mage.Sets/src/mage/cards/r/RelicPutrescence.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -55,7 +56,7 @@ public class RelicPutrescence extends CardImpl { public RelicPutrescence (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetArtifactPermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/r/RelicSeeker.java b/Mage.Sets/src/mage/cards/r/RelicSeeker.java index a75dcdac7ad..df5fdb11bb4 100644 --- a/Mage.Sets/src/mage/cards/r/RelicSeeker.java +++ b/Mage.Sets/src/mage/cards/r/RelicSeeker.java @@ -56,8 +56,8 @@ public class RelicSeeker extends CardImpl { public RelicSeeker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RelicWard.java b/Mage.Sets/src/mage/cards/r/RelicWard.java index 78e54a8d40c..376bc4ec32d 100644 --- a/Mage.Sets/src/mage/cards/r/RelicWard.java +++ b/Mage.Sets/src/mage/cards/r/RelicWard.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class RelicWard extends CardImpl { public RelicWard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // You may cast Relic Ward as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. this.addAbility(new SimpleStaticAbility(Zone.ALL, new CastAsThoughItHadFlashSourceEffect(Duration.EndOfGame))); diff --git a/Mage.Sets/src/mage/cards/r/ReliefCaptain.java b/Mage.Sets/src/mage/cards/r/ReliefCaptain.java index 78144157eb6..d4c4179d533 100644 --- a/Mage.Sets/src/mage/cards/r/ReliefCaptain.java +++ b/Mage.Sets/src/mage/cards/r/ReliefCaptain.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SupportAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,9 +43,9 @@ public class ReliefCaptain extends CardImpl { public ReliefCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Knight"); - this.subtype.add("Ally"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.KNIGHT); + this.subtype.add(SubType.ALLY); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/ReliquaryMonk.java b/Mage.Sets/src/mage/cards/r/ReliquaryMonk.java index 081276e98bb..53d830298ce 100644 --- a/Mage.Sets/src/mage/cards/r/ReliquaryMonk.java +++ b/Mage.Sets/src/mage/cards/r/ReliquaryMonk.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -47,9 +48,9 @@ public class ReliquaryMonk extends CardImpl { public ReliquaryMonk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RendclawTrow.java b/Mage.Sets/src/mage/cards/r/RendclawTrow.java index 1b4ddd36421..db363a5f9f6 100644 --- a/Mage.Sets/src/mage/cards/r/RendclawTrow.java +++ b/Mage.Sets/src/mage/cards/r/RendclawTrow.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class RendclawTrow extends CardImpl { public RendclawTrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B/G}"); - this.subtype.add("Troll"); + this.subtype.add(SubType.TROLL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RenegadeDemon.java b/Mage.Sets/src/mage/cards/r/RenegadeDemon.java index a47fcc57509..c0d55c61e0b 100644 --- a/Mage.Sets/src/mage/cards/r/RenegadeDemon.java +++ b/Mage.Sets/src/mage/cards/r/RenegadeDemon.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class RenegadeDemon extends CardImpl { public RenegadeDemon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RenegadeDoppelganger.java b/Mage.Sets/src/mage/cards/r/RenegadeDoppelganger.java index c6f05249cec..351b90dda4b 100644 --- a/Mage.Sets/src/mage/cards/r/RenegadeDoppelganger.java +++ b/Mage.Sets/src/mage/cards/r/RenegadeDoppelganger.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class RenegadeDoppelganger extends CardImpl { public RenegadeDoppelganger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RenegadeFirebrand.java b/Mage.Sets/src/mage/cards/r/RenegadeFirebrand.java index d697ed3d6cd..058e22627d1 100644 --- a/Mage.Sets/src/mage/cards/r/RenegadeFirebrand.java +++ b/Mage.Sets/src/mage/cards/r/RenegadeFirebrand.java @@ -62,8 +62,8 @@ public class RenegadeFirebrand extends CardImpl { public RenegadeFirebrand(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RenegadeKrasis.java b/Mage.Sets/src/mage/cards/r/RenegadeKrasis.java index 838d379404d..227061928ae 100644 --- a/Mage.Sets/src/mage/cards/r/RenegadeKrasis.java +++ b/Mage.Sets/src/mage/cards/r/RenegadeKrasis.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EvolveAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -48,8 +49,8 @@ public class RenegadeKrasis extends CardImpl { public RenegadeKrasis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Beast"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.BEAST); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RenegadeRallier.java b/Mage.Sets/src/mage/cards/r/RenegadeRallier.java index 4fe28173619..e84e0dd4604 100644 --- a/Mage.Sets/src/mage/cards/r/RenegadeRallier.java +++ b/Mage.Sets/src/mage/cards/r/RenegadeRallier.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterPermanentCard; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; @@ -59,8 +60,8 @@ public class RenegadeRallier extends CardImpl { public RenegadeRallier(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RenegadeTroops.java b/Mage.Sets/src/mage/cards/r/RenegadeTroops.java index 4c2d41f75e0..376621beb31 100644 --- a/Mage.Sets/src/mage/cards/r/RenegadeTroops.java +++ b/Mage.Sets/src/mage/cards/r/RenegadeTroops.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class RenegadeTroops extends CardImpl { public RenegadeTroops(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RenegadeWarlord.java b/Mage.Sets/src/mage/cards/r/RenegadeWarlord.java index 11493cbf751..0a47f3b5087 100644 --- a/Mage.Sets/src/mage/cards/r/RenegadeWarlord.java +++ b/Mage.Sets/src/mage/cards/r/RenegadeWarlord.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterAttackingCreature; @@ -46,8 +47,8 @@ public class RenegadeWarlord extends CardImpl { public RenegadeWarlord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RenegadeWheelsmith.java b/Mage.Sets/src/mage/cards/r/RenegadeWheelsmith.java index d58cf37aab4..c1f9d83fc2c 100644 --- a/Mage.Sets/src/mage/cards/r/RenegadeWheelsmith.java +++ b/Mage.Sets/src/mage/cards/r/RenegadeWheelsmith.java @@ -1,69 +1,70 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.BecomesTappedSourceTriggeredAbility; -import mage.abilities.effects.common.combat.CantBlockTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class RenegadeWheelsmith extends CardImpl { - - public RenegadeWheelsmith(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{W}"); - - this.subtype.add("Dwarf"); - this.subtype.add("Pilot"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - - // Whenever Renegade Wheelsmith becomes tapped, target creature can't block this turn. - Ability ability = new BecomesTappedSourceTriggeredAbility(new CantBlockTargetEffect(Duration.EndOfTurn)); - ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability); - } - - public RenegadeWheelsmith(final RenegadeWheelsmith card) { - super(card); - } - - @Override - public RenegadeWheelsmith copy() { - return new RenegadeWheelsmith(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.BecomesTappedSourceTriggeredAbility; +import mage.abilities.effects.common.combat.CantBlockTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class RenegadeWheelsmith extends CardImpl { + + public RenegadeWheelsmith(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{W}"); + + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.PILOT); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // Whenever Renegade Wheelsmith becomes tapped, target creature can't block this turn. + Ability ability = new BecomesTappedSourceTriggeredAbility(new CantBlockTargetEffect(Duration.EndOfTurn)); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public RenegadeWheelsmith(final RenegadeWheelsmith card) { + super(card); + } + + @Override + public RenegadeWheelsmith copy() { + return new RenegadeWheelsmith(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/RenownedWeaponsmith.java b/Mage.Sets/src/mage/cards/r/RenownedWeaponsmith.java index b240e40be71..bbdfba11f2a 100644 --- a/Mage.Sets/src/mage/cards/r/RenownedWeaponsmith.java +++ b/Mage.Sets/src/mage/cards/r/RenownedWeaponsmith.java @@ -46,6 +46,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -63,8 +64,8 @@ public class RenownedWeaponsmith extends CardImpl { public RenownedWeaponsmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RenownedWeaver.java b/Mage.Sets/src/mage/cards/r/RenownedWeaver.java index f9c30cfcb40..001b6c2d224 100644 --- a/Mage.Sets/src/mage/cards/r/RenownedWeaver.java +++ b/Mage.Sets/src/mage/cards/r/RenownedWeaver.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.RenownedWeaverSpiderToken; @@ -48,8 +49,8 @@ public class RenownedWeaver extends CardImpl { public RenownedWeaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/Reparations.java b/Mage.Sets/src/mage/cards/r/Reparations.java index 6f3a66ee138..131fac1ef7a 100644 --- a/Mage.Sets/src/mage/cards/r/Reparations.java +++ b/Mage.Sets/src/mage/cards/r/Reparations.java @@ -1,114 +1,114 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.events.GameEvent.EventType; -import mage.game.permanent.Permanent; -import mage.game.stack.StackObject; -import mage.players.Player; - -/** - * - * @author jeffwadsworth - */ -public class Reparations extends CardImpl { - - public Reparations(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}{U}"); - - // Whenever an opponent casts a spell that targets you or a creature you control, you may draw a card. - this.addAbility(new ReparationsTriggeredAbility()); - - } - - public Reparations(final Reparations card) { - super(card); - } - - @Override - public Reparations copy() { - return new Reparations(this); - } -} - -class ReparationsTriggeredAbility extends TriggeredAbilityImpl { - - public ReparationsTriggeredAbility() { - super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), true); - } - - public ReparationsTriggeredAbility(final ReparationsTriggeredAbility ability) { - super(ability); - } - - @Override - public ReparationsTriggeredAbility copy() { - return new ReparationsTriggeredAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == EventType.SPELL_CAST; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - UUID stackObjectId = event.getTargetId(); // spell cast - UUID casterId = event.getPlayerId(); // spell caster - StackObject stackObject = game.getStack().getStackObject(stackObjectId); - if (stackObject != null - && game.getOpponents(controllerId).contains(casterId)) { - Player targetPlayer = game.getPlayer(stackObject.getStackAbility().getFirstTarget()); - Permanent targetPermanent = game.getPermanent(stackObject.getStackAbility().getFirstTarget()); - if (targetPlayer != null - && targetPlayer.getId().equals(controllerId)) { - return true; - } - if (targetPermanent != null - && targetPermanent.isCreature() - && targetPermanent.getControllerId().equals(controllerId)) { - return true; - } - } - return false; - } - - @Override - public String getRule() { - return "Whenever an opponent casts a spell that targets you or a creature you control, you may draw a card."; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.GameEvent.EventType; +import mage.game.permanent.Permanent; +import mage.game.stack.StackObject; +import mage.players.Player; + +/** + * + * @author jeffwadsworth + */ +public class Reparations extends CardImpl { + + public Reparations(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}{U}"); + + // Whenever an opponent casts a spell that targets you or a creature you control, you may draw a card. + this.addAbility(new ReparationsTriggeredAbility()); + + } + + public Reparations(final Reparations card) { + super(card); + } + + @Override + public Reparations copy() { + return new Reparations(this); + } +} + +class ReparationsTriggeredAbility extends TriggeredAbilityImpl { + + public ReparationsTriggeredAbility() { + super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), true); + } + + public ReparationsTriggeredAbility(final ReparationsTriggeredAbility ability) { + super(ability); + } + + @Override + public ReparationsTriggeredAbility copy() { + return new ReparationsTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == EventType.SPELL_CAST; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + UUID stackObjectId = event.getTargetId(); // spell cast + UUID casterId = event.getPlayerId(); // spell caster + StackObject stackObject = game.getStack().getStackObject(stackObjectId); + if (stackObject != null + && game.getOpponents(controllerId).contains(casterId)) { + Player targetPlayer = game.getPlayer(stackObject.getStackAbility().getFirstTarget()); + Permanent targetPermanent = game.getPermanent(stackObject.getStackAbility().getFirstTarget()); + if (targetPlayer != null + && targetPlayer.getId().equals(controllerId)) { + return true; + } + if (targetPermanent != null + && targetPermanent.isCreature() + && targetPermanent.getControllerId().equals(controllerId)) { + return true; + } + } + return false; + } + + @Override + public String getRule() { + return "Whenever an opponent casts a spell that targets you or a creature you control, you may draw a card."; + } +} diff --git a/Mage.Sets/src/mage/cards/r/RepentantBlacksmith.java b/Mage.Sets/src/mage/cards/r/RepentantBlacksmith.java index 1a47f0174b8..8c0ff44ffbb 100644 --- a/Mage.Sets/src/mage/cards/r/RepentantBlacksmith.java +++ b/Mage.Sets/src/mage/cards/r/RepentantBlacksmith.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class RepentantBlacksmith extends CardImpl { public RepentantBlacksmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RepentantVampire.java b/Mage.Sets/src/mage/cards/r/RepentantVampire.java index bcece9407cc..f6849891f27 100644 --- a/Mage.Sets/src/mage/cards/r/RepentantVampire.java +++ b/Mage.Sets/src/mage/cards/r/RepentantVampire.java @@ -46,6 +46,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -66,7 +67,7 @@ public class RepentantVampire extends CardImpl { public RepentantVampire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RepublicFrigate.java b/Mage.Sets/src/mage/cards/r/RepublicFrigate.java index 3a38f6fb7bd..410b6fb22f9 100644 --- a/Mage.Sets/src/mage/cards/r/RepublicFrigate.java +++ b/Mage.Sets/src/mage/cards/r/RepublicFrigate.java @@ -1,61 +1,62 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.keyword.SpaceflightAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class RepublicFrigate extends CardImpl { - - public RepublicFrigate(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{U}"); - this.subtype.add("Starship"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // Spaceflight - this.addAbility(SpaceflightAbility.getInstance()); - } - - public RepublicFrigate(final RepublicFrigate card) { - super(card); - } - - @Override - public RepublicFrigate copy() { - return new RepublicFrigate(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.keyword.SpaceflightAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author Styxo + */ +public class RepublicFrigate extends CardImpl { + + public RepublicFrigate(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{U}"); + this.subtype.add(SubType.STARSHIP); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Spaceflight + this.addAbility(SpaceflightAbility.getInstance()); + } + + public RepublicFrigate(final RepublicFrigate card) { + super(card); + } + + @Override + public RepublicFrigate copy() { + return new RepublicFrigate(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/Repurpose.java b/Mage.Sets/src/mage/cards/r/Repurpose.java index 84b39300588..080ebd5d9ee 100644 --- a/Mage.Sets/src/mage/cards/r/Repurpose.java +++ b/Mage.Sets/src/mage/cards/r/Repurpose.java @@ -1,71 +1,71 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DestroyTargetEffect; -import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.common.FilterCreatureCard; -import mage.target.common.TargetCardInYourGraveyard; -import mage.target.common.TargetCreaturePermanent; -import mage.target.targetpointer.SecondTargetPointer; - -/** - * - * @author Styxo - */ -public class Repurpose extends CardImpl { - - public Repurpose(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{B}{B}"); - - // Destroy target creature. - this.getSpellAbility().addEffect(new DestroyTargetEffect()); - this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - - // Return up to one target creature card from graveyard to your hand. - Effect effect = new ReturnFromGraveyardToHandTargetEffect(); - effect.setTargetPointer(SecondTargetPointer.getInstance()); - effect.setText("Return up to one target creature card from graveyard to your hand."); - this.getSpellAbility().addEffect(effect); - this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 1, new FilterCreatureCard("creature card from your graveyard"))); - } - - public Repurpose(final Repurpose card) { - super(card); - } - - @Override - public Repurpose copy() { - return new Repurpose(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.common.FilterCreatureCard; +import mage.target.common.TargetCardInYourGraveyard; +import mage.target.common.TargetCreaturePermanent; +import mage.target.targetpointer.SecondTargetPointer; + +/** + * + * @author Styxo + */ +public class Repurpose extends CardImpl { + + public Repurpose(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{B}{B}"); + + // Destroy target creature. + this.getSpellAbility().addEffect(new DestroyTargetEffect()); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + + // Return up to one target creature card from graveyard to your hand. + Effect effect = new ReturnFromGraveyardToHandTargetEffect(); + effect.setTargetPointer(SecondTargetPointer.getInstance()); + effect.setText("Return up to one target creature card from graveyard to your hand."); + this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addTarget(new TargetCardInYourGraveyard(0, 1, new FilterCreatureCard("creature card from your graveyard"))); + } + + public Repurpose(final Repurpose card) { + super(card); + } + + @Override + public Repurpose copy() { + return new Repurpose(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/RequiemAngel.java b/Mage.Sets/src/mage/cards/r/RequiemAngel.java index 559f4bcd5b7..1c3140c5445 100644 --- a/Mage.Sets/src/mage/cards/r/RequiemAngel.java +++ b/Mage.Sets/src/mage/cards/r/RequiemAngel.java @@ -59,7 +59,7 @@ public class RequiemAngel extends CardImpl { public RequiemAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/Reroute.java b/Mage.Sets/src/mage/cards/r/Reroute.java index a4aa46d4b13..b6a5d122b1e 100644 --- a/Mage.Sets/src/mage/cards/r/Reroute.java +++ b/Mage.Sets/src/mage/cards/r/Reroute.java @@ -1,71 +1,71 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.abilities.effects.common.ChooseNewTargetsTargetEffect; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.FilterAbility; -import mage.filter.predicate.mageobject.NumberOfTargetsPredicate; -import mage.target.common.TargetActivatedAbility; - -/** - * - * @author LevelX2 - */ -public class Reroute extends CardImpl { - - private static final FilterAbility filter = new FilterAbility("activated ability with a single target"); - - static { - filter.add(new NumberOfTargetsPredicate(1)); - } - - public Reroute(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}"); - - // Change the target of target activated ability with a single target. - this.getSpellAbility().addEffect(new ChooseNewTargetsTargetEffect(true, true)); - this.getSpellAbility().addTarget(new TargetActivatedAbility(filter)); - - // Draw a card. - this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); - } - - public Reroute(final Reroute card) { - super(card); - } - - @Override - public Reroute copy() { - return new Reroute(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.abilities.effects.common.ChooseNewTargetsTargetEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.FilterAbility; +import mage.filter.predicate.mageobject.NumberOfTargetsPredicate; +import mage.target.common.TargetActivatedAbility; + +/** + * + * @author LevelX2 + */ +public class Reroute extends CardImpl { + + private static final FilterAbility filter = new FilterAbility("activated ability with a single target"); + + static { + filter.add(new NumberOfTargetsPredicate(1)); + } + + public Reroute(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}"); + + // Change the target of target activated ability with a single target. + this.getSpellAbility().addEffect(new ChooseNewTargetsTargetEffect(true, true)); + this.getSpellAbility().addTarget(new TargetActivatedAbility(filter)); + + // Draw a card. + this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); + } + + public Reroute(final Reroute card) { + super(card); + } + + @Override + public Reroute copy() { + return new Reroute(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/ResearchAssistant.java b/Mage.Sets/src/mage/cards/r/ResearchAssistant.java index 1ce9a4942c7..b6080b14769 100644 --- a/Mage.Sets/src/mage/cards/r/ResearchAssistant.java +++ b/Mage.Sets/src/mage/cards/r/ResearchAssistant.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class ResearchAssistant extends CardImpl { public ResearchAssistant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/ReservoirWalker.java b/Mage.Sets/src/mage/cards/r/ReservoirWalker.java index f54341a54b9..ca2dc81daa1 100644 --- a/Mage.Sets/src/mage/cards/r/ReservoirWalker.java +++ b/Mage.Sets/src/mage/cards/r/ReservoirWalker.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,7 +48,7 @@ public class ReservoirWalker extends CardImpl { public ReservoirWalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{5}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/ResilientKhenra.java b/Mage.Sets/src/mage/cards/r/ResilientKhenra.java index 88533bde678..d786293ff0e 100644 --- a/Mage.Sets/src/mage/cards/r/ResilientKhenra.java +++ b/Mage.Sets/src/mage/cards/r/ResilientKhenra.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EternalizeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -51,8 +52,8 @@ public class ResilientKhenra extends CardImpl { public ResilientKhenra(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Jackal"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.JACKAL); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/ResilientWanderer.java b/Mage.Sets/src/mage/cards/r/ResilientWanderer.java index 6bdc9652b26..c92e4db839b 100644 --- a/Mage.Sets/src/mage/cards/r/ResilientWanderer.java +++ b/Mage.Sets/src/mage/cards/r/ResilientWanderer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class ResilientWanderer extends CardImpl { public ResilientWanderer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/ResistanceFighter.java b/Mage.Sets/src/mage/cards/r/ResistanceFighter.java index 0dd51320f11..d29948e9c42 100644 --- a/Mage.Sets/src/mage/cards/r/ResistanceFighter.java +++ b/Mage.Sets/src/mage/cards/r/ResistanceFighter.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventDamageByTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class ResistanceFighter extends CardImpl { public ResistanceFighter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/ResoluteArchangel.java b/Mage.Sets/src/mage/cards/r/ResoluteArchangel.java index 924ee8a5696..0dc7b688590 100644 --- a/Mage.Sets/src/mage/cards/r/ResoluteArchangel.java +++ b/Mage.Sets/src/mage/cards/r/ResoluteArchangel.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -50,7 +51,7 @@ public class ResoluteArchangel extends CardImpl { public ResoluteArchangel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/ResoluteBlademaster.java b/Mage.Sets/src/mage/cards/r/ResoluteBlademaster.java index a2e9aff6052..0bfeb7e123c 100644 --- a/Mage.Sets/src/mage/cards/r/ResoluteBlademaster.java +++ b/Mage.Sets/src/mage/cards/r/ResoluteBlademaster.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterControlledCreaturePermanent; @@ -47,9 +48,9 @@ public class ResoluteBlademaster extends CardImpl { public ResoluteBlademaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/ResoluteSurvivors.java b/Mage.Sets/src/mage/cards/r/ResoluteSurvivors.java index 26e42f70669..a845e724f12 100644 --- a/Mage.Sets/src/mage/cards/r/ResoluteSurvivors.java +++ b/Mage.Sets/src/mage/cards/r/ResoluteSurvivors.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ExertAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -48,8 +49,8 @@ public class ResoluteSurvivors extends CardImpl { public ResoluteSurvivors(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/ResplendentMentor.java b/Mage.Sets/src/mage/cards/r/ResplendentMentor.java index d10592b9bf2..47122df96d4 100644 --- a/Mage.Sets/src/mage/cards/r/ResplendentMentor.java +++ b/Mage.Sets/src/mage/cards/r/ResplendentMentor.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -58,8 +59,8 @@ public class ResplendentMentor extends CardImpl { public ResplendentMentor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RestlessApparition.java b/Mage.Sets/src/mage/cards/r/RestlessApparition.java index 7ba2eb05f35..c878cf48460 100644 --- a/Mage.Sets/src/mage/cards/r/RestlessApparition.java +++ b/Mage.Sets/src/mage/cards/r/RestlessApparition.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.PersistAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class RestlessApparition extends CardImpl { public RestlessApparition(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W/B}{W/B}{W/B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RestlessBones.java b/Mage.Sets/src/mage/cards/r/RestlessBones.java index e99436bb684..01e448f7df7 100644 --- a/Mage.Sets/src/mage/cards/r/RestlessBones.java +++ b/Mage.Sets/src/mage/cards/r/RestlessBones.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -51,7 +52,7 @@ public class RestlessBones extends CardImpl { public RestlessBones(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RestlessDead.java b/Mage.Sets/src/mage/cards/r/RestlessDead.java index 2992ce61b86..16fa9987949 100644 --- a/Mage.Sets/src/mage/cards/r/RestlessDead.java +++ b/Mage.Sets/src/mage/cards/r/RestlessDead.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class RestlessDead extends CardImpl { public RestlessDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RestorationAngel.java b/Mage.Sets/src/mage/cards/r/RestorationAngel.java index ddea61a1b7a..ab878ebefa4 100644 --- a/Mage.Sets/src/mage/cards/r/RestorationAngel.java +++ b/Mage.Sets/src/mage/cards/r/RestorationAngel.java @@ -64,7 +64,7 @@ public class RestorationAngel extends CardImpl { public RestorationAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RestorationGearsmith.java b/Mage.Sets/src/mage/cards/r/RestorationGearsmith.java index e7a5b74e181..a0076bcfab7 100644 --- a/Mage.Sets/src/mage/cards/r/RestorationGearsmith.java +++ b/Mage.Sets/src/mage/cards/r/RestorationGearsmith.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCardInYourGraveyard; @@ -47,8 +48,8 @@ public class RestorationGearsmith extends CardImpl { public RestorationGearsmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{B}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RestorationSpecialist.java b/Mage.Sets/src/mage/cards/r/RestorationSpecialist.java index 6f9db5e0f26..b5c00db8ada 100644 --- a/Mage.Sets/src/mage/cards/r/RestorationSpecialist.java +++ b/Mage.Sets/src/mage/cards/r/RestorationSpecialist.java @@ -1,79 +1,80 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.ReturnToHandTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.filter.common.FilterArtifactCard; -import mage.filter.common.FilterEnchantmentCard; -import mage.target.common.TargetCardInGraveyard; - -/** - * - * @author Styxo - */ -public class RestorationSpecialist extends CardImpl { - - public RestorationSpecialist(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - - this.subtype.add("Dwarf"); - this.subtype.add("Artificer"); - this.power = new MageInt(2); - this.toughness = new MageInt(1); - - // {W}, Sacrifice Restoration Specialist: Return up to one target artifact card and up to one target enchantment card from your graveyard to your hand. - Effect effect = new ReturnToHandTargetEffect(true); - effect.setText("Return up to one target artifact card and up to one target enchantment card from your graveyard to your hand"); - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{W}")); - ability.addTarget(new TargetCardInGraveyard(0, 1, new FilterArtifactCard("artifact card from your graveyard"))); - ability.addTarget(new TargetCardInGraveyard(0, 1, new FilterEnchantmentCard("enchantment card from your graveyard"))); - ability.addCost(new SacrificeSourceCost()); - this.addAbility(ability); - - } - - public RestorationSpecialist(final RestorationSpecialist card) { - super(card); - } - - @Override - public RestorationSpecialist copy() { - return new RestorationSpecialist(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterArtifactCard; +import mage.filter.common.FilterEnchantmentCard; +import mage.target.common.TargetCardInGraveyard; + +/** + * + * @author Styxo + */ +public class RestorationSpecialist extends CardImpl { + + public RestorationSpecialist(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); + + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.ARTIFICER); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // {W}, Sacrifice Restoration Specialist: Return up to one target artifact card and up to one target enchantment card from your graveyard to your hand. + Effect effect = new ReturnToHandTargetEffect(true); + effect.setText("Return up to one target artifact card and up to one target enchantment card from your graveyard to your hand"); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{W}")); + ability.addTarget(new TargetCardInGraveyard(0, 1, new FilterArtifactCard("artifact card from your graveyard"))); + ability.addTarget(new TargetCardInGraveyard(0, 1, new FilterEnchantmentCard("enchantment card from your graveyard"))); + ability.addCost(new SacrificeSourceCost()); + this.addAbility(ability); + + } + + public RestorationSpecialist(final RestorationSpecialist card) { + super(card); + } + + @Override + public RestorationSpecialist copy() { + return new RestorationSpecialist(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/RetaliatorGriffin.java b/Mage.Sets/src/mage/cards/r/RetaliatorGriffin.java index 8036b47fa39..08daf0b7d2d 100644 --- a/Mage.Sets/src/mage/cards/r/RetaliatorGriffin.java +++ b/Mage.Sets/src/mage/cards/r/RetaliatorGriffin.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -53,7 +54,7 @@ public class RetaliatorGriffin extends CardImpl { public RetaliatorGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/ReturnedCentaur.java b/Mage.Sets/src/mage/cards/r/ReturnedCentaur.java index 51b779da6a4..24811dd1cbe 100644 --- a/Mage.Sets/src/mage/cards/r/ReturnedCentaur.java +++ b/Mage.Sets/src/mage/cards/r/ReturnedCentaur.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -45,8 +46,8 @@ public class ReturnedCentaur extends CardImpl { public ReturnedCentaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Centaur"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.CENTAUR); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/ReturnedPhalanx.java b/Mage.Sets/src/mage/cards/r/ReturnedPhalanx.java index 08b4a80f8ab..68c869c5e83 100644 --- a/Mage.Sets/src/mage/cards/r/ReturnedPhalanx.java +++ b/Mage.Sets/src/mage/cards/r/ReturnedPhalanx.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class ReturnedPhalanx extends CardImpl { public ReturnedPhalanx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/ReturnedReveler.java b/Mage.Sets/src/mage/cards/r/ReturnedReveler.java index 9e3838137da..10730ee0f1c 100644 --- a/Mage.Sets/src/mage/cards/r/ReturnedReveler.java +++ b/Mage.Sets/src/mage/cards/r/ReturnedReveler.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -44,8 +45,8 @@ public class ReturnedReveler extends CardImpl { public ReturnedReveler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Satyr"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.SATYR); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/Reveillark.java b/Mage.Sets/src/mage/cards/r/Reveillark.java index 32588ab989c..a63554789d9 100644 --- a/Mage.Sets/src/mage/cards/r/Reveillark.java +++ b/Mage.Sets/src/mage/cards/r/Reveillark.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.PowerPredicate; @@ -55,7 +56,7 @@ public class Reveillark extends CardImpl { public Reveillark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RevekaWizardSavant.java b/Mage.Sets/src/mage/cards/r/RevekaWizardSavant.java index c2fd333b40c..d136ae69c88 100644 --- a/Mage.Sets/src/mage/cards/r/RevekaWizardSavant.java +++ b/Mage.Sets/src/mage/cards/r/RevekaWizardSavant.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DontUntapInControllersNextUntapStepSourceEf import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -50,8 +51,8 @@ public class RevekaWizardSavant extends CardImpl { public RevekaWizardSavant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dwarf"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/Revenant.java b/Mage.Sets/src/mage/cards/r/Revenant.java index a5945770d31..8e71077c7c3 100644 --- a/Mage.Sets/src/mage/cards/r/Revenant.java +++ b/Mage.Sets/src/mage/cards/r/Revenant.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -48,7 +49,7 @@ public class Revenant extends CardImpl { public Revenant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/r/RevenantPatriarch.java b/Mage.Sets/src/mage/cards/r/RevenantPatriarch.java index 822aa0ded79..6da1d4c782a 100644 --- a/Mage.Sets/src/mage/cards/r/RevenantPatriarch.java +++ b/Mage.Sets/src/mage/cards/r/RevenantPatriarch.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.SkipNextCombatEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.target.TargetPlayer; import mage.watchers.common.ManaSpentToCastWatcher; @@ -50,7 +51,7 @@ public class RevenantPatriarch extends CardImpl { public RevenantPatriarch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/Revenge.java b/Mage.Sets/src/mage/cards/r/Revenge.java index 146b8ea231e..bdcb225bf4c 100644 --- a/Mage.Sets/src/mage/cards/r/Revenge.java +++ b/Mage.Sets/src/mage/cards/r/Revenge.java @@ -1,129 +1,129 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.condition.Condition; -import mage.abilities.decorator.ConditionalOneShotEffect; -import mage.abilities.effects.ContinuousEffect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.FightTargetsEffect; -import mage.abilities.effects.common.continuous.BoostTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.target.common.TargetControlledCreaturePermanent; -import mage.target.common.TargetOpponentsCreaturePermanent; -import mage.target.targetpointer.FixedTarget; -import mage.watchers.common.PlayerLostLifeWatcher; - -/** - * - * @author Styxo - */ -public class Revenge extends CardImpl { - - public Revenge(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}"); - - // Target creature you control gets +4/+0 until end of turn before it fights if you lost life this turn. - this.getSpellAbility().addEffect(new ConditionalOneShotEffect( - new RevengeEffect(), - LostLifeCondition.instance, - "Target creature you control gets +4/+0 until end of turn before it fights if you lost life this turn")); - - // Target creature you control fights target creature an opponent controls. - this.getSpellAbility().addEffect(new FightTargetsEffect()); - this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent()); - this.getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent()); - - this.getSpellAbility().addWatcher(new PlayerLostLifeWatcher()); - - } - - public Revenge(final Revenge card) { - super(card); - } - - @Override - public Revenge copy() { - return new Revenge(this); - } -} - -enum LostLifeCondition implements Condition { - - instance; - - - @Override - public boolean apply(Game game, Ability source) { - PlayerLostLifeWatcher watcher = (PlayerLostLifeWatcher) game.getState().getWatchers().get(PlayerLostLifeWatcher.class.getSimpleName()); - UUID player = source.getControllerId(); - if (watcher != null && player != null) { - return watcher.getLiveLost(player) > 0; - } - return false; - } - -} - -class RevengeEffect extends OneShotEffect { - - public RevengeEffect() { - super(Outcome.BoostCreature); - } - - public RevengeEffect(final RevengeEffect effect) { - super(effect); - } - - @Override - public RevengeEffect copy() { - return new RevengeEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Permanent target = game.getPermanent(targetPointer.getFirst(game, source)); - if (target != null && target.isCreature()) { - ContinuousEffect effect = new BoostTargetEffect(4, 0, Duration.EndOfTurn); - effect.setTargetPointer(new FixedTarget(target.getId())); - game.addEffect(effect, source); - return true; - } - - return false; - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.condition.Condition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.ContinuousEffect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.FightTargetsEffect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.target.common.TargetControlledCreaturePermanent; +import mage.target.common.TargetOpponentsCreaturePermanent; +import mage.target.targetpointer.FixedTarget; +import mage.watchers.common.PlayerLostLifeWatcher; + +/** + * + * @author Styxo + */ +public class Revenge extends CardImpl { + + public Revenge(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}"); + + // Target creature you control gets +4/+0 until end of turn before it fights if you lost life this turn. + this.getSpellAbility().addEffect(new ConditionalOneShotEffect( + new RevengeEffect(), + LostLifeCondition.instance, + "Target creature you control gets +4/+0 until end of turn before it fights if you lost life this turn")); + + // Target creature you control fights target creature an opponent controls. + this.getSpellAbility().addEffect(new FightTargetsEffect()); + this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent()); + this.getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent()); + + this.getSpellAbility().addWatcher(new PlayerLostLifeWatcher()); + + } + + public Revenge(final Revenge card) { + super(card); + } + + @Override + public Revenge copy() { + return new Revenge(this); + } +} + +enum LostLifeCondition implements Condition { + + instance; + + + @Override + public boolean apply(Game game, Ability source) { + PlayerLostLifeWatcher watcher = (PlayerLostLifeWatcher) game.getState().getWatchers().get(PlayerLostLifeWatcher.class.getSimpleName()); + UUID player = source.getControllerId(); + if (watcher != null && player != null) { + return watcher.getLiveLost(player) > 0; + } + return false; + } + +} + +class RevengeEffect extends OneShotEffect { + + public RevengeEffect() { + super(Outcome.BoostCreature); + } + + public RevengeEffect(final RevengeEffect effect) { + super(effect); + } + + @Override + public RevengeEffect copy() { + return new RevengeEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent target = game.getPermanent(targetPointer.getFirst(game, source)); + if (target != null && target.isCreature()) { + ContinuousEffect effect = new BoostTargetEffect(4, 0, Duration.EndOfTurn); + effect.setTargetPointer(new FixedTarget(target.getId())); + game.addEffect(effect, source); + return true; + } + + return false; + } + +} diff --git a/Mage.Sets/src/mage/cards/r/ReveredDead.java b/Mage.Sets/src/mage/cards/r/ReveredDead.java index 385442cabb2..9448d19ea37 100644 --- a/Mage.Sets/src/mage/cards/r/ReveredDead.java +++ b/Mage.Sets/src/mage/cards/r/ReveredDead.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class ReveredDead extends CardImpl { public ReveredDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Spirit"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/ReveredUnicorn.java b/Mage.Sets/src/mage/cards/r/ReveredUnicorn.java index 35a7bc71e01..91265345ead 100644 --- a/Mage.Sets/src/mage/cards/r/ReveredUnicorn.java +++ b/Mage.Sets/src/mage/cards/r/ReveredUnicorn.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.CumulativeUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -47,7 +48,7 @@ public class ReveredUnicorn extends CardImpl { public ReveredUnicorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Unicorn"); + this.subtype.add(SubType.UNICORN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/ReverentHunter.java b/Mage.Sets/src/mage/cards/r/ReverentHunter.java index 046a983e936..8078c6828a0 100644 --- a/Mage.Sets/src/mage/cards/r/ReverentHunter.java +++ b/Mage.Sets/src/mage/cards/r/ReverentHunter.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.counters.CounterType; @@ -46,8 +47,8 @@ public class ReverentHunter extends CardImpl { public ReverentHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RevokePrivileges.java b/Mage.Sets/src/mage/cards/r/RevokePrivileges.java index 935ba0cb6d5..6eb42b4915b 100644 --- a/Mage.Sets/src/mage/cards/r/RevokePrivileges.java +++ b/Mage.Sets/src/mage/cards/r/RevokePrivileges.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class RevokePrivileges extends CardImpl { public RevokePrivileges(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature. TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/r/ReyaDawnbringer.java b/Mage.Sets/src/mage/cards/r/ReyaDawnbringer.java index 2ba800d0b68..55826ca3cdd 100644 --- a/Mage.Sets/src/mage/cards/r/ReyaDawnbringer.java +++ b/Mage.Sets/src/mage/cards/r/ReyaDawnbringer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.filter.common.FilterCreatureCard; @@ -50,7 +51,7 @@ public class ReyaDawnbringer extends CardImpl { public ReyaDawnbringer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{W}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/ReyhanLastOfTheAbzan.java b/Mage.Sets/src/mage/cards/r/ReyhanLastOfTheAbzan.java index 2357b75e807..90329f64a9f 100644 --- a/Mage.Sets/src/mage/cards/r/ReyhanLastOfTheAbzan.java +++ b/Mage.Sets/src/mage/cards/r/ReyhanLastOfTheAbzan.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.PartnerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.counters.CounterType; @@ -58,8 +59,8 @@ public class ReyhanLastOfTheAbzan extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/r/RhetCropSpearmaster.java b/Mage.Sets/src/mage/cards/r/RhetCropSpearmaster.java index c49498febc2..7953a1e34c0 100644 --- a/Mage.Sets/src/mage/cards/r/RhetCropSpearmaster.java +++ b/Mage.Sets/src/mage/cards/r/RhetCropSpearmaster.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -49,8 +50,8 @@ public class RhetCropSpearmaster extends CardImpl { public RhetCropSpearmaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RhonasTheIndomitable.java b/Mage.Sets/src/mage/cards/r/RhonasTheIndomitable.java index 1551f78ad7e..b698639528b 100644 --- a/Mage.Sets/src/mage/cards/r/RhonasTheIndomitable.java +++ b/Mage.Sets/src/mage/cards/r/RhonasTheIndomitable.java @@ -67,7 +67,7 @@ public class RhonasTheIndomitable extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RhonassStalwart.java b/Mage.Sets/src/mage/cards/r/RhonassStalwart.java index 16365cefbfe..3dc348ece85 100644 --- a/Mage.Sets/src/mage/cards/r/RhonassStalwart.java +++ b/Mage.Sets/src/mage/cards/r/RhonassStalwart.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ExertAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; @@ -57,8 +58,8 @@ public class RhonassStalwart extends CardImpl { public RhonassStalwart(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/Rhox.java b/Mage.Sets/src/mage/cards/r/Rhox.java index 31ff2dda843..ac3a5629716 100644 --- a/Mage.Sets/src/mage/cards/r/Rhox.java +++ b/Mage.Sets/src/mage/cards/r/Rhox.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class Rhox extends CardImpl { public Rhox(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Rhino"); - this.subtype.add("Beast"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RhoxBodyguard.java b/Mage.Sets/src/mage/cards/r/RhoxBodyguard.java index 213a95567c8..ac7756073f1 100644 --- a/Mage.Sets/src/mage/cards/r/RhoxBodyguard.java +++ b/Mage.Sets/src/mage/cards/r/RhoxBodyguard.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ExaltedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,9 +48,9 @@ public class RhoxBodyguard extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{W}"); - this.subtype.add("Rhino"); - this.subtype.add("Monk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.MONK); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); this.addAbility(new ExaltedAbility()); diff --git a/Mage.Sets/src/mage/cards/r/RhoxBrute.java b/Mage.Sets/src/mage/cards/r/RhoxBrute.java index 535d509771f..ab5ea1b968c 100644 --- a/Mage.Sets/src/mage/cards/r/RhoxBrute.java +++ b/Mage.Sets/src/mage/cards/r/RhoxBrute.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class RhoxBrute extends CardImpl { public RhoxBrute (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}"); - this.subtype.add("Rhino"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RhoxCharger.java b/Mage.Sets/src/mage/cards/r/RhoxCharger.java index 777acad8116..cfc95352132 100644 --- a/Mage.Sets/src/mage/cards/r/RhoxCharger.java +++ b/Mage.Sets/src/mage/cards/r/RhoxCharger.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class RhoxCharger extends CardImpl { public RhoxCharger (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Rhino"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RhoxFaithmender.java b/Mage.Sets/src/mage/cards/r/RhoxFaithmender.java index 1cd0c92ad95..c071d9de8a5 100644 --- a/Mage.Sets/src/mage/cards/r/RhoxFaithmender.java +++ b/Mage.Sets/src/mage/cards/r/RhoxFaithmender.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class RhoxFaithmender extends CardImpl { public RhoxFaithmender(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Rhino"); - this.subtype.add("Monk"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.MONK); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RhoxMaulers.java b/Mage.Sets/src/mage/cards/r/RhoxMaulers.java index 0705c3ae361..c50e28cb614 100644 --- a/Mage.Sets/src/mage/cards/r/RhoxMaulers.java +++ b/Mage.Sets/src/mage/cards/r/RhoxMaulers.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class RhoxMaulers extends CardImpl { public RhoxMaulers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Rhino"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RhoxMeditant.java b/Mage.Sets/src/mage/cards/r/RhoxMeditant.java index 5958e145578..fddfa629660 100644 --- a/Mage.Sets/src/mage/cards/r/RhoxMeditant.java +++ b/Mage.Sets/src/mage/cards/r/RhoxMeditant.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,8 +58,8 @@ public class RhoxMeditant extends CardImpl { public RhoxMeditant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Rhino"); - this.subtype.add("Monk"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RhoxPikemaster.java b/Mage.Sets/src/mage/cards/r/RhoxPikemaster.java index adc09ea036a..a2d4e81a44f 100644 --- a/Mage.Sets/src/mage/cards/r/RhoxPikemaster.java +++ b/Mage.Sets/src/mage/cards/r/RhoxPikemaster.java @@ -57,8 +57,8 @@ public class RhoxPikemaster extends CardImpl { public RhoxPikemaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Rhino"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); this.addAbility(FirstStrikeAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/r/RhoxWarMonk.java b/Mage.Sets/src/mage/cards/r/RhoxWarMonk.java index 66ba85250ff..295e7907f45 100644 --- a/Mage.Sets/src/mage/cards/r/RhoxWarMonk.java +++ b/Mage.Sets/src/mage/cards/r/RhoxWarMonk.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class RhoxWarMonk extends CardImpl { public RhoxWarMonk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}{U}"); - this.subtype.add("Rhino"); - this.subtype.add("Monk"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.MONK); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RhysTheExiled.java b/Mage.Sets/src/mage/cards/r/RhysTheExiled.java index a8a9cf4e654..be4a92f39cd 100644 --- a/Mage.Sets/src/mage/cards/r/RhysTheExiled.java +++ b/Mage.Sets/src/mage/cards/r/RhysTheExiled.java @@ -60,8 +60,8 @@ public class RhysTheExiled extends CardImpl { public RhysTheExiled(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java b/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java index c5b37477a3f..56d40c4b4c5 100644 --- a/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java +++ b/Mage.Sets/src/mage/cards/r/RhysTheRedeemed.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.CreateTokenCopyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class RhysTheRedeemed extends CardImpl { public RhysTheRedeemed(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G/W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RibCageSpider.java b/Mage.Sets/src/mage/cards/r/RibCageSpider.java index 8054a430e4d..6e9af6f47ab 100644 --- a/Mage.Sets/src/mage/cards/r/RibCageSpider.java +++ b/Mage.Sets/src/mage/cards/r/RibCageSpider.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class RibCageSpider extends CardImpl { public RibCageSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RibbonSnake.java b/Mage.Sets/src/mage/cards/r/RibbonSnake.java index ffaf3e5c6c4..bed400e4eb4 100644 --- a/Mage.Sets/src/mage/cards/r/RibbonSnake.java +++ b/Mage.Sets/src/mage/cards/r/RibbonSnake.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class RibbonSnake extends CardImpl { public RibbonSnake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RibbonsOfTheReikai.java b/Mage.Sets/src/mage/cards/r/RibbonsOfTheReikai.java index 06cd510bba6..eb58a68428c 100644 --- a/Mage.Sets/src/mage/cards/r/RibbonsOfTheReikai.java +++ b/Mage.Sets/src/mage/cards/r/RibbonsOfTheReikai.java @@ -51,7 +51,7 @@ public class RibbonsOfTheReikai extends CardImpl { public RibbonsOfTheReikai(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{4}{U}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Draw a card for each Spirit you control. diff --git a/Mage.Sets/src/mage/cards/r/Riddleform.java b/Mage.Sets/src/mage/cards/r/Riddleform.java index 08799de5c03..f00e2e3cf47 100644 --- a/Mage.Sets/src/mage/cards/r/Riddleform.java +++ b/Mage.Sets/src/mage/cards/r/Riddleform.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterSpell; @@ -88,7 +89,7 @@ class RiddleformToken extends Token { super("", "3/3 Sphinx creature with flying"); cardType.add(CardType.CREATURE); - subtype.add("Sphinx"); + subtype.add(SubType.SPHINX); power = new MageInt(3); toughness = new MageInt(3); addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/r/Riddlekeeper.java b/Mage.Sets/src/mage/cards/r/Riddlekeeper.java index 02e9b1d5cd1..47effac0462 100644 --- a/Mage.Sets/src/mage/cards/r/Riddlekeeper.java +++ b/Mage.Sets/src/mage/cards/r/Riddlekeeper.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SetTargetPointer; import mage.filter.StaticFilters; @@ -47,7 +48,7 @@ public class Riddlekeeper extends CardImpl { public Riddlekeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Homunculus"); + this.subtype.add(SubType.HOMUNCULUS); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/Riddlesmith.java b/Mage.Sets/src/mage/cards/r/Riddlesmith.java index 8ae0af7d557..8e42352f471 100644 --- a/Mage.Sets/src/mage/cards/r/Riddlesmith.java +++ b/Mage.Sets/src/mage/cards/r/Riddlesmith.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactSpell; /** @@ -44,8 +45,8 @@ import mage.filter.common.FilterArtifactSpell; public class Riddlesmith extends CardImpl { public Riddlesmith (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RidersOfGavony.java b/Mage.Sets/src/mage/cards/r/RidersOfGavony.java index c5702049b0a..263429b2f0c 100644 --- a/Mage.Sets/src/mage/cards/r/RidersOfGavony.java +++ b/Mage.Sets/src/mage/cards/r/RidersOfGavony.java @@ -53,8 +53,8 @@ public class RidersOfGavony extends CardImpl { public RidersOfGavony(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RidgeRannet.java b/Mage.Sets/src/mage/cards/r/RidgeRannet.java index 865bd3a7369..53107ff11c3 100644 --- a/Mage.Sets/src/mage/cards/r/RidgeRannet.java +++ b/Mage.Sets/src/mage/cards/r/RidgeRannet.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class RidgeRannet extends CardImpl { public RidgeRannet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RidgedKusite.java b/Mage.Sets/src/mage/cards/r/RidgedKusite.java index 6b2365e69dd..22596f30680 100644 --- a/Mage.Sets/src/mage/cards/r/RidgedKusite.java +++ b/Mage.Sets/src/mage/cards/r/RidgedKusite.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -53,8 +54,8 @@ public class RidgedKusite extends CardImpl { public RidgedKusite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Horror"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HORROR); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RidgelineRager.java b/Mage.Sets/src/mage/cards/r/RidgelineRager.java index 1eefcff3971..f116b0a7de3 100644 --- a/Mage.Sets/src/mage/cards/r/RidgelineRager.java +++ b/Mage.Sets/src/mage/cards/r/RidgelineRager.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class RidgelineRager extends CardImpl { public RidgelineRager(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RidgescaleTusker.java b/Mage.Sets/src/mage/cards/r/RidgescaleTusker.java index 943ad99e46d..6d25e20cab4 100644 --- a/Mage.Sets/src/mage/cards/r/RidgescaleTusker.java +++ b/Mage.Sets/src/mage/cards/r/RidgescaleTusker.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -53,7 +54,7 @@ public class RidgescaleTusker extends CardImpl { public RidgescaleTusker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RidingRonto.java b/Mage.Sets/src/mage/cards/r/RidingRonto.java index 1668f0bdd9c..6ba09ec8d40 100644 --- a/Mage.Sets/src/mage/cards/r/RidingRonto.java +++ b/Mage.Sets/src/mage/cards/r/RidingRonto.java @@ -1,76 +1,77 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.condition.common.MonstrousCondition; -import mage.abilities.decorator.ConditionalContinuousEffect; -import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; -import mage.abilities.keyword.MonstrosityAbility; -import mage.abilities.keyword.VigilanceAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; - -/** - * - * @author Styxo - */ -public class RidingRonto extends CardImpl { - - public RidingRonto(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Beast"); - this.power = new MageInt(2); - this.toughness = new MageInt(4); - - // {3}{W}{W}: Monstrosity 2. - this.addAbility(new MonstrosityAbility("{3}{W}{W}", 3)); - - // As long as Riding Ronto is monstrous, it has vigilance - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( - new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield), - MonstrousCondition.instance, - "As long as Riding Ronto is monstrous, it has vigilance") - )); - - } - - public RidingRonto(final RidingRonto card) { - super(card); - } - - @Override - public RidingRonto copy() { - return new RidingRonto(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.MonstrousCondition; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.MonstrosityAbility; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; + +/** + * + * @author Styxo + */ +public class RidingRonto extends CardImpl { + + public RidingRonto(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); + this.subtype.add(SubType.BEAST); + this.power = new MageInt(2); + this.toughness = new MageInt(4); + + // {3}{W}{W}: Monstrosity 2. + this.addAbility(new MonstrosityAbility("{3}{W}{W}", 3)); + + // As long as Riding Ronto is monstrous, it has vigilance + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( + new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield), + MonstrousCondition.instance, + "As long as Riding Ronto is monstrous, it has vigilance") + )); + + } + + public RidingRonto(final RidingRonto card) { + super(card); + } + + @Override + public RidingRonto copy() { + return new RidingRonto(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/RiftElemental.java b/Mage.Sets/src/mage/cards/r/RiftElemental.java index a9b128646cf..bb16f5cc6d7 100644 --- a/Mage.Sets/src/mage/cards/r/RiftElemental.java +++ b/Mage.Sets/src/mage/cards/r/RiftElemental.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -62,7 +63,7 @@ public class RiftElemental extends CardImpl { public RiftElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RiftmarkedKnight.java b/Mage.Sets/src/mage/cards/r/RiftmarkedKnight.java index ff93db646cf..f4d2fa19f78 100644 --- a/Mage.Sets/src/mage/cards/r/RiftmarkedKnight.java +++ b/Mage.Sets/src/mage/cards/r/RiftmarkedKnight.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -55,9 +56,9 @@ public class RiftmarkedKnight extends CardImpl { public RiftmarkedKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/Riftsweeper.java b/Mage.Sets/src/mage/cards/r/Riftsweeper.java index 04b0a1da383..36d8ecc8a56 100644 --- a/Mage.Sets/src/mage/cards/r/Riftsweeper.java +++ b/Mage.Sets/src/mage/cards/r/Riftsweeper.java @@ -36,6 +36,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -57,8 +58,8 @@ public class Riftsweeper extends CardImpl { public Riftsweeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RiftwingCloudskate.java b/Mage.Sets/src/mage/cards/r/RiftwingCloudskate.java index 87fd2b74391..9cc877355ec 100644 --- a/Mage.Sets/src/mage/cards/r/RiftwingCloudskate.java +++ b/Mage.Sets/src/mage/cards/r/RiftwingCloudskate.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPermanent; /** @@ -48,7 +49,7 @@ public class RiftwingCloudskate extends CardImpl { public RiftwingCloudskate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RighteousAuthority.java b/Mage.Sets/src/mage/cards/r/RighteousAuthority.java index cd533b24fcd..50dbc5049f6 100644 --- a/Mage.Sets/src/mage/cards/r/RighteousAuthority.java +++ b/Mage.Sets/src/mage/cards/r/RighteousAuthority.java @@ -55,7 +55,7 @@ public class RighteousAuthority extends CardImpl { public RighteousAuthority (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); diff --git a/Mage.Sets/src/mage/cards/r/RighteousAvengers.java b/Mage.Sets/src/mage/cards/r/RighteousAvengers.java index 8e9f248c8b4..59fb992a104 100644 --- a/Mage.Sets/src/mage/cards/r/RighteousAvengers.java +++ b/Mage.Sets/src/mage/cards/r/RighteousAvengers.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.PlainswalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class RighteousAvengers extends CardImpl { public RighteousAvengers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RikuOfTwoReflections.java b/Mage.Sets/src/mage/cards/r/RikuOfTwoReflections.java index ad0ecfdfc7a..b9c21392346 100644 --- a/Mage.Sets/src/mage/cards/r/RikuOfTwoReflections.java +++ b/Mage.Sets/src/mage/cards/r/RikuOfTwoReflections.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.CreateTokenCopyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SetTargetPointer; import mage.constants.SuperType; import mage.constants.Zone; @@ -70,8 +71,8 @@ public class RikuOfTwoReflections extends CardImpl { public RikuOfTwoReflections(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RimeDryad.java b/Mage.Sets/src/mage/cards/r/RimeDryad.java index c8d0c68ae0d..d3bc22debf1 100644 --- a/Mage.Sets/src/mage/cards/r/RimeDryad.java +++ b/Mage.Sets/src/mage/cards/r/RimeDryad.java @@ -54,7 +54,7 @@ public class RimeDryad extends CardImpl { public RimeDryad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RimeTransfusion.java b/Mage.Sets/src/mage/cards/r/RimeTransfusion.java index 3d78a9c2b85..e47d3188466 100644 --- a/Mage.Sets/src/mage/cards/r/RimeTransfusion.java +++ b/Mage.Sets/src/mage/cards/r/RimeTransfusion.java @@ -65,7 +65,7 @@ public class RimeTransfusion extends CardImpl { public RimeTransfusion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); addSuperType(SuperType.SNOW); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/r/RimeboundDead.java b/Mage.Sets/src/mage/cards/r/RimeboundDead.java index 6aaa7f94f76..70b726a08ed 100644 --- a/Mage.Sets/src/mage/cards/r/RimeboundDead.java +++ b/Mage.Sets/src/mage/cards/r/RimeboundDead.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class RimeboundDead extends CardImpl { public RimeboundDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); addSuperType(SuperType.SNOW); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RimewindCryomancer.java b/Mage.Sets/src/mage/cards/r/RimewindCryomancer.java index e1b93470ae6..d2facdb20a3 100644 --- a/Mage.Sets/src/mage/cards/r/RimewindCryomancer.java +++ b/Mage.Sets/src/mage/cards/r/RimewindCryomancer.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CounterTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.constants.Zone; @@ -59,8 +60,8 @@ public class RimewindCryomancer extends CardImpl { public RimewindCryomancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RimewindTaskmage.java b/Mage.Sets/src/mage/cards/r/RimewindTaskmage.java index 506ee90eb99..04960c0ddde 100644 --- a/Mage.Sets/src/mage/cards/r/RimewindTaskmage.java +++ b/Mage.Sets/src/mage/cards/r/RimewindTaskmage.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.MayTapOrUntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.constants.Zone; @@ -59,8 +60,8 @@ public class RimewindTaskmage extends CardImpl { public RimewindTaskmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RingOfEvosIsle.java b/Mage.Sets/src/mage/cards/r/RingOfEvosIsle.java index 6833659a899..ebbe98ec386 100644 --- a/Mage.Sets/src/mage/cards/r/RingOfEvosIsle.java +++ b/Mage.Sets/src/mage/cards/r/RingOfEvosIsle.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -64,7 +65,7 @@ public class RingOfEvosIsle extends CardImpl { public RingOfEvosIsle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // {2}: Equipped creature gains hexproof until end of turn. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(HexproofAbility.getInstance(), AttachmentType.EQUIPMENT, Duration.EndOfTurn), new GenericManaCost(2))); diff --git a/Mage.Sets/src/mage/cards/r/RingOfKalonia.java b/Mage.Sets/src/mage/cards/r/RingOfKalonia.java index 7e7576cb24f..07d42645d23 100644 --- a/Mage.Sets/src/mage/cards/r/RingOfKalonia.java +++ b/Mage.Sets/src/mage/cards/r/RingOfKalonia.java @@ -59,7 +59,7 @@ public class RingOfKalonia extends CardImpl { public RingOfKalonia(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has trample. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/r/RingOfThune.java b/Mage.Sets/src/mage/cards/r/RingOfThune.java index 3b82c33cfa4..4ab6d0e01e0 100644 --- a/Mage.Sets/src/mage/cards/r/RingOfThune.java +++ b/Mage.Sets/src/mage/cards/r/RingOfThune.java @@ -59,7 +59,7 @@ public class RingOfThune extends CardImpl { public RingOfThune(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has vigilance. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(VigilanceAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/r/RingOfValkas.java b/Mage.Sets/src/mage/cards/r/RingOfValkas.java index 880da99e6d5..6dd1310ffaa 100644 --- a/Mage.Sets/src/mage/cards/r/RingOfValkas.java +++ b/Mage.Sets/src/mage/cards/r/RingOfValkas.java @@ -59,7 +59,7 @@ public class RingOfValkas extends CardImpl { public RingOfValkas(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has haste. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(HasteAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/r/RingOfXathrid.java b/Mage.Sets/src/mage/cards/r/RingOfXathrid.java index e03d2af6247..a6b5bad0600 100644 --- a/Mage.Sets/src/mage/cards/r/RingOfXathrid.java +++ b/Mage.Sets/src/mage/cards/r/RingOfXathrid.java @@ -58,7 +58,7 @@ public class RingOfXathrid extends CardImpl { public RingOfXathrid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // {2}: Regenerate equipped creature. this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateAttachedEffect(AttachmentType.EQUIPMENT), new GenericManaCost(2))); diff --git a/Mage.Sets/src/mage/cards/r/Ringskipper.java b/Mage.Sets/src/mage/cards/r/Ringskipper.java index c1cc03a870c..e2270af16cc 100644 --- a/Mage.Sets/src/mage/cards/r/Ringskipper.java +++ b/Mage.Sets/src/mage/cards/r/Ringskipper.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class Ringskipper extends CardImpl { public Ringskipper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RingwardenOwl.java b/Mage.Sets/src/mage/cards/r/RingwardenOwl.java index 7a0ce68e059..6415ca2de2d 100644 --- a/Mage.Sets/src/mage/cards/r/RingwardenOwl.java +++ b/Mage.Sets/src/mage/cards/r/RingwardenOwl.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class RingwardenOwl extends CardImpl { public RingwardenOwl(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RiotDevils.java b/Mage.Sets/src/mage/cards/r/RiotDevils.java index 7e4439a1240..2d9edb02f5a 100644 --- a/Mage.Sets/src/mage/cards/r/RiotDevils.java +++ b/Mage.Sets/src/mage/cards/r/RiotDevils.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class RiotDevils extends CardImpl { public RiotDevils(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RiotGear.java b/Mage.Sets/src/mage/cards/r/RiotGear.java index 076a6d5c94d..8a8de50f562 100644 --- a/Mage.Sets/src/mage/cards/r/RiotGear.java +++ b/Mage.Sets/src/mage/cards/r/RiotGear.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class RiotGear extends CardImpl { public RiotGear(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+2. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 2))); diff --git a/Mage.Sets/src/mage/cards/r/RiotPiker.java b/Mage.Sets/src/mage/cards/r/RiotPiker.java index 0e26beefb18..a772d9cd6d7 100644 --- a/Mage.Sets/src/mage/cards/r/RiotPiker.java +++ b/Mage.Sets/src/mage/cards/r/RiotPiker.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class RiotPiker extends CardImpl { public RiotPiker (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RiotRingleader.java b/Mage.Sets/src/mage/cards/r/RiotRingleader.java index cdd304d1938..ed50be4a52b 100644 --- a/Mage.Sets/src/mage/cards/r/RiotRingleader.java +++ b/Mage.Sets/src/mage/cards/r/RiotRingleader.java @@ -53,8 +53,8 @@ public class RiotRingleader extends CardImpl { public RiotRingleader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RiotSpikes.java b/Mage.Sets/src/mage/cards/r/RiotSpikes.java index 3028b4958b8..f4f9f82b756 100644 --- a/Mage.Sets/src/mage/cards/r/RiotSpikes.java +++ b/Mage.Sets/src/mage/cards/r/RiotSpikes.java @@ -47,7 +47,7 @@ public class RiotSpikes extends CardImpl { public RiotSpikes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B/R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/r/RipClanCrasher.java b/Mage.Sets/src/mage/cards/r/RipClanCrasher.java index af723efe8a0..581a9979992 100644 --- a/Mage.Sets/src/mage/cards/r/RipClanCrasher.java +++ b/Mage.Sets/src/mage/cards/r/RipClanCrasher.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class RipClanCrasher extends CardImpl { public RipClanCrasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RiparianTiger.java b/Mage.Sets/src/mage/cards/r/RiparianTiger.java index 861b00db311..9cf838f2301 100644 --- a/Mage.Sets/src/mage/cards/r/RiparianTiger.java +++ b/Mage.Sets/src/mage/cards/r/RiparianTiger.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -50,7 +51,7 @@ public class RiparianTiger extends CardImpl { public RiparianTiger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RipjawRaptor.java b/Mage.Sets/src/mage/cards/r/RipjawRaptor.java index 394fdaf61a6..440c6319e33 100644 --- a/Mage.Sets/src/mage/cards/r/RipjawRaptor.java +++ b/Mage.Sets/src/mage/cards/r/RipjawRaptor.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class RipjawRaptor extends CardImpl { public RipjawRaptor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); - this.subtype.add("Dinosaur"); + this.subtype.add(SubType.DINOSAUR); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RiptideBiologist.java b/Mage.Sets/src/mage/cards/r/RiptideBiologist.java index 7c43c9bd356..5508db82cbe 100644 --- a/Mage.Sets/src/mage/cards/r/RiptideBiologist.java +++ b/Mage.Sets/src/mage/cards/r/RiptideBiologist.java @@ -53,8 +53,8 @@ public class RiptideBiologist extends CardImpl { public RiptideBiologist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RiptideChimera.java b/Mage.Sets/src/mage/cards/r/RiptideChimera.java index 06f2f9d6616..487b25e6ed6 100644 --- a/Mage.Sets/src/mage/cards/r/RiptideChimera.java +++ b/Mage.Sets/src/mage/cards/r/RiptideChimera.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -55,7 +56,7 @@ public class RiptideChimera extends CardImpl { public RiptideChimera(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{U}"); - this.subtype.add("Chimera"); + this.subtype.add(SubType.CHIMERA); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RiptideChronologist.java b/Mage.Sets/src/mage/cards/r/RiptideChronologist.java index 336c13232ac..b4a838bf6a6 100644 --- a/Mage.Sets/src/mage/cards/r/RiptideChronologist.java +++ b/Mage.Sets/src/mage/cards/r/RiptideChronologist.java @@ -57,8 +57,8 @@ public class RiptideChronologist extends CardImpl { public RiptideChronologist(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RiptideCrab.java b/Mage.Sets/src/mage/cards/r/RiptideCrab.java index b645c410eea..e601c06a6f0 100644 --- a/Mage.Sets/src/mage/cards/r/RiptideCrab.java +++ b/Mage.Sets/src/mage/cards/r/RiptideCrab.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class RiptideCrab extends CardImpl { public RiptideCrab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); - this.subtype.add("Crab"); + this.subtype.add(SubType.CRAB); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RiptideDirector.java b/Mage.Sets/src/mage/cards/r/RiptideDirector.java index 008e92d2bdc..84f44140f87 100644 --- a/Mage.Sets/src/mage/cards/r/RiptideDirector.java +++ b/Mage.Sets/src/mage/cards/r/RiptideDirector.java @@ -58,8 +58,8 @@ public class RiptideDirector extends CardImpl { public RiptideDirector(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RiptideEntrancer.java b/Mage.Sets/src/mage/cards/r/RiptideEntrancer.java index 7be6de29473..41a413cd821 100644 --- a/Mage.Sets/src/mage/cards/r/RiptideEntrancer.java +++ b/Mage.Sets/src/mage/cards/r/RiptideEntrancer.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -62,8 +63,8 @@ public class RiptideEntrancer extends CardImpl { public RiptideEntrancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RiptidePilferer.java b/Mage.Sets/src/mage/cards/r/RiptidePilferer.java index 425f243e420..ce6052bee95 100644 --- a/Mage.Sets/src/mage/cards/r/RiptidePilferer.java +++ b/Mage.Sets/src/mage/cards/r/RiptidePilferer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class RiptidePilferer extends CardImpl { public RiptidePilferer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RiptideShapeshifter.java b/Mage.Sets/src/mage/cards/r/RiptideShapeshifter.java index 3d9a8443018..3c93d9b7e5f 100644 --- a/Mage.Sets/src/mage/cards/r/RiptideShapeshifter.java +++ b/Mage.Sets/src/mage/cards/r/RiptideShapeshifter.java @@ -38,6 +38,7 @@ import mage.cards.*; import mage.choices.Choice; import mage.choices.ChoiceCreatureType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -53,7 +54,7 @@ public class RiptideShapeshifter extends CardImpl { public RiptideShapeshifter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RiptideSurvivor.java b/Mage.Sets/src/mage/cards/r/RiptideSurvivor.java index 74d7c79b85a..224b761c013 100644 --- a/Mage.Sets/src/mage/cards/r/RiptideSurvivor.java +++ b/Mage.Sets/src/mage/cards/r/RiptideSurvivor.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -48,8 +49,8 @@ public class RiptideSurvivor extends CardImpl { public RiptideSurvivor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RisenExecutioner.java b/Mage.Sets/src/mage/cards/r/RisenExecutioner.java index a6927ebd8fe..75ab550c546 100644 --- a/Mage.Sets/src/mage/cards/r/RisenExecutioner.java +++ b/Mage.Sets/src/mage/cards/r/RisenExecutioner.java @@ -62,8 +62,8 @@ public class RisenExecutioner extends CardImpl { public RisenExecutioner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RisenSanctuary.java b/Mage.Sets/src/mage/cards/r/RisenSanctuary.java index 51608d47e30..9cae6b0410b 100644 --- a/Mage.Sets/src/mage/cards/r/RisenSanctuary.java +++ b/Mage.Sets/src/mage/cards/r/RisenSanctuary.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class RisenSanctuary extends CardImpl { public RisenSanctuary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/r/RishadanAirship.java b/Mage.Sets/src/mage/cards/r/RishadanAirship.java index 8adf89bf8af..9ded66facd4 100644 --- a/Mage.Sets/src/mage/cards/r/RishadanAirship.java +++ b/Mage.Sets/src/mage/cards/r/RishadanAirship.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class RishadanAirship extends CardImpl { public RishadanAirship(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RishadanBrigand.java b/Mage.Sets/src/mage/cards/r/RishadanBrigand.java index d48f1fc0599..605ab30855b 100644 --- a/Mage.Sets/src/mage/cards/r/RishadanBrigand.java +++ b/Mage.Sets/src/mage/cards/r/RishadanBrigand.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class RishadanBrigand extends CardImpl { public RishadanBrigand(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RishadanCutpurse.java b/Mage.Sets/src/mage/cards/r/RishadanCutpurse.java index 30fe05f6abf..c4a2b75a745 100644 --- a/Mage.Sets/src/mage/cards/r/RishadanCutpurse.java +++ b/Mage.Sets/src/mage/cards/r/RishadanCutpurse.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeOpponentsUnlessPayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class RishadanCutpurse extends CardImpl { public RishadanCutpurse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RishadanFootpad.java b/Mage.Sets/src/mage/cards/r/RishadanFootpad.java index 32c6cc5b286..5fe79d1c56c 100644 --- a/Mage.Sets/src/mage/cards/r/RishadanFootpad.java +++ b/Mage.Sets/src/mage/cards/r/RishadanFootpad.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeOpponentsUnlessPayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class RishadanFootpad extends CardImpl { public RishadanFootpad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RishkarPeemaRenegade.java b/Mage.Sets/src/mage/cards/r/RishkarPeemaRenegade.java index c804d257c48..664ec33529a 100644 --- a/Mage.Sets/src/mage/cards/r/RishkarPeemaRenegade.java +++ b/Mage.Sets/src/mage/cards/r/RishkarPeemaRenegade.java @@ -39,6 +39,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -63,8 +64,8 @@ public class RishkarPeemaRenegade extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RithTheAwakener.java b/Mage.Sets/src/mage/cards/r/RithTheAwakener.java index bc7fff98afa..178fe052f33 100644 --- a/Mage.Sets/src/mage/cards/r/RithTheAwakener.java +++ b/Mage.Sets/src/mage/cards/r/RithTheAwakener.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.choices.ChoiceColor; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.FilterPermanent; @@ -57,7 +58,7 @@ public class RithTheAwakener extends CardImpl { public RithTheAwakener(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/RithsAttendant.java b/Mage.Sets/src/mage/cards/r/RithsAttendant.java index 2ea06a6f257..2e9549ce815 100644 --- a/Mage.Sets/src/mage/cards/r/RithsAttendant.java +++ b/Mage.Sets/src/mage/cards/r/RithsAttendant.java @@ -37,6 +37,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class RithsAttendant extends CardImpl { public RithsAttendant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RitualOfSteel.java b/Mage.Sets/src/mage/cards/r/RitualOfSteel.java index 5dc25e0e7ee..e5fd575d55f 100644 --- a/Mage.Sets/src/mage/cards/r/RitualOfSteel.java +++ b/Mage.Sets/src/mage/cards/r/RitualOfSteel.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class RitualOfSteel extends CardImpl { public RitualOfSteel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/r/RivenTurnbull.java b/Mage.Sets/src/mage/cards/r/RivenTurnbull.java index 2af177c805b..3e2eafb5ae9 100644 --- a/Mage.Sets/src/mage/cards/r/RivenTurnbull.java +++ b/Mage.Sets/src/mage/cards/r/RivenTurnbull.java @@ -33,6 +33,7 @@ import mage.abilities.mana.BlackManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -44,8 +45,8 @@ public class RivenTurnbull extends CardImpl { public RivenTurnbull(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(5); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/r/RiverBear.java b/Mage.Sets/src/mage/cards/r/RiverBear.java index 8274f3df7c4..73f1993d7b0 100644 --- a/Mage.Sets/src/mage/cards/r/RiverBear.java +++ b/Mage.Sets/src/mage/cards/r/RiverBear.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class RiverBear extends CardImpl { public RiverBear(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Bear"); + this.subtype.add(SubType.BEAR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RiverBoa.java b/Mage.Sets/src/mage/cards/r/RiverBoa.java index 48765c54f20..0ccc5288339 100644 --- a/Mage.Sets/src/mage/cards/r/RiverBoa.java +++ b/Mage.Sets/src/mage/cards/r/RiverBoa.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class RiverBoa extends CardImpl { public RiverBoa(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); this.toughness = new MageInt(1); this.addAbility(new IslandwalkAbility()); diff --git a/Mage.Sets/src/mage/cards/r/RiverHoopoe.java b/Mage.Sets/src/mage/cards/r/RiverHoopoe.java index 24a98988f86..6772512502b 100644 --- a/Mage.Sets/src/mage/cards/r/RiverHoopoe.java +++ b/Mage.Sets/src/mage/cards/r/RiverHoopoe.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -50,7 +51,7 @@ public class RiverHoopoe extends CardImpl { public RiverHoopoe(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RiverKaijin.java b/Mage.Sets/src/mage/cards/r/RiverKaijin.java index f43cf5a93d0..f9f309b31e2 100644 --- a/Mage.Sets/src/mage/cards/r/RiverKaijin.java +++ b/Mage.Sets/src/mage/cards/r/RiverKaijin.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class RiverKaijin extends CardImpl { public RiverKaijin (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RiverKelpie.java b/Mage.Sets/src/mage/cards/r/RiverKelpie.java index 1abeb4d06e9..a6cba75bea7 100644 --- a/Mage.Sets/src/mage/cards/r/RiverKelpie.java +++ b/Mage.Sets/src/mage/cards/r/RiverKelpie.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.PersistAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -48,7 +49,7 @@ public class RiverKelpie extends CardImpl { public RiverKelpie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RiverMerfolk.java b/Mage.Sets/src/mage/cards/r/RiverMerfolk.java index 5800ef5d3d7..dfd01b9a323 100644 --- a/Mage.Sets/src/mage/cards/r/RiverMerfolk.java +++ b/Mage.Sets/src/mage/cards/r/RiverMerfolk.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MountainwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class RiverMerfolk extends CardImpl { public RiverMerfolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RiverSerpent.java b/Mage.Sets/src/mage/cards/r/RiverSerpent.java index 83cc6816954..20d72ba5bab 100644 --- a/Mage.Sets/src/mage/cards/r/RiverSerpent.java +++ b/Mage.Sets/src/mage/cards/r/RiverSerpent.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -52,7 +53,7 @@ public class RiverSerpent extends CardImpl { public RiverSerpent(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RiverfallMimic.java b/Mage.Sets/src/mage/cards/r/RiverfallMimic.java index f48c4b77636..7652696aac7 100644 --- a/Mage.Sets/src/mage/cards/r/RiverfallMimic.java +++ b/Mage.Sets/src/mage/cards/r/RiverfallMimic.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SubLayer; import mage.filter.FilterSpell; @@ -61,7 +62,7 @@ public class RiverfallMimic extends CardImpl { public RiverfallMimic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U/R}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.color.setRed(true); this.color.setBlue(true); diff --git a/Mage.Sets/src/mage/cards/r/RiverwheelAerialists.java b/Mage.Sets/src/mage/cards/r/RiverwheelAerialists.java index b9303de7c26..3e387780da4 100644 --- a/Mage.Sets/src/mage/cards/r/RiverwheelAerialists.java +++ b/Mage.Sets/src/mage/cards/r/RiverwheelAerialists.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class RiverwheelAerialists extends CardImpl { public RiverwheelAerialists(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Djinn"); - this.subtype.add("Monk"); + this.subtype.add(SubType.DJINN); + this.subtype.add(SubType.MONK); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RixMaadiGuildmage.java b/Mage.Sets/src/mage/cards/r/RixMaadiGuildmage.java index dcf361040d5..ee3d16baef8 100644 --- a/Mage.Sets/src/mage/cards/r/RixMaadiGuildmage.java +++ b/Mage.Sets/src/mage/cards/r/RixMaadiGuildmage.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPlayer; @@ -62,8 +63,8 @@ public class RixMaadiGuildmage extends CardImpl { public RixMaadiGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RoaringPrimadox.java b/Mage.Sets/src/mage/cards/r/RoaringPrimadox.java index d6b5f26a61c..fc078184271 100644 --- a/Mage.Sets/src/mage/cards/r/RoaringPrimadox.java +++ b/Mage.Sets/src/mage/cards/r/RoaringPrimadox.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.game.events.GameEvent.EventType; @@ -45,7 +46,7 @@ public class RoaringPrimadox extends CardImpl { public RoaringPrimadox(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RoaringSlagwurm.java b/Mage.Sets/src/mage/cards/r/RoaringSlagwurm.java index 0fbd6319273..1096f2fea26 100644 --- a/Mage.Sets/src/mage/cards/r/RoaringSlagwurm.java +++ b/Mage.Sets/src/mage/cards/r/RoaringSlagwurm.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.TapAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactPermanent; /** @@ -45,7 +46,7 @@ public class RoaringSlagwurm extends CardImpl { public RoaringSlagwurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RobeOfMirrors.java b/Mage.Sets/src/mage/cards/r/RobeOfMirrors.java index 3592c8262b5..3f2e17c93cf 100644 --- a/Mage.Sets/src/mage/cards/r/RobeOfMirrors.java +++ b/Mage.Sets/src/mage/cards/r/RobeOfMirrors.java @@ -48,7 +48,7 @@ public class RobeOfMirrors extends CardImpl { public RobeOfMirrors(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/r/RocEgg.java b/Mage.Sets/src/mage/cards/r/RocEgg.java index 3b7c9061513..ad24edfca54 100644 --- a/Mage.Sets/src/mage/cards/r/RocEgg.java +++ b/Mage.Sets/src/mage/cards/r/RocEgg.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.RocEggToken; /** @@ -47,7 +48,7 @@ public class RocEgg extends CardImpl { public RocEgg(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RocHatchling.java b/Mage.Sets/src/mage/cards/r/RocHatchling.java index ec5fe3fe9db..f87260cb9e7 100644 --- a/Mage.Sets/src/mage/cards/r/RocHatchling.java +++ b/Mage.Sets/src/mage/cards/r/RocHatchling.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class RocHatchling extends CardImpl { public RocHatchling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RocOfKherRidges.java b/Mage.Sets/src/mage/cards/r/RocOfKherRidges.java index 24dfb4c0769..4ddefa5178a 100644 --- a/Mage.Sets/src/mage/cards/r/RocOfKherRidges.java +++ b/Mage.Sets/src/mage/cards/r/RocOfKherRidges.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class RocOfKherRidges extends CardImpl { public RocOfKherRidges(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RockBadger.java b/Mage.Sets/src/mage/cards/r/RockBadger.java index 829a8a58890..daad8129861 100644 --- a/Mage.Sets/src/mage/cards/r/RockBadger.java +++ b/Mage.Sets/src/mage/cards/r/RockBadger.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.MountainwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class RockBadger extends CardImpl { public RockBadger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Badger"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BADGER); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RockBasilisk.java b/Mage.Sets/src/mage/cards/r/RockBasilisk.java index 225087644a9..bc642e18c9c 100644 --- a/Mage.Sets/src/mage/cards/r/RockBasilisk.java +++ b/Mage.Sets/src/mage/cards/r/RockBasilisk.java @@ -56,7 +56,7 @@ public class RockBasilisk extends CardImpl { public RockBasilisk(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{G}"); - this.subtype.add("Basilisk"); + this.subtype.add(SubType.BASILISK); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RockHydra.java b/Mage.Sets/src/mage/cards/r/RockHydra.java index 55519bbf348..21506eb1ecb 100644 --- a/Mage.Sets/src/mage/cards/r/RockHydra.java +++ b/Mage.Sets/src/mage/cards/r/RockHydra.java @@ -43,6 +43,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.PhaseStep; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class RockHydra extends CardImpl { public RockHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{X}{R}{R}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/r/RockcasterPlatoon.java b/Mage.Sets/src/mage/cards/r/RockcasterPlatoon.java index 4649058c918..aea2870e469 100644 --- a/Mage.Sets/src/mage/cards/r/RockcasterPlatoon.java +++ b/Mage.Sets/src/mage/cards/r/RockcasterPlatoon.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -55,8 +56,8 @@ public class RockcasterPlatoon extends CardImpl { public RockcasterPlatoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); - this.subtype.add("Rhino"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(5); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/r/RocketTrooper.java b/Mage.Sets/src/mage/cards/r/RocketTrooper.java index a981513f958..19b1c4eff22 100644 --- a/Mage.Sets/src/mage/cards/r/RocketTrooper.java +++ b/Mage.Sets/src/mage/cards/r/RocketTrooper.java @@ -1,79 +1,79 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DamageTargetEffect; -import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.target.common.TargetOpponentsCreaturePermanent; - -/** - * - * @author Styxo - */ -public class RocketTrooper extends CardImpl { - - public RocketTrooper(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Trooper"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Trooper creatures you control have "Whenever this creature enters the battlefield, it deals 1 damage to target creature an opponent controls". - Effect effect = new DamageTargetEffect(1); - effect.setText("Whenever this creature enters the battlefield, it deals 1 damage to target creature an opponent controls"); - Ability ability = new EntersBattlefieldTriggeredAbility(effect, false, true); - ability.addTarget(new TargetOpponentsCreaturePermanent()); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, - new GainAbilityControlledEffect(ability, Duration.WhileOnBattlefield, - new FilterCreaturePermanent(SubType.TROOPER, "Trooper creatures"), false))); - - } - - public RocketTrooper(final RocketTrooper card) { - super(card); - } - - @Override - public RocketTrooper copy() { - return new RocketTrooper(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.target.common.TargetOpponentsCreaturePermanent; + +/** + * + * @author Styxo + */ +public class RocketTrooper extends CardImpl { + + public RocketTrooper(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.TROOPER); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Trooper creatures you control have "Whenever this creature enters the battlefield, it deals 1 damage to target creature an opponent controls". + Effect effect = new DamageTargetEffect(1); + effect.setText("Whenever this creature enters the battlefield, it deals 1 damage to target creature an opponent controls"); + Ability ability = new EntersBattlefieldTriggeredAbility(effect, false, true); + ability.addTarget(new TargetOpponentsCreaturePermanent()); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, + new GainAbilityControlledEffect(ability, Duration.WhileOnBattlefield, + new FilterCreaturePermanent(SubType.TROOPER, "Trooper creatures"), false))); + + } + + public RocketTrooper(final RocketTrooper card) { + super(card); + } + + @Override + public RocketTrooper copy() { + return new RocketTrooper(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/RockshardElemental.java b/Mage.Sets/src/mage/cards/r/RockshardElemental.java index bad2a94ed37..80c6a6ba24f 100644 --- a/Mage.Sets/src/mage/cards/r/RockshardElemental.java +++ b/Mage.Sets/src/mage/cards/r/RockshardElemental.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class RockshardElemental extends CardImpl { public RockshardElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RockslideElemental.java b/Mage.Sets/src/mage/cards/r/RockslideElemental.java index 6bd1d39dbf7..1cfe5854d74 100644 --- a/Mage.Sets/src/mage/cards/r/RockslideElemental.java +++ b/Mage.Sets/src/mage/cards/r/RockslideElemental.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,7 +46,7 @@ public class RockslideElemental extends CardImpl { public RockslideElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RofellosLlanowarEmissary.java b/Mage.Sets/src/mage/cards/r/RofellosLlanowarEmissary.java index 7dca59a6462..6261cf8bf4d 100644 --- a/Mage.Sets/src/mage/cards/r/RofellosLlanowarEmissary.java +++ b/Mage.Sets/src/mage/cards/r/RofellosLlanowarEmissary.java @@ -56,8 +56,8 @@ public class RofellosLlanowarEmissary extends CardImpl { public RofellosLlanowarEmissary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RogueElephant.java b/Mage.Sets/src/mage/cards/r/RogueElephant.java index 347be191450..f794240938e 100644 --- a/Mage.Sets/src/mage/cards/r/RogueElephant.java +++ b/Mage.Sets/src/mage/cards/r/RogueElephant.java @@ -54,7 +54,7 @@ public class RogueElephant extends CardImpl { public RogueElephant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RogueKavu.java b/Mage.Sets/src/mage/cards/r/RogueKavu.java index 3158fb4eb23..ffe04498403 100644 --- a/Mage.Sets/src/mage/cards/r/RogueKavu.java +++ b/Mage.Sets/src/mage/cards/r/RogueKavu.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class RogueKavu extends CardImpl { public RogueKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RogueRefiner.java b/Mage.Sets/src/mage/cards/r/RogueRefiner.java index ca92bc6dd16..21fb57bc22c 100644 --- a/Mage.Sets/src/mage/cards/r/RogueRefiner.java +++ b/Mage.Sets/src/mage/cards/r/RogueRefiner.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,8 +48,8 @@ public class RogueRefiner extends CardImpl { public RogueRefiner(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RoguesGloves.java b/Mage.Sets/src/mage/cards/r/RoguesGloves.java index cf11ed2ffee..7153ddbe25c 100644 --- a/Mage.Sets/src/mage/cards/r/RoguesGloves.java +++ b/Mage.Sets/src/mage/cards/r/RoguesGloves.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; /** @@ -45,7 +46,7 @@ public class RoguesGloves extends CardImpl { public RoguesGloves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Whenever equipped creature deals combat damage to a player, you may draw a card. this.addAbility(new DealsDamageToAPlayerAttachedTriggeredAbility(new DrawCardSourceControllerEffect(1), "equipped creature", true)); diff --git a/Mage.Sets/src/mage/cards/r/RoilElemental.java b/Mage.Sets/src/mage/cards/r/RoilElemental.java index 11e11d45889..9a3f2ccf167 100644 --- a/Mage.Sets/src/mage/cards/r/RoilElemental.java +++ b/Mage.Sets/src/mage/cards/r/RoilElemental.java @@ -48,7 +48,7 @@ public class RoilElemental extends CardImpl { public RoilElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RoilingHorror.java b/Mage.Sets/src/mage/cards/r/RoilingHorror.java index 24e854fe2ff..fe6d3c8f910 100644 --- a/Mage.Sets/src/mage/cards/r/RoilingHorror.java +++ b/Mage.Sets/src/mage/cards/r/RoilingHorror.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -59,7 +60,7 @@ public class RoilingHorror extends CardImpl { public RoilingHorror(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/r/RoninCavekeeper.java b/Mage.Sets/src/mage/cards/r/RoninCavekeeper.java index cd3aba57abe..aadd2ea0024 100644 --- a/Mage.Sets/src/mage/cards/r/RoninCavekeeper.java +++ b/Mage.Sets/src/mage/cards/r/RoninCavekeeper.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.BushidoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class RoninCavekeeper extends CardImpl { public RoninCavekeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RoninCliffrider.java b/Mage.Sets/src/mage/cards/r/RoninCliffrider.java index b5a34170311..dba0971ad7e 100644 --- a/Mage.Sets/src/mage/cards/r/RoninCliffrider.java +++ b/Mage.Sets/src/mage/cards/r/RoninCliffrider.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.BushidoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -51,8 +52,8 @@ public class RoninCliffrider extends CardImpl { public RoninCliffrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RoninHoundmaster.java b/Mage.Sets/src/mage/cards/r/RoninHoundmaster.java index 7ae43443cd2..f5a9c8b80e0 100644 --- a/Mage.Sets/src/mage/cards/r/RoninHoundmaster.java +++ b/Mage.Sets/src/mage/cards/r/RoninHoundmaster.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class RoninHoundmaster extends CardImpl { public RoninHoundmaster (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RoninWarclub.java b/Mage.Sets/src/mage/cards/r/RoninWarclub.java index ed08b0ffcfa..b05821f78fa 100644 --- a/Mage.Sets/src/mage/cards/r/RoninWarclub.java +++ b/Mage.Sets/src/mage/cards/r/RoninWarclub.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -55,7 +56,7 @@ public class RoninWarclub extends CardImpl { public RoninWarclub(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 1))); diff --git a/Mage.Sets/src/mage/cards/r/RonomHulk.java b/Mage.Sets/src/mage/cards/r/RonomHulk.java index 0f820ff80fd..51fd10e5527 100644 --- a/Mage.Sets/src/mage/cards/r/RonomHulk.java +++ b/Mage.Sets/src/mage/cards/r/RonomHulk.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.SupertypePredicate; @@ -53,7 +54,7 @@ public class RonomHulk extends CardImpl { public RonomHulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/RonomUnicorn.java b/Mage.Sets/src/mage/cards/r/RonomUnicorn.java index 2558993edc5..bfcfb18f581 100644 --- a/Mage.Sets/src/mage/cards/r/RonomUnicorn.java +++ b/Mage.Sets/src/mage/cards/r/RonomUnicorn.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class RonomUnicorn extends CardImpl { public RonomUnicorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Unicorn"); + this.subtype.add(SubType.UNICORN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RoofstalkerWight.java b/Mage.Sets/src/mage/cards/r/RoofstalkerWight.java index 0475a486341..be65c0178a4 100644 --- a/Mage.Sets/src/mage/cards/r/RoofstalkerWight.java +++ b/Mage.Sets/src/mage/cards/r/RoofstalkerWight.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class RoofstalkerWight extends CardImpl { public RoofstalkerWight (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RoonOfTheHiddenRealm.java b/Mage.Sets/src/mage/cards/r/RoonOfTheHiddenRealm.java index 4016e787c7f..1111fb78ad4 100644 --- a/Mage.Sets/src/mage/cards/r/RoonOfTheHiddenRealm.java +++ b/Mage.Sets/src/mage/cards/r/RoonOfTheHiddenRealm.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -69,8 +70,8 @@ public class RoonOfTheHiddenRealm extends CardImpl { public RoonOfTheHiddenRealm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Rhino"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RootElemental.java b/Mage.Sets/src/mage/cards/r/RootElemental.java index b3d137ac0ad..1a1c59270a8 100644 --- a/Mage.Sets/src/mage/cards/r/RootElemental.java +++ b/Mage.Sets/src/mage/cards/r/RootElemental.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; /** @@ -46,7 +47,7 @@ public class RootElemental extends CardImpl { public RootElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RootGreevil.java b/Mage.Sets/src/mage/cards/r/RootGreevil.java index 1a88e82b2fe..3818f4f50f6 100644 --- a/Mage.Sets/src/mage/cards/r/RootGreevil.java +++ b/Mage.Sets/src/mage/cards/r/RootGreevil.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.choices.ChoiceColor; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterEnchantmentPermanent; @@ -55,7 +56,7 @@ public class RootGreevil extends CardImpl { public RootGreevil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RootKinAlly.java b/Mage.Sets/src/mage/cards/r/RootKinAlly.java index 22b01be0115..2167ce251e5 100644 --- a/Mage.Sets/src/mage/cards/r/RootKinAlly.java +++ b/Mage.Sets/src/mage/cards/r/RootKinAlly.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ConvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -56,8 +57,8 @@ public class RootKinAlly extends CardImpl { public RootKinAlly(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Elemental"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RootSliver.java b/Mage.Sets/src/mage/cards/r/RootSliver.java index 8d6631417ad..92a181ed9e5 100644 --- a/Mage.Sets/src/mage/cards/r/RootSliver.java +++ b/Mage.Sets/src/mage/cards/r/RootSliver.java @@ -57,7 +57,7 @@ public class RootSliver extends CardImpl { public RootSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RootSpider.java b/Mage.Sets/src/mage/cards/r/RootSpider.java index 0d29e35ce0b..9a781a4f800 100644 --- a/Mage.Sets/src/mage/cards/r/RootSpider.java +++ b/Mage.Sets/src/mage/cards/r/RootSpider.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -48,7 +49,7 @@ public class RootSpider extends CardImpl { public RootSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RootbreakerWurm.java b/Mage.Sets/src/mage/cards/r/RootbreakerWurm.java index 7dc9200f944..fceaeff954d 100644 --- a/Mage.Sets/src/mage/cards/r/RootbreakerWurm.java +++ b/Mage.Sets/src/mage/cards/r/RootbreakerWurm.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class RootbreakerWurm extends CardImpl { public RootbreakerWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/Rootgrapple.java b/Mage.Sets/src/mage/cards/r/Rootgrapple.java index 74e058e74bd..fdea096c755 100644 --- a/Mage.Sets/src/mage/cards/r/Rootgrapple.java +++ b/Mage.Sets/src/mage/cards/r/Rootgrapple.java @@ -59,7 +59,7 @@ public class Rootgrapple extends CardImpl { public Rootgrapple(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{4}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); // Destroy target noncreature permanent. this.getSpellAbility().addTarget(new TargetPermanent(filterNoncreature)); diff --git a/Mage.Sets/src/mage/cards/r/RootingKavu.java b/Mage.Sets/src/mage/cards/r/RootingKavu.java index 0519aa9b047..4ff14279dab 100644 --- a/Mage.Sets/src/mage/cards/r/RootingKavu.java +++ b/Mage.Sets/src/mage/cards/r/RootingKavu.java @@ -39,6 +39,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterCreatureCard; import mage.game.Game; @@ -52,7 +53,7 @@ public class RootingKavu extends CardImpl { public RootingKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/Rootrunner.java b/Mage.Sets/src/mage/cards/r/Rootrunner.java index 2fc5e35396e..ea0aea0a77f 100644 --- a/Mage.Sets/src/mage/cards/r/Rootrunner.java +++ b/Mage.Sets/src/mage/cards/r/Rootrunner.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetLandPermanent; @@ -49,7 +50,7 @@ public class Rootrunner extends CardImpl { public Rootrunner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/Roots.java b/Mage.Sets/src/mage/cards/r/Roots.java index 9b3034679c3..6f05c251883 100644 --- a/Mage.Sets/src/mage/cards/r/Roots.java +++ b/Mage.Sets/src/mage/cards/r/Roots.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -60,7 +61,7 @@ public class Roots extends CardImpl { public Roots(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature without flying TargetPermanent auraTarget = new TargetCreaturePermanent(filter); diff --git a/Mage.Sets/src/mage/cards/r/Rootwalla.java b/Mage.Sets/src/mage/cards/r/Rootwalla.java index 2271febbf72..c7dcf6966d0 100644 --- a/Mage.Sets/src/mage/cards/r/Rootwalla.java +++ b/Mage.Sets/src/mage/cards/r/Rootwalla.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class Rootwalla extends CardImpl { public Rootwalla(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RootwaterAlligator.java b/Mage.Sets/src/mage/cards/r/RootwaterAlligator.java index 0b1dcb139bd..93030afa286 100644 --- a/Mage.Sets/src/mage/cards/r/RootwaterAlligator.java +++ b/Mage.Sets/src/mage/cards/r/RootwaterAlligator.java @@ -55,7 +55,7 @@ public class RootwaterAlligator extends CardImpl { public RootwaterAlligator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Crocodile"); + this.subtype.add(SubType.CROCODILE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RootwaterCommando.java b/Mage.Sets/src/mage/cards/r/RootwaterCommando.java index 3ca694044f2..3e6d6ea9ae9 100644 --- a/Mage.Sets/src/mage/cards/r/RootwaterCommando.java +++ b/Mage.Sets/src/mage/cards/r/RootwaterCommando.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class RootwaterCommando extends CardImpl { public RootwaterCommando(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RootwaterDiver.java b/Mage.Sets/src/mage/cards/r/RootwaterDiver.java index 0bbaeece230..9476da04abb 100644 --- a/Mage.Sets/src/mage/cards/r/RootwaterDiver.java +++ b/Mage.Sets/src/mage/cards/r/RootwaterDiver.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterArtifactCard; import mage.target.common.TargetCardInYourGraveyard; @@ -49,7 +50,7 @@ public class RootwaterDiver extends CardImpl { public RootwaterDiver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RootwaterHunter.java b/Mage.Sets/src/mage/cards/r/RootwaterHunter.java index 73d454aa190..bf870ea1fa4 100644 --- a/Mage.Sets/src/mage/cards/r/RootwaterHunter.java +++ b/Mage.Sets/src/mage/cards/r/RootwaterHunter.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -47,7 +48,7 @@ public class RootwaterHunter extends CardImpl { public RootwaterHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RootwaterMatriarch.java b/Mage.Sets/src/mage/cards/r/RootwaterMatriarch.java index 324561346e5..083a1ae0aab 100644 --- a/Mage.Sets/src/mage/cards/r/RootwaterMatriarch.java +++ b/Mage.Sets/src/mage/cards/r/RootwaterMatriarch.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,7 +51,7 @@ public class RootwaterMatriarch extends CardImpl { public RootwaterMatriarch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RootwaterMystic.java b/Mage.Sets/src/mage/cards/r/RootwaterMystic.java index 3c781dfb47b..a79f90bb828 100644 --- a/Mage.Sets/src/mage/cards/r/RootwaterMystic.java +++ b/Mage.Sets/src/mage/cards/r/RootwaterMystic.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.LookLibraryTopCardTargetPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -47,8 +48,8 @@ public class RootwaterMystic extends CardImpl { public RootwaterMystic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RootwaterThief.java b/Mage.Sets/src/mage/cards/r/RootwaterThief.java index efbdd7ffdde..8c96bf07fe2 100644 --- a/Mage.Sets/src/mage/cards/r/RootwaterThief.java +++ b/Mage.Sets/src/mage/cards/r/RootwaterThief.java @@ -41,6 +41,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class RootwaterThief extends CardImpl { public RootwaterThief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RorixBladewing.java b/Mage.Sets/src/mage/cards/r/RorixBladewing.java index f6c59d079b7..eb253b3dabc 100644 --- a/Mage.Sets/src/mage/cards/r/RorixBladewing.java +++ b/Mage.Sets/src/mage/cards/r/RorixBladewing.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -45,7 +46,7 @@ public class RorixBladewing extends CardImpl { public RorixBladewing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RosheenMeanderer.java b/Mage.Sets/src/mage/cards/r/RosheenMeanderer.java index 0dd414ee135..42989c8f5a9 100644 --- a/Mage.Sets/src/mage/cards/r/RosheenMeanderer.java +++ b/Mage.Sets/src/mage/cards/r/RosheenMeanderer.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.game.Game; @@ -52,8 +53,8 @@ public class RosheenMeanderer extends CardImpl { public RosheenMeanderer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R/G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Giant"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RotFarmSkeleton.java b/Mage.Sets/src/mage/cards/r/RotFarmSkeleton.java index b531dda204d..ff68ee3ccb3 100644 --- a/Mage.Sets/src/mage/cards/r/RotFarmSkeleton.java +++ b/Mage.Sets/src/mage/cards/r/RotFarmSkeleton.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -50,8 +51,8 @@ public class RotFarmSkeleton extends CardImpl { public RotFarmSkeleton (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RotShambler.java b/Mage.Sets/src/mage/cards/r/RotShambler.java index 25bdb80025b..0862e90ea64 100644 --- a/Mage.Sets/src/mage/cards/r/RotShambler.java +++ b/Mage.Sets/src/mage/cards/r/RotShambler.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -55,7 +56,7 @@ public class RotShambler extends CardImpl { public RotShambler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RotWolf.java b/Mage.Sets/src/mage/cards/r/RotWolf.java index e90ce93ed98..7336c23b584 100644 --- a/Mage.Sets/src/mage/cards/r/RotWolf.java +++ b/Mage.Sets/src/mage/cards/r/RotWolf.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class RotWolf extends CardImpl { public RotWolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RotcrownGhoul.java b/Mage.Sets/src/mage/cards/r/RotcrownGhoul.java index 89fc24e6974..00e5d9eb5cd 100644 --- a/Mage.Sets/src/mage/cards/r/RotcrownGhoul.java +++ b/Mage.Sets/src/mage/cards/r/RotcrownGhoul.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -44,7 +45,7 @@ public class RotcrownGhoul extends CardImpl { public RotcrownGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/Roterothopter.java b/Mage.Sets/src/mage/cards/r/Roterothopter.java index a92baf53d9a..ca846682a74 100644 --- a/Mage.Sets/src/mage/cards/r/Roterothopter.java +++ b/Mage.Sets/src/mage/cards/r/Roterothopter.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class Roterothopter extends CardImpl { public Roterothopter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); - this.subtype.add("Thopter"); + this.subtype.add(SubType.THOPTER); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RotfeasterMaggot.java b/Mage.Sets/src/mage/cards/r/RotfeasterMaggot.java index a88dcb2e7ac..7a6ac8b9afa 100644 --- a/Mage.Sets/src/mage/cards/r/RotfeasterMaggot.java +++ b/Mage.Sets/src/mage/cards/r/RotfeasterMaggot.java @@ -36,6 +36,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -51,7 +52,7 @@ public class RotfeasterMaggot extends CardImpl { public RotfeasterMaggot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RotlungReanimator.java b/Mage.Sets/src/mage/cards/r/RotlungReanimator.java index 0386e89b233..a56632de2f1 100644 --- a/Mage.Sets/src/mage/cards/r/RotlungReanimator.java +++ b/Mage.Sets/src/mage/cards/r/RotlungReanimator.java @@ -53,8 +53,8 @@ public class RotlungReanimator extends CardImpl { public RotlungReanimator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RottedHulk.java b/Mage.Sets/src/mage/cards/r/RottedHulk.java index cd5e2b6d9b5..a7f6fb7ee5b 100644 --- a/Mage.Sets/src/mage/cards/r/RottedHulk.java +++ b/Mage.Sets/src/mage/cards/r/RottedHulk.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class RottedHulk extends CardImpl { public RottedHulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RottedHystrix.java b/Mage.Sets/src/mage/cards/r/RottedHystrix.java index 810d597c2f2..1ce6ca3d919 100644 --- a/Mage.Sets/src/mage/cards/r/RottedHystrix.java +++ b/Mage.Sets/src/mage/cards/r/RottedHystrix.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class RottedHystrix extends CardImpl { public RottedHystrix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/RottenheartGhoul.java b/Mage.Sets/src/mage/cards/r/RottenheartGhoul.java index 4e734595ca6..47b69ffaaea 100644 --- a/Mage.Sets/src/mage/cards/r/RottenheartGhoul.java +++ b/Mage.Sets/src/mage/cards/r/RottenheartGhoul.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -45,7 +46,7 @@ public class RottenheartGhoul extends CardImpl { public RottenheartGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RottingFensnake.java b/Mage.Sets/src/mage/cards/r/RottingFensnake.java index e6d8b1dce58..7ab53b78712 100644 --- a/Mage.Sets/src/mage/cards/r/RottingFensnake.java +++ b/Mage.Sets/src/mage/cards/r/RottingFensnake.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class RottingFensnake extends CardImpl { public RottingFensnake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Snake"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(5); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RottingGiant.java b/Mage.Sets/src/mage/cards/r/RottingGiant.java index 9c42535d80f..f05a64e4ca9 100644 --- a/Mage.Sets/src/mage/cards/r/RottingGiant.java +++ b/Mage.Sets/src/mage/cards/r/RottingGiant.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCardInYourGraveyard; /** @@ -45,8 +46,8 @@ public class RottingGiant extends CardImpl { public RottingGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Giant"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.GIANT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RottingLegion.java b/Mage.Sets/src/mage/cards/r/RottingLegion.java index ad43c337d61..b09ec6cc502 100644 --- a/Mage.Sets/src/mage/cards/r/RottingLegion.java +++ b/Mage.Sets/src/mage/cards/r/RottingLegion.java @@ -34,6 +34,7 @@ import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class RottingLegion extends CardImpl { public RottingLegion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RottingMastodon.java b/Mage.Sets/src/mage/cards/r/RottingMastodon.java index 64a7bb92793..a2ef8dbf01c 100644 --- a/Mage.Sets/src/mage/cards/r/RottingMastodon.java +++ b/Mage.Sets/src/mage/cards/r/RottingMastodon.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class RottingMastodon extends CardImpl { public RottingMastodon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(2); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/r/RottingRats.java b/Mage.Sets/src/mage/cards/r/RottingRats.java index ed63f70965e..c947ac5d992 100644 --- a/Mage.Sets/src/mage/cards/r/RottingRats.java +++ b/Mage.Sets/src/mage/cards/r/RottingRats.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class RottingRats extends CardImpl { public RottingRats (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Rat"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.RAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RoughshodMentor.java b/Mage.Sets/src/mage/cards/r/RoughshodMentor.java index 720052f2622..50997313018 100644 --- a/Mage.Sets/src/mage/cards/r/RoughshodMentor.java +++ b/Mage.Sets/src/mage/cards/r/RoughshodMentor.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -55,8 +56,8 @@ public class RoughshodMentor extends CardImpl { public RoughshodMentor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RowanTreefolk.java b/Mage.Sets/src/mage/cards/r/RowanTreefolk.java index 3e93a7c709f..5f289ba122d 100644 --- a/Mage.Sets/src/mage/cards/r/RowanTreefolk.java +++ b/Mage.Sets/src/mage/cards/r/RowanTreefolk.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class RowanTreefolk extends CardImpl { public RowanTreefolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RowdyCrew.java b/Mage.Sets/src/mage/cards/r/RowdyCrew.java index 11e937f48f5..7eb04fcff6e 100644 --- a/Mage.Sets/src/mage/cards/r/RowdyCrew.java +++ b/Mage.Sets/src/mage/cards/r/RowdyCrew.java @@ -38,6 +38,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -53,8 +54,8 @@ public class RowdyCrew extends CardImpl { public RowdyCrew(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RoyalAssassin.java b/Mage.Sets/src/mage/cards/r/RoyalAssassin.java index 32316ed324c..207154932c4 100644 --- a/Mage.Sets/src/mage/cards/r/RoyalAssassin.java +++ b/Mage.Sets/src/mage/cards/r/RoyalAssassin.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.TappedPredicate; @@ -57,8 +58,8 @@ public class RoyalAssassin extends CardImpl { public RoyalAssassin(UUID ownerId, CardSetInfo setInfo){ super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RoyalFalcon.java b/Mage.Sets/src/mage/cards/r/RoyalFalcon.java index ce69ce0ec0f..75f8b5985e6 100644 --- a/Mage.Sets/src/mage/cards/r/RoyalFalcon.java +++ b/Mage.Sets/src/mage/cards/r/RoyalFalcon.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class RoyalFalcon extends CardImpl { public RoyalFalcon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RoyalHerbalist.java b/Mage.Sets/src/mage/cards/r/RoyalHerbalist.java index 81ab3c3f217..1f50c626477 100644 --- a/Mage.Sets/src/mage/cards/r/RoyalHerbalist.java +++ b/Mage.Sets/src/mage/cards/r/RoyalHerbalist.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,8 +49,8 @@ public class RoyalHerbalist extends CardImpl { public RoyalHerbalist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RoyalTrooper.java b/Mage.Sets/src/mage/cards/r/RoyalTrooper.java index b3efc0a040b..033ff1743cc 100644 --- a/Mage.Sets/src/mage/cards/r/RoyalTrooper.java +++ b/Mage.Sets/src/mage/cards/r/RoyalTrooper.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class RoyalTrooper extends CardImpl { public RoyalTrooper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RubblebackRhino.java b/Mage.Sets/src/mage/cards/r/RubblebackRhino.java index 1ad6ed63954..3c9c7467059 100644 --- a/Mage.Sets/src/mage/cards/r/RubblebackRhino.java +++ b/Mage.Sets/src/mage/cards/r/RubblebackRhino.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class RubblebackRhino extends CardImpl { public RubblebackRhino(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); - this.subtype.add("Rhino"); + this.subtype.add(SubType.RHINO); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RubblebeltMaaka.java b/Mage.Sets/src/mage/cards/r/RubblebeltMaaka.java index 7b9b7d09109..72ae8c838f7 100644 --- a/Mage.Sets/src/mage/cards/r/RubblebeltMaaka.java +++ b/Mage.Sets/src/mage/cards/r/RubblebeltMaaka.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.BloodrushAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -47,7 +48,7 @@ public class RubblebeltMaaka extends CardImpl { public RubblebeltMaaka (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RubblebeltRaiders.java b/Mage.Sets/src/mage/cards/r/RubblebeltRaiders.java index 52729b88959..4d18e4c550e 100644 --- a/Mage.Sets/src/mage/cards/r/RubblebeltRaiders.java +++ b/Mage.Sets/src/mage/cards/r/RubblebeltRaiders.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,8 +46,8 @@ public class RubblebeltRaiders extends CardImpl { public RubblebeltRaiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R/G}{R/G}{R/G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/Rubblehulk.java b/Mage.Sets/src/mage/cards/r/Rubblehulk.java index 4db81fba0de..40140a756bb 100644 --- a/Mage.Sets/src/mage/cards/r/Rubblehulk.java +++ b/Mage.Sets/src/mage/cards/r/Rubblehulk.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.BloodrushAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -53,7 +54,7 @@ public class Rubblehulk extends CardImpl { public Rubblehulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/r/RubiniaSoulsinger.java b/Mage.Sets/src/mage/cards/r/RubiniaSoulsinger.java index 55b72f22640..2f797ff696c 100644 --- a/Mage.Sets/src/mage/cards/r/RubiniaSoulsinger.java +++ b/Mage.Sets/src/mage/cards/r/RubiniaSoulsinger.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class RubiniaSoulsinger extends CardImpl { public RubiniaSoulsinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RubyLeech.java b/Mage.Sets/src/mage/cards/r/RubyLeech.java index 48fc259e06c..957cab0dfa1 100644 --- a/Mage.Sets/src/mage/cards/r/RubyLeech.java +++ b/Mage.Sets/src/mage/cards/r/RubyLeech.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.ColorPredicate; @@ -55,7 +56,7 @@ public class RubyLeech extends CardImpl { public RubyLeech(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Leech"); + this.subtype.add(SubType.LEECH); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RuhamDjinn.java b/Mage.Sets/src/mage/cards/r/RuhamDjinn.java index 44855fa0eac..cb988ee19ed 100644 --- a/Mage.Sets/src/mage/cards/r/RuhamDjinn.java +++ b/Mage.Sets/src/mage/cards/r/RuhamDjinn.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class RuhamDjinn extends CardImpl { public RuhamDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RuhanOfTheFomori.java b/Mage.Sets/src/mage/cards/r/RuhanOfTheFomori.java index 5f151fd115d..a604d35483d 100644 --- a/Mage.Sets/src/mage/cards/r/RuhanOfTheFomori.java +++ b/Mage.Sets/src/mage/cards/r/RuhanOfTheFomori.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.AttackIfAbleTargetRandomOpponentSour import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; @@ -46,8 +47,8 @@ public class RuhanOfTheFomori extends CardImpl { public RuhanOfTheFomori(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/r/RuinGhost.java b/Mage.Sets/src/mage/cards/r/RuinGhost.java index 0b641ae3b0c..f3e0bb3ff6c 100644 --- a/Mage.Sets/src/mage/cards/r/RuinGhost.java +++ b/Mage.Sets/src/mage/cards/r/RuinGhost.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnToBattlefieldUnderYourControlTargetEf import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class RuinGhost extends CardImpl { public RuinGhost(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RuinProcessor.java b/Mage.Sets/src/mage/cards/r/RuinProcessor.java index 62cda102e54..8a9c72c0132 100644 --- a/Mage.Sets/src/mage/cards/r/RuinProcessor.java +++ b/Mage.Sets/src/mage/cards/r/RuinProcessor.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class RuinProcessor extends CardImpl { public RuinProcessor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{7}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Processor"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.PROCESSOR); this.power = new MageInt(7); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/r/RuinRaider.java b/Mage.Sets/src/mage/cards/r/RuinRaider.java index d1f061319d8..3c69a9b1a21 100644 --- a/Mage.Sets/src/mage/cards/r/RuinRaider.java +++ b/Mage.Sets/src/mage/cards/r/RuinRaider.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class RuinRaider extends CardImpl { public RuinRaider(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Orc"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RuinRat.java b/Mage.Sets/src/mage/cards/r/RuinRat.java index 47e3851981f..943d4ae00a6 100644 --- a/Mage.Sets/src/mage/cards/r/RuinRat.java +++ b/Mage.Sets/src/mage/cards/r/RuinRat.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.target.common.TargetCardInOpponentsGraveyard; @@ -47,7 +48,7 @@ public class RuinRat extends CardImpl { public RuinRat(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RuinationGuide.java b/Mage.Sets/src/mage/cards/r/RuinationGuide.java index a89b448ea10..277d46cf6df 100644 --- a/Mage.Sets/src/mage/cards/r/RuinationGuide.java +++ b/Mage.Sets/src/mage/cards/r/RuinationGuide.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.IngestAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -55,8 +56,8 @@ public class RuinationGuide extends CardImpl { public RuinationGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RuinationWurm.java b/Mage.Sets/src/mage/cards/r/RuinationWurm.java index 8bcada9135c..82abca389e4 100644 --- a/Mage.Sets/src/mage/cards/r/RuinationWurm.java +++ b/Mage.Sets/src/mage/cards/r/RuinationWurm.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class RuinationWurm extends CardImpl { public RuinationWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(7); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/RuinousGremlin.java b/Mage.Sets/src/mage/cards/r/RuinousGremlin.java index 1c8754a1656..3e5b3dcb6e0 100644 --- a/Mage.Sets/src/mage/cards/r/RuinousGremlin.java +++ b/Mage.Sets/src/mage/cards/r/RuinousGremlin.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetArtifactPermanent; @@ -48,7 +49,7 @@ public class RuinousGremlin extends CardImpl { public RuinousGremlin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Gremlin"); + this.subtype.add(SubType.GREMLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RuinousMinotaur.java b/Mage.Sets/src/mage/cards/r/RuinousMinotaur.java index dfcd6dc8644..9fa88400a52 100644 --- a/Mage.Sets/src/mage/cards/r/RuinousMinotaur.java +++ b/Mage.Sets/src/mage/cards/r/RuinousMinotaur.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; /** @@ -44,8 +45,8 @@ public class RuinousMinotaur extends CardImpl { public RuinousMinotaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RukhEgg.java b/Mage.Sets/src/mage/cards/r/RukhEgg.java index 4bf72415a2b..eb10a12f71a 100644 --- a/Mage.Sets/src/mage/cards/r/RukhEgg.java +++ b/Mage.Sets/src/mage/cards/r/RukhEgg.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.RukhEggBirdToken; /** @@ -48,7 +49,7 @@ public class RukhEgg extends CardImpl { public RukhEgg(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RuleOfTwo.java b/Mage.Sets/src/mage/cards/r/RuleOfTwo.java index a9fbf422a09..0581ae679a0 100644 --- a/Mage.Sets/src/mage/cards/r/RuleOfTwo.java +++ b/Mage.Sets/src/mage/cards/r/RuleOfTwo.java @@ -1,82 +1,82 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.condition.common.CreatureCountCondition; -import mage.abilities.decorator.ConditionalContinuousEffect; -import mage.abilities.effects.ContinuousEffect; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.continuous.BoostControlledEffect; -import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; -import mage.abilities.keyword.DeathtouchAbility; -import mage.abilities.keyword.LifelinkAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; - -/** - * - * @author Styxo - */ -public class RuleOfTwo extends CardImpl { - - public RuleOfTwo(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{B}{B}"); - - // As long as you control exatly two creatures, those creatures get +2/+0 and have deathtouch and lifelink. - ContinuousEffect boostEffect = new BoostControlledEffect(2, 0, Duration.WhileOnBattlefield); - Effect effect = new ConditionalContinuousEffect(boostEffect, new CreatureCountCondition(2, TargetController.YOU), - "As long as you control exactly two creatures, those creatures get +2/+0"); - Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect); - ContinuousEffect deathtouchEffect = new GainAbilityControlledEffect(DeathtouchAbility.getInstance(), Duration.WhileOnBattlefield, new FilterCreaturePermanent()); - effect = new ConditionalContinuousEffect(deathtouchEffect, new CreatureCountCondition(2, TargetController.YOU), - "and have deathtouch"); - ability.addEffect(effect); - ContinuousEffect lifelinkEffect = new GainAbilityControlledEffect(LifelinkAbility.getInstance(), Duration.WhileOnBattlefield, new FilterCreaturePermanent()); - effect = new ConditionalContinuousEffect(lifelinkEffect, new CreatureCountCondition(2, TargetController.YOU), - "and lifelink"); - ability.addEffect(effect); - this.addAbility(ability); - } - - public RuleOfTwo(final RuleOfTwo card) { - super(card); - } - - @Override - public RuleOfTwo copy() { - return new RuleOfTwo(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.CreatureCountCondition; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.ContinuousEffect; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.abilities.keyword.LifelinkAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; + +/** + * + * @author Styxo + */ +public class RuleOfTwo extends CardImpl { + + public RuleOfTwo(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{B}{B}"); + + // As long as you control exatly two creatures, those creatures get +2/+0 and have deathtouch and lifelink. + ContinuousEffect boostEffect = new BoostControlledEffect(2, 0, Duration.WhileOnBattlefield); + Effect effect = new ConditionalContinuousEffect(boostEffect, new CreatureCountCondition(2, TargetController.YOU), + "As long as you control exactly two creatures, those creatures get +2/+0"); + Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, effect); + ContinuousEffect deathtouchEffect = new GainAbilityControlledEffect(DeathtouchAbility.getInstance(), Duration.WhileOnBattlefield, new FilterCreaturePermanent()); + effect = new ConditionalContinuousEffect(deathtouchEffect, new CreatureCountCondition(2, TargetController.YOU), + "and have deathtouch"); + ability.addEffect(effect); + ContinuousEffect lifelinkEffect = new GainAbilityControlledEffect(LifelinkAbility.getInstance(), Duration.WhileOnBattlefield, new FilterCreaturePermanent()); + effect = new ConditionalContinuousEffect(lifelinkEffect, new CreatureCountCondition(2, TargetController.YOU), + "and lifelink"); + ability.addEffect(effect); + this.addAbility(ability); + } + + public RuleOfTwo(final RuleOfTwo card) { + super(card); + } + + @Override + public RuleOfTwo copy() { + return new RuleOfTwo(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/RumblingBaloth.java b/Mage.Sets/src/mage/cards/r/RumblingBaloth.java index a9b6dccde30..099e2ee17c8 100644 --- a/Mage.Sets/src/mage/cards/r/RumblingBaloth.java +++ b/Mage.Sets/src/mage/cards/r/RumblingBaloth.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class RumblingBaloth extends CardImpl { public RumblingBaloth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RumblingSlum.java b/Mage.Sets/src/mage/cards/r/RumblingSlum.java index 46ec733c3c7..00c4261121a 100644 --- a/Mage.Sets/src/mage/cards/r/RumblingSlum.java +++ b/Mage.Sets/src/mage/cards/r/RumblingSlum.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamagePlayersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class RumblingSlum extends CardImpl { public RumblingSlum(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RummagingGoblin.java b/Mage.Sets/src/mage/cards/r/RummagingGoblin.java index 548bd5f01b8..16fcd53c42e 100644 --- a/Mage.Sets/src/mage/cards/r/RummagingGoblin.java +++ b/Mage.Sets/src/mage/cards/r/RummagingGoblin.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCardInHand; @@ -47,8 +48,8 @@ public class RummagingGoblin extends CardImpl { public RummagingGoblin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RummagingWizard.java b/Mage.Sets/src/mage/cards/r/RummagingWizard.java index 52e75fba8f2..5dfc87cf634 100644 --- a/Mage.Sets/src/mage/cards/r/RummagingWizard.java +++ b/Mage.Sets/src/mage/cards/r/RummagingWizard.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,8 +52,8 @@ public class RummagingWizard extends CardImpl { public RummagingWizard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RumorMonger.java b/Mage.Sets/src/mage/cards/r/RumorMonger.java index e8db8e54f23..390bd68cf1f 100644 --- a/Mage.Sets/src/mage/cards/r/RumorMonger.java +++ b/Mage.Sets/src/mage/cards/r/RumorMonger.java @@ -1,75 +1,76 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.abilities.effects.common.counter.MoveCountersTargetsEffect; -import mage.abilities.keyword.BountyAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.counters.CounterType; -import mage.target.common.TargetOpponentsCreaturePermanent; - -/** - * - * @author Styxo - */ -public class RumorMonger extends CardImpl { - - public RumorMonger(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}{G}"); - this.subtype.add("Arcona"); - this.subtype.add("Hunter"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // When Rumor Monger enters the battlefield, put a bounty counter on up to two target creatures an opponent controls. - Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance())); - ability.addTarget(new TargetOpponentsCreaturePermanent(0, 2)); - this.addAbility(ability); - - // Bounty — Whenever a creature an opponent controls with a bounty counter on it dies, you may move a bounty counter from one target creature to another target creatute. - ability = new BountyAbility(new MoveCountersTargetsEffect(CounterType.BOUNTY, 1), false); - ability.addTarget(new TargetOpponentsCreaturePermanent(2)); - this.addAbility(ability); - } - - public RumorMonger(final RumorMonger card) { - super(card); - } - - @Override - public RumorMonger copy() { - return new RumorMonger(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.effects.common.counter.MoveCountersTargetsEffect; +import mage.abilities.keyword.BountyAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.counters.CounterType; +import mage.target.common.TargetOpponentsCreaturePermanent; + +/** + * + * @author Styxo + */ +public class RumorMonger extends CardImpl { + + public RumorMonger(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}{G}"); + this.subtype.add(SubType.ARCONA); + this.subtype.add(SubType.HUNTER); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // When Rumor Monger enters the battlefield, put a bounty counter on up to two target creatures an opponent controls. + Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance())); + ability.addTarget(new TargetOpponentsCreaturePermanent(0, 2)); + this.addAbility(ability); + + // Bounty — Whenever a creature an opponent controls with a bounty counter on it dies, you may move a bounty counter from one target creature to another target creatute. + ability = new BountyAbility(new MoveCountersTargetsEffect(CounterType.BOUNTY, 1), false); + ability.addTarget(new TargetOpponentsCreaturePermanent(2)); + this.addAbility(ability); + } + + public RumorMonger(final RumorMonger card) { + super(card); + } + + @Override + public RumorMonger copy() { + return new RumorMonger(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/RunWild.java b/Mage.Sets/src/mage/cards/r/RunWild.java index c2f369e9ef0..2b0591e3fad 100644 --- a/Mage.Sets/src/mage/cards/r/RunWild.java +++ b/Mage.Sets/src/mage/cards/r/RunWild.java @@ -1,73 +1,73 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.RegenerateSourceEffect; -import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; -import mage.abilities.keyword.TrampleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Derpthemeus - */ -public class RunWild extends CardImpl { - - public RunWild(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{G}"); - - // Until end of turn, target creature gains trample and "{G}: Regenerate this creature." - this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - Effect effect1 = new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn); - effect1.setText("Until end of turn, target creature gains trample"); - this.getSpellAbility().addEffect(effect1); - - Effect effect2 = new GainAbilityTargetEffect(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{G}")), Duration.EndOfTurn); - effect2.setText("and \"{G}: Regenerate this creature\""); - this.getSpellAbility().addEffect(effect2); - - } - - public RunWild(final RunWild card) { - super(card); - } - - @Override - public RunWild copy() { - return new RunWild(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.RegenerateSourceEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Derpthemeus + */ +public class RunWild extends CardImpl { + + public RunWild(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{G}"); + + // Until end of turn, target creature gains trample and "{G}: Regenerate this creature." + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + Effect effect1 = new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn); + effect1.setText("Until end of turn, target creature gains trample"); + this.getSpellAbility().addEffect(effect1); + + Effect effect2 = new GainAbilityTargetEffect(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{G}")), Duration.EndOfTurn); + effect2.setText("and \"{G}: Regenerate this creature\""); + this.getSpellAbility().addEffect(effect2); + + } + + public RunWild(final RunWild card) { + super(card); + } + + @Override + public RunWild copy() { + return new RunWild(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/RunawayCarriage.java b/Mage.Sets/src/mage/cards/r/RunawayCarriage.java index a17312f0fb0..3512789fdeb 100644 --- a/Mage.Sets/src/mage/cards/r/RunawayCarriage.java +++ b/Mage.Sets/src/mage/cards/r/RunawayCarriage.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class RunawayCarriage extends CardImpl { public RunawayCarriage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/RuneCervinRider.java b/Mage.Sets/src/mage/cards/r/RuneCervinRider.java index 2ea13873d88..e2634428714 100644 --- a/Mage.Sets/src/mage/cards/r/RuneCervinRider.java +++ b/Mage.Sets/src/mage/cards/r/RuneCervinRider.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class RuneCervinRider extends CardImpl { public RuneCervinRider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Elf"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RuneScarredDemon.java b/Mage.Sets/src/mage/cards/r/RuneScarredDemon.java index 1667a497b38..131c7aff1ed 100644 --- a/Mage.Sets/src/mage/cards/r/RuneScarredDemon.java +++ b/Mage.Sets/src/mage/cards/r/RuneScarredDemon.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCardInLibrary; /** @@ -47,7 +48,7 @@ public class RuneScarredDemon extends CardImpl { public RuneScarredDemon (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(6 ); diff --git a/Mage.Sets/src/mage/cards/r/RuneTailKitsuneAscendant.java b/Mage.Sets/src/mage/cards/r/RuneTailKitsuneAscendant.java index 904e9a083e4..88c92e74d89 100644 --- a/Mage.Sets/src/mage/cards/r/RuneTailKitsuneAscendant.java +++ b/Mage.Sets/src/mage/cards/r/RuneTailKitsuneAscendant.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventAllDamageToAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class RuneTailKitsuneAscendant extends CardImpl { public RuneTailKitsuneAscendant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Fox"); - this.subtype.add("Monk"); + this.subtype.add(SubType.FOX); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RunechantersPike.java b/Mage.Sets/src/mage/cards/r/RunechantersPike.java index 3a2ab96f721..433cc9f9ee3 100644 --- a/Mage.Sets/src/mage/cards/r/RunechantersPike.java +++ b/Mage.Sets/src/mage/cards/r/RunechantersPike.java @@ -62,7 +62,7 @@ public class RunechantersPike extends CardImpl { public RunechantersPike(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equip {2} this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2))); diff --git a/Mage.Sets/src/mage/cards/r/RuneclawBear.java b/Mage.Sets/src/mage/cards/r/RuneclawBear.java index 0bb9c91386d..ad2ddd31b98 100644 --- a/Mage.Sets/src/mage/cards/r/RuneclawBear.java +++ b/Mage.Sets/src/mage/cards/r/RuneclawBear.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class RuneclawBear extends CardImpl { public RuneclawBear(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Bear"); + this.subtype.add(SubType.BEAR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RunedServitor.java b/Mage.Sets/src/mage/cards/r/RunedServitor.java index 8c0352e2761..dfe3a635bfe 100644 --- a/Mage.Sets/src/mage/cards/r/RunedServitor.java +++ b/Mage.Sets/src/mage/cards/r/RunedServitor.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class RunedServitor extends CardImpl { public RunedServitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(new DiesTriggeredAbility(new DrawCardAllEffect(1), false)); diff --git a/Mage.Sets/src/mage/cards/r/RunedStalactite.java b/Mage.Sets/src/mage/cards/r/RunedStalactite.java index 0cf934f9661..22bcf9d65e2 100644 --- a/Mage.Sets/src/mage/cards/r/RunedStalactite.java +++ b/Mage.Sets/src/mage/cards/r/RunedStalactite.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class RunedStalactite extends CardImpl { public RunedStalactite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+1 and is every creature type. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1,1))); diff --git a/Mage.Sets/src/mage/cards/r/RunehornHellkite.java b/Mage.Sets/src/mage/cards/r/RunehornHellkite.java index 2ee066d03c5..ef56221d79a 100644 --- a/Mage.Sets/src/mage/cards/r/RunehornHellkite.java +++ b/Mage.Sets/src/mage/cards/r/RunehornHellkite.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -51,7 +52,7 @@ public class RunehornHellkite extends CardImpl { public RunehornHellkite(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RunesOfTheDeus.java b/Mage.Sets/src/mage/cards/r/RunesOfTheDeus.java index 17fbdd5d718..9dca3c22d0e 100644 --- a/Mage.Sets/src/mage/cards/r/RunesOfTheDeus.java +++ b/Mage.Sets/src/mage/cards/r/RunesOfTheDeus.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -56,7 +57,7 @@ public class RunesOfTheDeus extends CardImpl { public RunesOfTheDeus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{R/G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/r/Runewing.java b/Mage.Sets/src/mage/cards/r/Runewing.java index 82b3cdd8532..d7127849414 100644 --- a/Mage.Sets/src/mage/cards/r/Runewing.java +++ b/Mage.Sets/src/mage/cards/r/Runewing.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -53,7 +54,7 @@ public class Runewing extends CardImpl { public Runewing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RunnersBane.java b/Mage.Sets/src/mage/cards/r/RunnersBane.java index 5c725610d86..9468a32c0b3 100644 --- a/Mage.Sets/src/mage/cards/r/RunnersBane.java +++ b/Mage.Sets/src/mage/cards/r/RunnersBane.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class RunnersBane extends CardImpl { } public RunnersBane(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature with power 3 or less diff --git a/Mage.Sets/src/mage/cards/r/RuricTharTheUnbowed.java b/Mage.Sets/src/mage/cards/r/RuricTharTheUnbowed.java index fa596c8754d..5378055735d 100644 --- a/Mage.Sets/src/mage/cards/r/RuricTharTheUnbowed.java +++ b/Mage.Sets/src/mage/cards/r/RuricTharTheUnbowed.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.game.Game; @@ -55,8 +56,8 @@ public class RuricTharTheUnbowed extends CardImpl { public RuricTharTheUnbowed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/r/RushingTideZubera.java b/Mage.Sets/src/mage/cards/r/RushingTideZubera.java index d6e65184178..cbad26db525 100644 --- a/Mage.Sets/src/mage/cards/r/RushingTideZubera.java +++ b/Mage.Sets/src/mage/cards/r/RushingTideZubera.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; @@ -50,8 +51,8 @@ public class RushingTideZubera extends CardImpl { public RushingTideZubera(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Zubera"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ZUBERA); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RushwoodDryad.java b/Mage.Sets/src/mage/cards/r/RushwoodDryad.java index 766e9606595..ab8e3dd0297 100644 --- a/Mage.Sets/src/mage/cards/r/RushwoodDryad.java +++ b/Mage.Sets/src/mage/cards/r/RushwoodDryad.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class RushwoodDryad extends CardImpl { public RushwoodDryad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RushwoodElemental.java b/Mage.Sets/src/mage/cards/r/RushwoodElemental.java index f3124dc9985..f845a540644 100644 --- a/Mage.Sets/src/mage/cards/r/RushwoodElemental.java +++ b/Mage.Sets/src/mage/cards/r/RushwoodElemental.java @@ -1,67 +1,68 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.r; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; -import mage.abilities.effects.common.counter.AddCountersSourceEffect; -import mage.abilities.keyword.TrampleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.TargetController; -import mage.counters.CounterType; - -/** - * - * @author Derpthemeus - */ -public class RushwoodElemental extends CardImpl { - - public RushwoodElemental(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}{G}{G}{G}"); - this.subtype.add("Elemental"); - this.power = new MageInt(4); - this.toughness = new MageInt(4); - - // Trample - this.addAbility(TrampleAbility.getInstance()); - // At the beginning of your upkeep, you may put a +1/+1 counter on Rushwood Elemental. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.YOU, true)); - } - - public RushwoodElemental(final RushwoodElemental card) { - super(card); - } - - @Override - public RushwoodElemental copy() { - return new RushwoodElemental(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.r; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.TargetController; +import mage.counters.CounterType; + +/** + * + * @author Derpthemeus + */ +public class RushwoodElemental extends CardImpl { + + public RushwoodElemental(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}{G}{G}{G}"); + this.subtype.add(SubType.ELEMENTAL); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + // At the beginning of your upkeep, you may put a +1/+1 counter on Rushwood Elemental. + this.addAbility(new BeginningOfUpkeepTriggeredAbility(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), TargetController.YOU, true)); + } + + public RushwoodElemental(final RushwoodElemental card) { + super(card); + } + + @Override + public RushwoodElemental copy() { + return new RushwoodElemental(this); + } +} diff --git a/Mage.Sets/src/mage/cards/r/RushwoodHerbalist.java b/Mage.Sets/src/mage/cards/r/RushwoodHerbalist.java index a79edca715b..6beb21ed0e7 100644 --- a/Mage.Sets/src/mage/cards/r/RushwoodHerbalist.java +++ b/Mage.Sets/src/mage/cards/r/RushwoodHerbalist.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.RegenerateTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class RushwoodHerbalist extends CardImpl { public RushwoodHerbalist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RushwoodLegate.java b/Mage.Sets/src/mage/cards/r/RushwoodLegate.java index 932062e5dda..89814d991b5 100644 --- a/Mage.Sets/src/mage/cards/r/RushwoodLegate.java +++ b/Mage.Sets/src/mage/cards/r/RushwoodLegate.java @@ -57,7 +57,7 @@ public class RushwoodLegate extends CardImpl { public RushwoodLegate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RussetWolves.java b/Mage.Sets/src/mage/cards/r/RussetWolves.java index 1e666bfdcfd..bf715746a69 100644 --- a/Mage.Sets/src/mage/cards/r/RussetWolves.java +++ b/Mage.Sets/src/mage/cards/r/RussetWolves.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class RussetWolves extends CardImpl { public RussetWolves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RustElemental.java b/Mage.Sets/src/mage/cards/r/RustElemental.java index b072fa2b554..0dcfa969f8f 100644 --- a/Mage.Sets/src/mage/cards/r/RustElemental.java +++ b/Mage.Sets/src/mage/cards/r/RustElemental.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterControlledArtifactPermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -53,7 +54,7 @@ public class RustElemental extends CardImpl { public RustElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RustScarab.java b/Mage.Sets/src/mage/cards/r/RustScarab.java index ecdef037e0a..a72a0a36e76 100644 --- a/Mage.Sets/src/mage/cards/r/RustScarab.java +++ b/Mage.Sets/src/mage/cards/r/RustScarab.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -54,7 +55,7 @@ public class RustScarab extends CardImpl { public RustScarab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/r/RustTick.java b/Mage.Sets/src/mage/cards/r/RustTick.java index f0d09aee4d6..3b97b719dbc 100644 --- a/Mage.Sets/src/mage/cards/r/RustTick.java +++ b/Mage.Sets/src/mage/cards/r/RustTick.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetArtifactPermanent; @@ -49,7 +50,7 @@ public class RustTick extends CardImpl { public RustTick(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/r/RustedRelic.java b/Mage.Sets/src/mage/cards/r/RustedRelic.java index 66e1f3bc9e9..5776ef48e78 100644 --- a/Mage.Sets/src/mage/cards/r/RustedRelic.java +++ b/Mage.Sets/src/mage/cards/r/RustedRelic.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -71,7 +72,7 @@ class RustedRelicToken extends Token { public RustedRelicToken() { super("Rusted Relic", "5/5 Golem artifact creature"); cardType.add(CardType.CREATURE); - subtype.add("Golem"); + subtype.add(SubType.GOLEM); power = new MageInt(5); toughness = new MageInt(5); } diff --git a/Mage.Sets/src/mage/cards/r/RustedSentinel.java b/Mage.Sets/src/mage/cards/r/RustedSentinel.java index 06924d7b828..2968aa2d76e 100644 --- a/Mage.Sets/src/mage/cards/r/RustedSentinel.java +++ b/Mage.Sets/src/mage/cards/r/RustedSentinel.java @@ -34,6 +34,7 @@ import mage.abilities.common.EntersBattlefieldTappedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -42,7 +43,7 @@ public class RustedSentinel extends CardImpl { public RustedSentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(4); this.addAbility(new EntersBattlefieldTappedAbility()); diff --git a/Mage.Sets/src/mage/cards/r/RustedSlasher.java b/Mage.Sets/src/mage/cards/r/RustedSlasher.java index 95e5f2bdba8..c9a63a6ad2a 100644 --- a/Mage.Sets/src/mage/cards/r/RustedSlasher.java +++ b/Mage.Sets/src/mage/cards/r/RustedSlasher.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -54,7 +55,7 @@ public class RustedSlasher extends CardImpl { public RustedSlasher (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(1); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new SacrificeTargetCost(new TargetControlledPermanent(filter)))); diff --git a/Mage.Sets/src/mage/cards/r/RustingGolem.java b/Mage.Sets/src/mage/cards/r/RustingGolem.java index 1a13ae27423..ebcda5deac4 100644 --- a/Mage.Sets/src/mage/cards/r/RustingGolem.java +++ b/Mage.Sets/src/mage/cards/r/RustingGolem.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FadingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -48,7 +49,7 @@ public class RustingGolem extends CardImpl { public RustingGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/r/RustmouthOgre.java b/Mage.Sets/src/mage/cards/r/RustmouthOgre.java index e94c6df3618..74e295c4de9 100644 --- a/Mage.Sets/src/mage/cards/r/RustmouthOgre.java +++ b/Mage.Sets/src/mage/cards/r/RustmouthOgre.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -51,7 +52,7 @@ public class RustmouthOgre extends CardImpl { public RustmouthOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Ogre"); + this.subtype.add(SubType.OGRE); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RustrazorButcher.java b/Mage.Sets/src/mage/cards/r/RustrazorButcher.java index 5337a878f39..777c9f1fc3d 100644 --- a/Mage.Sets/src/mage/cards/r/RustrazorButcher.java +++ b/Mage.Sets/src/mage/cards/r/RustrazorButcher.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class RustrazorButcher extends CardImpl { public RustrazorButcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RustsporeRam.java b/Mage.Sets/src/mage/cards/r/RustsporeRam.java index 261829255cb..80fcfaad54b 100644 --- a/Mage.Sets/src/mage/cards/r/RustsporeRam.java +++ b/Mage.Sets/src/mage/cards/r/RustsporeRam.java @@ -54,7 +54,7 @@ public class RustsporeRam extends CardImpl { public RustsporeRam(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Sheep"); + this.subtype.add(SubType.SHEEP); this.power = new MageInt(1); this.toughness = new MageInt(3); Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false); diff --git a/Mage.Sets/src/mage/cards/r/RuthlessCullblade.java b/Mage.Sets/src/mage/cards/r/RuthlessCullblade.java index 92c8290a062..e909aa1a1a4 100644 --- a/Mage.Sets/src/mage/cards/r/RuthlessCullblade.java +++ b/Mage.Sets/src/mage/cards/r/RuthlessCullblade.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class RuthlessCullblade extends CardImpl { public RuthlessCullblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RuthlessDeathfang.java b/Mage.Sets/src/mage/cards/r/RuthlessDeathfang.java index 72aaba38c00..2bc94121416 100644 --- a/Mage.Sets/src/mage/cards/r/RuthlessDeathfang.java +++ b/Mage.Sets/src/mage/cards/r/RuthlessDeathfang.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.game.Game; @@ -51,7 +52,7 @@ public class RuthlessDeathfang extends CardImpl { public RuthlessDeathfang(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{B}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/r/RuthlessRipper.java b/Mage.Sets/src/mage/cards/r/RuthlessRipper.java index b6ffc18fd72..9a2a6772685 100644 --- a/Mage.Sets/src/mage/cards/r/RuthlessRipper.java +++ b/Mage.Sets/src/mage/cards/r/RuthlessRipper.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.ColorPredicate; import mage.target.TargetPlayer; @@ -58,8 +59,8 @@ public class RuthlessRipper extends CardImpl { public RuthlessRipper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Human"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/r/RuthlessSniper.java b/Mage.Sets/src/mage/cards/r/RuthlessSniper.java index 0a98701e0b7..9f392700ec9 100644 --- a/Mage.Sets/src/mage/cards/r/RuthlessSniper.java +++ b/Mage.Sets/src/mage/cards/r/RuthlessSniper.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class RuthlessSniper extends CardImpl { public RuthlessSniper(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}"); - this.subtype.add("Human"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/r/RyuseiTheFallingStar.java b/Mage.Sets/src/mage/cards/r/RyuseiTheFallingStar.java index eb98eb7bbfd..9eccea4f3b6 100644 --- a/Mage.Sets/src/mage/cards/r/RyuseiTheFallingStar.java +++ b/Mage.Sets/src/mage/cards/r/RyuseiTheFallingStar.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -55,8 +56,8 @@ public class RyuseiTheFallingStar extends CardImpl { public RyuseiTheFallingStar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DRAGON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SabaccGame.java b/Mage.Sets/src/mage/cards/s/SabaccGame.java index 1f21c7b4ca4..5b02bae1583 100644 --- a/Mage.Sets/src/mage/cards/s/SabaccGame.java +++ b/Mage.Sets/src/mage/cards/s/SabaccGame.java @@ -1,134 +1,134 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.ContinuousEffect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.continuous.GainControlTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.filter.FilterPermanent; -import mage.filter.predicate.permanent.ControllerIdPredicate; -import mage.filter.predicate.permanent.ControllerPredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.TargetPermanent; -import mage.target.targetpointer.FixedTarget; - -/** - * - * @author Styxo - */ -public class SabaccGame extends CardImpl { - - private static final FilterPermanent filter = new FilterPermanent("permanent an opponent controls"); - - static { - filter.add(new ControllerPredicate(TargetController.OPPONENT)); - } - - public SabaccGame(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{U}"); - - /* - * Choose target permanent an opponent controls. That opponent chooses a permanent you control. - * Flip a coin. If you win the flip, gain control of the permanent you chose. - * If you lose the flip, your opponent gains control of the permanent they chose. - */ - this.getSpellAbility().getEffects().add(new SabaccGameEffect()); - this.getSpellAbility().getTargets().add(new TargetPermanent(filter)); - } - - public SabaccGame(final SabaccGame card) { - super(card); - } - - @Override - public SabaccGame copy() { - return new SabaccGame(this); - } -} - -class SabaccGameEffect extends OneShotEffect { - - public SabaccGameEffect() { - super(Outcome.Detriment); - this.staticText = "Choose target permanent an opponent controls. That opponent chooses a permanent you control. " - + "Flip a coin. If you win the flip, gain control of the permanent you chose. " - + "If you lose the flip, your opponent gains control of the permanent they chose"; - } - - public SabaccGameEffect(final SabaccGameEffect effect) { - super(effect); - } - - @Override - public SabaccGameEffect copy() { - return new SabaccGameEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - Permanent targetPermanent = game.getPermanentOrLKIBattlefield(getTargetPointer().getFirst(game, source)); - if (targetPermanent != null) { - Player opponent = game.getPlayer(targetPermanent.getControllerId()); - if (opponent != null) { - FilterPermanent filter = new FilterPermanent("permanent controlled by " + controller.getName()); - filter.add(new ControllerIdPredicate(controller.getId())); - TargetPermanent target = new TargetPermanent(1, 1, filter, true); - Permanent chosenPermanent = null; - if (target.chooseTarget(outcome, opponent.getId(), source, game)) { - chosenPermanent = game.getPermanent(target.getFirstTarget()); - } - boolean flipWin = controller.flipCoin(game); - if (flipWin) { - ContinuousEffect effect = new GainControlTargetEffect(Duration.Custom, true, controller.getId()); - effect.setTargetPointer(new FixedTarget(targetPermanent, game)); - game.addEffect(effect, source); - } else if (chosenPermanent != null) { - ContinuousEffect effect = new GainControlTargetEffect(Duration.Custom, true, opponent.getId()); - effect.setTargetPointer(new FixedTarget(chosenPermanent, game)); - game.addEffect(effect, source); - } - - } - } - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.ContinuousEffect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.continuous.GainControlTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.filter.FilterPermanent; +import mage.filter.predicate.permanent.ControllerIdPredicate; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.TargetPermanent; +import mage.target.targetpointer.FixedTarget; + +/** + * + * @author Styxo + */ +public class SabaccGame extends CardImpl { + + private static final FilterPermanent filter = new FilterPermanent("permanent an opponent controls"); + + static { + filter.add(new ControllerPredicate(TargetController.OPPONENT)); + } + + public SabaccGame(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{U}"); + + /* + * Choose target permanent an opponent controls. That opponent chooses a permanent you control. + * Flip a coin. If you win the flip, gain control of the permanent you chose. + * If you lose the flip, your opponent gains control of the permanent they chose. + */ + this.getSpellAbility().getEffects().add(new SabaccGameEffect()); + this.getSpellAbility().getTargets().add(new TargetPermanent(filter)); + } + + public SabaccGame(final SabaccGame card) { + super(card); + } + + @Override + public SabaccGame copy() { + return new SabaccGame(this); + } +} + +class SabaccGameEffect extends OneShotEffect { + + public SabaccGameEffect() { + super(Outcome.Detriment); + this.staticText = "Choose target permanent an opponent controls. That opponent chooses a permanent you control. " + + "Flip a coin. If you win the flip, gain control of the permanent you chose. " + + "If you lose the flip, your opponent gains control of the permanent they chose"; + } + + public SabaccGameEffect(final SabaccGameEffect effect) { + super(effect); + } + + @Override + public SabaccGameEffect copy() { + return new SabaccGameEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + Permanent targetPermanent = game.getPermanentOrLKIBattlefield(getTargetPointer().getFirst(game, source)); + if (targetPermanent != null) { + Player opponent = game.getPlayer(targetPermanent.getControllerId()); + if (opponent != null) { + FilterPermanent filter = new FilterPermanent("permanent controlled by " + controller.getName()); + filter.add(new ControllerIdPredicate(controller.getId())); + TargetPermanent target = new TargetPermanent(1, 1, filter, true); + Permanent chosenPermanent = null; + if (target.chooseTarget(outcome, opponent.getId(), source, game)) { + chosenPermanent = game.getPermanent(target.getFirstTarget()); + } + boolean flipWin = controller.flipCoin(game); + if (flipWin) { + ContinuousEffect effect = new GainControlTargetEffect(Duration.Custom, true, controller.getId()); + effect.setTargetPointer(new FixedTarget(targetPermanent, game)); + game.addEffect(effect, source); + } else if (chosenPermanent != null) { + ContinuousEffect effect = new GainControlTargetEffect(Duration.Custom, true, opponent.getId()); + effect.setTargetPointer(new FixedTarget(chosenPermanent, game)); + game.addEffect(effect, source); + } + + } + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/s/SaberAnts.java b/Mage.Sets/src/mage/cards/s/SaberAnts.java index 24d245d3743..012db4794c7 100644 --- a/Mage.Sets/src/mage/cards/s/SaberAnts.java +++ b/Mage.Sets/src/mage/cards/s/SaberAnts.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class SaberAnts extends CardImpl { public SaberAnts(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SaberclawGolem.java b/Mage.Sets/src/mage/cards/s/SaberclawGolem.java index 18ed53050ce..f85238bb303 100644 --- a/Mage.Sets/src/mage/cards/s/SaberclawGolem.java +++ b/Mage.Sets/src/mage/cards/s/SaberclawGolem.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class SaberclawGolem extends CardImpl { public SaberclawGolem (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + 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}"))); diff --git a/Mage.Sets/src/mage/cards/s/SabertoothAlleyCat.java b/Mage.Sets/src/mage/cards/s/SabertoothAlleyCat.java index 3324ebeaae3..3b4e862f38f 100644 --- a/Mage.Sets/src/mage/cards/s/SabertoothAlleyCat.java +++ b/Mage.Sets/src/mage/cards/s/SabertoothAlleyCat.java @@ -1,81 +1,82 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.AttacksEachTurnStaticAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect; -import mage.abilities.keyword.DefenderAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.AbilityPredicate; - -/** - * - * @author LevelX2 - */ -public class SabertoothAlleyCat extends CardImpl { - - public SabertoothAlleyCat(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{R}"); - - this.subtype.add("Cat"); - this.power = new MageInt(2); - this.toughness = new MageInt(1); - - // Sabertooth Alley Cat attacks each turn if able. - this.addAbility(new AttacksEachTurnStaticAbility()); - - // {1}{R}: Creatures without defender can't block Sabertooth Alley Cat this turn. - this.addAbility(new SimpleActivatedAbility( - Zone.BATTLEFIELD, - new CantBeBlockedByCreaturesSourceEffect( - (FilterCreaturePermanent) new FilterCreaturePermanent().add(Predicates.not(new AbilityPredicate(DefenderAbility.class))), - Duration.EndOfTurn - ) - .setText("Creatures without defender can't block {this} this turn"), - new ManaCostsImpl<>("{1}{R}"))); - } - - public SabertoothAlleyCat(final SabertoothAlleyCat card) { - super(card); - } - - @Override - public SabertoothAlleyCat copy() { - return new SabertoothAlleyCat(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.AttacksEachTurnStaticAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect; +import mage.abilities.keyword.DefenderAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.AbilityPredicate; + +/** + * + * @author LevelX2 + */ +public class SabertoothAlleyCat extends CardImpl { + + public SabertoothAlleyCat(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{R}"); + + this.subtype.add(SubType.CAT); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // Sabertooth Alley Cat attacks each turn if able. + this.addAbility(new AttacksEachTurnStaticAbility()); + + // {1}{R}: Creatures without defender can't block Sabertooth Alley Cat this turn. + this.addAbility(new SimpleActivatedAbility( + Zone.BATTLEFIELD, + new CantBeBlockedByCreaturesSourceEffect( + (FilterCreaturePermanent) new FilterCreaturePermanent().add(Predicates.not(new AbilityPredicate(DefenderAbility.class))), + Duration.EndOfTurn + ) + .setText("Creatures without defender can't block {this} this turn"), + new ManaCostsImpl<>("{1}{R}"))); + } + + public SabertoothAlleyCat(final SabertoothAlleyCat card) { + super(card); + } + + @Override + public SabertoothAlleyCat copy() { + return new SabertoothAlleyCat(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SabertoothCobra.java b/Mage.Sets/src/mage/cards/s/SabertoothCobra.java index a54ba5278ba..dcd8f0f4b4a 100644 --- a/Mage.Sets/src/mage/cards/s/SabertoothCobra.java +++ b/Mage.Sets/src/mage/cards/s/SabertoothCobra.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddPoisonCounterTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; /** @@ -48,7 +49,7 @@ public class SabertoothCobra extends CardImpl { public SabertoothCobra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SabertoothNishoba.java b/Mage.Sets/src/mage/cards/s/SabertoothNishoba.java index 95e7daba0ce..83f2fb540da 100644 --- a/Mage.Sets/src/mage/cards/s/SabertoothNishoba.java +++ b/Mage.Sets/src/mage/cards/s/SabertoothNishoba.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,9 +45,9 @@ public class SabertoothNishoba extends CardImpl { public SabertoothNishoba(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Beast"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.BEAST); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SabertoothOutrider.java b/Mage.Sets/src/mage/cards/s/SabertoothOutrider.java index 36da07281e0..ac25f60d476 100644 --- a/Mage.Sets/src/mage/cards/s/SabertoothOutrider.java +++ b/Mage.Sets/src/mage/cards/s/SabertoothOutrider.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -48,8 +49,8 @@ public class SabertoothOutrider extends CardImpl { public SabertoothOutrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SabertoothWyvern.java b/Mage.Sets/src/mage/cards/s/SabertoothWyvern.java index 493be9610f8..3973f4326db 100644 --- a/Mage.Sets/src/mage/cards/s/SabertoothWyvern.java +++ b/Mage.Sets/src/mage/cards/s/SabertoothWyvern.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SabertoothWyvern extends CardImpl { public SabertoothWyvern(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SabretoothTiger.java b/Mage.Sets/src/mage/cards/s/SabretoothTiger.java index 740457ec301..8756a81394c 100644 --- a/Mage.Sets/src/mage/cards/s/SabretoothTiger.java +++ b/Mage.Sets/src/mage/cards/s/SabretoothTiger.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SabretoothTiger extends CardImpl { public SabretoothTiger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SacellumArchers.java b/Mage.Sets/src/mage/cards/s/SacellumArchers.java index ffd3341f75e..6741573beba 100644 --- a/Mage.Sets/src/mage/cards/s/SacellumArchers.java +++ b/Mage.Sets/src/mage/cards/s/SacellumArchers.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetAttackingOrBlockingCreature; @@ -48,8 +49,8 @@ public class SacellumArchers extends CardImpl { public SacellumArchers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SacellumGodspeaker.java b/Mage.Sets/src/mage/cards/s/SacellumGodspeaker.java index a6787788c61..f3bef8b1487 100644 --- a/Mage.Sets/src/mage/cards/s/SacellumGodspeaker.java +++ b/Mage.Sets/src/mage/cards/s/SacellumGodspeaker.java @@ -37,6 +37,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class SacellumGodspeaker extends CardImpl { public SacellumGodspeaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SachiDaughterOfSeshiro.java b/Mage.Sets/src/mage/cards/s/SachiDaughterOfSeshiro.java index d286eee0435..5606c2dfc10 100644 --- a/Mage.Sets/src/mage/cards/s/SachiDaughterOfSeshiro.java +++ b/Mage.Sets/src/mage/cards/s/SachiDaughterOfSeshiro.java @@ -58,8 +58,8 @@ public class SachiDaughterOfSeshiro extends CardImpl { public SachiDaughterOfSeshiro(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Snake"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SacredCat.java b/Mage.Sets/src/mage/cards/s/SacredCat.java index 8488133f67c..82393960489 100644 --- a/Mage.Sets/src/mage/cards/s/SacredCat.java +++ b/Mage.Sets/src/mage/cards/s/SacredCat.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class SacredCat extends CardImpl { public SacredCat(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SacredFoundry.java b/Mage.Sets/src/mage/cards/s/SacredFoundry.java index fe67493de16..9660140203a 100644 --- a/Mage.Sets/src/mage/cards/s/SacredFoundry.java +++ b/Mage.Sets/src/mage/cards/s/SacredFoundry.java @@ -37,6 +37,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class SacredFoundry extends CardImpl { public SacredFoundry (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},null); - this.subtype.add("Mountain"); - this.subtype.add("Plains"); + this.subtype.add(SubType.MOUNTAIN); + this.subtype.add(SubType.PLAINS); this.addAbility(new RedManaAbility()); this.addAbility(new WhiteManaAbility()); this.addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new PayLifeCost(2)), "you may pay 2 life. If you don't, {this} enters the battlefield tapped")); diff --git a/Mage.Sets/src/mage/cards/s/SacredGuide.java b/Mage.Sets/src/mage/cards/s/SacredGuide.java index 839c9229cff..b38e6e39a53 100644 --- a/Mage.Sets/src/mage/cards/s/SacredGuide.java +++ b/Mage.Sets/src/mage/cards/s/SacredGuide.java @@ -1,79 +1,80 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.ObjectColor; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.RevealCardsFromLibraryUntilEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.filter.FilterCard; -import mage.filter.predicate.mageobject.ColorPredicate; - -/** - * - * @author Styxo - */ -public class SacredGuide extends CardImpl { - - private static final FilterCard filterCard = new FilterCard("white card"); - - static { - filterCard.add(new ColorPredicate(ObjectColor.WHITE)); - } - - public SacredGuide(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}"); - - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.power = new MageInt(1); - 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.addCost(new SacrificeSourceCost()); - this.addAbility(ability); - } - - public SacredGuide(final SacredGuide card) { - super(card); - } - - @Override - public SacredGuide copy() { - return new SacredGuide(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.RevealCardsFromLibraryUntilEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.predicate.mageobject.ColorPredicate; + +/** + * + * @author Styxo + */ +public class SacredGuide extends CardImpl { + + private static final FilterCard filterCard = new FilterCard("white card"); + + static { + filterCard.add(new ColorPredicate(ObjectColor.WHITE)); + } + + public SacredGuide(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.power = new MageInt(1); + 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.addCost(new SacrificeSourceCost()); + this.addAbility(ability); + } + + public SacredGuide(final SacredGuide card) { + super(card); + } + + @Override + public SacredGuide copy() { + return new SacredGuide(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SacredKnight.java b/Mage.Sets/src/mage/cards/s/SacredKnight.java index 6a3063e9195..d144e190aaa 100644 --- a/Mage.Sets/src/mage/cards/s/SacredKnight.java +++ b/Mage.Sets/src/mage/cards/s/SacredKnight.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -55,8 +56,8 @@ public class SacredKnight extends CardImpl { public SacredKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SacredPrey.java b/Mage.Sets/src/mage/cards/s/SacredPrey.java index 4ad74ebd2d9..898f86517b6 100644 --- a/Mage.Sets/src/mage/cards/s/SacredPrey.java +++ b/Mage.Sets/src/mage/cards/s/SacredPrey.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SacredPrey extends CardImpl { public SacredPrey(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Horse"); + this.subtype.add(SubType.HORSE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SacredWolf.java b/Mage.Sets/src/mage/cards/s/SacredWolf.java index 976ae7428f1..c291bf2b6f9 100644 --- a/Mage.Sets/src/mage/cards/s/SacredWolf.java +++ b/Mage.Sets/src/mage/cards/s/SacredWolf.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ import mage.constants.CardType; public class SacredWolf extends CardImpl { public SacredWolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SaddlebackLagac.java b/Mage.Sets/src/mage/cards/s/SaddlebackLagac.java index d97ce0b07ad..f0144837d75 100644 --- a/Mage.Sets/src/mage/cards/s/SaddlebackLagac.java +++ b/Mage.Sets/src/mage/cards/s/SaddlebackLagac.java @@ -35,6 +35,7 @@ import mage.abilities.effects.keyword.SupportEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; import mage.target.common.TargetCreaturePermanent; @@ -53,7 +54,7 @@ public class SaddlebackLagac extends CardImpl { public SaddlebackLagac(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SadisticAugermage.java b/Mage.Sets/src/mage/cards/s/SadisticAugermage.java index 25512c88b5f..421b3f927c9 100644 --- a/Mage.Sets/src/mage/cards/s/SadisticAugermage.java +++ b/Mage.Sets/src/mage/cards/s/SadisticAugermage.java @@ -35,6 +35,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -49,8 +50,8 @@ public class SadisticAugermage extends CardImpl { public SadisticAugermage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SadisticGlee.java b/Mage.Sets/src/mage/cards/s/SadisticGlee.java index c75ca85cb84..4fa023acae0 100644 --- a/Mage.Sets/src/mage/cards/s/SadisticGlee.java +++ b/Mage.Sets/src/mage/cards/s/SadisticGlee.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class SadisticGlee extends CardImpl { public SadisticGlee(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SadisticHypnotist.java b/Mage.Sets/src/mage/cards/s/SadisticHypnotist.java index d4c8477e1c9..bc458bd6df0 100644 --- a/Mage.Sets/src/mage/cards/s/SadisticHypnotist.java +++ b/Mage.Sets/src/mage/cards/s/SadisticHypnotist.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.target.TargetPlayer; @@ -50,8 +51,8 @@ public class SadisticHypnotist extends CardImpl { public SadisticHypnotist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Minion"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MINION); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SafeholdDuo.java b/Mage.Sets/src/mage/cards/s/SafeholdDuo.java index 9872a269eed..1a36bf7125f 100644 --- a/Mage.Sets/src/mage/cards/s/SafeholdDuo.java +++ b/Mage.Sets/src/mage/cards/s/SafeholdDuo.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,9 +58,9 @@ public class SafeholdDuo extends CardImpl { public SafeholdDuo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G/W}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SafeholdElite.java b/Mage.Sets/src/mage/cards/s/SafeholdElite.java index f506f9e9916..7aa88773bd7 100644 --- a/Mage.Sets/src/mage/cards/s/SafeholdElite.java +++ b/Mage.Sets/src/mage/cards/s/SafeholdElite.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.PersistAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class SafeholdElite extends CardImpl { public SafeholdElite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G/W}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SafeholdSentry.java b/Mage.Sets/src/mage/cards/s/SafeholdSentry.java index 5c4cbe385d9..42fbcceabff 100644 --- a/Mage.Sets/src/mage/cards/s/SafeholdSentry.java +++ b/Mage.Sets/src/mage/cards/s/SafeholdSentry.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class SafeholdSentry extends CardImpl { public SafeholdSentry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SaffiEriksdotter.java b/Mage.Sets/src/mage/cards/s/SaffiEriksdotter.java index 4bf488fcd0a..e36a4787cc3 100644 --- a/Mage.Sets/src/mage/cards/s/SaffiEriksdotter.java +++ b/Mage.Sets/src/mage/cards/s/SaffiEriksdotter.java @@ -56,8 +56,8 @@ public class SaffiEriksdotter extends CardImpl { public SaffiEriksdotter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SageAven.java b/Mage.Sets/src/mage/cards/s/SageAven.java index 98e993f508e..55699c67f01 100644 --- a/Mage.Sets/src/mage/cards/s/SageAven.java +++ b/Mage.Sets/src/mage/cards/s/SageAven.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SageAven extends CardImpl { public SageAven(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SageEyeAvengers.java b/Mage.Sets/src/mage/cards/s/SageEyeAvengers.java index 08b9af5cb07..35f640932d0 100644 --- a/Mage.Sets/src/mage/cards/s/SageEyeAvengers.java +++ b/Mage.Sets/src/mage/cards/s/SageEyeAvengers.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -52,8 +53,8 @@ public class SageEyeAvengers extends CardImpl { public SageEyeAvengers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Djinn"); - this.subtype.add("Monk"); + this.subtype.add(SubType.DJINN); + this.subtype.add(SubType.MONK); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SageEyeHarrier.java b/Mage.Sets/src/mage/cards/s/SageEyeHarrier.java index 6c9feab77c3..a4777f39b8a 100644 --- a/Mage.Sets/src/mage/cards/s/SageEyeHarrier.java +++ b/Mage.Sets/src/mage/cards/s/SageEyeHarrier.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SageEyeHarrier extends CardImpl { public SageEyeHarrier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SageOfAncientLore.java b/Mage.Sets/src/mage/cards/s/SageOfAncientLore.java index 9abea07beb5..9cd65a6bb5d 100644 --- a/Mage.Sets/src/mage/cards/s/SageOfAncientLore.java +++ b/Mage.Sets/src/mage/cards/s/SageOfAncientLore.java @@ -47,6 +47,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.w.WerewolfOfAncientHunger; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -59,9 +60,9 @@ public class SageOfAncientLore extends CardImpl { public SageOfAncientLore(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SageOfEpityr.java b/Mage.Sets/src/mage/cards/s/SageOfEpityr.java index 63b2fa19078..1051b9f4ef8 100644 --- a/Mage.Sets/src/mage/cards/s/SageOfEpityr.java +++ b/Mage.Sets/src/mage/cards/s/SageOfEpityr.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.LookLibraryControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SageOfEpityr extends CardImpl { public SageOfEpityr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SageOfFables.java b/Mage.Sets/src/mage/cards/s/SageOfFables.java index 9b2e285008e..56826aedb9d 100644 --- a/Mage.Sets/src/mage/cards/s/SageOfFables.java +++ b/Mage.Sets/src/mage/cards/s/SageOfFables.java @@ -54,8 +54,8 @@ public class SageOfFables extends CardImpl { public SageOfFables(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SageOfHours.java b/Mage.Sets/src/mage/cards/s/SageOfHours.java index 268c0264938..8450aea4611 100644 --- a/Mage.Sets/src/mage/cards/s/SageOfHours.java +++ b/Mage.Sets/src/mage/cards/s/SageOfHours.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -56,8 +57,8 @@ public class SageOfHours extends CardImpl { public SageOfHours(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SageOfLatNam.java b/Mage.Sets/src/mage/cards/s/SageOfLatNam.java index e6a7100773c..40a38438dda 100644 --- a/Mage.Sets/src/mage/cards/s/SageOfLatNam.java +++ b/Mage.Sets/src/mage/cards/s/SageOfLatNam.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -57,8 +58,8 @@ public class SageOfLatNam extends CardImpl { public SageOfLatNam(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SageOfShailasClaim.java b/Mage.Sets/src/mage/cards/s/SageOfShailasClaim.java index b11eb933115..a755a0ae11f 100644 --- a/Mage.Sets/src/mage/cards/s/SageOfShailasClaim.java +++ b/Mage.Sets/src/mage/cards/s/SageOfShailasClaim.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SageOfShailasClaim extends CardImpl { public SageOfShailasClaim(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SageOfTheInwardEye.java b/Mage.Sets/src/mage/cards/s/SageOfTheInwardEye.java index 2ecc1e1608b..9478b4c7705 100644 --- a/Mage.Sets/src/mage/cards/s/SageOfTheInwardEye.java +++ b/Mage.Sets/src/mage/cards/s/SageOfTheInwardEye.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.StaticFilters; @@ -56,8 +57,8 @@ public class SageOfTheInwardEye extends CardImpl { public SageOfTheInwardEye(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{R}{W}"); - this.subtype.add("Djinn"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.DJINN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SageOwl.java b/Mage.Sets/src/mage/cards/s/SageOwl.java index 9425915aa92..819319f6827 100644 --- a/Mage.Sets/src/mage/cards/s/SageOwl.java +++ b/Mage.Sets/src/mage/cards/s/SageOwl.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class SageOwl extends CardImpl { public SageOwl(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SagesDousing.java b/Mage.Sets/src/mage/cards/s/SagesDousing.java index 6002c3f3264..ebf648edfdc 100644 --- a/Mage.Sets/src/mage/cards/s/SagesDousing.java +++ b/Mage.Sets/src/mage/cards/s/SagesDousing.java @@ -55,7 +55,7 @@ public class SagesDousing extends CardImpl { public SagesDousing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{2}{U}"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.WIZARD); // Counter target spell unless its controller pays {3}. this.getSpellAbility().addTarget(new TargetSpell()); diff --git a/Mage.Sets/src/mage/cards/s/SagesOfTheAnima.java b/Mage.Sets/src/mage/cards/s/SagesOfTheAnima.java index df436d3d8a4..32e5191c0a0 100644 --- a/Mage.Sets/src/mage/cards/s/SagesOfTheAnima.java +++ b/Mage.Sets/src/mage/cards/s/SagesOfTheAnima.java @@ -38,6 +38,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class SagesOfTheAnima extends CardImpl { public SagesOfTheAnima(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{U}"); - this.subtype.add("Elf"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SagesReverie.java b/Mage.Sets/src/mage/cards/s/SagesReverie.java index b1087b37cbf..de1bdbe045e 100644 --- a/Mage.Sets/src/mage/cards/s/SagesReverie.java +++ b/Mage.Sets/src/mage/cards/s/SagesReverie.java @@ -64,7 +64,7 @@ public class SagesReverie extends CardImpl { public SagesReverie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SagesRowDenizen.java b/Mage.Sets/src/mage/cards/s/SagesRowDenizen.java index ce0d9a83eec..abf3e87ca92 100644 --- a/Mage.Sets/src/mage/cards/s/SagesRowDenizen.java +++ b/Mage.Sets/src/mage/cards/s/SagesRowDenizen.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -60,8 +61,8 @@ public class SagesRowDenizen extends CardImpl { public SagesRowDenizen(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SaguArcher.java b/Mage.Sets/src/mage/cards/s/SaguArcher.java index 60e5bb92600..9579e6de8a5 100644 --- a/Mage.Sets/src/mage/cards/s/SaguArcher.java +++ b/Mage.Sets/src/mage/cards/s/SaguArcher.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SaguArcher extends CardImpl { public SaguArcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Naga"); - this.subtype.add("Archer"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SaguMauler.java b/Mage.Sets/src/mage/cards/s/SaguMauler.java index 107a8d2bfdd..f5e935b053e 100644 --- a/Mage.Sets/src/mage/cards/s/SaguMauler.java +++ b/Mage.Sets/src/mage/cards/s/SaguMauler.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class SaguMauler extends CardImpl { public SaguMauler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SaheeliRai.java b/Mage.Sets/src/mage/cards/s/SaheeliRai.java index b6528ecbf6c..0c6e1fb8034 100644 --- a/Mage.Sets/src/mage/cards/s/SaheeliRai.java +++ b/Mage.Sets/src/mage/cards/s/SaheeliRai.java @@ -45,6 +45,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.TargetController; @@ -65,7 +66,7 @@ public class SaheeliRai extends CardImpl { public SaheeliRai(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{1}{U}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Saheeli"); + this.subtype.add(SubType.SAHEELI); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/s/SaiOfTheShinobi.java b/Mage.Sets/src/mage/cards/s/SaiOfTheShinobi.java index dc5508dd14a..f1984e6a361 100644 --- a/Mage.Sets/src/mage/cards/s/SaiOfTheShinobi.java +++ b/Mage.Sets/src/mage/cards/s/SaiOfTheShinobi.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.constants.TargetController; @@ -58,7 +59,7 @@ public class SaiOfTheShinobi extends CardImpl { public SaiOfTheShinobi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1))); diff --git a/Mage.Sets/src/mage/cards/s/SakashimaTheImpostor.java b/Mage.Sets/src/mage/cards/s/SakashimaTheImpostor.java index 98785b1e95c..33196bb4ea0 100644 --- a/Mage.Sets/src/mage/cards/s/SakashimaTheImpostor.java +++ b/Mage.Sets/src/mage/cards/s/SakashimaTheImpostor.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -57,8 +58,8 @@ public class SakashimaTheImpostor extends CardImpl { public SakashimaTheImpostor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SakashimasStudent.java b/Mage.Sets/src/mage/cards/s/SakashimasStudent.java index ed9d55ee2b3..be2ff871875 100644 --- a/Mage.Sets/src/mage/cards/s/SakashimasStudent.java +++ b/Mage.Sets/src/mage/cards/s/SakashimasStudent.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.NinjutsuAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.util.functions.AddSubtypeApplier; @@ -48,8 +49,8 @@ public class SakashimasStudent extends CardImpl { public SakashimasStudent(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Ninja"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NINJA); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SakikoMotherOfSummer.java b/Mage.Sets/src/mage/cards/s/SakikoMotherOfSummer.java index d6040dac150..7a0e78f7f87 100644 --- a/Mage.Sets/src/mage/cards/s/SakikoMotherOfSummer.java +++ b/Mage.Sets/src/mage/cards/s/SakikoMotherOfSummer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.AddManaToManaPoolTargetControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.game.Game; @@ -54,8 +55,8 @@ public class SakikoMotherOfSummer extends CardImpl { public SakikoMotherOfSummer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Snake"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SakuraTribeElder.java b/Mage.Sets/src/mage/cards/s/SakuraTribeElder.java index dc83ff1fc05..eeb180cff79 100644 --- a/Mage.Sets/src/mage/cards/s/SakuraTribeElder.java +++ b/Mage.Sets/src/mage/cards/s/SakuraTribeElder.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -49,8 +50,8 @@ public class SakuraTribeElder extends CardImpl { public SakuraTribeElder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Snake"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SakuraTribeScout.java b/Mage.Sets/src/mage/cards/s/SakuraTribeScout.java index 8c911bfd1b5..0104db981fd 100644 --- a/Mage.Sets/src/mage/cards/s/SakuraTribeScout.java +++ b/Mage.Sets/src/mage/cards/s/SakuraTribeScout.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PutLandFromHandOntoBattlefieldEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,9 +46,9 @@ public class SakuraTribeScout extends CardImpl { public SakuraTribeScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Snake"); - this.subtype.add("Shaman"); - this.subtype.add("Scout"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.SHAMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SakuraTribeSpringcaller.java b/Mage.Sets/src/mage/cards/s/SakuraTribeSpringcaller.java index e158723baa5..5ab7eb327c3 100644 --- a/Mage.Sets/src/mage/cards/s/SakuraTribeSpringcaller.java +++ b/Mage.Sets/src/mage/cards/s/SakuraTribeSpringcaller.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.AddManaToManaPoolTargetControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class SakuraTribeSpringcaller extends CardImpl { public SakuraTribeSpringcaller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Snake"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SalivatingGremlins.java b/Mage.Sets/src/mage/cards/s/SalivatingGremlins.java index 37b33a5ca16..3dc8196838d 100644 --- a/Mage.Sets/src/mage/cards/s/SalivatingGremlins.java +++ b/Mage.Sets/src/mage/cards/s/SalivatingGremlins.java @@ -1,77 +1,78 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; -import mage.abilities.keyword.TrampleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.filter.common.FilterControlledArtifactPermanent; - -/** - * - * @author LevelX2 - */ -public class SalivatingGremlins extends CardImpl { - - public SalivatingGremlins(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Gremlin"); - this.power = new MageInt(2); - this.toughness = new MageInt(3); - - // Whenever an artifact enters the battlefield under your control, Salivating Gremlins gets +2/+0 and gains trample until end of turn. - Effect effect = new BoostSourceEffect(2, 0, Duration.EndOfTurn); - effect.setText("{this} gets +2/+0"); - Ability ability = new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, - effect, - new FilterControlledArtifactPermanent("an artifact"), false, null, true); - effect = new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn); - effect.setText("and gains trample until end of turn"); - ability.addEffect(effect); - this.addAbility(ability); - } - - public SalivatingGremlins(final SalivatingGremlins card) { - super(card); - } - - @Override - public SalivatingGremlins copy() { - return new SalivatingGremlins(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.filter.common.FilterControlledArtifactPermanent; + +/** + * + * @author LevelX2 + */ +public class SalivatingGremlins extends CardImpl { + + public SalivatingGremlins(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); + this.subtype.add(SubType.GREMLIN); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Whenever an artifact enters the battlefield under your control, Salivating Gremlins gets +2/+0 and gains trample until end of turn. + Effect effect = new BoostSourceEffect(2, 0, Duration.EndOfTurn); + effect.setText("{this} gets +2/+0"); + Ability ability = new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, + effect, + new FilterControlledArtifactPermanent("an artifact"), false, null, true); + effect = new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn); + effect.setText("and gains trample until end of turn"); + ability.addEffect(effect); + this.addAbility(ability); + } + + public SalivatingGremlins(final SalivatingGremlins card) { + super(card); + } + + @Override + public SalivatingGremlins copy() { + return new SalivatingGremlins(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SaltRoadAmbushers.java b/Mage.Sets/src/mage/cards/s/SaltRoadAmbushers.java index 457d5efde66..da151c02125 100644 --- a/Mage.Sets/src/mage/cards/s/SaltRoadAmbushers.java +++ b/Mage.Sets/src/mage/cards/s/SaltRoadAmbushers.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -48,8 +49,8 @@ public class SaltRoadAmbushers extends CardImpl { public SaltRoadAmbushers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Hound"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HOUND); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SaltRoadPatrol.java b/Mage.Sets/src/mage/cards/s/SaltRoadPatrol.java index 42b74302cc8..0dd7b65c23e 100644 --- a/Mage.Sets/src/mage/cards/s/SaltRoadPatrol.java +++ b/Mage.Sets/src/mage/cards/s/SaltRoadPatrol.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.OutlastAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SaltRoadPatrol extends CardImpl { public SaltRoadPatrol(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SaltRoadQuartermasters.java b/Mage.Sets/src/mage/cards/s/SaltRoadQuartermasters.java index 16af5d9ceb9..ba96bd420e2 100644 --- a/Mage.Sets/src/mage/cards/s/SaltRoadQuartermasters.java +++ b/Mage.Sets/src/mage/cards/s/SaltRoadQuartermasters.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -51,8 +52,8 @@ public class SaltRoadQuartermasters extends CardImpl { public SaltRoadQuartermasters(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SaltfieldRecluse.java b/Mage.Sets/src/mage/cards/s/SaltfieldRecluse.java index a2638f90e46..38e26b71c88 100644 --- a/Mage.Sets/src/mage/cards/s/SaltfieldRecluse.java +++ b/Mage.Sets/src/mage/cards/s/SaltfieldRecluse.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,9 +49,9 @@ public class SaltfieldRecluse extends CardImpl { public SaltfieldRecluse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Saltskitter.java b/Mage.Sets/src/mage/cards/s/Saltskitter.java index 05cc2f78303..9119fb52647 100644 --- a/Mage.Sets/src/mage/cards/s/Saltskitter.java +++ b/Mage.Sets/src/mage/cards/s/Saltskitter.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ExileReturnBattlefieldOwnerNextEndStepSourc import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -52,7 +53,7 @@ public class Saltskitter extends CardImpl { public Saltskitter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SalvageDrone.java b/Mage.Sets/src/mage/cards/s/SalvageDrone.java index 5b429e2e104..a289ddd144d 100644 --- a/Mage.Sets/src/mage/cards/s/SalvageDrone.java +++ b/Mage.Sets/src/mage/cards/s/SalvageDrone.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.IngestAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class SalvageDrone extends CardImpl { public SalvageDrone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SalvageScout.java b/Mage.Sets/src/mage/cards/s/SalvageScout.java index 85e56f06d82..cda981cd03d 100644 --- a/Mage.Sets/src/mage/cards/s/SalvageScout.java +++ b/Mage.Sets/src/mage/cards/s/SalvageScout.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterArtifactCard; import mage.target.common.TargetCardInYourGraveyard; @@ -49,8 +50,8 @@ public class SalvageScout extends CardImpl { public SalvageScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SalvageScuttler.java b/Mage.Sets/src/mage/cards/s/SalvageScuttler.java index 457416c9add..a55fb5eb2fe 100644 --- a/Mage.Sets/src/mage/cards/s/SalvageScuttler.java +++ b/Mage.Sets/src/mage/cards/s/SalvageScuttler.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledArtifactPermanent; import mage.target.common.TargetControlledPermanent; @@ -47,7 +48,7 @@ public class SalvageScuttler extends CardImpl { public SalvageScuttler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}"); - this.subtype.add("Crab"); + this.subtype.add(SubType.CRAB); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SalvageSlasher.java b/Mage.Sets/src/mage/cards/s/SalvageSlasher.java index 63aad93ea1f..f9e4bb46a76 100644 --- a/Mage.Sets/src/mage/cards/s/SalvageSlasher.java +++ b/Mage.Sets/src/mage/cards/s/SalvageSlasher.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterArtifactCard; @@ -48,8 +49,8 @@ public class SalvageSlasher extends CardImpl { public SalvageSlasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SalvageSquad.java b/Mage.Sets/src/mage/cards/s/SalvageSquad.java index 86fbdf65150..c09322734ef 100644 --- a/Mage.Sets/src/mage/cards/s/SalvageSquad.java +++ b/Mage.Sets/src/mage/cards/s/SalvageSquad.java @@ -1,70 +1,71 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.costs.common.SacrificeTargetCost; -import mage.abilities.effects.common.DoIfCostPaid; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.effects.common.GainLifeEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.common.FilterControlledArtifactPermanent; -import mage.target.common.TargetControlledPermanent; - -/** - * - * @author Styxo - */ -public class SalvageSquad extends CardImpl { - - public SalvageSquad(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{U}{B}"); - this.subtype.add("Jawa"); - this.subtype.add("Artificier"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // When you Salvage Squad enters the battlefied, you may sacrifice an artifact. If you do, you gain 2 life and draw two cards. - DoIfCostPaid effect = new DoIfCostPaid(new GainLifeEffect(2), new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledArtifactPermanent()))); - effect.addEffect(new DrawCardSourceControllerEffect(2)); - this.addAbility(new EntersBattlefieldTriggeredAbility(effect)); - } - - public SalvageSquad(final SalvageSquad card) { - super(card); - } - - @Override - public SalvageSquad copy() { - return new SalvageSquad(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.common.FilterControlledArtifactPermanent; +import mage.target.common.TargetControlledPermanent; + +/** + * + * @author Styxo + */ +public class SalvageSquad extends CardImpl { + + public SalvageSquad(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{U}{B}"); + this.subtype.add(SubType.JAWA); + this.subtype.add(SubType.ARTIFICIER); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // When you Salvage Squad enters the battlefied, you may sacrifice an artifact. If you do, you gain 2 life and draw two cards. + DoIfCostPaid effect = new DoIfCostPaid(new GainLifeEffect(2), new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledArtifactPermanent()))); + effect.addEffect(new DrawCardSourceControllerEffect(2)); + this.addAbility(new EntersBattlefieldTriggeredAbility(effect)); + } + + public SalvageSquad(final SalvageSquad card) { + super(card); + } + + @Override + public SalvageSquad copy() { + return new SalvageSquad(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SalvageTitan.java b/Mage.Sets/src/mage/cards/s/SalvageTitan.java index 569865e9ee2..94eccba6eea 100644 --- a/Mage.Sets/src/mage/cards/s/SalvageTitan.java +++ b/Mage.Sets/src/mage/cards/s/SalvageTitan.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterArtifactCard; import mage.filter.common.FilterControlledArtifactPermanent; @@ -51,7 +52,7 @@ public class SalvageTitan extends CardImpl { public SalvageTitan(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}{B}{B}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SamiteArcher.java b/Mage.Sets/src/mage/cards/s/SamiteArcher.java index 27eeefddc52..8337fb9361d 100644 --- a/Mage.Sets/src/mage/cards/s/SamiteArcher.java +++ b/Mage.Sets/src/mage/cards/s/SamiteArcher.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -50,9 +51,9 @@ public class SamiteArcher extends CardImpl { public SamiteArcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SamiteElder.java b/Mage.Sets/src/mage/cards/s/SamiteElder.java index 457c8c5319d..50e502ac6bc 100644 --- a/Mage.Sets/src/mage/cards/s/SamiteElder.java +++ b/Mage.Sets/src/mage/cards/s/SamiteElder.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class SamiteElder extends CardImpl { public SamiteElder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SamiteHealer.java b/Mage.Sets/src/mage/cards/s/SamiteHealer.java index bc7719431d2..6d0ca020466 100644 --- a/Mage.Sets/src/mage/cards/s/SamiteHealer.java +++ b/Mage.Sets/src/mage/cards/s/SamiteHealer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class SamiteHealer extends CardImpl { public SamiteHealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SamitePilgrim.java b/Mage.Sets/src/mage/cards/s/SamitePilgrim.java index 044dd10d1b6..ab148f89a2d 100644 --- a/Mage.Sets/src/mage/cards/s/SamitePilgrim.java +++ b/Mage.Sets/src/mage/cards/s/SamitePilgrim.java @@ -49,8 +49,8 @@ public class SamitePilgrim extends CardImpl { public SamitePilgrim(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SamuraiEnforcers.java b/Mage.Sets/src/mage/cards/s/SamuraiEnforcers.java index 3438ee3cf3b..bb687732e0b 100644 --- a/Mage.Sets/src/mage/cards/s/SamuraiEnforcers.java +++ b/Mage.Sets/src/mage/cards/s/SamuraiEnforcers.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.BushidoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SamuraiEnforcers extends CardImpl { public SamuraiEnforcers (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SamuraiOfThePaleCurtain.java b/Mage.Sets/src/mage/cards/s/SamuraiOfThePaleCurtain.java index 26dafc4aabd..d8278427749 100644 --- a/Mage.Sets/src/mage/cards/s/SamuraiOfThePaleCurtain.java +++ b/Mage.Sets/src/mage/cards/s/SamuraiOfThePaleCurtain.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.BushidoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class SamuraiOfThePaleCurtain extends CardImpl { public SamuraiOfThePaleCurtain (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Fox"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.FOX); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SamutTheTested.java b/Mage.Sets/src/mage/cards/s/SamutTheTested.java index ccd24be1f40..697df0fdfcc 100644 --- a/Mage.Sets/src/mage/cards/s/SamutTheTested.java +++ b/Mage.Sets/src/mage/cards/s/SamutTheTested.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.filter.FilterCard; @@ -55,7 +56,7 @@ public class SamutTheTested extends CardImpl { public SamutTheTested(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Samut"); + this.subtype.add(SubType.SAMUT); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/s/SamutVoiceOfDissent.java b/Mage.Sets/src/mage/cards/s/SamutVoiceOfDissent.java index 7c89aa918b2..3c651235561 100644 --- a/Mage.Sets/src/mage/cards/s/SamutVoiceOfDissent.java +++ b/Mage.Sets/src/mage/cards/s/SamutVoiceOfDissent.java @@ -1,107 +1,108 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.UntapTargetEffect; -import mage.abilities.effects.common.continuous.GainAbilityAllEffect; -import mage.abilities.keyword.DoubleStrikeAbility; -import mage.abilities.keyword.FlashAbility; -import mage.abilities.keyword.HasteAbility; -import mage.abilities.keyword.VigilanceAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SuperType; -import mage.constants.Zone; -import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.AnotherPredicate; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author jeffwadsworth - */ -public class SamutVoiceOfDissent extends CardImpl { - - private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Other creatures you control"); - private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent("another target creature"); - - static { - filter.add(new AnotherPredicate()); - filter2.add(new AnotherPredicate()); - } - - public SamutVoiceOfDissent(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{G}"); - addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); - this.power = new MageInt(3); - this.toughness = new MageInt(4); - - // Flash - this.addAbility(FlashAbility.getInstance()); - - //Double strike - this.addAbility(DoubleStrikeAbility.getInstance()); - - //vigilance - this.addAbility(VigilanceAbility.getInstance()); - - //haste - this.addAbility(HasteAbility.getInstance()); - - //Other creatures you control have haste. - 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.addTarget(new TargetCreaturePermanent(filter2)); - ability.addCost(new TapSourceCost()); - this.addAbility(ability); - - } - - public SamutVoiceOfDissent(final SamutVoiceOfDissent card) { - super(card); - } - - @Override - public SamutVoiceOfDissent copy() { - return new SamutVoiceOfDissent(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.UntapTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityAllEffect; +import mage.abilities.keyword.DoubleStrikeAbility; +import mage.abilities.keyword.FlashAbility; +import mage.abilities.keyword.HasteAbility; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.SuperType; +import mage.constants.Zone; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.AnotherPredicate; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author jeffwadsworth + */ +public class SamutVoiceOfDissent extends CardImpl { + + private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("Other creatures you control"); + private static final FilterCreaturePermanent filter2 = new FilterCreaturePermanent("another target creature"); + + static { + filter.add(new AnotherPredicate()); + filter2.add(new AnotherPredicate()); + } + + public SamutVoiceOfDissent(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{G}"); + addSuperType(SuperType.LEGENDARY); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + // Flash + this.addAbility(FlashAbility.getInstance()); + + //Double strike + this.addAbility(DoubleStrikeAbility.getInstance()); + + //vigilance + this.addAbility(VigilanceAbility.getInstance()); + + //haste + this.addAbility(HasteAbility.getInstance()); + + //Other creatures you control have haste. + 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.addTarget(new TargetCreaturePermanent(filter2)); + ability.addCost(new TapSourceCost()); + this.addAbility(ability); + + } + + public SamutVoiceOfDissent(final SamutVoiceOfDissent card) { + super(card); + } + + @Override + public SamutVoiceOfDissent copy() { + return new SamutVoiceOfDissent(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SanctifierOfSouls.java b/Mage.Sets/src/mage/cards/s/SanctifierOfSouls.java index 75e9f3d2f13..a85a6caba3f 100644 --- a/Mage.Sets/src/mage/cards/s/SanctifierOfSouls.java +++ b/Mage.Sets/src/mage/cards/s/SanctifierOfSouls.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -61,8 +62,8 @@ public class SanctifierOfSouls extends CardImpl { public SanctifierOfSouls(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SanctuaryCat.java b/Mage.Sets/src/mage/cards/s/SanctuaryCat.java index 0923a84871f..6a0b5cfedbb 100644 --- a/Mage.Sets/src/mage/cards/s/SanctuaryCat.java +++ b/Mage.Sets/src/mage/cards/s/SanctuaryCat.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class SanctuaryCat extends CardImpl { public SanctuaryCat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SanctumCustodian.java b/Mage.Sets/src/mage/cards/s/SanctumCustodian.java index e46660da66c..7446fef12d5 100644 --- a/Mage.Sets/src/mage/cards/s/SanctumCustodian.java +++ b/Mage.Sets/src/mage/cards/s/SanctumCustodian.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class SanctumCustodian extends CardImpl { public SanctumCustodian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SanctumGargoyle.java b/Mage.Sets/src/mage/cards/s/SanctumGargoyle.java index 6a128b96257..56734a82ed2 100644 --- a/Mage.Sets/src/mage/cards/s/SanctumGargoyle.java +++ b/Mage.Sets/src/mage/cards/s/SanctumGargoyle.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactCard; import mage.target.common.TargetCardInYourGraveyard; @@ -47,7 +48,7 @@ public class SanctumGargoyle extends CardImpl { public SanctumGargoyle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{W}"); - this.subtype.add("Gargoyle"); + this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SanctumGuardian.java b/Mage.Sets/src/mage/cards/s/SanctumGuardian.java index 10258321a9d..a7f2611e36f 100644 --- a/Mage.Sets/src/mage/cards/s/SanctumGuardian.java +++ b/Mage.Sets/src/mage/cards/s/SanctumGuardian.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventNextDamageFromChosenSourceToTargetEf import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class SanctumGuardian extends CardImpl { public SanctumGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SanctumPlowbeast.java b/Mage.Sets/src/mage/cards/s/SanctumPlowbeast.java index 9d03d9193c5..46a64e0c6b8 100644 --- a/Mage.Sets/src/mage/cards/s/SanctumPlowbeast.java +++ b/Mage.Sets/src/mage/cards/s/SanctumPlowbeast.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.PlainscyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class SanctumPlowbeast extends CardImpl { public SanctumPlowbeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{W}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); diff --git a/Mage.Sets/src/mage/cards/s/SanctumPrelate.java b/Mage.Sets/src/mage/cards/s/SanctumPrelate.java index 7a3894c198f..a8a494b1199 100644 --- a/Mage.Sets/src/mage/cards/s/SanctumPrelate.java +++ b/Mage.Sets/src/mage/cards/s/SanctumPrelate.java @@ -52,8 +52,8 @@ public class SanctumPrelate extends CardImpl { public SanctumPrelate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SanctumSeeker.java b/Mage.Sets/src/mage/cards/s/SanctumSeeker.java index 3b526974b15..ec8e8d81f64 100644 --- a/Mage.Sets/src/mage/cards/s/SanctumSeeker.java +++ b/Mage.Sets/src/mage/cards/s/SanctumSeeker.java @@ -56,8 +56,8 @@ public class SanctumSeeker extends CardImpl { public SanctumSeeker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Knight"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SandSquid.java b/Mage.Sets/src/mage/cards/s/SandSquid.java index ba5409df29e..0ab60a12b35 100644 --- a/Mage.Sets/src/mage/cards/s/SandSquid.java +++ b/Mage.Sets/src/mage/cards/s/SandSquid.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class SandSquid extends CardImpl { public SandSquid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Squid"); - this.subtype.add("Beast"); + this.subtype.add(SubType.SQUID); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SandStrangler.java b/Mage.Sets/src/mage/cards/s/SandStrangler.java index 3b9dac7e93b..dd771c5eadf 100644 --- a/Mage.Sets/src/mage/cards/s/SandStrangler.java +++ b/Mage.Sets/src/mage/cards/s/SandStrangler.java @@ -62,7 +62,7 @@ public class SandStrangler extends CardImpl { public SandStrangler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SandTrooper.java b/Mage.Sets/src/mage/cards/s/SandTrooper.java index d49e7f96694..a3c145e6db0 100644 --- a/Mage.Sets/src/mage/cards/s/SandTrooper.java +++ b/Mage.Sets/src/mage/cards/s/SandTrooper.java @@ -1,76 +1,76 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; -import mage.abilities.keyword.VigilanceAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; - -/** - * - * @author Styxo - */ -public class SandTrooper extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Trooper creatures"); - - static { - filter.add(new SubtypePredicate(SubType.TROOPER )); - } - - public SandTrooper(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Trooper"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Trooper creatures you control have vigilance. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, filter, false))); - - } - - public SandTrooper(final SandTrooper card) { - super(card); - } - - @Override - public SandTrooper copy() { - return new SandTrooper(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; + +/** + * + * @author Styxo + */ +public class SandTrooper extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Trooper creatures"); + + static { + filter.add(new SubtypePredicate(SubType.TROOPER )); + } + + public SandTrooper(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.TROOPER); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Trooper creatures you control have vigilance. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(VigilanceAbility.getInstance(), Duration.WhileOnBattlefield, filter, false))); + + } + + public SandTrooper(final SandTrooper card) { + super(card); + } + + @Override + public SandTrooper copy() { + return new SandTrooper(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SandbarCrocodile.java b/Mage.Sets/src/mage/cards/s/SandbarCrocodile.java index e67e35bffd0..ed05ab8a3f6 100644 --- a/Mage.Sets/src/mage/cards/s/SandbarCrocodile.java +++ b/Mage.Sets/src/mage/cards/s/SandbarCrocodile.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.PhasingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SandbarCrocodile extends CardImpl { public SandbarCrocodile(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Crocodile"); + this.subtype.add(SubType.CROCODILE); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SandbarMerfolk.java b/Mage.Sets/src/mage/cards/s/SandbarMerfolk.java index 81b21057b04..20ce7350aa5 100644 --- a/Mage.Sets/src/mage/cards/s/SandbarMerfolk.java +++ b/Mage.Sets/src/mage/cards/s/SandbarMerfolk.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SandbarMerfolk extends CardImpl { public SandbarMerfolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SandbarSerpent.java b/Mage.Sets/src/mage/cards/s/SandbarSerpent.java index 61d6cbd1d08..88f09ccc7ab 100644 --- a/Mage.Sets/src/mage/cards/s/SandbarSerpent.java +++ b/Mage.Sets/src/mage/cards/s/SandbarSerpent.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SandbarSerpent extends CardImpl { public SandbarSerpent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SandcrafterMage.java b/Mage.Sets/src/mage/cards/s/SandcrafterMage.java index 47d2ec24998..00be295b721 100644 --- a/Mage.Sets/src/mage/cards/s/SandcrafterMage.java +++ b/Mage.Sets/src/mage/cards/s/SandcrafterMage.java @@ -34,6 +34,7 @@ import mage.abilities.effects.keyword.BolsterEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SandcrafterMage extends CardImpl { public SandcrafterMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Sandsower.java b/Mage.Sets/src/mage/cards/s/Sandsower.java index 6f1a6b098e1..a705bb4c50b 100644 --- a/Mage.Sets/src/mage/cards/s/Sandsower.java +++ b/Mage.Sets/src/mage/cards/s/Sandsower.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -57,7 +58,7 @@ public class Sandsower extends CardImpl { public Sandsower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SandsteppeMastodon.java b/Mage.Sets/src/mage/cards/s/SandsteppeMastodon.java index ea9e0a8a19c..56ab505d3a6 100644 --- a/Mage.Sets/src/mage/cards/s/SandsteppeMastodon.java +++ b/Mage.Sets/src/mage/cards/s/SandsteppeMastodon.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class SandsteppeMastodon extends CardImpl { public SandsteppeMastodon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SandsteppeOutcast.java b/Mage.Sets/src/mage/cards/s/SandsteppeOutcast.java index ec798c25405..14921b1073c 100644 --- a/Mage.Sets/src/mage/cards/s/SandsteppeOutcast.java +++ b/Mage.Sets/src/mage/cards/s/SandsteppeOutcast.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.game.permanent.token.SpiritWhiteToken; @@ -48,8 +49,8 @@ public class SandsteppeOutcast extends CardImpl { public SandsteppeOutcast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SandsteppeScavenger.java b/Mage.Sets/src/mage/cards/s/SandsteppeScavenger.java index 34dee98b4c5..b4cc643ec95 100644 --- a/Mage.Sets/src/mage/cards/s/SandsteppeScavenger.java +++ b/Mage.Sets/src/mage/cards/s/SandsteppeScavenger.java @@ -34,6 +34,7 @@ import mage.abilities.effects.keyword.BolsterEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SandsteppeScavenger extends CardImpl { public SandsteppeScavenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Hound"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HOUND); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SandstoneOracle.java b/Mage.Sets/src/mage/cards/s/SandstoneOracle.java index fddb27cf9dd..ce3bd747747 100644 --- a/Mage.Sets/src/mage/cards/s/SandstoneOracle.java +++ b/Mage.Sets/src/mage/cards/s/SandstoneOracle.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -50,7 +51,7 @@ public class SandstoneOracle extends CardImpl { public SandstoneOracle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SandstoneWarrior.java b/Mage.Sets/src/mage/cards/s/SandstoneWarrior.java index b28405906a6..fb1ab399075 100644 --- a/Mage.Sets/src/mage/cards/s/SandstoneWarrior.java +++ b/Mage.Sets/src/mage/cards/s/SandstoneWarrior.java @@ -45,9 +45,9 @@ public class SandstoneWarrior extends CardImpl { public SandstoneWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SandstormCharger.java b/Mage.Sets/src/mage/cards/s/SandstormCharger.java index b01f935402e..6bc22b2a0ff 100644 --- a/Mage.Sets/src/mage/cards/s/SandstormCharger.java +++ b/Mage.Sets/src/mage/cards/s/SandstormCharger.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SandstormCharger extends CardImpl { public SandstormCharger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SandstormEidolon.java b/Mage.Sets/src/mage/cards/s/SandstormEidolon.java index a854302fa98..262f5036800 100644 --- a/Mage.Sets/src/mage/cards/s/SandstormEidolon.java +++ b/Mage.Sets/src/mage/cards/s/SandstormEidolon.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.combat.CantBlockTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterSpell; @@ -59,7 +60,7 @@ public class SandstormEidolon extends CardImpl { public SandstormEidolon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SangriteBacklash.java b/Mage.Sets/src/mage/cards/s/SangriteBacklash.java index ed6f9352bd7..25eb7fded8b 100644 --- a/Mage.Sets/src/mage/cards/s/SangriteBacklash.java +++ b/Mage.Sets/src/mage/cards/s/SangriteBacklash.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class SangriteBacklash extends CardImpl { public SangriteBacklash(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B/G}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); diff --git a/Mage.Sets/src/mage/cards/s/Sangromancer.java b/Mage.Sets/src/mage/cards/s/Sangromancer.java index 4e2078f77b5..e91cec26c60 100644 --- a/Mage.Sets/src/mage/cards/s/Sangromancer.java +++ b/Mage.Sets/src/mage/cards/s/Sangromancer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -51,8 +52,8 @@ public class Sangromancer extends CardImpl { public Sangromancer (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/Sangrophage.java b/Mage.Sets/src/mage/cards/s/Sangrophage.java index 5b78a7c8316..54f4d81d6d2 100644 --- a/Mage.Sets/src/mage/cards/s/Sangrophage.java +++ b/Mage.Sets/src/mage/cards/s/Sangrophage.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.TapSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,7 +46,7 @@ public class Sangrophage extends CardImpl { public Sangrophage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SanguinaryMage.java b/Mage.Sets/src/mage/cards/s/SanguinaryMage.java index b737601bebe..6ed1ebb2e09 100644 --- a/Mage.Sets/src/mage/cards/s/SanguinaryMage.java +++ b/Mage.Sets/src/mage/cards/s/SanguinaryMage.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class SanguinaryMage extends CardImpl { public SanguinaryMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Vampire"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SanguineGuard.java b/Mage.Sets/src/mage/cards/s/SanguineGuard.java index b7429626c2a..b146dcf2f1a 100644 --- a/Mage.Sets/src/mage/cards/s/SanguineGuard.java +++ b/Mage.Sets/src/mage/cards/s/SanguineGuard.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class SanguineGuard extends CardImpl { public SanguineGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SanguinePraetor.java b/Mage.Sets/src/mage/cards/s/SanguinePraetor.java index 4e2edcc4c1f..82a84cc0a76 100644 --- a/Mage.Sets/src/mage/cards/s/SanguinePraetor.java +++ b/Mage.Sets/src/mage/cards/s/SanguinePraetor.java @@ -38,6 +38,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -55,8 +56,8 @@ public class SanguinePraetor extends CardImpl { public SanguinePraetor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{B}{B}"); - this.subtype.add("Avatar"); - this.subtype.add("Praetor"); + this.subtype.add(SubType.AVATAR); + this.subtype.add(SubType.PRAETOR); this.power = new MageInt(7); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SanitariumSkeleton.java b/Mage.Sets/src/mage/cards/s/SanitariumSkeleton.java index e11e9af098b..ccd8b4ac7a8 100644 --- a/Mage.Sets/src/mage/cards/s/SanitariumSkeleton.java +++ b/Mage.Sets/src/mage/cards/s/SanitariumSkeleton.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class SanitariumSkeleton extends CardImpl { public SanitariumSkeleton(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SanityGnawers.java b/Mage.Sets/src/mage/cards/s/SanityGnawers.java index a1cde52bf26..a359cd779a4 100644 --- a/Mage.Sets/src/mage/cards/s/SanityGnawers.java +++ b/Mage.Sets/src/mage/cards/s/SanityGnawers.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -45,7 +46,7 @@ public class SanityGnawers extends CardImpl { public SanityGnawers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); diff --git a/Mage.Sets/src/mage/cards/s/SaplingOfColfenor.java b/Mage.Sets/src/mage/cards/s/SaplingOfColfenor.java index efb27afe942..99d74ed8013 100644 --- a/Mage.Sets/src/mage/cards/s/SaplingOfColfenor.java +++ b/Mage.Sets/src/mage/cards/s/SaplingOfColfenor.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.keyword.IndestructibleAbility; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class SaplingOfColfenor extends CardImpl { public SaplingOfColfenor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B/G}{B/G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Treefolk"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SapphireDrake.java b/Mage.Sets/src/mage/cards/s/SapphireDrake.java index 853031ca4f9..f2d2bf97f60 100644 --- a/Mage.Sets/src/mage/cards/s/SapphireDrake.java +++ b/Mage.Sets/src/mage/cards/s/SapphireDrake.java @@ -59,7 +59,7 @@ public class SapphireDrake extends CardImpl { public SapphireDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SapphireLeech.java b/Mage.Sets/src/mage/cards/s/SapphireLeech.java index a9fdeff7a16..a3171043f9e 100644 --- a/Mage.Sets/src/mage/cards/s/SapphireLeech.java +++ b/Mage.Sets/src/mage/cards/s/SapphireLeech.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.ColorPredicate; @@ -55,7 +56,7 @@ public class SapphireLeech extends CardImpl { public SapphireLeech(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Leech"); + this.subtype.add(SubType.LEECH); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SaprazzanHeir.java b/Mage.Sets/src/mage/cards/s/SaprazzanHeir.java index 927007e4913..c8dec64f338 100644 --- a/Mage.Sets/src/mage/cards/s/SaprazzanHeir.java +++ b/Mage.Sets/src/mage/cards/s/SaprazzanHeir.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SaprazzanHeir extends CardImpl { public SaprazzanHeir(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SaprazzanLegate.java b/Mage.Sets/src/mage/cards/s/SaprazzanLegate.java index e451e3c3051..c69b127da26 100644 --- a/Mage.Sets/src/mage/cards/s/SaprazzanLegate.java +++ b/Mage.Sets/src/mage/cards/s/SaprazzanLegate.java @@ -58,8 +58,8 @@ public class SaprazzanLegate extends CardImpl { public SaprazzanLegate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SaprazzanRaider.java b/Mage.Sets/src/mage/cards/s/SaprazzanRaider.java index e899e176406..e9188da28f2 100644 --- a/Mage.Sets/src/mage/cards/s/SaprazzanRaider.java +++ b/Mage.Sets/src/mage/cards/s/SaprazzanRaider.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SaprazzanRaider extends CardImpl { public SaprazzanRaider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SapseepForest.java b/Mage.Sets/src/mage/cards/s/SapseepForest.java index 8449d34d2d8..64e6736325f 100644 --- a/Mage.Sets/src/mage/cards/s/SapseepForest.java +++ b/Mage.Sets/src/mage/cards/s/SapseepForest.java @@ -40,6 +40,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -59,7 +60,7 @@ public class SapseepForest extends CardImpl { public SapseepForest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Forest"); + this.subtype.add(SubType.FOREST); // ({tap}: Add {G} to your mana pool.) this.addAbility(new GreenManaAbility()); diff --git a/Mage.Sets/src/mage/cards/s/Sarcatog.java b/Mage.Sets/src/mage/cards/s/Sarcatog.java index 3de45a608fa..1015ad23115 100644 --- a/Mage.Sets/src/mage/cards/s/Sarcatog.java +++ b/Mage.Sets/src/mage/cards/s/Sarcatog.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterCard; @@ -51,7 +52,7 @@ public class Sarcatog extends CardImpl { public Sarcatog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}"); - this.subtype.add("Atog"); + this.subtype.add(SubType.ATOG); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SarcomiteMyr.java b/Mage.Sets/src/mage/cards/s/SarcomiteMyr.java index 444ec40c750..3f8b2c2d73a 100644 --- a/Mage.Sets/src/mage/cards/s/SarcomiteMyr.java +++ b/Mage.Sets/src/mage/cards/s/SarcomiteMyr.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class SarcomiteMyr extends CardImpl { public SarcomiteMyr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}{U}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SarkhanTheDragonspeaker.java b/Mage.Sets/src/mage/cards/s/SarkhanTheDragonspeaker.java index d0088f81d41..c054361a0b4 100644 --- a/Mage.Sets/src/mage/cards/s/SarkhanTheDragonspeaker.java +++ b/Mage.Sets/src/mage/cards/s/SarkhanTheDragonspeaker.java @@ -58,7 +58,7 @@ public class SarkhanTheDragonspeaker extends CardImpl { public SarkhanTheDragonspeaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{R}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Sarkhan"); + this.subtype.add(SubType.SARKHAN); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/s/SarkhanTheMad.java b/Mage.Sets/src/mage/cards/s/SarkhanTheMad.java index 99e6ed8547b..bd2621b3bd7 100644 --- a/Mage.Sets/src/mage/cards/s/SarkhanTheMad.java +++ b/Mage.Sets/src/mage/cards/s/SarkhanTheMad.java @@ -64,7 +64,7 @@ public class SarkhanTheMad extends CardImpl { public SarkhanTheMad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{B}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Sarkhan"); + this.subtype.add(SubType.SARKHAN); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(7)); this.addAbility(new LoyaltyAbility(new SarkhanTheMadRevealAndDrawEffect(), 0)); diff --git a/Mage.Sets/src/mage/cards/s/SarkhanUnbroken.java b/Mage.Sets/src/mage/cards/s/SarkhanUnbroken.java index acbefa9095a..be4e25985ed 100644 --- a/Mage.Sets/src/mage/cards/s/SarkhanUnbroken.java +++ b/Mage.Sets/src/mage/cards/s/SarkhanUnbroken.java @@ -67,7 +67,7 @@ public class SarkhanUnbroken extends CardImpl { public SarkhanUnbroken(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{G}{U}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Sarkhan"); + this.subtype.add(SubType.SARKHAN); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/s/SarkhanVol.java b/Mage.Sets/src/mage/cards/s/SarkhanVol.java index 8158846695f..9ef2f2c9d35 100644 --- a/Mage.Sets/src/mage/cards/s/SarkhanVol.java +++ b/Mage.Sets/src/mage/cards/s/SarkhanVol.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.filter.StaticFilters; @@ -58,7 +59,7 @@ public class SarkhanVol extends CardImpl { public SarkhanVol(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{R}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Sarkhan"); + this.subtype.add(SubType.SARKHAN); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/s/SarlaccPit.java b/Mage.Sets/src/mage/cards/s/SarlaccPit.java index 28dd42b8745..e84f9d8b7e6 100644 --- a/Mage.Sets/src/mage/cards/s/SarlaccPit.java +++ b/Mage.Sets/src/mage/cards/s/SarlaccPit.java @@ -1,92 +1,93 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.BecomesMonstrousSourceTriggeredAbility; -import mage.abilities.costs.common.SacrificeTargetCost; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; -import mage.abilities.effects.common.continuous.LoseAbilitySourceEffect; -import mage.abilities.keyword.DeathtouchAbility; -import mage.abilities.keyword.DefenderAbility; -import mage.abilities.keyword.FirstStrikeAbility; -import mage.abilities.keyword.HexproofAbility; -import mage.abilities.keyword.MonstrosityAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.common.FilterControlledLandPermanent; -import mage.target.common.TargetControlledPermanent; - -/** - * - * @author Styxo - */ -public class SarlaccPit extends CardImpl { - - public SarlaccPit(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}"); - this.subtype.add("Beast"); - this.power = new MageInt(0); - this.toughness = new MageInt(4); - - // Defender - this.addAbility(DefenderAbility.getInstance()); - - // Hexproof - this.addAbility(HexproofAbility.getInstance()); - - // {R}{G}, Sacrifice a land: Monstrosity 1. - Ability ability = new MonstrosityAbility("{R}{G}", 1); - ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledLandPermanent("a land")))); - this.addAbility(ability); - - // When Sarlacc Pit becomes monstrous, it loses hexproof and gains first strike and deathtouch. - ability = new BecomesMonstrousSourceTriggeredAbility(new LoseAbilitySourceEffect(HexproofAbility.getInstance())); - Effect effect = new GainAbilitySourceEffect(FirstStrikeAbility.getInstance()); - effect.setText("and gains first strike"); - ability.addEffect(effect); - effect = new GainAbilitySourceEffect(DeathtouchAbility.getInstance()); - effect.setText("and deathtouch"); - ability.addEffect(effect); - - this.addAbility(ability); - } - - public SarlaccPit(final SarlaccPit card) { - super(card); - } - - @Override - public SarlaccPit copy() { - return new SarlaccPit(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.BecomesMonstrousSourceTriggeredAbility; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.effects.common.continuous.LoseAbilitySourceEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.abilities.keyword.DefenderAbility; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.abilities.keyword.HexproofAbility; +import mage.abilities.keyword.MonstrosityAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.common.FilterControlledLandPermanent; +import mage.target.common.TargetControlledPermanent; + +/** + * + * @author Styxo + */ +public class SarlaccPit extends CardImpl { + + public SarlaccPit(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}"); + this.subtype.add(SubType.BEAST); + this.power = new MageInt(0); + this.toughness = new MageInt(4); + + // Defender + this.addAbility(DefenderAbility.getInstance()); + + // Hexproof + this.addAbility(HexproofAbility.getInstance()); + + // {R}{G}, Sacrifice a land: Monstrosity 1. + Ability ability = new MonstrosityAbility("{R}{G}", 1); + ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledLandPermanent("a land")))); + this.addAbility(ability); + + // When Sarlacc Pit becomes monstrous, it loses hexproof and gains first strike and deathtouch. + ability = new BecomesMonstrousSourceTriggeredAbility(new LoseAbilitySourceEffect(HexproofAbility.getInstance())); + Effect effect = new GainAbilitySourceEffect(FirstStrikeAbility.getInstance()); + effect.setText("and gains first strike"); + ability.addEffect(effect); + effect = new GainAbilitySourceEffect(DeathtouchAbility.getInstance()); + effect.setText("and deathtouch"); + ability.addEffect(effect); + + this.addAbility(ability); + } + + public SarlaccPit(final SarlaccPit card) { + super(card); + } + + @Override + public SarlaccPit copy() { + return new SarlaccPit(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SaruliGatekeepers.java b/Mage.Sets/src/mage/cards/s/SaruliGatekeepers.java index 32774085257..e0ae99ff821 100644 --- a/Mage.Sets/src/mage/cards/s/SaruliGatekeepers.java +++ b/Mage.Sets/src/mage/cards/s/SaruliGatekeepers.java @@ -57,8 +57,8 @@ public class SaruliGatekeepers extends CardImpl { public SaruliGatekeepers (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SasayaOrochiAscendant.java b/Mage.Sets/src/mage/cards/s/SasayaOrochiAscendant.java index 3e247a4f2c8..b381856d820 100644 --- a/Mage.Sets/src/mage/cards/s/SasayaOrochiAscendant.java +++ b/Mage.Sets/src/mage/cards/s/SasayaOrochiAscendant.java @@ -63,8 +63,8 @@ public class SasayaOrochiAscendant extends CardImpl { public SasayaOrochiAscendant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Snake"); - this.subtype.add("Monk"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SaskiaTheUnyielding.java b/Mage.Sets/src/mage/cards/s/SaskiaTheUnyielding.java index fd6380b05ac..6a247fc966d 100644 --- a/Mage.Sets/src/mage/cards/s/SaskiaTheUnyielding.java +++ b/Mage.Sets/src/mage/cards/s/SaskiaTheUnyielding.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.constants.SuperType; @@ -56,8 +57,8 @@ public class SaskiaTheUnyielding extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{R}{G}{W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SatyrFiredancer.java b/Mage.Sets/src/mage/cards/s/SatyrFiredancer.java index 05ecd6fdd4e..0c97e6f7f1d 100644 --- a/Mage.Sets/src/mage/cards/s/SatyrFiredancer.java +++ b/Mage.Sets/src/mage/cards/s/SatyrFiredancer.java @@ -39,6 +39,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -60,7 +61,7 @@ public class SatyrFiredancer extends CardImpl { public SatyrFiredancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{1}{R}"); - this.subtype.add("Satyr"); + this.subtype.add(SubType.SATYR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SatyrGrovedancer.java b/Mage.Sets/src/mage/cards/s/SatyrGrovedancer.java index 4bae30786c9..557d6b5bd2f 100644 --- a/Mage.Sets/src/mage/cards/s/SatyrGrovedancer.java +++ b/Mage.Sets/src/mage/cards/s/SatyrGrovedancer.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -46,8 +47,8 @@ public class SatyrGrovedancer extends CardImpl { public SatyrGrovedancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Satyr"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.SATYR); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SatyrHedonist.java b/Mage.Sets/src/mage/cards/s/SatyrHedonist.java index 9c7f479d6ca..b2b199fd296 100644 --- a/Mage.Sets/src/mage/cards/s/SatyrHedonist.java +++ b/Mage.Sets/src/mage/cards/s/SatyrHedonist.java @@ -36,6 +36,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class SatyrHedonist extends CardImpl { public SatyrHedonist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Satyr"); + this.subtype.add(SubType.SATYR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SatyrHoplite.java b/Mage.Sets/src/mage/cards/s/SatyrHoplite.java index 3ceac559976..0d4fcf5fc17 100644 --- a/Mage.Sets/src/mage/cards/s/SatyrHoplite.java +++ b/Mage.Sets/src/mage/cards/s/SatyrHoplite.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -44,8 +45,8 @@ public class SatyrHoplite extends CardImpl { public SatyrHoplite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Satyr"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SATYR); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SatyrNyxSmith.java b/Mage.Sets/src/mage/cards/s/SatyrNyxSmith.java index 10b5041003e..bfeb7ef6e28 100644 --- a/Mage.Sets/src/mage/cards/s/SatyrNyxSmith.java +++ b/Mage.Sets/src/mage/cards/s/SatyrNyxSmith.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.InspiredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.SatyrNyxSmithElementalToken; /** @@ -47,8 +48,8 @@ public class SatyrNyxSmith extends CardImpl { public SatyrNyxSmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Satyr"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.SATYR); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SatyrPiper.java b/Mage.Sets/src/mage/cards/s/SatyrPiper.java index 9f98907c910..82a05999160 100644 --- a/Mage.Sets/src/mage/cards/s/SatyrPiper.java +++ b/Mage.Sets/src/mage/cards/s/SatyrPiper.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.MustBeBlockedByAtLeastOneTargetEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class SatyrPiper extends CardImpl { public SatyrPiper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Satyr"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.SATYR); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SatyrRambler.java b/Mage.Sets/src/mage/cards/s/SatyrRambler.java index 1cc8e995ca8..40fffbe28df 100644 --- a/Mage.Sets/src/mage/cards/s/SatyrRambler.java +++ b/Mage.Sets/src/mage/cards/s/SatyrRambler.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SatyrRambler extends CardImpl { public SatyrRambler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Satyr"); + this.subtype.add(SubType.SATYR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SatyrWayfinder.java b/Mage.Sets/src/mage/cards/s/SatyrWayfinder.java index 2795e716937..79c1bf10e54 100644 --- a/Mage.Sets/src/mage/cards/s/SatyrWayfinder.java +++ b/Mage.Sets/src/mage/cards/s/SatyrWayfinder.java @@ -39,6 +39,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterLandCard; @@ -54,7 +55,7 @@ public class SatyrWayfinder extends CardImpl { public SatyrWayfinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Satyr"); + this.subtype.add(SubType.SATYR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SavaenElves.java b/Mage.Sets/src/mage/cards/s/SavaenElves.java index fa7100e6840..642beadad8c 100644 --- a/Mage.Sets/src/mage/cards/s/SavaenElves.java +++ b/Mage.Sets/src/mage/cards/s/SavaenElves.java @@ -63,7 +63,7 @@ public class SavaenElves extends CardImpl { public SavaenElves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SavageFirecat.java b/Mage.Sets/src/mage/cards/s/SavageFirecat.java index 2ad1006d2fa..2a0d110a819 100644 --- a/Mage.Sets/src/mage/cards/s/SavageFirecat.java +++ b/Mage.Sets/src/mage/cards/s/SavageFirecat.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -52,8 +53,8 @@ public class SavageFirecat extends CardImpl { public SavageFirecat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Cat"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.CAT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SavageGorilla.java b/Mage.Sets/src/mage/cards/s/SavageGorilla.java index dcd0cfbba39..6b6da389625 100644 --- a/Mage.Sets/src/mage/cards/s/SavageGorilla.java +++ b/Mage.Sets/src/mage/cards/s/SavageGorilla.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -51,7 +52,7 @@ public class SavageGorilla extends CardImpl { public SavageGorilla(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Ape"); + this.subtype.add(SubType.APE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SavageHunger.java b/Mage.Sets/src/mage/cards/s/SavageHunger.java index 01529e5b366..5045dc32509 100644 --- a/Mage.Sets/src/mage/cards/s/SavageHunger.java +++ b/Mage.Sets/src/mage/cards/s/SavageHunger.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class SavageHunger extends CardImpl { public SavageHunger (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SavageKnuckleblade.java b/Mage.Sets/src/mage/cards/s/SavageKnuckleblade.java index c8bfc554bb4..11bffc1c522 100644 --- a/Mage.Sets/src/mage/cards/s/SavageKnuckleblade.java +++ b/Mage.Sets/src/mage/cards/s/SavageKnuckleblade.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class SavageKnuckleblade extends CardImpl { public SavageKnuckleblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{U}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SavageSilhouette.java b/Mage.Sets/src/mage/cards/s/SavageSilhouette.java index 73c06533c56..1217dfcb60a 100644 --- a/Mage.Sets/src/mage/cards/s/SavageSilhouette.java +++ b/Mage.Sets/src/mage/cards/s/SavageSilhouette.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class SavageSilhouette extends CardImpl { public SavageSilhouette(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SavageThallid.java b/Mage.Sets/src/mage/cards/s/SavageThallid.java index f705a495afb..b7010286936 100644 --- a/Mage.Sets/src/mage/cards/s/SavageThallid.java +++ b/Mage.Sets/src/mage/cards/s/SavageThallid.java @@ -71,7 +71,7 @@ public class SavageThallid extends CardImpl { public SavageThallid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(5); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SavageVentmaw.java b/Mage.Sets/src/mage/cards/s/SavageVentmaw.java index 93ba4ca28e7..ac1ba483572 100644 --- a/Mage.Sets/src/mage/cards/s/SavageVentmaw.java +++ b/Mage.Sets/src/mage/cards/s/SavageVentmaw.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.Game; import mage.players.Player; @@ -49,7 +50,7 @@ public class SavageVentmaw extends CardImpl { public SavageVentmaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{G}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SavagebornHydra.java b/Mage.Sets/src/mage/cards/s/SavagebornHydra.java index 7565c937cb5..2ab078a8f04 100644 --- a/Mage.Sets/src/mage/cards/s/SavagebornHydra.java +++ b/Mage.Sets/src/mage/cards/s/SavagebornHydra.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -49,7 +50,7 @@ public class SavagebornHydra extends CardImpl { public SavagebornHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{X}{R}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/Savannah.java b/Mage.Sets/src/mage/cards/s/Savannah.java index 98f86550468..a0b82780575 100644 --- a/Mage.Sets/src/mage/cards/s/Savannah.java +++ b/Mage.Sets/src/mage/cards/s/Savannah.java @@ -33,6 +33,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class Savannah extends CardImpl { public Savannah(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Forest"); - this.subtype.add("Plains"); + this.subtype.add(SubType.FOREST); + this.subtype.add(SubType.PLAINS); this.addAbility(new GreenManaAbility()); this.addAbility(new WhiteManaAbility()); diff --git a/Mage.Sets/src/mage/cards/s/SavannahLions.java b/Mage.Sets/src/mage/cards/s/SavannahLions.java index d5c6a98ba80..f604f4341eb 100644 --- a/Mage.Sets/src/mage/cards/s/SavannahLions.java +++ b/Mage.Sets/src/mage/cards/s/SavannahLions.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class SavannahLions extends CardImpl { public SavannahLions(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SavingGrace.java b/Mage.Sets/src/mage/cards/s/SavingGrace.java index 3a519c63198..b4b492b2e66 100644 --- a/Mage.Sets/src/mage/cards/s/SavingGrace.java +++ b/Mage.Sets/src/mage/cards/s/SavingGrace.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class SavingGrace extends CardImpl { public SavingGrace(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/s/SavraQueenOfTheGolgari.java b/Mage.Sets/src/mage/cards/s/SavraQueenOfTheGolgari.java index 0f41235ab89..16e5749d001 100644 --- a/Mage.Sets/src/mage/cards/s/SavraQueenOfTheGolgari.java +++ b/Mage.Sets/src/mage/cards/s/SavraQueenOfTheGolgari.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class SavraQueenOfTheGolgari extends CardImpl { public SavraQueenOfTheGolgari(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SawtoothLoon.java b/Mage.Sets/src/mage/cards/s/SawtoothLoon.java index f21fdfc5e9f..ba3e5957290 100644 --- a/Mage.Sets/src/mage/cards/s/SawtoothLoon.java +++ b/Mage.Sets/src/mage/cards/s/SawtoothLoon.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.FilterCard; import mage.filter.common.FilterControlledCreaturePermanent; @@ -65,7 +66,7 @@ public class SawtoothLoon extends CardImpl { public SawtoothLoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SawtoothThresher.java b/Mage.Sets/src/mage/cards/s/SawtoothThresher.java index 00215343198..bb7a34461a3 100644 --- a/Mage.Sets/src/mage/cards/s/SawtoothThresher.java +++ b/Mage.Sets/src/mage/cards/s/SawtoothThresher.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SunburstAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -48,7 +49,7 @@ public class SawtoothThresher extends CardImpl { public SawtoothThresher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScabClanBerserker.java b/Mage.Sets/src/mage/cards/s/ScabClanBerserker.java index 8a115add5df..f2d05258d4c 100644 --- a/Mage.Sets/src/mage/cards/s/ScabClanBerserker.java +++ b/Mage.Sets/src/mage/cards/s/ScabClanBerserker.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.RenownAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -53,8 +54,8 @@ public class ScabClanBerserker extends CardImpl { public ScabClanBerserker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScabClanCharger.java b/Mage.Sets/src/mage/cards/s/ScabClanCharger.java index d01e4ceadd0..1e1486d6af4 100644 --- a/Mage.Sets/src/mage/cards/s/ScabClanCharger.java +++ b/Mage.Sets/src/mage/cards/s/ScabClanCharger.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.BloodrushAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,8 +45,8 @@ public class ScabClanCharger extends CardImpl { public ScabClanCharger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ScabClanGiant.java b/Mage.Sets/src/mage/cards/s/ScabClanGiant.java index 05b0a1651d8..796c4e988a1 100644 --- a/Mage.Sets/src/mage/cards/s/ScabClanGiant.java +++ b/Mage.Sets/src/mage/cards/s/ScabClanGiant.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -57,8 +58,8 @@ public class ScabClanGiant extends CardImpl { public ScabClanGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{G}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/ScabClanMauler.java b/Mage.Sets/src/mage/cards/s/ScabClanMauler.java index 2b81b01eda7..5f661c0c0dd 100644 --- a/Mage.Sets/src/mage/cards/s/ScabClanMauler.java +++ b/Mage.Sets/src/mage/cards/s/ScabClanMauler.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ScabClanMauler extends CardImpl { public ScabClanMauler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}"); - this.subtype.add("Human"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScaldingDevil.java b/Mage.Sets/src/mage/cards/s/ScaldingDevil.java index 807334ad875..814f97a33d6 100644 --- a/Mage.Sets/src/mage/cards/s/ScaldingDevil.java +++ b/Mage.Sets/src/mage/cards/s/ScaldingDevil.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -47,7 +48,7 @@ public class ScaldingDevil extends CardImpl { public ScaldingDevil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Scaldkin.java b/Mage.Sets/src/mage/cards/s/Scaldkin.java index cb5e090a710..061a8ca69ed 100644 --- a/Mage.Sets/src/mage/cards/s/Scaldkin.java +++ b/Mage.Sets/src/mage/cards/s/Scaldkin.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -49,7 +50,7 @@ public class Scaldkin extends CardImpl { public Scaldkin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScalebanesElite.java b/Mage.Sets/src/mage/cards/s/ScalebanesElite.java index 59c6ef4132c..7e54549f744 100644 --- a/Mage.Sets/src/mage/cards/s/ScalebanesElite.java +++ b/Mage.Sets/src/mage/cards/s/ScalebanesElite.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ScalebanesElite extends CardImpl { public ScalebanesElite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ScaledBehemoth.java b/Mage.Sets/src/mage/cards/s/ScaledBehemoth.java index 9e8149bc62b..4499eec6ea8 100644 --- a/Mage.Sets/src/mage/cards/s/ScaledBehemoth.java +++ b/Mage.Sets/src/mage/cards/s/ScaledBehemoth.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class ScaledBehemoth extends CardImpl { public ScaledBehemoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{G}"); - this.subtype.add("Crocodile"); + this.subtype.add(SubType.CROCODILE); this.power = new MageInt(6); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/s/ScaledHulk.java b/Mage.Sets/src/mage/cards/s/ScaledHulk.java index 4bae6ee60a4..caf2c441dab 100644 --- a/Mage.Sets/src/mage/cards/s/ScaledHulk.java +++ b/Mage.Sets/src/mage/cards/s/ScaledHulk.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; @@ -45,7 +46,7 @@ public class ScaledHulk extends CardImpl { public ScaledHulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ScaledWurm.java b/Mage.Sets/src/mage/cards/s/ScaledWurm.java index fb73769453b..37d05d8c326 100644 --- a/Mage.Sets/src/mage/cards/s/ScaledWurm.java +++ b/Mage.Sets/src/mage/cards/s/ScaledWurm.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class ScaledWurm extends CardImpl { public ScaledWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{7}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(7); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/ScaleguardSentinels.java b/Mage.Sets/src/mage/cards/s/ScaleguardSentinels.java index 60b1d432a86..03828716ffc 100644 --- a/Mage.Sets/src/mage/cards/s/ScaleguardSentinels.java +++ b/Mage.Sets/src/mage/cards/s/ScaleguardSentinels.java @@ -63,8 +63,8 @@ public class ScaleguardSentinels extends CardImpl { public ScaleguardSentinels(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ScalelordReckoner.java b/Mage.Sets/src/mage/cards/s/ScalelordReckoner.java index 5cb1ec0c8cd..b67cd1ff4b8 100644 --- a/Mage.Sets/src/mage/cards/s/ScalelordReckoner.java +++ b/Mage.Sets/src/mage/cards/s/ScalelordReckoner.java @@ -57,7 +57,7 @@ public class ScalelordReckoner extends CardImpl { public ScalelordReckoner(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{W}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/Scalpelexis.java b/Mage.Sets/src/mage/cards/s/Scalpelexis.java index eb1093840da..27c6be5f20a 100644 --- a/Mage.Sets/src/mage/cards/s/Scalpelexis.java +++ b/Mage.Sets/src/mage/cards/s/Scalpelexis.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -51,7 +52,7 @@ public class Scalpelexis extends CardImpl { public Scalpelexis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/ScarbladeElite.java b/Mage.Sets/src/mage/cards/s/ScarbladeElite.java index c61c6da5029..649fcdefa1d 100644 --- a/Mage.Sets/src/mage/cards/s/ScarbladeElite.java +++ b/Mage.Sets/src/mage/cards/s/ScarbladeElite.java @@ -58,8 +58,8 @@ public class ScarbladeElite extends CardImpl { public ScarbladeElite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Elf"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScareTactics.java b/Mage.Sets/src/mage/cards/s/ScareTactics.java index 582716bd0b7..982e23c3404 100644 --- a/Mage.Sets/src/mage/cards/s/ScareTactics.java +++ b/Mage.Sets/src/mage/cards/s/ScareTactics.java @@ -1,58 +1,58 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.abilities.effects.common.continuous.BoostControlledEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; - -/** - * - * @author Ekkaia - */ -public class ScareTactics extends CardImpl { - - public ScareTactics(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{B}"); - - // Creatures you control get +1/+0 until end of turn. - this.getSpellAbility().addEffect(new BoostControlledEffect(1, 0, Duration.EndOfTurn)); - } - - public ScareTactics(final ScareTactics card) { - super(card); - } - - @Override - public ScareTactics copy() { - return new ScareTactics(this); - } +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; + +/** + * + * @author Ekkaia + */ +public class ScareTactics extends CardImpl { + + public ScareTactics(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{B}"); + + // Creatures you control get +1/+0 until end of turn. + this.getSpellAbility().addEffect(new BoostControlledEffect(1, 0, Duration.EndOfTurn)); + } + + public ScareTactics(final ScareTactics card) { + super(card); + } + + @Override + public ScareTactics copy() { + return new ScareTactics(this); + } } \ No newline at end of file diff --git a/Mage.Sets/src/mage/cards/s/Scarecrone.java b/Mage.Sets/src/mage/cards/s/Scarecrone.java index 64b7d2f2f43..ac46e2cbfb8 100644 --- a/Mage.Sets/src/mage/cards/s/Scarecrone.java +++ b/Mage.Sets/src/mage/cards/s/Scarecrone.java @@ -63,7 +63,7 @@ public class Scarecrone extends CardImpl { public Scarecrone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScarlandThrinax.java b/Mage.Sets/src/mage/cards/s/ScarlandThrinax.java index ccc75d9685d..ebcfd351b71 100644 --- a/Mage.Sets/src/mage/cards/s/ScarlandThrinax.java +++ b/Mage.Sets/src/mage/cards/s/ScarlandThrinax.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetControlledCreaturePermanent; @@ -52,7 +53,7 @@ public class ScarlandThrinax extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{R}{G}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScarredPuma.java b/Mage.Sets/src/mage/cards/s/ScarredPuma.java index 659835c00d4..09b4ad19e48 100644 --- a/Mage.Sets/src/mage/cards/s/ScarredPuma.java +++ b/Mage.Sets/src/mage/cards/s/ScarredPuma.java @@ -37,6 +37,7 @@ import mage.abilities.effects.RestrictionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterAttackingCreature; @@ -51,7 +52,7 @@ public class ScarredPuma extends CardImpl { public ScarredPuma(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScarredVinebreeder.java b/Mage.Sets/src/mage/cards/s/ScarredVinebreeder.java index e64e2723ae1..a49d3e3e4e5 100644 --- a/Mage.Sets/src/mage/cards/s/ScarredVinebreeder.java +++ b/Mage.Sets/src/mage/cards/s/ScarredVinebreeder.java @@ -57,8 +57,8 @@ public class ScarredVinebreeder extends CardImpl { public ScarredVinebreeder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScarwoodGoblins.java b/Mage.Sets/src/mage/cards/s/ScarwoodGoblins.java index 6d90789a836..74bc75d6db2 100644 --- a/Mage.Sets/src/mage/cards/s/ScarwoodGoblins.java +++ b/Mage.Sets/src/mage/cards/s/ScarwoodGoblins.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class ScarwoodGoblins extends CardImpl { public ScarwoodGoblins(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScarwoodHag.java b/Mage.Sets/src/mage/cards/s/ScarwoodHag.java index 5402301bda7..d91b10bf34f 100644 --- a/Mage.Sets/src/mage/cards/s/ScarwoodHag.java +++ b/Mage.Sets/src/mage/cards/s/ScarwoodHag.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -52,7 +53,7 @@ public class ScarwoodHag extends CardImpl { public ScarwoodHag(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Hag"); + this.subtype.add(SubType.HAG); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScarwoodTreefolk.java b/Mage.Sets/src/mage/cards/s/ScarwoodTreefolk.java index 3b36813bc01..4224b953214 100644 --- a/Mage.Sets/src/mage/cards/s/ScarwoodTreefolk.java +++ b/Mage.Sets/src/mage/cards/s/ScarwoodTreefolk.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.TapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class ScarwoodTreefolk extends CardImpl { public ScarwoodTreefolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/ScatheZombies.java b/Mage.Sets/src/mage/cards/s/ScatheZombies.java index 29d902a7da4..591e49d8e52 100644 --- a/Mage.Sets/src/mage/cards/s/ScatheZombies.java +++ b/Mage.Sets/src/mage/cards/s/ScatheZombies.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class ScatheZombies extends CardImpl { public ScatheZombies(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScatteredGroves.java b/Mage.Sets/src/mage/cards/s/ScatteredGroves.java index 07d07c11d46..e79b01fd3fb 100644 --- a/Mage.Sets/src/mage/cards/s/ScatteredGroves.java +++ b/Mage.Sets/src/mage/cards/s/ScatteredGroves.java @@ -36,6 +36,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class ScatteredGroves extends CardImpl { public ScatteredGroves(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Forest"); - this.subtype.add("Plains"); + this.subtype.add(SubType.FOREST); + this.subtype.add(SubType.PLAINS); // ({T}: Add {G} or {W} to your mana pool.) this.addAbility(new GreenManaAbility()); diff --git a/Mage.Sets/src/mage/cards/s/ScattershotArcher.java b/Mage.Sets/src/mage/cards/s/ScattershotArcher.java index fb4cb10894e..3110f934ff7 100644 --- a/Mage.Sets/src/mage/cards/s/ScattershotArcher.java +++ b/Mage.Sets/src/mage/cards/s/ScattershotArcher.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -54,8 +55,8 @@ public class ScattershotArcher extends CardImpl { public ScattershotArcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScavengedWeaponry.java b/Mage.Sets/src/mage/cards/s/ScavengedWeaponry.java index 78248f08ad2..a4fbaa0df1b 100644 --- a/Mage.Sets/src/mage/cards/s/ScavengedWeaponry.java +++ b/Mage.Sets/src/mage/cards/s/ScavengedWeaponry.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class ScavengedWeaponry extends CardImpl { public ScavengedWeaponry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/ScavengerDrake.java b/Mage.Sets/src/mage/cards/s/ScavengerDrake.java index 73f61d54ccb..2eaaf87c09a 100644 --- a/Mage.Sets/src/mage/cards/s/ScavengerDrake.java +++ b/Mage.Sets/src/mage/cards/s/ScavengerDrake.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,7 +46,7 @@ public class ScavengerDrake extends CardImpl { public ScavengerDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScavengerFolk.java b/Mage.Sets/src/mage/cards/s/ScavengerFolk.java index 050b96995e9..ed35878b300 100644 --- a/Mage.Sets/src/mage/cards/s/ScavengerFolk.java +++ b/Mage.Sets/src/mage/cards/s/ScavengerFolk.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetArtifactPermanent; @@ -50,7 +51,7 @@ public class ScavengerFolk extends CardImpl { public ScavengerFolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScavengerGrounds.java b/Mage.Sets/src/mage/cards/s/ScavengerGrounds.java index 87895e496ed..ea112926a4e 100644 --- a/Mage.Sets/src/mage/cards/s/ScavengerGrounds.java +++ b/Mage.Sets/src/mage/cards/s/ScavengerGrounds.java @@ -59,7 +59,7 @@ public class ScavengerGrounds extends CardImpl { public ScavengerGrounds(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Desert"); + this.subtype.add(SubType.DESERT); // {T}: Add {C} to your mana pool. this.addAbility(new ColorlessManaAbility()); diff --git a/Mage.Sets/src/mage/cards/s/ScavengingGhoul.java b/Mage.Sets/src/mage/cards/s/ScavengingGhoul.java index bc5d22dfce4..36116de3558 100644 --- a/Mage.Sets/src/mage/cards/s/ScavengingGhoul.java +++ b/Mage.Sets/src/mage/cards/s/ScavengingGhoul.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -51,7 +52,7 @@ public class ScavengingGhoul extends CardImpl { public ScavengingGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScavengingOoze.java b/Mage.Sets/src/mage/cards/s/ScavengingOoze.java index 0c037f216cb..8d84ff01add 100644 --- a/Mage.Sets/src/mage/cards/s/ScavengingOoze.java +++ b/Mage.Sets/src/mage/cards/s/ScavengingOoze.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -53,7 +54,7 @@ public class ScavengingOoze extends CardImpl { public ScavengingOoze(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Ooze"); + this.subtype.add(SubType.OOZE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScavengingScarab.java b/Mage.Sets/src/mage/cards/s/ScavengingScarab.java index 03a8775c5f3..211b192a299 100644 --- a/Mage.Sets/src/mage/cards/s/ScavengingScarab.java +++ b/Mage.Sets/src/mage/cards/s/ScavengingScarab.java @@ -34,6 +34,7 @@ import mage.abilities.common.CantBlockAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -42,7 +43,7 @@ public class ScavengingScarab extends CardImpl { public ScavengingScarab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ScholarOfAthreos.java b/Mage.Sets/src/mage/cards/s/ScholarOfAthreos.java index 699b8ea1a43..9352cf74149 100644 --- a/Mage.Sets/src/mage/cards/s/ScholarOfAthreos.java +++ b/Mage.Sets/src/mage/cards/s/ScholarOfAthreos.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -48,8 +49,8 @@ public class ScholarOfAthreos extends CardImpl { public ScholarOfAthreos(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SchoolOfPiranha.java b/Mage.Sets/src/mage/cards/s/SchoolOfPiranha.java index 5198fab06e7..27ef6ec65d4 100644 --- a/Mage.Sets/src/mage/cards/s/SchoolOfPiranha.java +++ b/Mage.Sets/src/mage/cards/s/SchoolOfPiranha.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,7 +46,7 @@ public class SchoolOfPiranha extends CardImpl { public SchoolOfPiranha(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Fish"); + this.subtype.add(SubType.FISH); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ScionOfDarkness.java b/Mage.Sets/src/mage/cards/s/ScionOfDarkness.java index 3162fc16739..45e1b12a586 100644 --- a/Mage.Sets/src/mage/cards/s/ScionOfDarkness.java +++ b/Mage.Sets/src/mage/cards/s/ScionOfDarkness.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -56,7 +57,7 @@ public class ScionOfDarkness extends CardImpl { public ScionOfDarkness(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}{B}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/ScionOfGlaciers.java b/Mage.Sets/src/mage/cards/s/ScionOfGlaciers.java index a32fa7a7617..94c309e2aaf 100644 --- a/Mage.Sets/src/mage/cards/s/ScionOfGlaciers.java +++ b/Mage.Sets/src/mage/cards/s/ScionOfGlaciers.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class ScionOfGlaciers extends CardImpl { public ScionOfGlaciers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/ScionOfOona.java b/Mage.Sets/src/mage/cards/s/ScionOfOona.java index 13cb9ec133e..0112ab5ca2a 100644 --- a/Mage.Sets/src/mage/cards/s/ScionOfOona.java +++ b/Mage.Sets/src/mage/cards/s/ScionOfOona.java @@ -61,8 +61,8 @@ public class ScionOfOona extends CardImpl { public ScionOfOona(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScionOfTheUrDragon.java b/Mage.Sets/src/mage/cards/s/ScionOfTheUrDragon.java index 28b66f753d7..00ef33641ce 100644 --- a/Mage.Sets/src/mage/cards/s/ScionOfTheUrDragon.java +++ b/Mage.Sets/src/mage/cards/s/ScionOfTheUrDragon.java @@ -55,8 +55,8 @@ public class ScionOfTheUrDragon extends CardImpl { public ScionOfTheUrDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.DRAGON); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ScionOfTheWild.java b/Mage.Sets/src/mage/cards/s/ScionOfTheWild.java index 7ef7b320de6..f9d39a0f465 100644 --- a/Mage.Sets/src/mage/cards/s/ScionOfTheWild.java +++ b/Mage.Sets/src/mage/cards/s/ScionOfTheWild.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -48,7 +49,7 @@ public class ScionOfTheWild extends CardImpl { public ScionOfTheWild(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/ScionOfUgin.java b/Mage.Sets/src/mage/cards/s/ScionOfUgin.java index 122c38d3a94..5fedc8ee88d 100644 --- a/Mage.Sets/src/mage/cards/s/ScionOfUgin.java +++ b/Mage.Sets/src/mage/cards/s/ScionOfUgin.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class ScionOfUgin extends CardImpl { public ScionOfUgin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}"); - this.subtype.add("Dragon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DRAGON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ScionOfVituGhazi.java b/Mage.Sets/src/mage/cards/s/ScionOfVituGhazi.java index fd232b1de03..893a35b9009 100644 --- a/Mage.Sets/src/mage/cards/s/ScionOfVituGhazi.java +++ b/Mage.Sets/src/mage/cards/s/ScionOfVituGhazi.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.PopulateEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.BirdToken; import mage.watchers.common.CastFromHandWatcher; @@ -49,7 +50,7 @@ public class ScionOfVituGhazi extends CardImpl { public ScionOfVituGhazi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ScionSummoner.java b/Mage.Sets/src/mage/cards/s/ScionSummoner.java index a3d9b92649a..493d7302d82 100644 --- a/Mage.Sets/src/mage/cards/s/ScionSummoner.java +++ b/Mage.Sets/src/mage/cards/s/ScionSummoner.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.EldraziScionToken; /** @@ -46,8 +47,8 @@ public class ScionSummoner extends CardImpl { public ScionSummoner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScorchedRusalka.java b/Mage.Sets/src/mage/cards/s/ScorchedRusalka.java index 340c173e3d0..c1854313a1b 100644 --- a/Mage.Sets/src/mage/cards/s/ScorchedRusalka.java +++ b/Mage.Sets/src/mage/cards/s/ScorchedRusalka.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -50,7 +51,7 @@ public class ScorchedRusalka extends CardImpl { public ScorchedRusalka(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Scorchwalker.java b/Mage.Sets/src/mage/cards/s/Scorchwalker.java index 128f55af058..dfc1522d1a8 100644 --- a/Mage.Sets/src/mage/cards/s/Scorchwalker.java +++ b/Mage.Sets/src/mage/cards/s/Scorchwalker.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.BloodrushAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class Scorchwalker extends CardImpl { public Scorchwalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScoriaCat.java b/Mage.Sets/src/mage/cards/s/ScoriaCat.java index a50a8c71c33..4667971a928 100644 --- a/Mage.Sets/src/mage/cards/s/ScoriaCat.java +++ b/Mage.Sets/src/mage/cards/s/ScoriaCat.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -57,7 +58,7 @@ public class ScoriaCat extends CardImpl { public ScoriaCat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ScoriaElemental.java b/Mage.Sets/src/mage/cards/s/ScoriaElemental.java index 0c5adb9931d..13c23b03f3b 100644 --- a/Mage.Sets/src/mage/cards/s/ScoriaElemental.java +++ b/Mage.Sets/src/mage/cards/s/ScoriaElemental.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ScoriaElemental extends CardImpl { public ScoriaElemental (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.color.setRed(true); this.power = new MageInt(6); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScoriaWurm.java b/Mage.Sets/src/mage/cards/s/ScoriaWurm.java index 02bf954f5e8..e65554ff670 100644 --- a/Mage.Sets/src/mage/cards/s/ScoriaWurm.java +++ b/Mage.Sets/src/mage/cards/s/ScoriaWurm.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class ScoriaWurm extends CardImpl { public ScoriaWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/s/ScornedVillager.java b/Mage.Sets/src/mage/cards/s/ScornedVillager.java index 6644df6eb7d..8e795eb30cd 100644 --- a/Mage.Sets/src/mage/cards/s/ScornedVillager.java +++ b/Mage.Sets/src/mage/cards/s/ScornedVillager.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.m.MoonscarredWerewolf; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -50,8 +51,8 @@ public class ScornedVillager extends CardImpl { public ScornedVillager(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScornfulAetherLich.java b/Mage.Sets/src/mage/cards/s/ScornfulAetherLich.java index 27e6a61abfb..128184d85c9 100644 --- a/Mage.Sets/src/mage/cards/s/ScornfulAetherLich.java +++ b/Mage.Sets/src/mage/cards/s/ScornfulAetherLich.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class ScornfulAetherLich extends CardImpl { public ScornfulAetherLich(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ScornfulEgotist.java b/Mage.Sets/src/mage/cards/s/ScornfulEgotist.java index a19ebfd0b96..612856fcde9 100644 --- a/Mage.Sets/src/mage/cards/s/ScornfulEgotist.java +++ b/Mage.Sets/src/mage/cards/s/ScornfulEgotist.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ScornfulEgotist extends CardImpl { public ScornfulEgotist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{7}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScourgeDevil.java b/Mage.Sets/src/mage/cards/s/ScourgeDevil.java index 96542cea916..fe8e2274e70 100644 --- a/Mage.Sets/src/mage/cards/s/ScourgeDevil.java +++ b/Mage.Sets/src/mage/cards/s/ScourgeDevil.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,7 +47,7 @@ public class ScourgeDevil extends CardImpl { public ScourgeDevil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ScourgeOfFleets.java b/Mage.Sets/src/mage/cards/s/ScourgeOfFleets.java index d2bb8d24e02..5a6cf48157d 100644 --- a/Mage.Sets/src/mage/cards/s/ScourgeOfFleets.java +++ b/Mage.Sets/src/mage/cards/s/ScourgeOfFleets.java @@ -55,7 +55,7 @@ public class ScourgeOfFleets extends CardImpl { public ScourgeOfFleets(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Kraken"); + this.subtype.add(SubType.KRAKEN); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/ScourgeOfGeierReach.java b/Mage.Sets/src/mage/cards/s/ScourgeOfGeierReach.java index f73940fa120..70d304ac502 100644 --- a/Mage.Sets/src/mage/cards/s/ScourgeOfGeierReach.java +++ b/Mage.Sets/src/mage/cards/s/ScourgeOfGeierReach.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class ScourgeOfGeierReach extends CardImpl { public ScourgeOfGeierReach(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ScourgeOfKherRidges.java b/Mage.Sets/src/mage/cards/s/ScourgeOfKherRidges.java index 74d6fe4a66d..a5be29257b3 100644 --- a/Mage.Sets/src/mage/cards/s/ScourgeOfKherRidges.java +++ b/Mage.Sets/src/mage/cards/s/ScourgeOfKherRidges.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -60,7 +61,7 @@ public class ScourgeOfKherRidges extends CardImpl { public ScourgeOfKherRidges(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/ScourgeOfNelToth.java b/Mage.Sets/src/mage/cards/s/ScourgeOfNelToth.java index db7574ace4f..df5558122ed 100644 --- a/Mage.Sets/src/mage/cards/s/ScourgeOfNelToth.java +++ b/Mage.Sets/src/mage/cards/s/ScourgeOfNelToth.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class ScourgeOfNelToth extends CardImpl { public ScourgeOfNelToth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/ScourgeOfNumai.java b/Mage.Sets/src/mage/cards/s/ScourgeOfNumai.java index 26d51ffffc0..ae4b70e86fb 100644 --- a/Mage.Sets/src/mage/cards/s/ScourgeOfNumai.java +++ b/Mage.Sets/src/mage/cards/s/ScourgeOfNumai.java @@ -50,8 +50,8 @@ public class ScourgeOfNumai extends CardImpl { public ScourgeOfNumai(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Demon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DEMON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ScourgeOfSkolaVale.java b/Mage.Sets/src/mage/cards/s/ScourgeOfSkolaVale.java index ded35306c31..ba00f6a02ee 100644 --- a/Mage.Sets/src/mage/cards/s/ScourgeOfSkolaVale.java +++ b/Mage.Sets/src/mage/cards/s/ScourgeOfSkolaVale.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -58,7 +59,7 @@ public class ScourgeOfSkolaVale extends CardImpl { public ScourgeOfSkolaVale(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/ScourgeOfTheNobilis.java b/Mage.Sets/src/mage/cards/s/ScourgeOfTheNobilis.java index fe0b3063136..61086e213ee 100644 --- a/Mage.Sets/src/mage/cards/s/ScourgeOfTheNobilis.java +++ b/Mage.Sets/src/mage/cards/s/ScourgeOfTheNobilis.java @@ -45,6 +45,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class ScourgeOfTheNobilis extends CardImpl { public ScourgeOfTheNobilis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R/W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/ScourgeOfTheThrone.java b/Mage.Sets/src/mage/cards/s/ScourgeOfTheThrone.java index 859180933a6..702975a06b4 100644 --- a/Mage.Sets/src/mage/cards/s/ScourgeOfTheThrone.java +++ b/Mage.Sets/src/mage/cards/s/ScourgeOfTheThrone.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.game.Game; @@ -55,7 +56,7 @@ public class ScourgeOfTheThrone extends CardImpl { public ScourgeOfTheThrone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/ScourgeOfValkas.java b/Mage.Sets/src/mage/cards/s/ScourgeOfValkas.java index b178e34ba91..afb92c7a530 100644 --- a/Mage.Sets/src/mage/cards/s/ScourgeOfValkas.java +++ b/Mage.Sets/src/mage/cards/s/ScourgeOfValkas.java @@ -67,7 +67,7 @@ public class ScourgeOfValkas extends CardImpl { public ScourgeOfValkas(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.color.setRed(true); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ScourgeServant.java b/Mage.Sets/src/mage/cards/s/ScourgeServant.java index 8844a6906b3..91b94cfba55 100644 --- a/Mage.Sets/src/mage/cards/s/ScourgeServant.java +++ b/Mage.Sets/src/mage/cards/s/ScourgeServant.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class ScourgeServant extends CardImpl { public ScourgeServant (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ScourgeWolf.java b/Mage.Sets/src/mage/cards/s/ScourgeWolf.java index 5001d820ff2..4457a18bf84 100644 --- a/Mage.Sets/src/mage/cards/s/ScourgeWolf.java +++ b/Mage.Sets/src/mage/cards/s/ScourgeWolf.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class ScourgeWolf extends CardImpl { public ScourgeWolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{R}"); - this.subtype.add("Wolf"); - this.subtype.add("Horror"); + this.subtype.add(SubType.WOLF); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Scourgemark.java b/Mage.Sets/src/mage/cards/s/Scourgemark.java index 6697ab6e4b1..573e0ca7a3b 100644 --- a/Mage.Sets/src/mage/cards/s/Scourgemark.java +++ b/Mage.Sets/src/mage/cards/s/Scourgemark.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class Scourgemark extends CardImpl { public Scourgemark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/ScoutThePerimeter.java b/Mage.Sets/src/mage/cards/s/ScoutThePerimeter.java index 90cdfa5e84e..a989e71c063 100644 --- a/Mage.Sets/src/mage/cards/s/ScoutThePerimeter.java +++ b/Mage.Sets/src/mage/cards/s/ScoutThePerimeter.java @@ -1,69 +1,69 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.counters.CounterType; -import mage.filter.common.FilterLandCard; -import mage.target.common.TargetCardInLibrary; -import mage.target.common.TargetOpponentsCreaturePermanent; - -/** - * - * @author Styxo - */ -public class ScoutThePerimeter extends CardImpl { - - public ScoutThePerimeter(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{G}"); - - // Search your library for a land card, put it onto the battlefield tapped, then suffle your library. - this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(new FilterLandCard()), true, true)); - - // Put a bounty counter on up to one target creature an opponent controls. - Effect effect = new AddCountersTargetEffect(CounterType.BOUNTY.createInstance()); - effect.setText("Put a bounty counter on up to one target creature an opponent controls"); - this.getSpellAbility().addEffect(effect); - this.getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent(0, 1)); - } - - public ScoutThePerimeter(final ScoutThePerimeter card) { - super(card); - } - - @Override - public ScoutThePerimeter copy() { - return new ScoutThePerimeter(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.counters.CounterType; +import mage.filter.common.FilterLandCard; +import mage.target.common.TargetCardInLibrary; +import mage.target.common.TargetOpponentsCreaturePermanent; + +/** + * + * @author Styxo + */ +public class ScoutThePerimeter extends CardImpl { + + public ScoutThePerimeter(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{G}"); + + // Search your library for a land card, put it onto the battlefield tapped, then suffle your library. + this.getSpellAbility().addEffect(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(new FilterLandCard()), true, true)); + + // Put a bounty counter on up to one target creature an opponent controls. + Effect effect = new AddCountersTargetEffect(CounterType.BOUNTY.createInstance()); + effect.setText("Put a bounty counter on up to one target creature an opponent controls"); + this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addTarget(new TargetOpponentsCreaturePermanent(0, 1)); + } + + public ScoutThePerimeter(final ScoutThePerimeter card) { + super(card); + } + + @Override + public ScoutThePerimeter copy() { + return new ScoutThePerimeter(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/ScoutTrooper.java b/Mage.Sets/src/mage/cards/s/ScoutTrooper.java index 83449ce21ed..db107e465f7 100644 --- a/Mage.Sets/src/mage/cards/s/ScoutTrooper.java +++ b/Mage.Sets/src/mage/cards/s/ScoutTrooper.java @@ -1,76 +1,76 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.continuous.BoostControlledEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; - -/** - * - * @author Styxo - */ -public class ScoutTrooper extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Trooper creatures"); - - static { - filter.add(new SubtypePredicate(SubType.TROOPER)); - } - - public ScoutTrooper(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Trooper"); - this.subtype.add("Scout"); - this.power = new MageInt(1); - this.toughness = new MageInt(1); - - // Trooper creatures you control get +1/+1. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, false))); - - } - - public ScoutTrooper(final ScoutTrooper card) { - super(card); - } - - @Override - public ScoutTrooper copy() { - return new ScoutTrooper(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; + +/** + * + * @author Styxo + */ +public class ScoutTrooper extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Trooper creatures"); + + static { + filter.add(new SubtypePredicate(SubType.TROOPER)); + } + + public ScoutTrooper(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.TROOPER); + this.subtype.add(SubType.SCOUT); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // Trooper creatures you control get +1/+1. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, false))); + + } + + public ScoutTrooper(final ScoutTrooper card) { + super(card); + } + + @Override + public ScoutTrooper copy() { + return new ScoutTrooper(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/Scragnoth.java b/Mage.Sets/src/mage/cards/s/Scragnoth.java index 7f800ee0a76..a1ceeaa64a7 100644 --- a/Mage.Sets/src/mage/cards/s/Scragnoth.java +++ b/Mage.Sets/src/mage/cards/s/Scragnoth.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class Scragnoth extends CardImpl { public Scragnoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ScrapTrawler.java b/Mage.Sets/src/mage/cards/s/ScrapTrawler.java index 18d2bd05a9e..8ff4289fbef 100644 --- a/Mage.Sets/src/mage/cards/s/ScrapTrawler.java +++ b/Mage.Sets/src/mage/cards/s/ScrapTrawler.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.FilterCard; @@ -56,7 +57,7 @@ public class ScrapTrawler extends CardImpl { public ScrapTrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Scrapbasket.java b/Mage.Sets/src/mage/cards/s/Scrapbasket.java index 11ccb02dde9..cb2b6727d9b 100644 --- a/Mage.Sets/src/mage/cards/s/Scrapbasket.java +++ b/Mage.Sets/src/mage/cards/s/Scrapbasket.java @@ -36,6 +36,7 @@ import mage.abilities.effects.ContinuousEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -52,7 +53,7 @@ public class Scrapbasket extends CardImpl { public Scrapbasket(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScrapdiverSerpent.java b/Mage.Sets/src/mage/cards/s/ScrapdiverSerpent.java index bb38d1393c0..892fbf9d076 100644 --- a/Mage.Sets/src/mage/cards/s/ScrapdiverSerpent.java +++ b/Mage.Sets/src/mage/cards/s/ScrapdiverSerpent.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; @@ -49,7 +50,7 @@ public class ScrapdiverSerpent extends CardImpl { public ScrapdiverSerpent (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/ScrapheapScrounger.java b/Mage.Sets/src/mage/cards/s/ScrapheapScrounger.java index c61a13a86cd..6c678f12e97 100644 --- a/Mage.Sets/src/mage/cards/s/ScrapheapScrounger.java +++ b/Mage.Sets/src/mage/cards/s/ScrapheapScrounger.java @@ -1,82 +1,83 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.CantBlockAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.ExileFromGraveCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.filter.FilterCard; -import mage.filter.common.FilterCreatureCard; -import mage.filter.predicate.mageobject.AnotherCardPredicate; -import mage.target.common.TargetCardInYourGraveyard; - -/** - * - * @author emerald000 - */ -public class ScrapheapScrounger extends CardImpl { - - private static final FilterCard filter = new FilterCreatureCard("another creature card"); - - static { - filter.add(new AnotherCardPredicate()); - } - - public ScrapheapScrounger(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}"); - this.subtype.add("Construct"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - - // Scrapheap Scrounger can't block. - this.addAbility(new CantBlockAbility()); - - // {1}{B}, Exile another creature card from your graveyard: Return Scrapheap Scrounger from your graveyard to the battlefield. - Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(false), new ManaCostsImpl<>("{1}{B}")); - ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(filter))); - this.addAbility(ability); - } - - public ScrapheapScrounger(final ScrapheapScrounger card) { - super(card); - } - - @Override - public ScrapheapScrounger copy() { - return new ScrapheapScrounger(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.CantBlockAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.ExileFromGraveCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.ReturnSourceFromGraveyardToBattlefieldEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.common.FilterCreatureCard; +import mage.filter.predicate.mageobject.AnotherCardPredicate; +import mage.target.common.TargetCardInYourGraveyard; + +/** + * + * @author emerald000 + */ +public class ScrapheapScrounger extends CardImpl { + + private static final FilterCard filter = new FilterCreatureCard("another creature card"); + + static { + filter.add(new AnotherCardPredicate()); + } + + public ScrapheapScrounger(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}"); + this.subtype.add(SubType.CONSTRUCT); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // Scrapheap Scrounger can't block. + this.addAbility(new CantBlockAbility()); + + // {1}{B}, Exile another creature card from your graveyard: Return Scrapheap Scrounger from your graveyard to the battlefield. + Ability ability = new SimpleActivatedAbility(Zone.GRAVEYARD, new ReturnSourceFromGraveyardToBattlefieldEffect(false), new ManaCostsImpl<>("{1}{B}")); + ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(filter))); + this.addAbility(ability); + } + + public ScrapheapScrounger(final ScrapheapScrounger card) { + super(card); + } + + @Override + public ScrapheapScrounger copy() { + return new ScrapheapScrounger(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/ScrapperChampion.java b/Mage.Sets/src/mage/cards/s/ScrapperChampion.java index 65e25e0bedd..53bbfee7964 100644 --- a/Mage.Sets/src/mage/cards/s/ScrapperChampion.java +++ b/Mage.Sets/src/mage/cards/s/ScrapperChampion.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -50,8 +51,8 @@ public class ScrapperChampion extends CardImpl { public ScrapperChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScrapskinDrake.java b/Mage.Sets/src/mage/cards/s/ScrapskinDrake.java index b09e3e3491e..b9ebc81bc22 100644 --- a/Mage.Sets/src/mage/cards/s/ScrapskinDrake.java +++ b/Mage.Sets/src/mage/cards/s/ScrapskinDrake.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class ScrapskinDrake extends CardImpl { public ScrapskinDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Drake"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ScrapyardMongrel.java b/Mage.Sets/src/mage/cards/s/ScrapyardMongrel.java index 0c1688524cb..e42a1b97d2f 100644 --- a/Mage.Sets/src/mage/cards/s/ScrapyardMongrel.java +++ b/Mage.Sets/src/mage/cards/s/ScrapyardMongrel.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -53,7 +54,7 @@ public class ScrapyardMongrel extends CardImpl { public ScrapyardMongrel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.color.setRed(true); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ScreamingSeahawk.java b/Mage.Sets/src/mage/cards/s/ScreamingSeahawk.java index bc19441cd9f..592239be65c 100644 --- a/Mage.Sets/src/mage/cards/s/ScreamingSeahawk.java +++ b/Mage.Sets/src/mage/cards/s/ScreamingSeahawk.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.NamePredicate; import mage.target.common.TargetCardInLibrary; @@ -54,7 +55,7 @@ public class ScreamingSeahawk extends CardImpl { public ScreamingSeahawk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScreamreachBrawler.java b/Mage.Sets/src/mage/cards/s/ScreamreachBrawler.java index 64727f34752..8f186aca56d 100644 --- a/Mage.Sets/src/mage/cards/s/ScreamreachBrawler.java +++ b/Mage.Sets/src/mage/cards/s/ScreamreachBrawler.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class ScreamreachBrawler extends CardImpl { public ScreamreachBrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Orc"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ScreamsFromWithin.java b/Mage.Sets/src/mage/cards/s/ScreamsFromWithin.java index 8a257ccc201..182f8114514 100644 --- a/Mage.Sets/src/mage/cards/s/ScreamsFromWithin.java +++ b/Mage.Sets/src/mage/cards/s/ScreamsFromWithin.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class ScreamsFromWithin extends CardImpl { public ScreamsFromWithin(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/ScreechingBat.java b/Mage.Sets/src/mage/cards/s/ScreechingBat.java index 444a87c2f91..2175bfca7d4 100644 --- a/Mage.Sets/src/mage/cards/s/ScreechingBat.java +++ b/Mage.Sets/src/mage/cards/s/ScreechingBat.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -55,7 +56,7 @@ public class ScreechingBat extends CardImpl { public ScreechingBat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Bat"); + this.subtype.add(SubType.BAT); this.transformable = true; this.secondSideCardClazz = StalkingVampire.class; diff --git a/Mage.Sets/src/mage/cards/s/ScreechingBuzzard.java b/Mage.Sets/src/mage/cards/s/ScreechingBuzzard.java index b398495bd12..b911b36f1d8 100644 --- a/Mage.Sets/src/mage/cards/s/ScreechingBuzzard.java +++ b/Mage.Sets/src/mage/cards/s/ScreechingBuzzard.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,7 +46,7 @@ public class ScreechingBuzzard extends CardImpl { public ScreechingBuzzard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScreechingDrake.java b/Mage.Sets/src/mage/cards/s/ScreechingDrake.java index 030bdfb2378..e3d930c69e4 100644 --- a/Mage.Sets/src/mage/cards/s/ScreechingDrake.java +++ b/Mage.Sets/src/mage/cards/s/ScreechingDrake.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class ScreechingDrake extends CardImpl { public ScreechingDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScreechingGriffin.java b/Mage.Sets/src/mage/cards/s/ScreechingGriffin.java index 8b6f96d90fc..dcf48081ecb 100644 --- a/Mage.Sets/src/mage/cards/s/ScreechingGriffin.java +++ b/Mage.Sets/src/mage/cards/s/ScreechingGriffin.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class ScreechingGriffin extends CardImpl { public ScreechingGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScreechingHarpy.java b/Mage.Sets/src/mage/cards/s/ScreechingHarpy.java index 71034115c9a..965f90458a2 100644 --- a/Mage.Sets/src/mage/cards/s/ScreechingHarpy.java +++ b/Mage.Sets/src/mage/cards/s/ScreechingHarpy.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class ScreechingHarpy extends CardImpl { public ScreechingHarpy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Harpy"); - this.subtype.add("Beast"); + this.subtype.add(SubType.HARPY); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScreechingSilcaw.java b/Mage.Sets/src/mage/cards/s/ScreechingSilcaw.java index b40a28e9ea6..f87d1eddea6 100644 --- a/Mage.Sets/src/mage/cards/s/ScreechingSilcaw.java +++ b/Mage.Sets/src/mage/cards/s/ScreechingSilcaw.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -49,7 +50,7 @@ public class ScreechingSilcaw extends CardImpl { public ScreechingSilcaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScreechingSkaab.java b/Mage.Sets/src/mage/cards/s/ScreechingSkaab.java index 4fc971e1b8c..7d7f18d0539 100644 --- a/Mage.Sets/src/mage/cards/s/ScreechingSkaab.java +++ b/Mage.Sets/src/mage/cards/s/ScreechingSkaab.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class ScreechingSkaab extends CardImpl { public ScreechingSkaab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScreechingSliver.java b/Mage.Sets/src/mage/cards/s/ScreechingSliver.java index f6d926c6f87..410b3bb91d8 100644 --- a/Mage.Sets/src/mage/cards/s/ScreechingSliver.java +++ b/Mage.Sets/src/mage/cards/s/ScreechingSliver.java @@ -53,7 +53,7 @@ public class ScreechingSliver extends CardImpl { public ScreechingSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScribNibblers.java b/Mage.Sets/src/mage/cards/s/ScribNibblers.java index 2fc19b9503f..b6d8556ed56 100644 --- a/Mage.Sets/src/mage/cards/s/ScribNibblers.java +++ b/Mage.Sets/src/mage/cards/s/ScribNibblers.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -53,7 +54,7 @@ public class ScribNibblers extends CardImpl { public ScribNibblers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScribeOfTheMindful.java b/Mage.Sets/src/mage/cards/s/ScribeOfTheMindful.java index 4206208d505..1c393ff7519 100644 --- a/Mage.Sets/src/mage/cards/s/ScribeOfTheMindful.java +++ b/Mage.Sets/src/mage/cards/s/ScribeOfTheMindful.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; @@ -62,8 +63,8 @@ public class ScribeOfTheMindful extends CardImpl { public ScribeOfTheMindful(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Scrivener.java b/Mage.Sets/src/mage/cards/s/Scrivener.java index 7916c546738..65b3e428f5d 100644 --- a/Mage.Sets/src/mage/cards/s/Scrivener.java +++ b/Mage.Sets/src/mage/cards/s/Scrivener.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.target.common.TargetCardInYourGraveyard; @@ -54,8 +55,8 @@ public class Scrivener extends CardImpl { public Scrivener(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScrollThief.java b/Mage.Sets/src/mage/cards/s/ScrollThief.java index b4b71137454..7f8c71694da 100644 --- a/Mage.Sets/src/mage/cards/s/ScrollThief.java +++ b/Mage.Sets/src/mage/cards/s/ScrollThief.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class ScrollThief extends CardImpl { public ScrollThief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ScroungedScythe.java b/Mage.Sets/src/mage/cards/s/ScroungedScythe.java index 1d69d434088..eded8abdd17 100644 --- a/Mage.Sets/src/mage/cards/s/ScroungedScythe.java +++ b/Mage.Sets/src/mage/cards/s/ScroungedScythe.java @@ -51,7 +51,7 @@ public class ScroungedScythe extends CardImpl { public ScroungedScythe(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},""); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.nightCard = true; diff --git a/Mage.Sets/src/mage/cards/s/ScroungerOfSouls.java b/Mage.Sets/src/mage/cards/s/ScroungerOfSouls.java index 0afa81235ee..1c7543844e0 100644 --- a/Mage.Sets/src/mage/cards/s/ScroungerOfSouls.java +++ b/Mage.Sets/src/mage/cards/s/ScroungerOfSouls.java @@ -6,12 +6,13 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; public class ScroungerOfSouls extends CardImpl { public ScroungerOfSouls(UUID cardID, CardSetInfo cardSetInfo){ super(cardID, cardSetInfo, new CardType[]{CardType.CREATURE}, "{4}{B}"); - subtype.add("Horror"); + subtype.add(SubType.HORROR); power = new MageInt(3); toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ScroungingBandar.java b/Mage.Sets/src/mage/cards/s/ScroungingBandar.java index df0619ee134..a2942b8c16b 100644 --- a/Mage.Sets/src/mage/cards/s/ScroungingBandar.java +++ b/Mage.Sets/src/mage/cards/s/ScroungingBandar.java @@ -1,127 +1,128 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; -import mage.abilities.common.EntersBattlefieldAbility; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.counter.AddCountersSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.AnotherPredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class ScroungingBandar extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature"); - - static { - filter.add(new AnotherPredicate()); - } - - public ScroungingBandar(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - - this.subtype.add("Cat"); - this.subtype.add("Monkey"); - this.power = new MageInt(0); - this.toughness = new MageInt(0); - - // Scrounging Bandar 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")); - - // At the beginning of you upkeep, you may move any number of +1/+1 counters from Scrounging Bandar onto another target creature. - Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ScroungingBandarEffect(), TargetController.YOU, true); - ability.addTarget(new TargetCreaturePermanent(filter)); - this.addAbility(ability); - } - - public ScroungingBandar(final ScroungingBandar card) { - super(card); - } - - @Override - public ScroungingBandar copy() { - return new ScroungingBandar(this); - } -} - -class ScroungingBandarEffect extends OneShotEffect { - - public ScroungingBandarEffect() { - super(Outcome.Detriment); - this.staticText = "move any number of +1/+1 counters from Scrounging Bandar onto another target creature"; - } - - public ScroungingBandarEffect(final ScroungingBandarEffect effect) { - super(effect); - } - - @Override - public ScroungingBandarEffect copy() { - return new ScroungingBandarEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - Permanent fromPermanent = game.getPermanent(source.getSourceId()); - Permanent toPermanent = game.getPermanent(source.getTargets().getFirstTarget()); - - if (fromPermanent != null && toPermanent != null) { - int amountCounters = fromPermanent.getCounters(game).getCount(CounterType.P1P1); - if (amountCounters > 0) { - int amountToMove = controller.getAmount(0, amountCounters, "How many counters do you want to move?", game); - if (amountToMove > 0) { - fromPermanent.removeCounters(CounterType.P1P1.createInstance(amountToMove), game); - toPermanent.addCounters(CounterType.P1P1.createInstance(amountToMove), source, game); - } - } - return true; - } - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.common.EntersBattlefieldAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.AnotherPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class ScroungingBandar extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature"); + + static { + filter.add(new AnotherPredicate()); + } + + public ScroungingBandar(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); + + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.MONKEY); + this.power = new MageInt(0); + this.toughness = new MageInt(0); + + // Scrounging Bandar 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")); + + // At the beginning of you upkeep, you may move any number of +1/+1 counters from Scrounging Bandar onto another target creature. + Ability ability = new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new ScroungingBandarEffect(), TargetController.YOU, true); + ability.addTarget(new TargetCreaturePermanent(filter)); + this.addAbility(ability); + } + + public ScroungingBandar(final ScroungingBandar card) { + super(card); + } + + @Override + public ScroungingBandar copy() { + return new ScroungingBandar(this); + } +} + +class ScroungingBandarEffect extends OneShotEffect { + + public ScroungingBandarEffect() { + super(Outcome.Detriment); + this.staticText = "move any number of +1/+1 counters from Scrounging Bandar onto another target creature"; + } + + public ScroungingBandarEffect(final ScroungingBandarEffect effect) { + super(effect); + } + + @Override + public ScroungingBandarEffect copy() { + return new ScroungingBandarEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + Permanent fromPermanent = game.getPermanent(source.getSourceId()); + Permanent toPermanent = game.getPermanent(source.getTargets().getFirstTarget()); + + if (fromPermanent != null && toPermanent != null) { + int amountCounters = fromPermanent.getCounters(game).getCount(CounterType.P1P1); + if (amountCounters > 0) { + int amountToMove = controller.getAmount(0, amountCounters, "How many counters do you want to move?", game); + if (amountToMove > 0) { + fromPermanent.removeCounters(CounterType.P1P1.createInstance(amountToMove), game); + toPermanent.addCounters(CounterType.P1P1.createInstance(amountToMove), source, game); + } + } + return true; + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/s/Scrubland.java b/Mage.Sets/src/mage/cards/s/Scrubland.java index 237fe5dc234..926fd0423c8 100644 --- a/Mage.Sets/src/mage/cards/s/Scrubland.java +++ b/Mage.Sets/src/mage/cards/s/Scrubland.java @@ -33,6 +33,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class Scrubland extends CardImpl { public Scrubland(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Plains"); - this.subtype.add("Swamp"); + this.subtype.add(SubType.PLAINS); + this.subtype.add(SubType.SWAMP); this.addAbility(new WhiteManaAbility()); this.addAbility(new BlackManaAbility()); diff --git a/Mage.Sets/src/mage/cards/s/ScrybRanger.java b/Mage.Sets/src/mage/cards/s/ScrybRanger.java index d15c08ead4d..02046aa5570 100644 --- a/Mage.Sets/src/mage/cards/s/ScrybRanger.java +++ b/Mage.Sets/src/mage/cards/s/ScrybRanger.java @@ -60,7 +60,7 @@ public class ScrybRanger extends CardImpl { public ScrybRanger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScrybSprites.java b/Mage.Sets/src/mage/cards/s/ScrybSprites.java index 744c64c105a..02b2ddf39f4 100644 --- a/Mage.Sets/src/mage/cards/s/ScrybSprites.java +++ b/Mage.Sets/src/mage/cards/s/ScrybSprites.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ScrybSprites extends CardImpl { public ScrybSprites(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScuteMob.java b/Mage.Sets/src/mage/cards/s/ScuteMob.java index b50baf17b1b..cd73475df86 100644 --- a/Mage.Sets/src/mage/cards/s/ScuteMob.java +++ b/Mage.Sets/src/mage/cards/s/ScuteMob.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterLandPermanent; @@ -51,7 +52,7 @@ public class ScuteMob extends CardImpl { public ScuteMob(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(new ScuteMobAbility()); diff --git a/Mage.Sets/src/mage/cards/s/Scuttlemutt.java b/Mage.Sets/src/mage/cards/s/Scuttlemutt.java index 58ee3234968..2244a8f8342 100644 --- a/Mage.Sets/src/mage/cards/s/Scuttlemutt.java +++ b/Mage.Sets/src/mage/cards/s/Scuttlemutt.java @@ -37,6 +37,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class Scuttlemutt extends CardImpl { public Scuttlemutt(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScuttlingDeath.java b/Mage.Sets/src/mage/cards/s/ScuttlingDeath.java index f6fc8ac1f21..cc1f9614574 100644 --- a/Mage.Sets/src/mage/cards/s/ScuttlingDeath.java +++ b/Mage.Sets/src/mage/cards/s/ScuttlingDeath.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class ScuttlingDeath extends CardImpl { public ScuttlingDeath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScuttlingDoomEngine.java b/Mage.Sets/src/mage/cards/s/ScuttlingDoomEngine.java index 5b03af10b82..0140e90c04d 100644 --- a/Mage.Sets/src/mage/cards/s/ScuttlingDoomEngine.java +++ b/Mage.Sets/src/mage/cards/s/ScuttlingDoomEngine.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; @@ -58,7 +59,7 @@ public class ScuttlingDoomEngine extends CardImpl { public ScuttlingDoomEngine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/ScuzzbackMarauders.java b/Mage.Sets/src/mage/cards/s/ScuzzbackMarauders.java index af6f2dd4ae3..970ee5ffcef 100644 --- a/Mage.Sets/src/mage/cards/s/ScuzzbackMarauders.java +++ b/Mage.Sets/src/mage/cards/s/ScuzzbackMarauders.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ScuzzbackMarauders extends CardImpl { public ScuzzbackMarauders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R/G}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ScuzzbackScrapper.java b/Mage.Sets/src/mage/cards/s/ScuzzbackScrapper.java index 3c9caf345f0..0ccb60c5067 100644 --- a/Mage.Sets/src/mage/cards/s/ScuzzbackScrapper.java +++ b/Mage.Sets/src/mage/cards/s/ScuzzbackScrapper.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class ScuzzbackScrapper extends CardImpl { public ScuzzbackScrapper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R/G}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScytheLeopard.java b/Mage.Sets/src/mage/cards/s/ScytheLeopard.java index f65ca26cba6..ba962b6d7be 100644 --- a/Mage.Sets/src/mage/cards/s/ScytheLeopard.java +++ b/Mage.Sets/src/mage/cards/s/ScytheLeopard.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class ScytheLeopard extends CardImpl { public ScytheLeopard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ScytheOfTheWretched.java b/Mage.Sets/src/mage/cards/s/ScytheOfTheWretched.java index bf10ce7ecc6..b3b9aeb0380 100644 --- a/Mage.Sets/src/mage/cards/s/ScytheOfTheWretched.java +++ b/Mage.Sets/src/mage/cards/s/ScytheOfTheWretched.java @@ -42,6 +42,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -62,7 +63,7 @@ public class ScytheOfTheWretched extends CardImpl { public ScytheOfTheWretched(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+2. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2, Duration.WhileOnBattlefield))); diff --git a/Mage.Sets/src/mage/cards/s/ScytheSpecter.java b/Mage.Sets/src/mage/cards/s/ScytheSpecter.java index 8e776201cc1..57d0405ef4d 100644 --- a/Mage.Sets/src/mage/cards/s/ScytheSpecter.java +++ b/Mage.Sets/src/mage/cards/s/ScytheSpecter.java @@ -1,150 +1,151 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; -import mage.abilities.effects.Effect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.keyword.FlyingAbility; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.filter.FilterCard; -import mage.game.Game; -import mage.players.Player; -import mage.target.Target; -import mage.target.common.TargetDiscard; - -import java.util.HashMap; -import java.util.Map; -import java.util.UUID; - -/** - * - * @author jeffwadsworth - */ -public class ScytheSpecter extends CardImpl { - - public ScytheSpecter(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}"); - - this.subtype.add("Specter"); - this.power = new MageInt(4); - this.toughness = new MageInt(4); - - // Flying - this.addAbility(FlyingAbility.getInstance()); - - // Whenever Scythe Specter deals combat damage to a player, each opponent discards a card. Each player who discarded a card with the highest converted mana cost among cards discarded this way loses life equal to that converted mana cost. - this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new ScytheSpecterEffect(), false)); - - } - - public ScytheSpecter(final ScytheSpecter card) { - super(card); - } - - @Override - public ScytheSpecter copy() { - return new ScytheSpecter(this); - } -} - -class ScytheSpecterEffect extends OneShotEffect { - - public ScytheSpecterEffect() { - super(Outcome.Discard); - this.staticText = "each opponent discards a card. Each player who discarded a card with the highest converted mana cost among cards discarded this way loses life equal to that converted mana cost"; - } - - public ScytheSpecterEffect(final ScytheSpecterEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Map cardDiscarded = new HashMap<>(); - Map discardedCheck = new HashMap<>(); - Integer highestCMC = 0; - Integer currentCMC = 0; - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - for (UUID playerId : game.getOpponents(controller.getId())) { - Player opponent = game.getPlayer(playerId); - if (opponent != null) { - Target target = new TargetDiscard(new FilterCard(), playerId); - opponent.chooseTarget(Outcome.Discard, target, source, game); - Card targetCard = game.getCard(target.getFirstTarget()); - if (targetCard != null) { - if (targetCard.isSplitCard()) { //check Split Cards - if (targetCard.getSecondCardFace().getConvertedManaCost() < targetCard.getConvertedManaCost()) { - currentCMC = targetCard.getConvertedManaCost(); - } - } else { - currentCMC = targetCard.getConvertedManaCost(); - } - if (highestCMC <= currentCMC) { - highestCMC = currentCMC; - } - cardDiscarded.put(playerId, targetCard); - } - } - } - for (UUID opponentId : cardDiscarded.keySet()) {//discard must happen simultaneously - Player player = game.getPlayer(opponentId); - if (player != null - && player.discard(cardDiscarded.get(opponentId), source, game)) { - discardedCheck.put(opponentId, 1);//note that a card was discarded - } - } - - for (UUID playerId : game.getOpponents(controller.getId())) {//lose life equal to CMC - if (cardDiscarded.get(playerId).getConvertedManaCost() == highestCMC) { - Player opponent = game.getPlayer(playerId); - if (opponent != null - && discardedCheck.get(playerId) == 1) {//check that card was discarded - opponent.loseLife(highestCMC, game, false); - } - } - } - cardDiscarded.clear(); - discardedCheck.clear(); - return true; - } - return false; - } - - @Override - public Effect copy() { - return new ScytheSpecterEffect(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.filter.FilterCard; +import mage.game.Game; +import mage.players.Player; +import mage.target.Target; +import mage.target.common.TargetDiscard; + +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; + +/** + * + * @author jeffwadsworth + */ +public class ScytheSpecter extends CardImpl { + + public ScytheSpecter(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}"); + + this.subtype.add(SubType.SPECTER); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Whenever Scythe Specter deals combat damage to a player, each opponent discards a card. Each player who discarded a card with the highest converted mana cost among cards discarded this way loses life equal to that converted mana cost. + this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new ScytheSpecterEffect(), false)); + + } + + public ScytheSpecter(final ScytheSpecter card) { + super(card); + } + + @Override + public ScytheSpecter copy() { + return new ScytheSpecter(this); + } +} + +class ScytheSpecterEffect extends OneShotEffect { + + public ScytheSpecterEffect() { + super(Outcome.Discard); + this.staticText = "each opponent discards a card. Each player who discarded a card with the highest converted mana cost among cards discarded this way loses life equal to that converted mana cost"; + } + + public ScytheSpecterEffect(final ScytheSpecterEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Map cardDiscarded = new HashMap<>(); + Map discardedCheck = new HashMap<>(); + Integer highestCMC = 0; + Integer currentCMC = 0; + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + for (UUID playerId : game.getOpponents(controller.getId())) { + Player opponent = game.getPlayer(playerId); + if (opponent != null) { + Target target = new TargetDiscard(new FilterCard(), playerId); + opponent.chooseTarget(Outcome.Discard, target, source, game); + Card targetCard = game.getCard(target.getFirstTarget()); + if (targetCard != null) { + if (targetCard.isSplitCard()) { //check Split Cards + if (targetCard.getSecondCardFace().getConvertedManaCost() < targetCard.getConvertedManaCost()) { + currentCMC = targetCard.getConvertedManaCost(); + } + } else { + currentCMC = targetCard.getConvertedManaCost(); + } + if (highestCMC <= currentCMC) { + highestCMC = currentCMC; + } + cardDiscarded.put(playerId, targetCard); + } + } + } + for (UUID opponentId : cardDiscarded.keySet()) {//discard must happen simultaneously + Player player = game.getPlayer(opponentId); + if (player != null + && player.discard(cardDiscarded.get(opponentId), source, game)) { + discardedCheck.put(opponentId, 1);//note that a card was discarded + } + } + + for (UUID playerId : game.getOpponents(controller.getId())) {//lose life equal to CMC + if (cardDiscarded.get(playerId).getConvertedManaCost() == highestCMC) { + Player opponent = game.getPlayer(playerId); + if (opponent != null + && discardedCheck.get(playerId) == 1) {//check that card was discarded + opponent.loseLife(highestCMC, game, false); + } + } + } + cardDiscarded.clear(); + discardedCheck.clear(); + return true; + } + return false; + } + + @Override + public Effect copy() { + return new ScytheSpecterEffect(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/ScytheTiger.java b/Mage.Sets/src/mage/cards/s/ScytheTiger.java index 86d384978f2..a7e49df3462 100644 --- a/Mage.Sets/src/mage/cards/s/ScytheTiger.java +++ b/Mage.Sets/src/mage/cards/s/ScytheTiger.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; import mage.target.common.TargetControlledPermanent; @@ -50,7 +51,7 @@ public class ScytheTiger extends CardImpl { public ScytheTiger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Scytheclaw.java b/Mage.Sets/src/mage/cards/s/Scytheclaw.java index a61686ebab6..e1dd1f8ff86 100644 --- a/Mage.Sets/src/mage/cards/s/Scytheclaw.java +++ b/Mage.Sets/src/mage/cards/s/Scytheclaw.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.LivingWeaponAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class Scytheclaw extends CardImpl { public Scytheclaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{5}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Living weapon this.addAbility(new LivingWeaponAbility()); diff --git a/Mage.Sets/src/mage/cards/s/SeaDrake.java b/Mage.Sets/src/mage/cards/s/SeaDrake.java index 7fddecaec86..d89503cbf76 100644 --- a/Mage.Sets/src/mage/cards/s/SeaDrake.java +++ b/Mage.Sets/src/mage/cards/s/SeaDrake.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledLandPermanent; import mage.target.TargetPermanent; @@ -48,7 +49,7 @@ public class SeaDrake extends CardImpl { public SeaDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SeaEagle.java b/Mage.Sets/src/mage/cards/s/SeaEagle.java index 29e92c2fdf6..afe6b5b96d1 100644 --- a/Mage.Sets/src/mage/cards/s/SeaEagle.java +++ b/Mage.Sets/src/mage/cards/s/SeaEagle.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SeaEagle extends CardImpl { public SeaEagle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SeaGateLoremaster.java b/Mage.Sets/src/mage/cards/s/SeaGateLoremaster.java index 3e6d939b033..18a3f1e23d9 100644 --- a/Mage.Sets/src/mage/cards/s/SeaGateLoremaster.java +++ b/Mage.Sets/src/mage/cards/s/SeaGateLoremaster.java @@ -55,9 +55,9 @@ public class SeaGateLoremaster extends CardImpl { public SeaGateLoremaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); - this.subtype.add("Ally"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); + this.subtype.add(SubType.ALLY); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SeaGateOracle.java b/Mage.Sets/src/mage/cards/s/SeaGateOracle.java index d3505bbb3c8..8d8fcef92fa 100644 --- a/Mage.Sets/src/mage/cards/s/SeaGateOracle.java +++ b/Mage.Sets/src/mage/cards/s/SeaGateOracle.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; @@ -48,8 +49,8 @@ public class SeaGateOracle extends CardImpl { public SeaGateOracle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SeaMonster.java b/Mage.Sets/src/mage/cards/s/SeaMonster.java index b10ef37105f..0c0e6c309ee 100644 --- a/Mage.Sets/src/mage/cards/s/SeaMonster.java +++ b/Mage.Sets/src/mage/cards/s/SeaMonster.java @@ -46,7 +46,7 @@ import mage.filter.common.FilterLandPermanent; public SeaMonster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SeaScryer.java b/Mage.Sets/src/mage/cards/s/SeaScryer.java index 9de3d835339..b8e77b5e755 100644 --- a/Mage.Sets/src/mage/cards/s/SeaScryer.java +++ b/Mage.Sets/src/mage/cards/s/SeaScryer.java @@ -38,6 +38,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,8 +49,8 @@ public class SeaScryer extends CardImpl { public SeaScryer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SeaSerpent.java b/Mage.Sets/src/mage/cards/s/SeaSerpent.java index e1c7ea9e4b8..750c32774e0 100644 --- a/Mage.Sets/src/mage/cards/s/SeaSerpent.java +++ b/Mage.Sets/src/mage/cards/s/SeaSerpent.java @@ -57,7 +57,7 @@ public class SeaSerpent extends CardImpl { public SeaSerpent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SeaSnidd.java b/Mage.Sets/src/mage/cards/s/SeaSnidd.java index c82c532e8a2..08d5c0f19ab 100644 --- a/Mage.Sets/src/mage/cards/s/SeaSnidd.java +++ b/Mage.Sets/src/mage/cards/s/SeaSnidd.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BecomesBasicLandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetLandPermanent; @@ -48,7 +49,7 @@ public class SeaSnidd extends CardImpl { public SeaSnidd(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SeaSpirit.java b/Mage.Sets/src/mage/cards/s/SeaSpirit.java index e24a5d1b520..c404b022878 100644 --- a/Mage.Sets/src/mage/cards/s/SeaSpirit.java +++ b/Mage.Sets/src/mage/cards/s/SeaSpirit.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class SeaSpirit extends CardImpl { public SeaSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Elemental"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SeaSprite.java b/Mage.Sets/src/mage/cards/s/SeaSprite.java index 97a64fb6095..9a28ff3d9d0 100644 --- a/Mage.Sets/src/mage/cards/s/SeaSprite.java +++ b/Mage.Sets/src/mage/cards/s/SeaSprite.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class SeaSprite extends CardImpl { public SeaSprite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SeacoastDrake.java b/Mage.Sets/src/mage/cards/s/SeacoastDrake.java index 78f9c26496a..b51aac2f9b4 100644 --- a/Mage.Sets/src/mage/cards/s/SeacoastDrake.java +++ b/Mage.Sets/src/mage/cards/s/SeacoastDrake.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SeacoastDrake extends CardImpl { public SeacoastDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SeagrafSkaab.java b/Mage.Sets/src/mage/cards/s/SeagrafSkaab.java index 057c7abe1e3..4c04d8092ed 100644 --- a/Mage.Sets/src/mage/cards/s/SeagrafSkaab.java +++ b/Mage.Sets/src/mage/cards/s/SeagrafSkaab.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class SeagrafSkaab extends CardImpl { public SeagrafSkaab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(3); } diff --git a/Mage.Sets/src/mage/cards/s/Seahunter.java b/Mage.Sets/src/mage/cards/s/Seahunter.java index 69c72af4853..11182296fae 100644 --- a/Mage.Sets/src/mage/cards/s/Seahunter.java +++ b/Mage.Sets/src/mage/cards/s/Seahunter.java @@ -57,8 +57,8 @@ public class Seahunter extends CardImpl { public Seahunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SealockMonster.java b/Mage.Sets/src/mage/cards/s/SealockMonster.java index 0e00c36e2d1..3554d516e13 100644 --- a/Mage.Sets/src/mage/cards/s/SealockMonster.java +++ b/Mage.Sets/src/mage/cards/s/SealockMonster.java @@ -53,7 +53,7 @@ public class SealockMonster extends CardImpl { public SealockMonster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Octopus"); + this.subtype.add(SubType.OCTOPUS); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SearchlightGeist.java b/Mage.Sets/src/mage/cards/s/SearchlightGeist.java index e05cbaf852a..e2dbf2d477a 100644 --- a/Mage.Sets/src/mage/cards/s/SearchlightGeist.java +++ b/Mage.Sets/src/mage/cards/s/SearchlightGeist.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class SearchlightGeist extends CardImpl { public SearchlightGeist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SearingSpearAskari.java b/Mage.Sets/src/mage/cards/s/SearingSpearAskari.java index be58c8be95a..95e1ac33b16 100644 --- a/Mage.Sets/src/mage/cards/s/SearingSpearAskari.java +++ b/Mage.Sets/src/mage/cards/s/SearingSpearAskari.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class SearingSpearAskari extends CardImpl { public SearingSpearAskari(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SeasClaim.java b/Mage.Sets/src/mage/cards/s/SeasClaim.java index c6376262e7e..5cecd59c1a7 100644 --- a/Mage.Sets/src/mage/cards/s/SeasClaim.java +++ b/Mage.Sets/src/mage/cards/s/SeasClaim.java @@ -51,7 +51,7 @@ public class SeasClaim extends CardImpl { public SeasClaim(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/s/SeascapeAerialist.java b/Mage.Sets/src/mage/cards/s/SeascapeAerialist.java index 9d48a3191ed..276e6486da3 100644 --- a/Mage.Sets/src/mage/cards/s/SeascapeAerialist.java +++ b/Mage.Sets/src/mage/cards/s/SeascapeAerialist.java @@ -57,9 +57,9 @@ public class SeascapeAerialist extends CardImpl { public SeascapeAerialist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); - this.subtype.add("Ally"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/Seasinger.java b/Mage.Sets/src/mage/cards/s/Seasinger.java index 18c2df470b7..ba943d290de 100644 --- a/Mage.Sets/src/mage/cards/s/Seasinger.java +++ b/Mage.Sets/src/mage/cards/s/Seasinger.java @@ -68,7 +68,7 @@ public class Seasinger extends CardImpl { public Seasinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SeasonedMarshal.java b/Mage.Sets/src/mage/cards/s/SeasonedMarshal.java index e018ab599cd..c73f5d38ec1 100644 --- a/Mage.Sets/src/mage/cards/s/SeasonedMarshal.java +++ b/Mage.Sets/src/mage/cards/s/SeasonedMarshal.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -45,8 +46,8 @@ public class SeasonedMarshal extends CardImpl { public SeasonedMarshal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SeasonedTactician.java b/Mage.Sets/src/mage/cards/s/SeasonedTactician.java index c0fb8e5e34c..8bdb31f4f56 100644 --- a/Mage.Sets/src/mage/cards/s/SeasonedTactician.java +++ b/Mage.Sets/src/mage/cards/s/SeasonedTactician.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.PreventNextDamageFromChosenSourceToYouEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class SeasonedTactician extends CardImpl { public SeasonedTactician(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SecondWind.java b/Mage.Sets/src/mage/cards/s/SecondWind.java index 4829fd33c79..739cc0dc053 100644 --- a/Mage.Sets/src/mage/cards/s/SecondWind.java +++ b/Mage.Sets/src/mage/cards/s/SecondWind.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class SecondWind extends CardImpl { public SecondWind(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/Secretkeeper.java b/Mage.Sets/src/mage/cards/s/Secretkeeper.java index c5578458abe..bdcb5a475c9 100644 --- a/Mage.Sets/src/mage/cards/s/Secretkeeper.java +++ b/Mage.Sets/src/mage/cards/s/Secretkeeper.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class Secretkeeper extends CardImpl { public Secretkeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SecurityBlockade.java b/Mage.Sets/src/mage/cards/s/SecurityBlockade.java index 8e6168853df..504536f3287 100644 --- a/Mage.Sets/src/mage/cards/s/SecurityBlockade.java +++ b/Mage.Sets/src/mage/cards/s/SecurityBlockade.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class SecurityBlockade extends CardImpl { public SecurityBlockade(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); this.color.setWhite(true); // Enchant land diff --git a/Mage.Sets/src/mage/cards/s/SecurityDroid.java b/Mage.Sets/src/mage/cards/s/SecurityDroid.java index 9c6d9947ba3..99a2a627d94 100644 --- a/Mage.Sets/src/mage/cards/s/SecurityDroid.java +++ b/Mage.Sets/src/mage/cards/s/SecurityDroid.java @@ -1,67 +1,68 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.keyword.RepairAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.game.permanent.token.DroidToken; - -/** - * - * @author Styxo - */ -public class SecurityDroid extends CardImpl { - - public SecurityDroid(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{W}"); - this.subtype.add("Droid"); - this.power = new MageInt(1); - this.toughness = new MageInt(1); - - // When Security Droid enters the battlefield, create a 1/1 colorless Droid creature token. - this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new DroidToken(), 1), false)); - - // Repair 3 - this.addAbility(new RepairAbility(3)); - } - - public SecurityDroid(final SecurityDroid card) { - super(card); - } - - @Override - public SecurityDroid copy() { - return new SecurityDroid(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.keyword.RepairAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.game.permanent.token.DroidToken; + +/** + * + * @author Styxo + */ +public class SecurityDroid extends CardImpl { + + public SecurityDroid(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{W}"); + this.subtype.add(SubType.DROID); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // When Security Droid enters the battlefield, create a 1/1 colorless Droid creature token. + this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new DroidToken(), 1), false)); + + // Repair 3 + this.addAbility(new RepairAbility(3)); + } + + public SecurityDroid(final SecurityDroid card) { + super(card); + } + + @Override + public SecurityDroid copy() { + return new SecurityDroid(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SedgeScorpion.java b/Mage.Sets/src/mage/cards/s/SedgeScorpion.java index e1f1c0761a4..319e3a10b00 100644 --- a/Mage.Sets/src/mage/cards/s/SedgeScorpion.java +++ b/Mage.Sets/src/mage/cards/s/SedgeScorpion.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SedgeScorpion extends CardImpl { public SedgeScorpion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Scorpion"); + this.subtype.add(SubType.SCORPION); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SedgeSliver.java b/Mage.Sets/src/mage/cards/s/SedgeSliver.java index cb6d8ee9646..b040ec67618 100644 --- a/Mage.Sets/src/mage/cards/s/SedgeSliver.java +++ b/Mage.Sets/src/mage/cards/s/SedgeSliver.java @@ -59,7 +59,7 @@ public class SedgeSliver extends CardImpl { public SedgeSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SedgeTroll.java b/Mage.Sets/src/mage/cards/s/SedgeTroll.java index d9bc6a31134..521ef4bc515 100644 --- a/Mage.Sets/src/mage/cards/s/SedgeTroll.java +++ b/Mage.Sets/src/mage/cards/s/SedgeTroll.java @@ -56,7 +56,7 @@ public class SedgeTroll extends CardImpl { public SedgeTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Troll"); + this.subtype.add(SubType.TROLL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SedraxisAlchemist.java b/Mage.Sets/src/mage/cards/s/SedraxisAlchemist.java index ae3acfb2aba..c216b017b5a 100644 --- a/Mage.Sets/src/mage/cards/s/SedraxisAlchemist.java +++ b/Mage.Sets/src/mage/cards/s/SedraxisAlchemist.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.ColorPredicate; import mage.target.common.TargetNonlandPermanent; @@ -58,8 +59,8 @@ public class SedraxisAlchemist extends CardImpl { public SedraxisAlchemist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SedraxisSpecter.java b/Mage.Sets/src/mage/cards/s/SedraxisSpecter.java index 5a7ffdc9e43..4af4754d2a2 100644 --- a/Mage.Sets/src/mage/cards/s/SedraxisSpecter.java +++ b/Mage.Sets/src/mage/cards/s/SedraxisSpecter.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class SedraxisSpecter extends CardImpl { public SedraxisSpecter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}{R}"); - this.subtype.add("Specter"); + this.subtype.add(SubType.SPECTER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SedrisTheTraitorKing.java b/Mage.Sets/src/mage/cards/s/SedrisTheTraitorKing.java index a5ca3815177..50d23373dbf 100644 --- a/Mage.Sets/src/mage/cards/s/SedrisTheTraitorKing.java +++ b/Mage.Sets/src/mage/cards/s/SedrisTheTraitorKing.java @@ -49,8 +49,8 @@ public class SedrisTheTraitorKing extends CardImpl { public SedrisTheTraitorKing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SeedGuardian.java b/Mage.Sets/src/mage/cards/s/SeedGuardian.java index 75f6bd97bdf..73c05b269e5 100644 --- a/Mage.Sets/src/mage/cards/s/SeedGuardian.java +++ b/Mage.Sets/src/mage/cards/s/SeedGuardian.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterCreatureCard; import mage.game.Game; @@ -51,7 +52,7 @@ public class SeedGuardian extends CardImpl { public SeedGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SeedbornMuse.java b/Mage.Sets/src/mage/cards/s/SeedbornMuse.java index 0f54508e52a..c54971c4701 100644 --- a/Mage.Sets/src/mage/cards/s/SeedbornMuse.java +++ b/Mage.Sets/src/mage/cards/s/SeedbornMuse.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.UntapAllDuringEachOtherPlayersUn import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -45,7 +46,7 @@ public class SeedbornMuse extends CardImpl { public SeedbornMuse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SeedcradleWitch.java b/Mage.Sets/src/mage/cards/s/SeedcradleWitch.java index bb0d8e636b5..ef1fa938f7d 100644 --- a/Mage.Sets/src/mage/cards/s/SeedcradleWitch.java +++ b/Mage.Sets/src/mage/cards/s/SeedcradleWitch.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class SeedcradleWitch extends CardImpl { public SeedcradleWitch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G/W}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SeedguideAsh.java b/Mage.Sets/src/mage/cards/s/SeedguideAsh.java index c6dd4d99de1..03f795f4446 100644 --- a/Mage.Sets/src/mage/cards/s/SeedguideAsh.java +++ b/Mage.Sets/src/mage/cards/s/SeedguideAsh.java @@ -54,8 +54,8 @@ public class SeedguideAsh extends CardImpl { public SeedguideAsh(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Druid"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.DRUID); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SeedsOfInnocence.java b/Mage.Sets/src/mage/cards/s/SeedsOfInnocence.java index 64ad71ded97..d03f021e2c8 100644 --- a/Mage.Sets/src/mage/cards/s/SeedsOfInnocence.java +++ b/Mage.Sets/src/mage/cards/s/SeedsOfInnocence.java @@ -1,97 +1,97 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.filter.common.FilterArtifactPermanent; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; - -/** - * - * @author Styxo - */ -public class SeedsOfInnocence extends CardImpl { - - public SeedsOfInnocence(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{G}{G}"); - - // Destroy all artifacts. They can't be regenerated. The controller of each of those artifacts gains life equal to its converted mana cost. - this.getSpellAbility().addEffect(new SeedsOfInnocenceEffect()); - - } - - public SeedsOfInnocence(final SeedsOfInnocence card) { - super(card); - } - - @Override - public SeedsOfInnocence copy() { - return new SeedsOfInnocence(this); - } -} - -class SeedsOfInnocenceEffect extends OneShotEffect { - - public SeedsOfInnocenceEffect() { - super(Outcome.DestroyPermanent); - this.staticText = "Destroy all artifacts. They can't be regenerated. The controller of each of those artifacts gains life equal to its converted mana cost"; - } - - public SeedsOfInnocenceEffect(final SeedsOfInnocenceEffect effect) { - super(effect); - } - - @Override - public SeedsOfInnocenceEffect copy() { - return new SeedsOfInnocenceEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - for (Permanent artifact : game.getState().getBattlefield().getActivePermanents(new FilterArtifactPermanent(), controller.getId(), game)) { - Player artifactController = game.getPlayer(artifact.getControllerId()); - int cmc = artifact.getConvertedManaCost(); - if (artifact.destroy(source.getSourceId(), game, true)) { - artifactController.gainLife(cmc, game); - } - } - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.filter.common.FilterArtifactPermanent; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; + +/** + * + * @author Styxo + */ +public class SeedsOfInnocence extends CardImpl { + + public SeedsOfInnocence(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{G}{G}"); + + // Destroy all artifacts. They can't be regenerated. The controller of each of those artifacts gains life equal to its converted mana cost. + this.getSpellAbility().addEffect(new SeedsOfInnocenceEffect()); + + } + + public SeedsOfInnocence(final SeedsOfInnocence card) { + super(card); + } + + @Override + public SeedsOfInnocence copy() { + return new SeedsOfInnocence(this); + } +} + +class SeedsOfInnocenceEffect extends OneShotEffect { + + public SeedsOfInnocenceEffect() { + super(Outcome.DestroyPermanent); + this.staticText = "Destroy all artifacts. They can't be regenerated. The controller of each of those artifacts gains life equal to its converted mana cost"; + } + + public SeedsOfInnocenceEffect(final SeedsOfInnocenceEffect effect) { + super(effect); + } + + @Override + public SeedsOfInnocenceEffect copy() { + return new SeedsOfInnocenceEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + for (Permanent artifact : game.getState().getBattlefield().getActivePermanents(new FilterArtifactPermanent(), controller.getId(), game)) { + Player artifactController = game.getPlayer(artifact.getControllerId()); + int cmc = artifact.getConvertedManaCost(); + if (artifact.destroy(source.getSourceId(), game, true)) { + artifactController.gainLife(cmc, game); + } + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/s/SeedsOfStrength.java b/Mage.Sets/src/mage/cards/s/SeedsOfStrength.java index 39eae023a4e..5c884ddc540 100644 --- a/Mage.Sets/src/mage/cards/s/SeedsOfStrength.java +++ b/Mage.Sets/src/mage/cards/s/SeedsOfStrength.java @@ -1,74 +1,74 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.continuous.BoostTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.filter.common.FilterCreaturePermanent; -import mage.target.common.TargetCreaturePermanent; -import mage.target.targetpointer.SecondTargetPointer; -import mage.target.targetpointer.ThirdTargetPointer; - -/** - * - * @author LevelX2 - */ -public class SeedsOfStrength extends CardImpl { - - public SeedsOfStrength(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{G}{W}"); - - // Target creature gets +1/+1 until end of turn. - this.getSpellAbility().addEffect(new BoostTargetEffect(1, 1, Duration.EndOfTurn)); - this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent("creature (1st)"))); - // Target creature gets +1/+1 until end of turn. - Effect effect = new BoostTargetEffect(1, 1, Duration.EndOfTurn).setText("
Target creature gets +1/+1 until end of turn."); - effect.setTargetPointer(new SecondTargetPointer()); - this.getSpellAbility().addEffect(effect); - this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent("creature (2nd)"))); - // Target creature gets +1/+1 until end of turn. - effect = new BoostTargetEffect(1, 1, Duration.EndOfTurn).setText("
Target creature gets +1/+1 until end of turn."); - effect.setTargetPointer(new ThirdTargetPointer()); - this.getSpellAbility().addEffect(effect); - this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent("creature (3rd)"))); - } - - public SeedsOfStrength(final SeedsOfStrength card) { - super(card); - } - - @Override - public SeedsOfStrength copy() { - return new SeedsOfStrength(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.filter.common.FilterCreaturePermanent; +import mage.target.common.TargetCreaturePermanent; +import mage.target.targetpointer.SecondTargetPointer; +import mage.target.targetpointer.ThirdTargetPointer; + +/** + * + * @author LevelX2 + */ +public class SeedsOfStrength extends CardImpl { + + public SeedsOfStrength(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{G}{W}"); + + // Target creature gets +1/+1 until end of turn. + this.getSpellAbility().addEffect(new BoostTargetEffect(1, 1, Duration.EndOfTurn)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent("creature (1st)"))); + // Target creature gets +1/+1 until end of turn. + Effect effect = new BoostTargetEffect(1, 1, Duration.EndOfTurn).setText("
Target creature gets +1/+1 until end of turn."); + effect.setTargetPointer(new SecondTargetPointer()); + this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent("creature (2nd)"))); + // Target creature gets +1/+1 until end of turn. + effect = new BoostTargetEffect(1, 1, Duration.EndOfTurn).setText("
Target creature gets +1/+1 until end of turn."); + effect.setTargetPointer(new ThirdTargetPointer()); + this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent("creature (3rd)"))); + } + + public SeedsOfStrength(final SeedsOfStrength card) { + super(card); + } + + @Override + public SeedsOfStrength copy() { + return new SeedsOfStrength(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SeekerOfInsight.java b/Mage.Sets/src/mage/cards/s/SeekerOfInsight.java index b72a36c6e1d..453f0690051 100644 --- a/Mage.Sets/src/mage/cards/s/SeekerOfInsight.java +++ b/Mage.Sets/src/mage/cards/s/SeekerOfInsight.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.stack.Spell; @@ -52,8 +53,8 @@ public class SeekerOfInsight extends CardImpl { public SeekerOfInsight(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SeekerOfSkybreak.java b/Mage.Sets/src/mage/cards/s/SeekerOfSkybreak.java index 049d3027f14..0a70f7bf921 100644 --- a/Mage.Sets/src/mage/cards/s/SeekerOfSkybreak.java +++ b/Mage.Sets/src/mage/cards/s/SeekerOfSkybreak.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class SeekerOfSkybreak extends CardImpl { public SeekerOfSkybreak(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SeekerOfTheWay.java b/Mage.Sets/src/mage/cards/s/SeekerOfTheWay.java index b5efb6a63f9..5313b2045b9 100644 --- a/Mage.Sets/src/mage/cards/s/SeekerOfTheWay.java +++ b/Mage.Sets/src/mage/cards/s/SeekerOfTheWay.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -54,8 +55,8 @@ public class SeekerOfTheWay extends CardImpl { public SeekerOfTheWay(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SeerOfTheLastTomorrow.java b/Mage.Sets/src/mage/cards/s/SeerOfTheLastTomorrow.java index 459548306f9..6b62dfca546 100644 --- a/Mage.Sets/src/mage/cards/s/SeerOfTheLastTomorrow.java +++ b/Mage.Sets/src/mage/cards/s/SeerOfTheLastTomorrow.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -50,8 +51,8 @@ public class SeerOfTheLastTomorrow extends CardImpl { public SeerOfTheLastTomorrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Naga"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SeethingPathblazer.java b/Mage.Sets/src/mage/cards/s/SeethingPathblazer.java index 0f0beba8200..ece2167dd21 100644 --- a/Mage.Sets/src/mage/cards/s/SeethingPathblazer.java +++ b/Mage.Sets/src/mage/cards/s/SeethingPathblazer.java @@ -59,8 +59,8 @@ public class SeethingPathblazer extends CardImpl { public SeethingPathblazer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SegmentedKrotiq.java b/Mage.Sets/src/mage/cards/s/SegmentedKrotiq.java index d7b8807cebb..9a595bbfc4f 100644 --- a/Mage.Sets/src/mage/cards/s/SegmentedKrotiq.java +++ b/Mage.Sets/src/mage/cards/s/SegmentedKrotiq.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SegmentedKrotiq extends CardImpl { public SegmentedKrotiq(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SegmentedWurm.java b/Mage.Sets/src/mage/cards/s/SegmentedWurm.java index 83eb41ed6f3..0e0f68e9364 100644 --- a/Mage.Sets/src/mage/cards/s/SegmentedWurm.java +++ b/Mage.Sets/src/mage/cards/s/SegmentedWurm.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -44,7 +45,7 @@ public class SegmentedWurm extends CardImpl { public SegmentedWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SegovianLeviathan.java b/Mage.Sets/src/mage/cards/s/SegovianLeviathan.java index 2f58678f9f3..b581c742042 100644 --- a/Mage.Sets/src/mage/cards/s/SegovianLeviathan.java +++ b/Mage.Sets/src/mage/cards/s/SegovianLeviathan.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SegovianLeviathan extends CardImpl { public SegovianLeviathan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Leviathan"); + this.subtype.add(SubType.LEVIATHAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SeismicElemental.java b/Mage.Sets/src/mage/cards/s/SeismicElemental.java index 5ce9d939cc2..5a545187be0 100644 --- a/Mage.Sets/src/mage/cards/s/SeismicElemental.java +++ b/Mage.Sets/src/mage/cards/s/SeismicElemental.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -54,7 +55,7 @@ public class SeismicElemental extends CardImpl { public SeismicElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SeismicMage.java b/Mage.Sets/src/mage/cards/s/SeismicMage.java index 78f00ec68de..dbd2c255370 100644 --- a/Mage.Sets/src/mage/cards/s/SeismicMage.java +++ b/Mage.Sets/src/mage/cards/s/SeismicMage.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetLandPermanent; @@ -49,8 +50,8 @@ public class SeismicMage extends CardImpl { public SeismicMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SeizanPerverterOfTruth.java b/Mage.Sets/src/mage/cards/s/SeizanPerverterOfTruth.java index 763ed2b4676..6c040b30ad6 100644 --- a/Mage.Sets/src/mage/cards/s/SeizanPerverterOfTruth.java +++ b/Mage.Sets/src/mage/cards/s/SeizanPerverterOfTruth.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; @@ -50,8 +51,8 @@ public class SeizanPerverterOfTruth extends CardImpl { public SeizanPerverterOfTruth (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DEMON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/Seizures.java b/Mage.Sets/src/mage/cards/s/Seizures.java index 3e17b23d23c..1cb07990c6f 100644 --- a/Mage.Sets/src/mage/cards/s/Seizures.java +++ b/Mage.Sets/src/mage/cards/s/Seizures.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -53,7 +54,7 @@ public class Seizures extends CardImpl { public Seizures(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SejiriMerfolk.java b/Mage.Sets/src/mage/cards/s/SejiriMerfolk.java index b641ceb416d..e8ade4186b9 100644 --- a/Mage.Sets/src/mage/cards/s/SejiriMerfolk.java +++ b/Mage.Sets/src/mage/cards/s/SejiriMerfolk.java @@ -59,8 +59,8 @@ public class SejiriMerfolk extends CardImpl { public SejiriMerfolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.color.setBlue(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SekKuarDeathkeeper.java b/Mage.Sets/src/mage/cards/s/SekKuarDeathkeeper.java index 84f893c3e52..e7027208454 100644 --- a/Mage.Sets/src/mage/cards/s/SekKuarDeathkeeper.java +++ b/Mage.Sets/src/mage/cards/s/SekKuarDeathkeeper.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -60,8 +61,8 @@ public class SekKuarDeathkeeper extends CardImpl { public SekKuarDeathkeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Orc"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SekkiSeasonsGuide.java b/Mage.Sets/src/mage/cards/s/SekkiSeasonsGuide.java index 295991aaeb9..57dbe49a978 100644 --- a/Mage.Sets/src/mage/cards/s/SekkiSeasonsGuide.java +++ b/Mage.Sets/src/mage/cards/s/SekkiSeasonsGuide.java @@ -65,7 +65,7 @@ public class SekkiSeasonsGuide extends CardImpl { public SekkiSeasonsGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SeleniaDarkAngel.java b/Mage.Sets/src/mage/cards/s/SeleniaDarkAngel.java index b0eb77118e0..afeee33ca4e 100644 --- a/Mage.Sets/src/mage/cards/s/SeleniaDarkAngel.java +++ b/Mage.Sets/src/mage/cards/s/SeleniaDarkAngel.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class SeleniaDarkAngel extends CardImpl { public SeleniaDarkAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SelesnyaEvangel.java b/Mage.Sets/src/mage/cards/s/SelesnyaEvangel.java index 4c463ee0762..fafbb4b51c5 100644 --- a/Mage.Sets/src/mage/cards/s/SelesnyaEvangel.java +++ b/Mage.Sets/src/mage/cards/s/SelesnyaEvangel.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -59,8 +60,8 @@ public class SelesnyaEvangel extends CardImpl { public SelesnyaEvangel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SelesnyaGuildmage.java b/Mage.Sets/src/mage/cards/s/SelesnyaGuildmage.java index 66b45282dc7..a827bd5e67b 100644 --- a/Mage.Sets/src/mage/cards/s/SelesnyaGuildmage.java +++ b/Mage.Sets/src/mage/cards/s/SelesnyaGuildmage.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.SaprolingToken; @@ -49,8 +50,8 @@ public class SelesnyaGuildmage extends CardImpl { public SelesnyaGuildmage (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G/W}{G/W}"); - this.subtype.add("Elf"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SelesnyaKeyrune.java b/Mage.Sets/src/mage/cards/s/SelesnyaKeyrune.java index 13243ff4543..92fa7a39b4e 100644 --- a/Mage.Sets/src/mage/cards/s/SelesnyaKeyrune.java +++ b/Mage.Sets/src/mage/cards/s/SelesnyaKeyrune.java @@ -37,6 +37,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -73,7 +74,7 @@ public class SelesnyaKeyrune extends CardImpl { cardType.add(CardType.CREATURE); color.setWhite(true); color.setGreen(true); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); power = new MageInt(3); toughness = new MageInt(3); } diff --git a/Mage.Sets/src/mage/cards/s/SelesnyaSagittars.java b/Mage.Sets/src/mage/cards/s/SelesnyaSagittars.java index 7ee25546ece..a1163dfaac3 100644 --- a/Mage.Sets/src/mage/cards/s/SelesnyaSagittars.java +++ b/Mage.Sets/src/mage/cards/s/SelesnyaSagittars.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class SelesnyaSagittars extends CardImpl { public SelesnyaSagittars(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{W}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SelesnyaSentry.java b/Mage.Sets/src/mage/cards/s/SelesnyaSentry.java index 2eed5b9cbf5..715a4fbc011 100644 --- a/Mage.Sets/src/mage/cards/s/SelesnyaSentry.java +++ b/Mage.Sets/src/mage/cards/s/SelesnyaSentry.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class SelesnyaSentry extends CardImpl { public SelesnyaSentry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Elephant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SelfAssembler.java b/Mage.Sets/src/mage/cards/s/SelfAssembler.java index 9712b092f67..7a76b9dc8c8 100644 --- a/Mage.Sets/src/mage/cards/s/SelfAssembler.java +++ b/Mage.Sets/src/mage/cards/s/SelfAssembler.java @@ -54,7 +54,7 @@ public class SelfAssembler extends CardImpl { public SelfAssembler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Assembly-Worker"); + this.subtype.add(SubType.ASSEMBLY_WORKER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SelflessCathar.java b/Mage.Sets/src/mage/cards/s/SelflessCathar.java index ddcc7466bb6..6698f0d733d 100644 --- a/Mage.Sets/src/mage/cards/s/SelflessCathar.java +++ b/Mage.Sets/src/mage/cards/s/SelflessCathar.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class SelflessCathar extends CardImpl { public SelflessCathar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SelflessSpirit.java b/Mage.Sets/src/mage/cards/s/SelflessSpirit.java index 3d52c8ba0be..d23a90fc364 100644 --- a/Mage.Sets/src/mage/cards/s/SelflessSpirit.java +++ b/Mage.Sets/src/mage/cards/s/SelflessSpirit.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -49,8 +50,8 @@ public class SelflessSpirit extends CardImpl { public SelflessSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Spirit"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SelflessSquire.java b/Mage.Sets/src/mage/cards/s/SelflessSquire.java index 649df8b2d5f..a198878095e 100644 --- a/Mage.Sets/src/mage/cards/s/SelflessSquire.java +++ b/Mage.Sets/src/mage/cards/s/SelflessSquire.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -53,8 +54,8 @@ public class SelflessSquire extends CardImpl { public SelflessSquire(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SelhoffOccultist.java b/Mage.Sets/src/mage/cards/s/SelhoffOccultist.java index a54b8c3b6d3..024337de4e8 100644 --- a/Mage.Sets/src/mage/cards/s/SelhoffOccultist.java +++ b/Mage.Sets/src/mage/cards/s/SelhoffOccultist.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -45,8 +46,8 @@ public class SelhoffOccultist extends CardImpl { public SelhoffOccultist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SelkieHedgeMage.java b/Mage.Sets/src/mage/cards/s/SelkieHedgeMage.java index bacfe6cb0a7..4aac43dba1d 100644 --- a/Mage.Sets/src/mage/cards/s/SelkieHedgeMage.java +++ b/Mage.Sets/src/mage/cards/s/SelkieHedgeMage.java @@ -66,8 +66,8 @@ public class SelkieHedgeMage extends CardImpl { public SelkieHedgeMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G/U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.color.setBlue(true); this.color.setGreen(true); diff --git a/Mage.Sets/src/mage/cards/s/SellSwordBrute.java b/Mage.Sets/src/mage/cards/s/SellSwordBrute.java index 0c6f2b10534..08c1129d110 100644 --- a/Mage.Sets/src/mage/cards/s/SellSwordBrute.java +++ b/Mage.Sets/src/mage/cards/s/SellSwordBrute.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SellSwordBrute extends CardImpl { public SellSwordBrute(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SellerOfSongbirds.java b/Mage.Sets/src/mage/cards/s/SellerOfSongbirds.java index 34aaa2a7c50..e3fca1742f6 100644 --- a/Mage.Sets/src/mage/cards/s/SellerOfSongbirds.java +++ b/Mage.Sets/src/mage/cards/s/SellerOfSongbirds.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.BirdToken; /** @@ -43,7 +44,7 @@ public class SellerOfSongbirds extends CardImpl { public SellerOfSongbirds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SelvalaExplorerReturned.java b/Mage.Sets/src/mage/cards/s/SelvalaExplorerReturned.java index 5f7aa64cca3..be6ae2e4914 100644 --- a/Mage.Sets/src/mage/cards/s/SelvalaExplorerReturned.java +++ b/Mage.Sets/src/mage/cards/s/SelvalaExplorerReturned.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.game.Game; @@ -56,8 +57,8 @@ public class SelvalaExplorerReturned extends CardImpl { public SelvalaExplorerReturned(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SelvalaHeartOfTheWilds.java b/Mage.Sets/src/mage/cards/s/SelvalaHeartOfTheWilds.java index 2a6898a1395..21c48e51716 100644 --- a/Mage.Sets/src/mage/cards/s/SelvalaHeartOfTheWilds.java +++ b/Mage.Sets/src/mage/cards/s/SelvalaHeartOfTheWilds.java @@ -70,8 +70,8 @@ public class SelvalaHeartOfTheWilds extends CardImpl { public SelvalaHeartOfTheWilds(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SelvalasEnforcer.java b/Mage.Sets/src/mage/cards/s/SelvalasEnforcer.java index ab944114f6e..901258afa15 100644 --- a/Mage.Sets/src/mage/cards/s/SelvalasEnforcer.java +++ b/Mage.Sets/src/mage/cards/s/SelvalasEnforcer.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DrawCardAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -52,8 +53,8 @@ public class SelvalasEnforcer extends CardImpl { public SelvalasEnforcer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SenTriplets.java b/Mage.Sets/src/mage/cards/s/SenTriplets.java index 018be3729f5..73d66b5ef0a 100644 --- a/Mage.Sets/src/mage/cards/s/SenTriplets.java +++ b/Mage.Sets/src/mage/cards/s/SenTriplets.java @@ -53,8 +53,8 @@ public class SenTriplets extends CardImpl { public SenTriplets(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}{W}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SenatorBailOrgana.java b/Mage.Sets/src/mage/cards/s/SenatorBailOrgana.java index 5870061b7b2..62ebe499bcd 100644 --- a/Mage.Sets/src/mage/cards/s/SenatorBailOrgana.java +++ b/Mage.Sets/src/mage/cards/s/SenatorBailOrgana.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.SuperType; @@ -51,8 +52,8 @@ public class SenatorBailOrgana extends CardImpl { public SenatorBailOrgana(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SenatorLottDod.java b/Mage.Sets/src/mage/cards/s/SenatorLottDod.java index 0d5d612a1ef..f2d8862ed7f 100644 --- a/Mage.Sets/src/mage/cards/s/SenatorLottDod.java +++ b/Mage.Sets/src/mage/cards/s/SenatorLottDod.java @@ -52,8 +52,8 @@ public class SenatorLottDod extends CardImpl { public SenatorLottDod(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Neimoidian"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.NEIMOIDIAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SenatorOnacondaFarr.java b/Mage.Sets/src/mage/cards/s/SenatorOnacondaFarr.java index 6607b3b6155..c66724d832a 100644 --- a/Mage.Sets/src/mage/cards/s/SenatorOnacondaFarr.java +++ b/Mage.Sets/src/mage/cards/s/SenatorOnacondaFarr.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.TargetController; @@ -49,8 +50,8 @@ public class SenatorOnacondaFarr extends CardImpl { public SenatorOnacondaFarr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Rodian"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.RODIAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SenatorPadmeAmidala.java b/Mage.Sets/src/mage/cards/s/SenatorPadmeAmidala.java index cc60a081415..c8ae9817dd3 100644 --- a/Mage.Sets/src/mage/cards/s/SenatorPadmeAmidala.java +++ b/Mage.Sets/src/mage/cards/s/SenatorPadmeAmidala.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -45,8 +46,8 @@ public class SenatorPadmeAmidala extends CardImpl { public SenatorPadmeAmidala(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SenatorPasselArgente.java b/Mage.Sets/src/mage/cards/s/SenatorPasselArgente.java index ad32dc21464..f81303d6411 100644 --- a/Mage.Sets/src/mage/cards/s/SenatorPasselArgente.java +++ b/Mage.Sets/src/mage/cards/s/SenatorPasselArgente.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.LoseLifeOpponentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -45,8 +46,8 @@ public class SenatorPasselArgente extends CardImpl { public SenatorPasselArgente(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Koorivar"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.KOORIVAR); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SengirAutocrat.java b/Mage.Sets/src/mage/cards/s/SengirAutocrat.java index 2b74a363254..1fe0e5dd85e 100644 --- a/Mage.Sets/src/mage/cards/s/SengirAutocrat.java +++ b/Mage.Sets/src/mage/cards/s/SengirAutocrat.java @@ -58,7 +58,7 @@ public class SengirAutocrat extends CardImpl { public SengirAutocrat(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SengirBats.java b/Mage.Sets/src/mage/cards/s/SengirBats.java index b22f50b61c4..54d500cb503 100644 --- a/Mage.Sets/src/mage/cards/s/SengirBats.java +++ b/Mage.Sets/src/mage/cards/s/SengirBats.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,7 +46,7 @@ public class SengirBats extends CardImpl { public SengirBats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Bat"); + this.subtype.add(SubType.BAT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SengirNosferatu.java b/Mage.Sets/src/mage/cards/s/SengirNosferatu.java index 8d08ded9e30..5a8a3dec940 100644 --- a/Mage.Sets/src/mage/cards/s/SengirNosferatu.java +++ b/Mage.Sets/src/mage/cards/s/SengirNosferatu.java @@ -41,6 +41,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -60,7 +61,7 @@ public class SengirNosferatu extends CardImpl { public SengirNosferatu(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SengirVampire.java b/Mage.Sets/src/mage/cards/s/SengirVampire.java index 9bd66b4a927..aacd73b0279 100644 --- a/Mage.Sets/src/mage/cards/s/SengirVampire.java +++ b/Mage.Sets/src/mage/cards/s/SengirVampire.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -44,7 +45,7 @@ public class SengirVampire extends CardImpl { public SengirVampire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SensationGorger.java b/Mage.Sets/src/mage/cards/s/SensationGorger.java index 1362b698974..78e4c0ff77a 100644 --- a/Mage.Sets/src/mage/cards/s/SensationGorger.java +++ b/Mage.Sets/src/mage/cards/s/SensationGorger.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.discard.DiscardHandAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class SensationGorger extends CardImpl { public SensationGorger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SenseiGoldenTail.java b/Mage.Sets/src/mage/cards/s/SenseiGoldenTail.java index 550543bd4f6..1a65a80d324 100644 --- a/Mage.Sets/src/mage/cards/s/SenseiGoldenTail.java +++ b/Mage.Sets/src/mage/cards/s/SenseiGoldenTail.java @@ -53,8 +53,8 @@ public class SenseiGoldenTail extends CardImpl { public SenseiGoldenTail (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Fox"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.FOX); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SenselessRage.java b/Mage.Sets/src/mage/cards/s/SenselessRage.java index 09b876ba0fe..752de1dc160 100644 --- a/Mage.Sets/src/mage/cards/s/SenselessRage.java +++ b/Mage.Sets/src/mage/cards/s/SenselessRage.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MadnessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class SenselessRage extends CardImpl { public SenselessRage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SensorSplicer.java b/Mage.Sets/src/mage/cards/s/SensorSplicer.java index 273f1906a88..b3195ed6c11 100644 --- a/Mage.Sets/src/mage/cards/s/SensorSplicer.java +++ b/Mage.Sets/src/mage/cards/s/SensorSplicer.java @@ -60,7 +60,7 @@ public class SensorSplicer extends CardImpl { public SensorSplicer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SensoryDeprivation.java b/Mage.Sets/src/mage/cards/s/SensoryDeprivation.java index ce2d2c20800..490d6ec6874 100644 --- a/Mage.Sets/src/mage/cards/s/SensoryDeprivation.java +++ b/Mage.Sets/src/mage/cards/s/SensoryDeprivation.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class SensoryDeprivation extends CardImpl { public SensoryDeprivation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/Sentinel.java b/Mage.Sets/src/mage/cards/s/Sentinel.java index bca0c6a2638..a8024fb19ff 100644 --- a/Mage.Sets/src/mage/cards/s/Sentinel.java +++ b/Mage.Sets/src/mage/cards/s/Sentinel.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.SetToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class Sentinel extends CardImpl { public Sentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SentinelOfTheEternalWatch.java b/Mage.Sets/src/mage/cards/s/SentinelOfTheEternalWatch.java index 7aa3aaf9d51..4f134c41e12 100644 --- a/Mage.Sets/src/mage/cards/s/SentinelOfTheEternalWatch.java +++ b/Mage.Sets/src/mage/cards/s/SentinelOfTheEternalWatch.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -57,8 +58,8 @@ public class SentinelOfTheEternalWatch extends CardImpl { public SentinelOfTheEternalWatch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Giant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SentinelSliver.java b/Mage.Sets/src/mage/cards/s/SentinelSliver.java index 8a3dcb64025..6a09beeb9f7 100644 --- a/Mage.Sets/src/mage/cards/s/SentinelSliver.java +++ b/Mage.Sets/src/mage/cards/s/SentinelSliver.java @@ -48,7 +48,7 @@ public class SentinelSliver extends CardImpl { public SentinelSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SentinelSpider.java b/Mage.Sets/src/mage/cards/s/SentinelSpider.java index 862304640f0..ca2e522ec0f 100644 --- a/Mage.Sets/src/mage/cards/s/SentinelSpider.java +++ b/Mage.Sets/src/mage/cards/s/SentinelSpider.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SentinelSpider extends CardImpl { public SentinelSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SentinelsOfGlenElendra.java b/Mage.Sets/src/mage/cards/s/SentinelsOfGlenElendra.java index 2c6dee117c5..dcb58fc84c5 100644 --- a/Mage.Sets/src/mage/cards/s/SentinelsOfGlenElendra.java +++ b/Mage.Sets/src/mage/cards/s/SentinelsOfGlenElendra.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SentinelsOfGlenElendra extends CardImpl { public SentinelsOfGlenElendra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SentryOak.java b/Mage.Sets/src/mage/cards/s/SentryOak.java index ebafd16f532..435f501c1ca 100644 --- a/Mage.Sets/src/mage/cards/s/SentryOak.java +++ b/Mage.Sets/src/mage/cards/s/SentryOak.java @@ -1,108 +1,109 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; -import mage.abilities.effects.ContinuousEffect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DoIfClashWonEffect; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.abilities.effects.common.continuous.LoseAbilitySourceEffect; -import mage.abilities.keyword.DefenderAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.game.Game; - -/** - * - * @author Styxo - */ -public class SentryOak extends CardImpl { - - public SentryOak(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}"); - - this.subtype.add("Treefolk"); - this.subtype.add("Warrior"); - this.power = new MageInt(3); - this.toughness = new MageInt(5); - - // Defender - this.addAbility(DefenderAbility.getInstance()); - - // At the beginning of combat on your turn, you may clash with an opponent. If you win, Sentry Oak gets +2/+0 and loses defender until end of turn. - this.addAbility(new BeginningOfCombatTriggeredAbility(new DoIfClashWonEffect(new SentryOakEffect()), TargetController.YOU, true)); - } - - public SentryOak(final SentryOak card) { - super(card); - } - - @Override - public SentryOak copy() { - return new SentryOak(this); - } -} - -class SentryOakEffect extends OneShotEffect { - - public SentryOakEffect() { - super(Outcome.BoostCreature); - this.staticText = "{this} gets +2/+0 and loses defender until end of turn"; - } - - public SentryOakEffect(final SentryOakEffect effect) { - super(effect); - } - - @Override - public SentryOakEffect copy() { - return new SentryOakEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - if (game.getPermanent(source.getSourceId()) != null) { - ContinuousEffect continuousEffect = new BoostSourceEffect(2, 0, Duration.EndOfTurn); - game.addEffect(continuousEffect, source); - - continuousEffect = new LoseAbilitySourceEffect(DefenderAbility.getInstance(), Duration.EndOfTurn); - game.addEffect(continuousEffect, source); - return true; - - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.effects.ContinuousEffect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DoIfClashWonEffect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.effects.common.continuous.LoseAbilitySourceEffect; +import mage.abilities.keyword.DefenderAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.game.Game; + +/** + * + * @author Styxo + */ +public class SentryOak extends CardImpl { + + public SentryOak(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}"); + + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(3); + this.toughness = new MageInt(5); + + // Defender + this.addAbility(DefenderAbility.getInstance()); + + // At the beginning of combat on your turn, you may clash with an opponent. If you win, Sentry Oak gets +2/+0 and loses defender until end of turn. + this.addAbility(new BeginningOfCombatTriggeredAbility(new DoIfClashWonEffect(new SentryOakEffect()), TargetController.YOU, true)); + } + + public SentryOak(final SentryOak card) { + super(card); + } + + @Override + public SentryOak copy() { + return new SentryOak(this); + } +} + +class SentryOakEffect extends OneShotEffect { + + public SentryOakEffect() { + super(Outcome.BoostCreature); + this.staticText = "{this} gets +2/+0 and loses defender until end of turn"; + } + + public SentryOakEffect(final SentryOakEffect effect) { + super(effect); + } + + @Override + public SentryOakEffect copy() { + return new SentryOakEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + if (game.getPermanent(source.getSourceId()) != null) { + ContinuousEffect continuousEffect = new BoostSourceEffect(2, 0, Duration.EndOfTurn); + game.addEffect(continuousEffect, source); + + continuousEffect = new LoseAbilitySourceEffect(DefenderAbility.getInstance(), Duration.EndOfTurn); + game.addEffect(continuousEffect, source); + return true; + + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/s/SentryOfTheUnderworld.java b/Mage.Sets/src/mage/cards/s/SentryOfTheUnderworld.java index 2091f2e4181..097932d9473 100644 --- a/Mage.Sets/src/mage/cards/s/SentryOfTheUnderworld.java +++ b/Mage.Sets/src/mage/cards/s/SentryOfTheUnderworld.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,8 +50,8 @@ public class SentryOfTheUnderworld extends CardImpl { public SentryOfTheUnderworld(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{B}"); - this.subtype.add("Griffin"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.GRIFFIN); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SeparatistVoidmage.java b/Mage.Sets/src/mage/cards/s/SeparatistVoidmage.java index 35fdb5a9dc6..9f8c823ddd8 100644 --- a/Mage.Sets/src/mage/cards/s/SeparatistVoidmage.java +++ b/Mage.Sets/src/mage/cards/s/SeparatistVoidmage.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -45,8 +46,8 @@ public class SeparatistVoidmage extends CardImpl { public SeparatistVoidmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SepticRats.java b/Mage.Sets/src/mage/cards/s/SepticRats.java index 053478e96da..25ae2f200c2 100644 --- a/Mage.Sets/src/mage/cards/s/SepticRats.java +++ b/Mage.Sets/src/mage/cards/s/SepticRats.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -51,7 +52,7 @@ public class SepticRats extends CardImpl { public SepticRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SepulchralPrimordial.java b/Mage.Sets/src/mage/cards/s/SepulchralPrimordial.java index a717ab15d17..3a1c2445f76 100644 --- a/Mage.Sets/src/mage/cards/s/SepulchralPrimordial.java +++ b/Mage.Sets/src/mage/cards/s/SepulchralPrimordial.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -57,7 +58,7 @@ public class SepulchralPrimordial extends CardImpl { public SepulchralPrimordial(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{B}{B}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SeraphOfDawn.java b/Mage.Sets/src/mage/cards/s/SeraphOfDawn.java index 1977caccd6c..2586992a9d7 100644 --- a/Mage.Sets/src/mage/cards/s/SeraphOfDawn.java +++ b/Mage.Sets/src/mage/cards/s/SeraphOfDawn.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SeraphOfDawn extends CardImpl { public SeraphOfDawn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SeraphOfTheMasses.java b/Mage.Sets/src/mage/cards/s/SeraphOfTheMasses.java index 4defe630b7b..e0d12a95868 100644 --- a/Mage.Sets/src/mage/cards/s/SeraphOfTheMasses.java +++ b/Mage.Sets/src/mage/cards/s/SeraphOfTheMasses.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -51,7 +52,7 @@ public class SeraphOfTheMasses extends CardImpl { public SeraphOfTheMasses(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SeraphOfTheSuns.java b/Mage.Sets/src/mage/cards/s/SeraphOfTheSuns.java index b4b48192af7..24d3f01e85c 100644 --- a/Mage.Sets/src/mage/cards/s/SeraphOfTheSuns.java +++ b/Mage.Sets/src/mage/cards/s/SeraphOfTheSuns.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class SeraphOfTheSuns extends CardImpl { public SeraphOfTheSuns(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SeraphOfTheSword.java b/Mage.Sets/src/mage/cards/s/SeraphOfTheSword.java index 5cb8148692b..127458b4575 100644 --- a/Mage.Sets/src/mage/cards/s/SeraphOfTheSword.java +++ b/Mage.Sets/src/mage/cards/s/SeraphOfTheSword.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class SeraphOfTheSword extends CardImpl { public SeraphOfTheSword(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SerendibDjinn.java b/Mage.Sets/src/mage/cards/s/SerendibDjinn.java index 30c62d5c00a..71ce1b01663 100644 --- a/Mage.Sets/src/mage/cards/s/SerendibDjinn.java +++ b/Mage.Sets/src/mage/cards/s/SerendibDjinn.java @@ -55,7 +55,7 @@ public class SerendibDjinn extends CardImpl { public SerendibDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SerendibEfreet.java b/Mage.Sets/src/mage/cards/s/SerendibEfreet.java index 555e69f65e8..6e5e03d4a86 100644 --- a/Mage.Sets/src/mage/cards/s/SerendibEfreet.java +++ b/Mage.Sets/src/mage/cards/s/SerendibEfreet.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,7 +46,7 @@ public class SerendibEfreet extends CardImpl { public SerendibEfreet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Efreet"); + this.subtype.add(SubType.EFREET); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SerendibSorcerer.java b/Mage.Sets/src/mage/cards/s/SerendibSorcerer.java index 2e524b817bd..36a2d060445 100644 --- a/Mage.Sets/src/mage/cards/s/SerendibSorcerer.java +++ b/Mage.Sets/src/mage/cards/s/SerendibSorcerer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -56,8 +57,8 @@ public class SerendibSorcerer extends CardImpl { public SerendibSorcerer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SereneMaster.java b/Mage.Sets/src/mage/cards/s/SereneMaster.java index c85b4f180cc..1f0703c4293 100644 --- a/Mage.Sets/src/mage/cards/s/SereneMaster.java +++ b/Mage.Sets/src/mage/cards/s/SereneMaster.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.filter.common.FilterCreaturePermanent; @@ -56,8 +57,8 @@ public class SereneMaster extends CardImpl { public SereneMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SereneSteward.java b/Mage.Sets/src/mage/cards/s/SereneSteward.java index 7c5bad2f548..6bd3f419a44 100644 --- a/Mage.Sets/src/mage/cards/s/SereneSteward.java +++ b/Mage.Sets/src/mage/cards/s/SereneSteward.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -48,9 +49,9 @@ public class SereneSteward extends CardImpl { public SereneSteward(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SerpentAssassin.java b/Mage.Sets/src/mage/cards/s/SerpentAssassin.java index cf63d64b5c4..7b7db8a71f9 100644 --- a/Mage.Sets/src/mage/cards/s/SerpentAssassin.java +++ b/Mage.Sets/src/mage/cards/s/SerpentAssassin.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -55,8 +56,8 @@ public class SerpentAssassin extends CardImpl { public SerpentAssassin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Snake"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SerpentOfTheEndlessSea.java b/Mage.Sets/src/mage/cards/s/SerpentOfTheEndlessSea.java index e642c97f92e..12df31d18ca 100644 --- a/Mage.Sets/src/mage/cards/s/SerpentOfTheEndlessSea.java +++ b/Mage.Sets/src/mage/cards/s/SerpentOfTheEndlessSea.java @@ -57,7 +57,7 @@ public class SerpentOfTheEndlessSea extends CardImpl { public SerpentOfTheEndlessSea(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SerpentSkin.java b/Mage.Sets/src/mage/cards/s/SerpentSkin.java index b30bcd8d263..e9a23af125f 100644 --- a/Mage.Sets/src/mage/cards/s/SerpentSkin.java +++ b/Mage.Sets/src/mage/cards/s/SerpentSkin.java @@ -52,7 +52,7 @@ public class SerpentSkin extends CardImpl { public SerpentSkin (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/s/SerpentWarrior.java b/Mage.Sets/src/mage/cards/s/SerpentWarrior.java index e308992e2dc..ef64a525538 100644 --- a/Mage.Sets/src/mage/cards/s/SerpentWarrior.java +++ b/Mage.Sets/src/mage/cards/s/SerpentWarrior.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SerpentWarrior extends CardImpl { public SerpentWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Snake"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SerpentineBasilisk.java b/Mage.Sets/src/mage/cards/s/SerpentineBasilisk.java index d9159d6eb2a..9449d78353d 100644 --- a/Mage.Sets/src/mage/cards/s/SerpentineBasilisk.java +++ b/Mage.Sets/src/mage/cards/s/SerpentineBasilisk.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,7 +48,7 @@ public class SerpentineBasilisk extends CardImpl { public SerpentineBasilisk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Basilisk"); + this.subtype.add(SubType.BASILISK); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SerpentineKavu.java b/Mage.Sets/src/mage/cards/s/SerpentineKavu.java index 521e22766ca..a260dd44c1f 100644 --- a/Mage.Sets/src/mage/cards/s/SerpentineKavu.java +++ b/Mage.Sets/src/mage/cards/s/SerpentineKavu.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class SerpentineKavu extends CardImpl { public SerpentineKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SerraAdvocate.java b/Mage.Sets/src/mage/cards/s/SerraAdvocate.java index c6dce478da6..e54682c119d 100644 --- a/Mage.Sets/src/mage/cards/s/SerraAdvocate.java +++ b/Mage.Sets/src/mage/cards/s/SerraAdvocate.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterAttackingOrBlockingCreature; @@ -50,7 +51,7 @@ public class SerraAdvocate extends CardImpl { public SerraAdvocate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SerraAngel.java b/Mage.Sets/src/mage/cards/s/SerraAngel.java index 5e70d15e21e..2fe100552e1 100644 --- a/Mage.Sets/src/mage/cards/s/SerraAngel.java +++ b/Mage.Sets/src/mage/cards/s/SerraAngel.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class SerraAngel extends CardImpl { public SerraAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SerraAscendant.java b/Mage.Sets/src/mage/cards/s/SerraAscendant.java index 1cee553fa1f..b10b28ee003 100644 --- a/Mage.Sets/src/mage/cards/s/SerraAscendant.java +++ b/Mage.Sets/src/mage/cards/s/SerraAscendant.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -54,8 +55,8 @@ public class SerraAscendant extends CardImpl { public SerraAscendant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SerraAvatar.java b/Mage.Sets/src/mage/cards/s/SerraAvatar.java index c7d308887a9..d10aace9731 100644 --- a/Mage.Sets/src/mage/cards/s/SerraAvatar.java +++ b/Mage.Sets/src/mage/cards/s/SerraAvatar.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class SerraAvatar extends CardImpl { public SerraAvatar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}{W}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SerraAvenger.java b/Mage.Sets/src/mage/cards/s/SerraAvenger.java index 38e48b32a07..ad4dfdef002 100644 --- a/Mage.Sets/src/mage/cards/s/SerraAvenger.java +++ b/Mage.Sets/src/mage/cards/s/SerraAvenger.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class SerraAvenger extends CardImpl { public SerraAvenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SerraSphinx.java b/Mage.Sets/src/mage/cards/s/SerraSphinx.java index e050a082ff1..e2914862f3d 100644 --- a/Mage.Sets/src/mage/cards/s/SerraSphinx.java +++ b/Mage.Sets/src/mage/cards/s/SerraSphinx.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SerraSphinx extends CardImpl { public SerraSphinx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SerraZealot.java b/Mage.Sets/src/mage/cards/s/SerraZealot.java index 45e8a39be50..007be89f5e0 100644 --- a/Mage.Sets/src/mage/cards/s/SerraZealot.java +++ b/Mage.Sets/src/mage/cards/s/SerraZealot.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class SerraZealot extends CardImpl { public SerraZealot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SerrasBoon.java b/Mage.Sets/src/mage/cards/s/SerrasBoon.java index e3db5a18e0b..e8a9554e314 100644 --- a/Mage.Sets/src/mage/cards/s/SerrasBoon.java +++ b/Mage.Sets/src/mage/cards/s/SerrasBoon.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -61,7 +62,7 @@ public class SerrasBoon extends CardImpl { public SerrasBoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SerrasEmbrace.java b/Mage.Sets/src/mage/cards/s/SerrasEmbrace.java index 841157bc776..a2a35bc1d0a 100644 --- a/Mage.Sets/src/mage/cards/s/SerrasEmbrace.java +++ b/Mage.Sets/src/mage/cards/s/SerrasEmbrace.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -54,7 +55,7 @@ public class SerrasEmbrace extends CardImpl { public SerrasEmbrace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SerratedBiskelion.java b/Mage.Sets/src/mage/cards/s/SerratedBiskelion.java index 3458d9eb03b..8d396e0d8ca 100644 --- a/Mage.Sets/src/mage/cards/s/SerratedBiskelion.java +++ b/Mage.Sets/src/mage/cards/s/SerratedBiskelion.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class SerratedBiskelion extends CardImpl { public SerratedBiskelion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SerumRaker.java b/Mage.Sets/src/mage/cards/s/SerumRaker.java index 77ce4c3f31b..83f3303a1ca 100644 --- a/Mage.Sets/src/mage/cards/s/SerumRaker.java +++ b/Mage.Sets/src/mage/cards/s/SerumRaker.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class SerumRaker extends CardImpl { public SerumRaker (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ServantOfNefarox.java b/Mage.Sets/src/mage/cards/s/ServantOfNefarox.java index b04af6c6324..fa2072dbc3f 100644 --- a/Mage.Sets/src/mage/cards/s/ServantOfNefarox.java +++ b/Mage.Sets/src/mage/cards/s/ServantOfNefarox.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ExaltedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class ServantOfNefarox extends CardImpl { public ServantOfNefarox(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ServantOfTheConduit.java b/Mage.Sets/src/mage/cards/s/ServantOfTheConduit.java index b0741a23df0..67635f5e460 100644 --- a/Mage.Sets/src/mage/cards/s/ServantOfTheConduit.java +++ b/Mage.Sets/src/mage/cards/s/ServantOfTheConduit.java @@ -38,6 +38,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,8 +48,8 @@ public class ServantOfTheConduit extends CardImpl { public ServantOfTheConduit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ServantOfTheScale.java b/Mage.Sets/src/mage/cards/s/ServantOfTheScale.java index 8252b2066b4..b4c2ffd74be 100644 --- a/Mage.Sets/src/mage/cards/s/ServantOfTheScale.java +++ b/Mage.Sets/src/mage/cards/s/ServantOfTheScale.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -55,8 +56,8 @@ public class ServantOfTheScale extends CardImpl { public ServantOfTheScale(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/ServantOfTymaret.java b/Mage.Sets/src/mage/cards/s/ServantOfTymaret.java index 5b2d9922a8f..4021e710543 100644 --- a/Mage.Sets/src/mage/cards/s/ServantOfTymaret.java +++ b/Mage.Sets/src/mage/cards/s/ServantOfTymaret.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.InspiredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -50,7 +51,7 @@ public class ServantOfTymaret extends CardImpl { public ServantOfTymaret(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ServantOfVolrath.java b/Mage.Sets/src/mage/cards/s/ServantOfVolrath.java index c801a2e1602..23ce192a8dc 100644 --- a/Mage.Sets/src/mage/cards/s/ServantOfVolrath.java +++ b/Mage.Sets/src/mage/cards/s/ServantOfVolrath.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; /** @@ -44,7 +45,7 @@ public class ServantOfVolrath extends CardImpl { public ServantOfVolrath(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Minion"); + this.subtype.add(SubType.MINION); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SeshiroTheAnointed.java b/Mage.Sets/src/mage/cards/s/SeshiroTheAnointed.java index e29816ff034..d84b5ae2019 100644 --- a/Mage.Sets/src/mage/cards/s/SeshiroTheAnointed.java +++ b/Mage.Sets/src/mage/cards/s/SeshiroTheAnointed.java @@ -60,8 +60,8 @@ public class SeshiroTheAnointed extends CardImpl { public SeshiroTheAnointed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Snake"); - this.subtype.add("Monk"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.MONK); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SetessanBattlePriest.java b/Mage.Sets/src/mage/cards/s/SetessanBattlePriest.java index fddc2c64c34..76512682edb 100644 --- a/Mage.Sets/src/mage/cards/s/SetessanBattlePriest.java +++ b/Mage.Sets/src/mage/cards/s/SetessanBattlePriest.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SetessanBattlePriest extends CardImpl { public SetessanBattlePriest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SetessanGriffin.java b/Mage.Sets/src/mage/cards/s/SetessanGriffin.java index 52e4ad3ae09..eed628c7add 100644 --- a/Mage.Sets/src/mage/cards/s/SetessanGriffin.java +++ b/Mage.Sets/src/mage/cards/s/SetessanGriffin.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class SetessanGriffin extends CardImpl { public SetessanGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SetessanOathsworn.java b/Mage.Sets/src/mage/cards/s/SetessanOathsworn.java index 6099a97f3b2..90a40e2800e 100644 --- a/Mage.Sets/src/mage/cards/s/SetessanOathsworn.java +++ b/Mage.Sets/src/mage/cards/s/SetessanOathsworn.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -44,8 +45,8 @@ public class SetessanOathsworn extends CardImpl { public SetessanOathsworn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Satyr"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.SATYR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SetessanStarbreaker.java b/Mage.Sets/src/mage/cards/s/SetessanStarbreaker.java index 86a9824e1cd..e6467bd735f 100644 --- a/Mage.Sets/src/mage/cards/s/SetessanStarbreaker.java +++ b/Mage.Sets/src/mage/cards/s/SetessanStarbreaker.java @@ -54,8 +54,8 @@ public class SetessanStarbreaker extends CardImpl { public SetessanStarbreaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SetonKrosanProtector.java b/Mage.Sets/src/mage/cards/s/SetonKrosanProtector.java index 45cc71ff862..3aa19204417 100644 --- a/Mage.Sets/src/mage/cards/s/SetonKrosanProtector.java +++ b/Mage.Sets/src/mage/cards/s/SetonKrosanProtector.java @@ -60,8 +60,8 @@ public class SetonKrosanProtector extends CardImpl { public SetonKrosanProtector(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Centaur"); - this.subtype.add("Druid"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SetonsDesire.java b/Mage.Sets/src/mage/cards/s/SetonsDesire.java index 7d7b4192020..4e793037118 100644 --- a/Mage.Sets/src/mage/cards/s/SetonsDesire.java +++ b/Mage.Sets/src/mage/cards/s/SetonsDesire.java @@ -42,6 +42,7 @@ import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class SetonsDesire extends CardImpl { public SetonsDesire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SetonsScout.java b/Mage.Sets/src/mage/cards/s/SetonsScout.java index 9201591343e..d71ace9c9c4 100644 --- a/Mage.Sets/src/mage/cards/s/SetonsScout.java +++ b/Mage.Sets/src/mage/cards/s/SetonsScout.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,10 +51,10 @@ public class SetonsScout extends CardImpl { public SetonsScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Druid"); - this.subtype.add("Scout"); - this.subtype.add("Archer"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.DRUID); + this.subtype.add(SubType.SCOUT); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SeveredLegion.java b/Mage.Sets/src/mage/cards/s/SeveredLegion.java index 376278346dc..f43e0e32428 100644 --- a/Mage.Sets/src/mage/cards/s/SeveredLegion.java +++ b/Mage.Sets/src/mage/cards/s/SeveredLegion.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SeveredLegion extends CardImpl { public SeveredLegion (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SewerNemesis.java b/Mage.Sets/src/mage/cards/s/SewerNemesis.java index 1ed5ed60193..3fa77b73a91 100644 --- a/Mage.Sets/src/mage/cards/s/SewerNemesis.java +++ b/Mage.Sets/src/mage/cards/s/SewerNemesis.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class SewerNemesis extends CardImpl { public SewerNemesis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SewerRats.java b/Mage.Sets/src/mage/cards/s/SewerRats.java index 1bda845eed3..4b8f9ba4201 100644 --- a/Mage.Sets/src/mage/cards/s/SewerRats.java +++ b/Mage.Sets/src/mage/cards/s/SewerRats.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class SewerRats extends CardImpl { public SewerRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SewerShambler.java b/Mage.Sets/src/mage/cards/s/SewerShambler.java index b48182d3489..95ab344881b 100644 --- a/Mage.Sets/src/mage/cards/s/SewerShambler.java +++ b/Mage.Sets/src/mage/cards/s/SewerShambler.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class SewerShambler extends CardImpl { public SewerShambler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Sewerdreg.java b/Mage.Sets/src/mage/cards/s/Sewerdreg.java index 93c6ca392e9..c03253d1926 100644 --- a/Mage.Sets/src/mage/cards/s/Sewerdreg.java +++ b/Mage.Sets/src/mage/cards/s/Sewerdreg.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCardInGraveyard; @@ -48,7 +49,7 @@ public class Sewerdreg extends CardImpl { public Sewerdreg(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SewnEyeDrake.java b/Mage.Sets/src/mage/cards/s/SewnEyeDrake.java index 62706266edf..958ced249f4 100644 --- a/Mage.Sets/src/mage/cards/s/SewnEyeDrake.java +++ b/Mage.Sets/src/mage/cards/s/SewnEyeDrake.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SewnEyeDrake extends CardImpl { public SewnEyeDrake (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U/R}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Drake"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.DRAKE); diff --git a/Mage.Sets/src/mage/cards/s/ShaakHerd.java b/Mage.Sets/src/mage/cards/s/ShaakHerd.java index 477ee4e1f84..e8305abf475 100644 --- a/Mage.Sets/src/mage/cards/s/ShaakHerd.java +++ b/Mage.Sets/src/mage/cards/s/ShaakHerd.java @@ -1,74 +1,75 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.DiesTriggeredAbility; -import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.FilterCard; -import mage.filter.predicate.mageobject.AnotherCardPredicate; -import mage.target.common.TargetCardInYourGraveyard; - -/** - * - * @author Styxo - */ -public class ShaakHerd extends CardImpl { - - private final static FilterCard filter = new FilterCard("another target creature card"); - - static { - filter.add(new AnotherCardPredicate()); - } - - public ShaakHerd(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Beast"); - this.power = new MageInt(1); - this.toughness = new MageInt(2); - - // When Shaak Herd dies, you may return another target creature card from your graveyard to your hand. - Ability ability = new DiesTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect(), true); - ability.addTarget(new TargetCardInYourGraveyard(filter)); - this.addAbility(ability); - } - - public ShaakHerd(final ShaakHerd card) { - super(card); - } - - @Override - public ShaakHerd copy() { - return new ShaakHerd(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DiesTriggeredAbility; +import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.FilterCard; +import mage.filter.predicate.mageobject.AnotherCardPredicate; +import mage.target.common.TargetCardInYourGraveyard; + +/** + * + * @author Styxo + */ +public class ShaakHerd extends CardImpl { + + private final static FilterCard filter = new FilterCard("another target creature card"); + + static { + filter.add(new AnotherCardPredicate()); + } + + public ShaakHerd(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); + this.subtype.add(SubType.BEAST); + this.power = new MageInt(1); + this.toughness = new MageInt(2); + + // When Shaak Herd dies, you may return another target creature card from your graveyard to your hand. + Ability ability = new DiesTriggeredAbility(new ReturnFromGraveyardToHandTargetEffect(), true); + ability.addTarget(new TargetCardInYourGraveyard(filter)); + this.addAbility(ability); + } + + public ShaakHerd(final ShaakHerd card) { + super(card); + } + + @Override + public ShaakHerd copy() { + return new ShaakHerd(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/Shackles.java b/Mage.Sets/src/mage/cards/s/Shackles.java index c0b4cdcc1ac..da091d4652e 100644 --- a/Mage.Sets/src/mage/cards/s/Shackles.java +++ b/Mage.Sets/src/mage/cards/s/Shackles.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -52,7 +53,7 @@ public class Shackles extends CardImpl { public Shackles(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/ShadeOfTrokair.java b/Mage.Sets/src/mage/cards/s/ShadeOfTrokair.java index 0494a981fc8..8479bc7e0a3 100644 --- a/Mage.Sets/src/mage/cards/s/ShadeOfTrokair.java +++ b/Mage.Sets/src/mage/cards/s/ShadeOfTrokair.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class ShadeOfTrokair extends CardImpl { public ShadeOfTrokair(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Shade"); + this.subtype.add(SubType.SHADE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShadesForm.java b/Mage.Sets/src/mage/cards/s/ShadesForm.java index 0b36ba1ca6e..5cda2c4ec3e 100644 --- a/Mage.Sets/src/mage/cards/s/ShadesForm.java +++ b/Mage.Sets/src/mage/cards/s/ShadesForm.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Outcome; @@ -54,7 +55,7 @@ public class ShadesForm extends CardImpl { public ShadesForm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/s/ShadowAlleyDenizen.java b/Mage.Sets/src/mage/cards/s/ShadowAlleyDenizen.java index a07ef6f6bc9..ae3e4ea8a17 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowAlleyDenizen.java +++ b/Mage.Sets/src/mage/cards/s/ShadowAlleyDenizen.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -59,8 +60,8 @@ public class ShadowAlleyDenizen extends CardImpl { public ShadowAlleyDenizen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShadowGlider.java b/Mage.Sets/src/mage/cards/s/ShadowGlider.java index 6a4aa9265ed..b8885c617b0 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowGlider.java +++ b/Mage.Sets/src/mage/cards/s/ShadowGlider.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class ShadowGlider extends CardImpl { public ShadowGlider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShadowGuildmage.java b/Mage.Sets/src/mage/cards/s/ShadowGuildmage.java index ebfe0757676..b8cced52101 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowGuildmage.java +++ b/Mage.Sets/src/mage/cards/s/ShadowGuildmage.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.PutOnLibraryTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreatureOrPlayer; @@ -51,8 +52,8 @@ public class ShadowGuildmage extends CardImpl { public ShadowGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShadowLance.java b/Mage.Sets/src/mage/cards/s/ShadowLance.java index 2c509f84d6d..19df12e5cb2 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowLance.java +++ b/Mage.Sets/src/mage/cards/s/ShadowLance.java @@ -51,7 +51,7 @@ public class ShadowLance extends CardImpl { public ShadowLance(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/ShadowOfTheGrave.java b/Mage.Sets/src/mage/cards/s/ShadowOfTheGrave.java index 24ad4651318..a432c03d68e 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowOfTheGrave.java +++ b/Mage.Sets/src/mage/cards/s/ShadowOfTheGrave.java @@ -1,100 +1,100 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.game.Game; -import mage.players.Player; -import mage.watchers.common.CardsCycledOrDiscardedThisTurnWatcher; - -/** - * - * @author jeffwadsworth - */ -public class ShadowOfTheGrave extends CardImpl { - - public ShadowOfTheGrave(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{B}"); - - // Return to your hand all cards in your graveyard that you cycled or discarded this turn. - this.getSpellAbility().addEffect(new ShadowOfTheGraveEffect()); - this.getSpellAbility().addWatcher(new CardsCycledOrDiscardedThisTurnWatcher()); - - } - - public ShadowOfTheGrave(final ShadowOfTheGrave card) { - super(card); - } - - @Override - public ShadowOfTheGrave copy() { - return new ShadowOfTheGrave(this); - } -} - -class ShadowOfTheGraveEffect extends OneShotEffect { - - public ShadowOfTheGraveEffect() { - super(Outcome.Benefit); - staticText = "Return to your hand all cards in your graveyard that you cycled or discarded this turn"; - } - - public ShadowOfTheGraveEffect(final ShadowOfTheGraveEffect effect) { - super(effect); - } - - @Override - public ShadowOfTheGraveEffect copy() { - return new ShadowOfTheGraveEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - CardsCycledOrDiscardedThisTurnWatcher watcher = (CardsCycledOrDiscardedThisTurnWatcher) game.getState().getWatchers().get(CardsCycledOrDiscardedThisTurnWatcher.class.getSimpleName()); - if (controller != null - && watcher != null) { - for (Card card : watcher.getCardsCycledOrDiscardedThisTurn(controller.getId()).getCards(game)) { - if (game.getState().getZone(card.getId()) == Zone.GRAVEYARD //must come from their graveyard - && card.getOwnerId().equals(controller.getId())) { //confirm ownership, but it should not be possible to get not ownwd cards here - controller.moveCardToHandWithInfo(card, source.getId(), game, true); - } - } - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.game.Game; +import mage.players.Player; +import mage.watchers.common.CardsCycledOrDiscardedThisTurnWatcher; + +/** + * + * @author jeffwadsworth + */ +public class ShadowOfTheGrave extends CardImpl { + + public ShadowOfTheGrave(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{B}"); + + // Return to your hand all cards in your graveyard that you cycled or discarded this turn. + this.getSpellAbility().addEffect(new ShadowOfTheGraveEffect()); + this.getSpellAbility().addWatcher(new CardsCycledOrDiscardedThisTurnWatcher()); + + } + + public ShadowOfTheGrave(final ShadowOfTheGrave card) { + super(card); + } + + @Override + public ShadowOfTheGrave copy() { + return new ShadowOfTheGrave(this); + } +} + +class ShadowOfTheGraveEffect extends OneShotEffect { + + public ShadowOfTheGraveEffect() { + super(Outcome.Benefit); + staticText = "Return to your hand all cards in your graveyard that you cycled or discarded this turn"; + } + + public ShadowOfTheGraveEffect(final ShadowOfTheGraveEffect effect) { + super(effect); + } + + @Override + public ShadowOfTheGraveEffect copy() { + return new ShadowOfTheGraveEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + CardsCycledOrDiscardedThisTurnWatcher watcher = (CardsCycledOrDiscardedThisTurnWatcher) game.getState().getWatchers().get(CardsCycledOrDiscardedThisTurnWatcher.class.getSimpleName()); + if (controller != null + && watcher != null) { + for (Card card : watcher.getCardsCycledOrDiscardedThisTurn(controller.getId()).getCards(game)) { + if (game.getState().getZone(card.getId()) == Zone.GRAVEYARD //must come from their graveyard + && card.getOwnerId().equals(controller.getId())) { //confirm ownership, but it should not be possible to get not ownwd cards here + controller.moveCardToHandWithInfo(card, source.getId(), game, true); + } + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/s/ShadowRider.java b/Mage.Sets/src/mage/cards/s/ShadowRider.java index b4da41fe6df..fa0275c877f 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowRider.java +++ b/Mage.Sets/src/mage/cards/s/ShadowRider.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlankingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ShadowRider extends CardImpl { public ShadowRider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Knight"); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShadowSliver.java b/Mage.Sets/src/mage/cards/s/ShadowSliver.java index 17595d1ec90..d6ca43e20da 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowSliver.java +++ b/Mage.Sets/src/mage/cards/s/ShadowSliver.java @@ -55,7 +55,7 @@ public class ShadowSliver extends CardImpl { public ShadowSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShadowTrooper.java b/Mage.Sets/src/mage/cards/s/ShadowTrooper.java index 3118ce9f751..4110d66fdb7 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowTrooper.java +++ b/Mage.Sets/src/mage/cards/s/ShadowTrooper.java @@ -1,79 +1,79 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.continuous.CastAsThoughItHadFlashAllEffect; -import mage.abilities.keyword.FlashAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterCreatureCard; -import mage.filter.predicate.mageobject.SubtypePredicate; - -/** - * - * @author Styxo - */ -public class ShadowTrooper extends CardImpl { - - private static final FilterCreatureCard filter = new FilterCreatureCard("Trooper creatures"); - - static { - filter.add(new SubtypePredicate(SubType.TROOPER)); - } - - public ShadowTrooper(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Trooper"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Flash - this.addAbility(FlashAbility.getInstance()); - - // You may cast Trooper creature cards as though they had flash. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filter))); - - } - - public ShadowTrooper(final ShadowTrooper card) { - super(card); - } - - @Override - public ShadowTrooper copy() { - return new ShadowTrooper(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continuous.CastAsThoughItHadFlashAllEffect; +import mage.abilities.keyword.FlashAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterCreatureCard; +import mage.filter.predicate.mageobject.SubtypePredicate; + +/** + * + * @author Styxo + */ +public class ShadowTrooper extends CardImpl { + + private static final FilterCreatureCard filter = new FilterCreatureCard("Trooper creatures"); + + static { + filter.add(new SubtypePredicate(SubType.TROOPER)); + } + + public ShadowTrooper(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.TROOPER); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Flash + this.addAbility(FlashAbility.getInstance()); + + // You may cast Trooper creature cards as though they had flash. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CastAsThoughItHadFlashAllEffect(Duration.WhileOnBattlefield, filter))); + + } + + public ShadowTrooper(final ShadowTrooper card) { + super(card); + } + + @Override + public ShadowTrooper copy() { + return new ShadowTrooper(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/ShadowbornApostle.java b/Mage.Sets/src/mage/cards/s/ShadowbornApostle.java index 6ea2f10540f..1de811d6a74 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowbornApostle.java +++ b/Mage.Sets/src/mage/cards/s/ShadowbornApostle.java @@ -63,8 +63,8 @@ public class ShadowbornApostle extends CardImpl { public ShadowbornApostle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShadowbornDemon.java b/Mage.Sets/src/mage/cards/s/ShadowbornDemon.java index a5d83a25d4f..840951721fa 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowbornDemon.java +++ b/Mage.Sets/src/mage/cards/s/ShadowbornDemon.java @@ -67,7 +67,7 @@ public class ShadowbornDemon extends CardImpl { public ShadowbornDemon(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/ShadowcloakVampire.java b/Mage.Sets/src/mage/cards/s/ShadowcloakVampire.java index 45d180a71c0..e0c3222c018 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowcloakVampire.java +++ b/Mage.Sets/src/mage/cards/s/ShadowcloakVampire.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class ShadowcloakVampire extends CardImpl { public ShadowcloakVampire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShadowmageInfiltrator.java b/Mage.Sets/src/mage/cards/s/ShadowmageInfiltrator.java index e339a393620..1850ec89c68 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowmageInfiltrator.java +++ b/Mage.Sets/src/mage/cards/s/ShadowmageInfiltrator.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class ShadowmageInfiltrator extends CardImpl { public ShadowmageInfiltrator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShadowstormVizier.java b/Mage.Sets/src/mage/cards/s/ShadowstormVizier.java index 2d295a7993d..aa79e55547a 100644 --- a/Mage.Sets/src/mage/cards/s/ShadowstormVizier.java +++ b/Mage.Sets/src/mage/cards/s/ShadowstormVizier.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,8 +47,8 @@ public class ShadowstormVizier extends CardImpl { public ShadowstormVizier(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShaleskinBruiser.java b/Mage.Sets/src/mage/cards/s/ShaleskinBruiser.java index 79637f18ff1..232051dedf5 100644 --- a/Mage.Sets/src/mage/cards/s/ShaleskinBruiser.java +++ b/Mage.Sets/src/mage/cards/s/ShaleskinBruiser.java @@ -59,7 +59,7 @@ public class ShaleskinBruiser extends CardImpl { public ShaleskinBruiser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ShaleskinPlower.java b/Mage.Sets/src/mage/cards/s/ShaleskinPlower.java index 61a2875abf7..6eeb4476501 100644 --- a/Mage.Sets/src/mage/cards/s/ShaleskinPlower.java +++ b/Mage.Sets/src/mage/cards/s/ShaleskinPlower.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetLandPermanent; /** @@ -47,7 +48,7 @@ public class ShaleskinPlower extends CardImpl { public ShaleskinPlower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShamanEnKor.java b/Mage.Sets/src/mage/cards/s/ShamanEnKor.java index 568c2ce7cad..780c4b58da7 100644 --- a/Mage.Sets/src/mage/cards/s/ShamanEnKor.java +++ b/Mage.Sets/src/mage/cards/s/ShamanEnKor.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.RedirectDamageFromSourceToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -59,9 +60,9 @@ public class ShamanEnKor extends CardImpl { public ShamanEnKor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Cleric"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShamanOfForgottenWays.java b/Mage.Sets/src/mage/cards/s/ShamanOfForgottenWays.java index a0a1839202e..e9e6c2d9636 100644 --- a/Mage.Sets/src/mage/cards/s/ShamanOfForgottenWays.java +++ b/Mage.Sets/src/mage/cards/s/ShamanOfForgottenWays.java @@ -45,6 +45,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -61,8 +62,8 @@ public class ShamanOfForgottenWays extends CardImpl { public ShamanOfForgottenWays(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt( 2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShamanOfSpring.java b/Mage.Sets/src/mage/cards/s/ShamanOfSpring.java index b3a12ae6dd6..b195b9ba2f7 100644 --- a/Mage.Sets/src/mage/cards/s/ShamanOfSpring.java +++ b/Mage.Sets/src/mage/cards/s/ShamanOfSpring.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ShamanOfSpring extends CardImpl { public ShamanOfSpring(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShamanOfTheGreatHunt.java b/Mage.Sets/src/mage/cards/s/ShamanOfTheGreatHunt.java index eb056b60da3..efe482f5af6 100644 --- a/Mage.Sets/src/mage/cards/s/ShamanOfTheGreatHunt.java +++ b/Mage.Sets/src/mage/cards/s/ShamanOfTheGreatHunt.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SetTargetPointer; import mage.constants.Zone; @@ -64,8 +65,8 @@ public class ShamanOfTheGreatHunt extends CardImpl { public ShamanOfTheGreatHunt(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Orc"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShamanOfThePack.java b/Mage.Sets/src/mage/cards/s/ShamanOfThePack.java index a4d850a2d5f..30c21d328a2 100644 --- a/Mage.Sets/src/mage/cards/s/ShamanOfThePack.java +++ b/Mage.Sets/src/mage/cards/s/ShamanOfThePack.java @@ -59,8 +59,8 @@ public class ShamanOfThePack extends CardImpl { public ShamanOfThePack(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Shambleshark.java b/Mage.Sets/src/mage/cards/s/Shambleshark.java index 395377c37e7..3224306a9ba 100644 --- a/Mage.Sets/src/mage/cards/s/Shambleshark.java +++ b/Mage.Sets/src/mage/cards/s/Shambleshark.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class Shambleshark extends CardImpl { public Shambleshark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{U}"); - this.subtype.add("Fish"); - this.subtype.add("Crab"); + this.subtype.add(SubType.FISH); + this.subtype.add(SubType.CRAB); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShamblingAttendants.java b/Mage.Sets/src/mage/cards/s/ShamblingAttendants.java index ff3e872643a..fc522625750 100644 --- a/Mage.Sets/src/mage/cards/s/ShamblingAttendants.java +++ b/Mage.Sets/src/mage/cards/s/ShamblingAttendants.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.DelveAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class ShamblingAttendants extends CardImpl { public ShamblingAttendants(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{7}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/ShamblingGhoul.java b/Mage.Sets/src/mage/cards/s/ShamblingGhoul.java index 405ddc93d47..455cc0a323e 100644 --- a/Mage.Sets/src/mage/cards/s/ShamblingGhoul.java +++ b/Mage.Sets/src/mage/cards/s/ShamblingGhoul.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.TapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class ShamblingGhoul extends CardImpl { public ShamblingGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShamblingGoblin.java b/Mage.Sets/src/mage/cards/s/ShamblingGoblin.java index 545f03f9777..f3232924608 100644 --- a/Mage.Sets/src/mage/cards/s/ShamblingGoblin.java +++ b/Mage.Sets/src/mage/cards/s/ShamblingGoblin.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -55,8 +56,8 @@ public class ShamblingGoblin extends CardImpl { public ShamblingGoblin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShamblingRemains.java b/Mage.Sets/src/mage/cards/s/ShamblingRemains.java index f160955e87d..63ba8e9895b 100644 --- a/Mage.Sets/src/mage/cards/s/ShamblingRemains.java +++ b/Mage.Sets/src/mage/cards/s/ShamblingRemains.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class ShamblingRemains extends CardImpl { public ShamblingRemains(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}"); - this.subtype.add("Zombie"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShamblingShell.java b/Mage.Sets/src/mage/cards/s/ShamblingShell.java index b8d2e30d94a..6f677fa0c8a 100644 --- a/Mage.Sets/src/mage/cards/s/ShamblingShell.java +++ b/Mage.Sets/src/mage/cards/s/ShamblingShell.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DredgeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class ShamblingShell extends CardImpl { public ShamblingShell(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShamblingStrider.java b/Mage.Sets/src/mage/cards/s/ShamblingStrider.java index ec46a9c48d3..15a35a901d4 100644 --- a/Mage.Sets/src/mage/cards/s/ShamblingStrider.java +++ b/Mage.Sets/src/mage/cards/s/ShamblingStrider.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class ShamblingStrider extends CardImpl { public ShamblingStrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Yeti"); + this.subtype.add(SubType.YETI); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/ShamblingSwarm.java b/Mage.Sets/src/mage/cards/s/ShamblingSwarm.java index b62c95703ee..fb86d215382 100644 --- a/Mage.Sets/src/mage/cards/s/ShamblingSwarm.java +++ b/Mage.Sets/src/mage/cards/s/ShamblingSwarm.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.DistributeCountersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanentAmount; @@ -46,7 +47,7 @@ public class ShamblingSwarm extends CardImpl { public ShamblingSwarm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShamblingVent.java b/Mage.Sets/src/mage/cards/s/ShamblingVent.java index 2d8191403d9..6002b57ba53 100644 --- a/Mage.Sets/src/mage/cards/s/ShamblingVent.java +++ b/Mage.Sets/src/mage/cards/s/ShamblingVent.java @@ -39,6 +39,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -79,7 +80,7 @@ class ShamblingVentToken extends Token { public ShamblingVentToken() { super("", "2/3 white and black Elemental creature with lifelink"); cardType.add(CardType.CREATURE); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); color.setWhite(true); color.setBlack(true); power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShanodinDryads.java b/Mage.Sets/src/mage/cards/s/ShanodinDryads.java index 4f9b06a71e6..05d216b68b7 100644 --- a/Mage.Sets/src/mage/cards/s/ShanodinDryads.java +++ b/Mage.Sets/src/mage/cards/s/ShanodinDryads.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class ShanodinDryads extends CardImpl { public ShanodinDryads(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Nymph"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.NYMPH); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShapeStealer.java b/Mage.Sets/src/mage/cards/s/ShapeStealer.java index 9be0484223f..4e719fb2dd8 100644 --- a/Mage.Sets/src/mage/cards/s/ShapeStealer.java +++ b/Mage.Sets/src/mage/cards/s/ShapeStealer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SubLayer; @@ -52,8 +53,8 @@ public class ShapeStealer extends CardImpl { public ShapeStealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}{U}"); - this.subtype.add("Shapeshifter"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SHAPESHIFTER); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShaperGuildmage.java b/Mage.Sets/src/mage/cards/s/ShaperGuildmage.java index e6e5f9808ab..ddcef400f27 100644 --- a/Mage.Sets/src/mage/cards/s/ShaperGuildmage.java +++ b/Mage.Sets/src/mage/cards/s/ShaperGuildmage.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -51,8 +52,8 @@ public class ShaperGuildmage extends CardImpl { public ShaperGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShaperParasite.java b/Mage.Sets/src/mage/cards/s/ShaperParasite.java index ddeed890201..a6257de6112 100644 --- a/Mage.Sets/src/mage/cards/s/ShaperParasite.java +++ b/Mage.Sets/src/mage/cards/s/ShaperParasite.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -54,7 +55,7 @@ public class ShaperParasite extends CardImpl { public ShaperParasite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShapersOfNature.java b/Mage.Sets/src/mage/cards/s/ShapersOfNature.java index 83ee9ce6c25..bee68db9ee0 100644 --- a/Mage.Sets/src/mage/cards/s/ShapersOfNature.java +++ b/Mage.Sets/src/mage/cards/s/ShapersOfNature.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetControlledCreaturePermanent; @@ -52,8 +53,8 @@ public class ShapersOfNature extends CardImpl { public ShapersOfNature(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/Shapesharer.java b/Mage.Sets/src/mage/cards/s/Shapesharer.java index 7e67415fec0..d54d7d77b5e 100644 --- a/Mage.Sets/src/mage/cards/s/Shapesharer.java +++ b/Mage.Sets/src/mage/cards/s/Shapesharer.java @@ -58,7 +58,7 @@ public class Shapesharer extends CardImpl { public Shapesharer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Shapeshifter.java b/Mage.Sets/src/mage/cards/s/Shapeshifter.java index b935c9dae8c..ef6d8049e1e 100644 --- a/Mage.Sets/src/mage/cards/s/Shapeshifter.java +++ b/Mage.Sets/src/mage/cards/s/Shapeshifter.java @@ -58,7 +58,7 @@ public class Shapeshifter extends CardImpl { public Shapeshifter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{6}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/s/ShardOfBrokenGlass.java b/Mage.Sets/src/mage/cards/s/ShardOfBrokenGlass.java index c56c0f6b0a8..c69a6f13cfe 100644 --- a/Mage.Sets/src/mage/cards/s/ShardOfBrokenGlass.java +++ b/Mage.Sets/src/mage/cards/s/ShardOfBrokenGlass.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class ShardOfBrokenGlass extends CardImpl { public ShardOfBrokenGlass(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+0. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 0))); diff --git a/Mage.Sets/src/mage/cards/s/ShardPhoenix.java b/Mage.Sets/src/mage/cards/s/ShardPhoenix.java index 423ad12f104..9ce88ff2c44 100644 --- a/Mage.Sets/src/mage/cards/s/ShardPhoenix.java +++ b/Mage.Sets/src/mage/cards/s/ShardPhoenix.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -60,7 +61,7 @@ public class ShardPhoenix extends CardImpl { public ShardPhoenix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Phoenix"); + this.subtype.add(SubType.PHOENIX); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShardingSphinx.java b/Mage.Sets/src/mage/cards/s/ShardingSphinx.java index 5b3388f8c1e..37a898ab86f 100644 --- a/Mage.Sets/src/mage/cards/s/ShardingSphinx.java +++ b/Mage.Sets/src/mage/cards/s/ShardingSphinx.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SetTargetPointer; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -54,7 +55,7 @@ public class ShardingSphinx extends CardImpl { public ShardingSphinx(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ShardlessAgent.java b/Mage.Sets/src/mage/cards/s/ShardlessAgent.java index 08574594abf..af72ee8651d 100644 --- a/Mage.Sets/src/mage/cards/s/ShardlessAgent.java +++ b/Mage.Sets/src/mage/cards/s/ShardlessAgent.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.CascadeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class ShardlessAgent extends CardImpl { public ShardlessAgent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{G}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SharpenedPitchfork.java b/Mage.Sets/src/mage/cards/s/SharpenedPitchfork.java index 2fd565be297..1c288e96be1 100644 --- a/Mage.Sets/src/mage/cards/s/SharpenedPitchfork.java +++ b/Mage.Sets/src/mage/cards/s/SharpenedPitchfork.java @@ -50,7 +50,7 @@ public class SharpenedPitchfork extends CardImpl { public SharpenedPitchfork(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equip {1} this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1))); diff --git a/Mage.Sets/src/mage/cards/s/SharuumTheHegemon.java b/Mage.Sets/src/mage/cards/s/SharuumTheHegemon.java index 757aca39ea3..b523b85cee0 100644 --- a/Mage.Sets/src/mage/cards/s/SharuumTheHegemon.java +++ b/Mage.Sets/src/mage/cards/s/SharuumTheHegemon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterArtifactCard; import mage.target.common.TargetCardInYourGraveyard; @@ -49,7 +50,7 @@ public class SharuumTheHegemon extends CardImpl { public SharuumTheHegemon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{W}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/ShatteredAngel.java b/Mage.Sets/src/mage/cards/s/ShatteredAngel.java index 59669e30051..a3d8f09ec03 100644 --- a/Mage.Sets/src/mage/cards/s/ShatteredAngel.java +++ b/Mage.Sets/src/mage/cards/s/ShatteredAngel.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -55,7 +56,7 @@ public class ShatteredAngel extends CardImpl { public ShatteredAngel (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShattergangBrothers.java b/Mage.Sets/src/mage/cards/s/ShattergangBrothers.java index 307fc4cdf01..7e87dd16675 100644 --- a/Mage.Sets/src/mage/cards/s/ShattergangBrothers.java +++ b/Mage.Sets/src/mage/cards/s/ShattergangBrothers.java @@ -38,6 +38,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class ShattergangBrothers extends CardImpl { public ShattergangBrothers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Goblin"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShatterskullGiant.java b/Mage.Sets/src/mage/cards/s/ShatterskullGiant.java index 5fc824595ff..5620e2a4227 100644 --- a/Mage.Sets/src/mage/cards/s/ShatterskullGiant.java +++ b/Mage.Sets/src/mage/cards/s/ShatterskullGiant.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class ShatterskullGiant extends CardImpl { public ShatterskullGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShatterskullRecruit.java b/Mage.Sets/src/mage/cards/s/ShatterskullRecruit.java index 146b654fddf..692c50fdc3e 100644 --- a/Mage.Sets/src/mage/cards/s/ShatterskullRecruit.java +++ b/Mage.Sets/src/mage/cards/s/ShatterskullRecruit.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,9 +43,9 @@ public class ShatterskullRecruit extends CardImpl { public ShatterskullRecruit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); - this.subtype.add("Ally"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ALLY); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ShaukuEndbringer.java b/Mage.Sets/src/mage/cards/s/ShaukuEndbringer.java index ae59ad4afc8..df6cdc6ea29 100644 --- a/Mage.Sets/src/mage/cards/s/ShaukuEndbringer.java +++ b/Mage.Sets/src/mage/cards/s/ShaukuEndbringer.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.TargetController; @@ -64,7 +65,7 @@ public class ShaukuEndbringer extends CardImpl{ public ShaukuEndbringer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/ShefetDunes.java b/Mage.Sets/src/mage/cards/s/ShefetDunes.java index 7e97900ad88..e72434348c0 100644 --- a/Mage.Sets/src/mage/cards/s/ShefetDunes.java +++ b/Mage.Sets/src/mage/cards/s/ShefetDunes.java @@ -62,7 +62,7 @@ public class ShefetDunes extends CardImpl { public ShefetDunes(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Desert"); + this.subtype.add(SubType.DESERT); // {T}: Add {C} to your mana pool. this.addAbility(new ColorlessManaAbility()); diff --git a/Mage.Sets/src/mage/cards/s/ShefetMonitor.java b/Mage.Sets/src/mage/cards/s/ShefetMonitor.java index 36e5258afac..23d2d92a760 100644 --- a/Mage.Sets/src/mage/cards/s/ShefetMonitor.java +++ b/Mage.Sets/src/mage/cards/s/ShefetMonitor.java @@ -64,7 +64,7 @@ public class ShefetMonitor extends CardImpl { public ShefetMonitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/ShellSkulkin.java b/Mage.Sets/src/mage/cards/s/ShellSkulkin.java index 8cbdf64536a..bf92c1ecd97 100644 --- a/Mage.Sets/src/mage/cards/s/ShellSkulkin.java +++ b/Mage.Sets/src/mage/cards/s/ShellSkulkin.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -57,7 +58,7 @@ public class ShellSkulkin extends CardImpl { public ShellSkulkin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(3); this.toughness = new MageInt(2); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(ShroudAbility.getInstance(), Duration.EndOfTurn), new GenericManaCost(3)); diff --git a/Mage.Sets/src/mage/cards/s/ShelteredAerie.java b/Mage.Sets/src/mage/cards/s/ShelteredAerie.java index 8393ea4000d..dac05c9d760 100644 --- a/Mage.Sets/src/mage/cards/s/ShelteredAerie.java +++ b/Mage.Sets/src/mage/cards/s/ShelteredAerie.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -54,7 +55,7 @@ public class ShelteredAerie extends CardImpl { public ShelteredAerie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/s/ShelteredThicket.java b/Mage.Sets/src/mage/cards/s/ShelteredThicket.java index fc9ac687146..278cf074d73 100644 --- a/Mage.Sets/src/mage/cards/s/ShelteredThicket.java +++ b/Mage.Sets/src/mage/cards/s/ShelteredThicket.java @@ -36,6 +36,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class ShelteredThicket extends CardImpl { public ShelteredThicket(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Mountain"); - this.subtype.add("Forest"); + this.subtype.add(SubType.MOUNTAIN); + this.subtype.add(SubType.FOREST); // ({T}: Add {R} or {G} to your mana pool.) this.addAbility(new RedManaAbility()); diff --git a/Mage.Sets/src/mage/cards/s/ShelteringAncient.java b/Mage.Sets/src/mage/cards/s/ShelteringAncient.java index 8060c9eef27..14052f89293 100644 --- a/Mage.Sets/src/mage/cards/s/ShelteringAncient.java +++ b/Mage.Sets/src/mage/cards/s/ShelteringAncient.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.counters.CounterType; @@ -56,7 +57,7 @@ public class ShelteringAncient extends CardImpl { public ShelteringAncient(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SheoldredWhisperingOne.java b/Mage.Sets/src/mage/cards/s/SheoldredWhisperingOne.java index 614ed5fbf50..867c78a2813 100644 --- a/Mage.Sets/src/mage/cards/s/SheoldredWhisperingOne.java +++ b/Mage.Sets/src/mage/cards/s/SheoldredWhisperingOne.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.filter.StaticFilters; @@ -52,7 +53,7 @@ public class SheoldredWhisperingOne extends CardImpl { public SheoldredWhisperingOne(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Praetor"); + this.subtype.add(SubType.PRAETOR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/ShepherdOfRot.java b/Mage.Sets/src/mage/cards/s/ShepherdOfRot.java index 65a58622d6e..b8f179f58e4 100644 --- a/Mage.Sets/src/mage/cards/s/ShepherdOfRot.java +++ b/Mage.Sets/src/mage/cards/s/ShepherdOfRot.java @@ -57,8 +57,8 @@ public class ShepherdOfRot extends CardImpl { public ShepherdOfRot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShepherdOfTheLost.java b/Mage.Sets/src/mage/cards/s/ShepherdOfTheLost.java index 2c228880bdc..69a072a035a 100644 --- a/Mage.Sets/src/mage/cards/s/ShepherdOfTheLost.java +++ b/Mage.Sets/src/mage/cards/s/ShepherdOfTheLost.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class ShepherdOfTheLost extends CardImpl { public ShepherdOfTheLost (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShieldDancer.java b/Mage.Sets/src/mage/cards/s/ShieldDancer.java index db87ba70f36..a0756c1e034 100644 --- a/Mage.Sets/src/mage/cards/s/ShieldDancer.java +++ b/Mage.Sets/src/mage/cards/s/ShieldDancer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.RedirectionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -53,8 +54,8 @@ public class ShieldDancer extends CardImpl { public ShieldDancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShieldOfDutyAndReason.java b/Mage.Sets/src/mage/cards/s/ShieldOfDutyAndReason.java index fa3b9b06205..2460b271caa 100644 --- a/Mage.Sets/src/mage/cards/s/ShieldOfDutyAndReason.java +++ b/Mage.Sets/src/mage/cards/s/ShieldOfDutyAndReason.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class ShieldOfDutyAndReason extends CardImpl { public ShieldOfDutyAndReason(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/ShieldOfKaldra.java b/Mage.Sets/src/mage/cards/s/ShieldOfKaldra.java index 64c049950ab..47c7cbc0c57 100644 --- a/Mage.Sets/src/mage/cards/s/ShieldOfKaldra.java +++ b/Mage.Sets/src/mage/cards/s/ShieldOfKaldra.java @@ -62,7 +62,7 @@ public class ShieldOfKaldra extends CardImpl { public ShieldOfKaldra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipment named Sword of Kaldra, Shield of Kaldra, and Helm of Kaldra are indestructible. Effect effect = new GainAbilityAllEffect(IndestructibleAbility.getInstance(), Duration.WhileOnBattlefield, filter, false); diff --git a/Mage.Sets/src/mage/cards/s/ShieldOfTheAvatar.java b/Mage.Sets/src/mage/cards/s/ShieldOfTheAvatar.java index d5f9a1254c0..3c1b160ec4a 100644 --- a/Mage.Sets/src/mage/cards/s/ShieldOfTheAvatar.java +++ b/Mage.Sets/src/mage/cards/s/ShieldOfTheAvatar.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class ShieldOfTheAvatar extends CardImpl { public ShieldOfTheAvatar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // If a source would deal damage to equipped creature, prevent X of that damage, where X is the number of creatures you control. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ShieldOfTheAvatarPreventionEffect())); diff --git a/Mage.Sets/src/mage/cards/s/ShieldOfTheOversoul.java b/Mage.Sets/src/mage/cards/s/ShieldOfTheOversoul.java index 9ff6c95a3dd..c3782772d48 100644 --- a/Mage.Sets/src/mage/cards/s/ShieldOfTheOversoul.java +++ b/Mage.Sets/src/mage/cards/s/ShieldOfTheOversoul.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -56,7 +57,7 @@ public class ShieldOfTheOversoul extends CardImpl { public ShieldOfTheOversoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G/W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/ShieldOfTheRighteous.java b/Mage.Sets/src/mage/cards/s/ShieldOfTheRighteous.java index 01418b7b6f7..124e21caf29 100644 --- a/Mage.Sets/src/mage/cards/s/ShieldOfTheRighteous.java +++ b/Mage.Sets/src/mage/cards/s/ShieldOfTheRighteous.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -52,7 +53,7 @@ public class ShieldOfTheRighteous extends CardImpl { public ShieldOfTheRighteous(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{W}{U}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +0/+2 and has vigilance. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(0, 2))); diff --git a/Mage.Sets/src/mage/cards/s/ShieldSphere.java b/Mage.Sets/src/mage/cards/s/ShieldSphere.java index f1712457146..291005ceac8 100644 --- a/Mage.Sets/src/mage/cards/s/ShieldSphere.java +++ b/Mage.Sets/src/mage/cards/s/ShieldSphere.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.BoostCounter; /** @@ -45,7 +46,7 @@ public class ShieldSphere extends CardImpl { public ShieldSphere(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{0}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/ShieldedAetherThief.java b/Mage.Sets/src/mage/cards/s/ShieldedAetherThief.java index 42a9096945d..5e4f90c6b70 100644 --- a/Mage.Sets/src/mage/cards/s/ShieldedAetherThief.java +++ b/Mage.Sets/src/mage/cards/s/ShieldedAetherThief.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -51,8 +52,8 @@ public class ShieldedAetherThief extends CardImpl { public ShieldedAetherThief(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ShieldedByFaith.java b/Mage.Sets/src/mage/cards/s/ShieldedByFaith.java index 4a6572d52b9..c51ed4bcee9 100644 --- a/Mage.Sets/src/mage/cards/s/ShieldedByFaith.java +++ b/Mage.Sets/src/mage/cards/s/ShieldedByFaith.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SetTargetPointer; @@ -55,7 +56,7 @@ public class ShieldedByFaith extends CardImpl { public ShieldedByFaith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/ShieldhideDragon.java b/Mage.Sets/src/mage/cards/s/ShieldhideDragon.java index b8cad466803..4a855a92b6e 100644 --- a/Mage.Sets/src/mage/cards/s/ShieldhideDragon.java +++ b/Mage.Sets/src/mage/cards/s/ShieldhideDragon.java @@ -59,7 +59,7 @@ public class ShieldhideDragon extends CardImpl { public ShieldhideDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShieldingPlax.java b/Mage.Sets/src/mage/cards/s/ShieldingPlax.java index fea6926dde7..b399450f15e 100644 --- a/Mage.Sets/src/mage/cards/s/ShieldingPlax.java +++ b/Mage.Sets/src/mage/cards/s/ShieldingPlax.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -58,7 +59,7 @@ public class ShieldingPlax extends CardImpl { public ShieldingPlax(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G/U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/ShieldsOfVelisVel.java b/Mage.Sets/src/mage/cards/s/ShieldsOfVelisVel.java index 3cea66be8b0..3d503f5367b 100644 --- a/Mage.Sets/src/mage/cards/s/ShieldsOfVelisVel.java +++ b/Mage.Sets/src/mage/cards/s/ShieldsOfVelisVel.java @@ -50,7 +50,7 @@ public class ShieldsOfVelisVel extends CardImpl { public ShieldsOfVelisVel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{W}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); // Changeling this.addAbility(ChangelingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/s/ShiftingSliver.java b/Mage.Sets/src/mage/cards/s/ShiftingSliver.java index f7c21d6ca79..88e54462da6 100644 --- a/Mage.Sets/src/mage/cards/s/ShiftingSliver.java +++ b/Mage.Sets/src/mage/cards/s/ShiftingSliver.java @@ -57,7 +57,7 @@ public class ShiftingSliver extends CardImpl { public ShiftingSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShiftingWall.java b/Mage.Sets/src/mage/cards/s/ShiftingWall.java index da69d43a866..f82fec7ff82 100644 --- a/Mage.Sets/src/mage/cards/s/ShiftingWall.java +++ b/Mage.Sets/src/mage/cards/s/ShiftingWall.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,7 +46,7 @@ public class ShiftingWall extends CardImpl { public ShiftingWall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{X}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/ShiftyDoppelganger.java b/Mage.Sets/src/mage/cards/s/ShiftyDoppelganger.java index 546790b9da7..8375f565ded 100644 --- a/Mage.Sets/src/mage/cards/s/ShiftyDoppelganger.java +++ b/Mage.Sets/src/mage/cards/s/ShiftyDoppelganger.java @@ -44,6 +44,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -63,7 +64,7 @@ public class ShiftyDoppelganger extends CardImpl { public ShiftyDoppelganger(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShimatsuTheBloodcloaked.java b/Mage.Sets/src/mage/cards/s/ShimatsuTheBloodcloaked.java index 9393746a364..373d4e07260 100644 --- a/Mage.Sets/src/mage/cards/s/ShimatsuTheBloodcloaked.java +++ b/Mage.Sets/src/mage/cards/s/ShimatsuTheBloodcloaked.java @@ -54,8 +54,8 @@ public class ShimatsuTheBloodcloaked extends CardImpl { public ShimatsuTheBloodcloaked(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DEMON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/ShimianSpecter.java b/Mage.Sets/src/mage/cards/s/ShimianSpecter.java index 79bb7073cd6..edb5141e933 100644 --- a/Mage.Sets/src/mage/cards/s/ShimianSpecter.java +++ b/Mage.Sets/src/mage/cards/s/ShimianSpecter.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.SplitCard; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -59,7 +60,7 @@ public class ShimianSpecter extends CardImpl { public ShimianSpecter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}"); - this.subtype.add("Specter"); + this.subtype.add(SubType.SPECTER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShimmerMyr.java b/Mage.Sets/src/mage/cards/s/ShimmerMyr.java index 910276e6618..acf27b2cdef 100644 --- a/Mage.Sets/src/mage/cards/s/ShimmerMyr.java +++ b/Mage.Sets/src/mage/cards/s/ShimmerMyr.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterArtifactCard; @@ -47,7 +48,7 @@ public class ShimmerMyr extends CardImpl { public ShimmerMyr(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShimmeringBarrier.java b/Mage.Sets/src/mage/cards/s/ShimmeringBarrier.java index 58aa8026463..5dd569c1b1b 100644 --- a/Mage.Sets/src/mage/cards/s/ShimmeringBarrier.java +++ b/Mage.Sets/src/mage/cards/s/ShimmeringBarrier.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class ShimmeringBarrier extends CardImpl { public ShimmeringBarrier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShimmeringGlasskite.java b/Mage.Sets/src/mage/cards/s/ShimmeringGlasskite.java index b6fc8380209..84357f0d973 100644 --- a/Mage.Sets/src/mage/cards/s/ShimmeringGlasskite.java +++ b/Mage.Sets/src/mage/cards/s/ShimmeringGlasskite.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -49,7 +50,7 @@ public class ShimmeringGlasskite extends CardImpl { public ShimmeringGlasskite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShimmeringWings.java b/Mage.Sets/src/mage/cards/s/ShimmeringWings.java index 8b752052cd1..c84277ef0f9 100644 --- a/Mage.Sets/src/mage/cards/s/ShimmeringWings.java +++ b/Mage.Sets/src/mage/cards/s/ShimmeringWings.java @@ -51,7 +51,7 @@ public class ShimmeringWings extends CardImpl { public ShimmeringWings(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature (Target a creature as you cast this. This card enters the battlefield attached to that creature.) diff --git a/Mage.Sets/src/mage/cards/s/ShimmerscaleDrake.java b/Mage.Sets/src/mage/cards/s/ShimmerscaleDrake.java index f93874dc767..664c526eec0 100644 --- a/Mage.Sets/src/mage/cards/s/ShimmerscaleDrake.java +++ b/Mage.Sets/src/mage/cards/s/ShimmerscaleDrake.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class ShimmerscaleDrake extends CardImpl { public ShimmerscaleDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ShinenOfFearsChill.java b/Mage.Sets/src/mage/cards/s/ShinenOfFearsChill.java index f144f48934d..eccedfe621b 100644 --- a/Mage.Sets/src/mage/cards/s/ShinenOfFearsChill.java +++ b/Mage.Sets/src/mage/cards/s/ShinenOfFearsChill.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ChannelAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class ShinenOfFearsChill extends CardImpl { public ShinenOfFearsChill(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShinenOfFlightsWings.java b/Mage.Sets/src/mage/cards/s/ShinenOfFlightsWings.java index 5f9ef307798..d6eca3cb9fb 100644 --- a/Mage.Sets/src/mage/cards/s/ShinenOfFlightsWings.java +++ b/Mage.Sets/src/mage/cards/s/ShinenOfFlightsWings.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class ShinenOfFlightsWings extends CardImpl { public ShinenOfFlightsWings(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShinenOfFurysFire.java b/Mage.Sets/src/mage/cards/s/ShinenOfFurysFire.java index b2f4668210b..4c655f466c9 100644 --- a/Mage.Sets/src/mage/cards/s/ShinenOfFurysFire.java +++ b/Mage.Sets/src/mage/cards/s/ShinenOfFurysFire.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class ShinenOfFurysFire extends CardImpl { public ShinenOfFurysFire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShinenOfLifesRoar.java b/Mage.Sets/src/mage/cards/s/ShinenOfLifesRoar.java index 2dd95e5c767..71485c262e4 100644 --- a/Mage.Sets/src/mage/cards/s/ShinenOfLifesRoar.java +++ b/Mage.Sets/src/mage/cards/s/ShinenOfLifesRoar.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ChannelAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class ShinenOfLifesRoar extends CardImpl { public ShinenOfLifesRoar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShinenOfStarsLight.java b/Mage.Sets/src/mage/cards/s/ShinenOfStarsLight.java index 412b4b9ff87..6efd5646530 100644 --- a/Mage.Sets/src/mage/cards/s/ShinenOfStarsLight.java +++ b/Mage.Sets/src/mage/cards/s/ShinenOfStarsLight.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class ShinenOfStarsLight extends CardImpl { public ShinenOfStarsLight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Shinewend.java b/Mage.Sets/src/mage/cards/s/Shinewend.java index 56f1fd637b2..6a9c7f17e0a 100644 --- a/Mage.Sets/src/mage/cards/s/Shinewend.java +++ b/Mage.Sets/src/mage/cards/s/Shinewend.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetEnchantmentPermanent; @@ -52,7 +53,7 @@ public class Shinewend extends CardImpl { public Shinewend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/ShinkaGatekeeper.java b/Mage.Sets/src/mage/cards/s/ShinkaGatekeeper.java index 8bedd11c8cd..9b3064b78a9 100644 --- a/Mage.Sets/src/mage/cards/s/ShinkaGatekeeper.java +++ b/Mage.Sets/src/mage/cards/s/ShinkaGatekeeper.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -48,8 +49,8 @@ public class ShinkaGatekeeper extends CardImpl { public ShinkaGatekeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShipbreakerKraken.java b/Mage.Sets/src/mage/cards/s/ShipbreakerKraken.java index d1401e34ce4..d50e6dbd19d 100644 --- a/Mage.Sets/src/mage/cards/s/ShipbreakerKraken.java +++ b/Mage.Sets/src/mage/cards/s/ShipbreakerKraken.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MonstrosityAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.PhaseStep; @@ -57,7 +58,7 @@ public class ShipbreakerKraken extends CardImpl { public ShipbreakerKraken(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Kraken"); + this.subtype.add(SubType.KRAKEN); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/ShipwreckMoray.java b/Mage.Sets/src/mage/cards/s/ShipwreckMoray.java index 0d846bb714b..d7bbd0eca23 100644 --- a/Mage.Sets/src/mage/cards/s/ShipwreckMoray.java +++ b/Mage.Sets/src/mage/cards/s/ShipwreckMoray.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class ShipwreckMoray extends CardImpl { public ShipwreckMoray(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - this.subtype.add("Fish"); + this.subtype.add(SubType.FISH); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/ShipwreckSinger.java b/Mage.Sets/src/mage/cards/s/ShipwreckSinger.java index 179adb2d7a3..d7854036b9e 100644 --- a/Mage.Sets/src/mage/cards/s/ShipwreckSinger.java +++ b/Mage.Sets/src/mage/cards/s/ShipwreckSinger.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -63,7 +64,7 @@ public class ShipwreckSinger extends CardImpl { public ShipwreckSinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}"); - this.subtype.add("Siren"); + this.subtype.add(SubType.SIREN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShireiShizosCaretaker.java b/Mage.Sets/src/mage/cards/s/ShireiShizosCaretaker.java index ce1635ac7cc..82897d049fd 100644 --- a/Mage.Sets/src/mage/cards/s/ShireiShizosCaretaker.java +++ b/Mage.Sets/src/mage/cards/s/ShireiShizosCaretaker.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class ShireiShizosCaretaker extends CardImpl { public ShireiShizosCaretaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShisatoWhisperingHunter.java b/Mage.Sets/src/mage/cards/s/ShisatoWhisperingHunter.java index d336adfe893..674c8f6bf12 100644 --- a/Mage.Sets/src/mage/cards/s/ShisatoWhisperingHunter.java +++ b/Mage.Sets/src/mage/cards/s/ShisatoWhisperingHunter.java @@ -58,8 +58,8 @@ public class ShisatoWhisperingHunter extends CardImpl { public ShisatoWhisperingHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Snake"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShivanDragon.java b/Mage.Sets/src/mage/cards/s/ShivanDragon.java index 9e23634aa4b..319f06348cf 100644 --- a/Mage.Sets/src/mage/cards/s/ShivanDragon.java +++ b/Mage.Sets/src/mage/cards/s/ShivanDragon.java @@ -45,7 +45,7 @@ public class ShivanDragon extends CardImpl { public ShivanDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/ShivanEmissary.java b/Mage.Sets/src/mage/cards/s/ShivanEmissary.java index 26204217344..d07c696a10b 100644 --- a/Mage.Sets/src/mage/cards/s/ShivanEmissary.java +++ b/Mage.Sets/src/mage/cards/s/ShivanEmissary.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -59,8 +60,8 @@ public class ShivanEmissary extends CardImpl { public ShivanEmissary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShivanHellkite.java b/Mage.Sets/src/mage/cards/s/ShivanHellkite.java index b90ecbb7a0a..ec26f2d23bb 100644 --- a/Mage.Sets/src/mage/cards/s/ShivanHellkite.java +++ b/Mage.Sets/src/mage/cards/s/ShivanHellkite.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,7 +49,7 @@ public class ShivanHellkite extends CardImpl { public ShivanHellkite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/ShivanPhoenix.java b/Mage.Sets/src/mage/cards/s/ShivanPhoenix.java index 7c548f7ff3b..1660c2521e8 100644 --- a/Mage.Sets/src/mage/cards/s/ShivanPhoenix.java +++ b/Mage.Sets/src/mage/cards/s/ShivanPhoenix.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class ShivanPhoenix extends CardImpl { public ShivanPhoenix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Phoenix"); + this.subtype.add(SubType.PHOENIX); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ShivanWumpus.java b/Mage.Sets/src/mage/cards/s/ShivanWumpus.java index e26c8fc4797..bcd99ecad12 100644 --- a/Mage.Sets/src/mage/cards/s/ShivanWumpus.java +++ b/Mage.Sets/src/mage/cards/s/ShivanWumpus.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterControlledLandPermanent; import mage.game.Game; @@ -52,7 +53,7 @@ public class ShivanWumpus extends CardImpl { public ShivanWumpus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/ShivanWurm.java b/Mage.Sets/src/mage/cards/s/ShivanWurm.java index a9e797b3e3c..227023b2293 100644 --- a/Mage.Sets/src/mage/cards/s/ShivanWurm.java +++ b/Mage.Sets/src/mage/cards/s/ShivanWurm.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -56,7 +57,7 @@ public class ShivanWurm extends CardImpl { public ShivanWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/s/ShivanZombie.java b/Mage.Sets/src/mage/cards/s/ShivanZombie.java index 8f5efdf28e4..63652b1a193 100644 --- a/Mage.Sets/src/mage/cards/s/ShivanZombie.java +++ b/Mage.Sets/src/mage/cards/s/ShivanZombie.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ShivanZombie extends CardImpl { public ShivanZombie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{R}"); - this.subtype.add("Barbarian"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.BARBARIAN); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShivsEmbrace.java b/Mage.Sets/src/mage/cards/s/ShivsEmbrace.java index 4ecde0d7b97..816404ab6df 100644 --- a/Mage.Sets/src/mage/cards/s/ShivsEmbrace.java +++ b/Mage.Sets/src/mage/cards/s/ShivsEmbrace.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class ShivsEmbrace extends CardImpl { public ShivsEmbrace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/ShizukoCallerOfAutumn.java b/Mage.Sets/src/mage/cards/s/ShizukoCallerOfAutumn.java index 97af8d9f603..6198803658e 100644 --- a/Mage.Sets/src/mage/cards/s/ShizukoCallerOfAutumn.java +++ b/Mage.Sets/src/mage/cards/s/ShizukoCallerOfAutumn.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.AddManaToManaPoolTargetControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class ShizukoCallerOfAutumn extends CardImpl { public ShizukoCallerOfAutumn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Snake"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShoalSerpent.java b/Mage.Sets/src/mage/cards/s/ShoalSerpent.java index 5d415984d45..20e7d114cb4 100644 --- a/Mage.Sets/src/mage/cards/s/ShoalSerpent.java +++ b/Mage.Sets/src/mage/cards/s/ShoalSerpent.java @@ -47,7 +47,7 @@ public class ShoalSerpent extends CardImpl { public ShoalSerpent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/ShockTrooper.java b/Mage.Sets/src/mage/cards/s/ShockTrooper.java index e05f2eda9d3..ca38a98518c 100644 --- a/Mage.Sets/src/mage/cards/s/ShockTrooper.java +++ b/Mage.Sets/src/mage/cards/s/ShockTrooper.java @@ -1,75 +1,75 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.continuous.BoostControlledEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; - -/** - * - * @author Styxo - */ -public class ShockTrooper extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Trooper creatures"); - - static { - filter.add(new SubtypePredicate(SubType.TROOPER)); - } - - public ShockTrooper(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Trooper"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Trooper creatures you control get +2/+0. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(2, 0, Duration.WhileOnBattlefield, filter, false))); - - } - - public ShockTrooper(final ShockTrooper card) { - super(card); - } - - @Override - public ShockTrooper copy() { - return new ShockTrooper(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; + +/** + * + * @author Styxo + */ +public class ShockTrooper extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Trooper creatures"); + + static { + filter.add(new SubtypePredicate(SubType.TROOPER)); + } + + public ShockTrooper(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.TROOPER); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Trooper creatures you control get +2/+0. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(2, 0, Duration.WhileOnBattlefield, filter, false))); + + } + + public ShockTrooper(final ShockTrooper card) { + super(card); + } + + @Override + public ShockTrooper copy() { + return new ShockTrooper(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/ShockTroops.java b/Mage.Sets/src/mage/cards/s/ShockTroops.java index 49c2ab9e9c2..035db5e4e34 100644 --- a/Mage.Sets/src/mage/cards/s/ShockTroops.java +++ b/Mage.Sets/src/mage/cards/s/ShockTroops.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -47,8 +48,8 @@ public class ShockTroops extends CardImpl { public ShockTroops(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Shocker.java b/Mage.Sets/src/mage/cards/s/Shocker.java index 744040de5a3..a2246280df2 100644 --- a/Mage.Sets/src/mage/cards/s/Shocker.java +++ b/Mage.Sets/src/mage/cards/s/Shocker.java @@ -36,6 +36,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -48,7 +49,7 @@ public class Shocker extends CardImpl { public Shocker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShockmawDragon.java b/Mage.Sets/src/mage/cards/s/ShockmawDragon.java index c34089e78f2..79a25a02053 100644 --- a/Mage.Sets/src/mage/cards/s/ShockmawDragon.java +++ b/Mage.Sets/src/mage/cards/s/ShockmawDragon.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.StaticFilters; import mage.game.Game; @@ -51,7 +52,7 @@ public class ShockmawDragon extends CardImpl { public ShockmawDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ShoreSnapper.java b/Mage.Sets/src/mage/cards/s/ShoreSnapper.java index f54d8d877f4..1daf1b47690 100644 --- a/Mage.Sets/src/mage/cards/s/ShoreSnapper.java +++ b/Mage.Sets/src/mage/cards/s/ShoreSnapper.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.IslandwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class ShoreSnapper extends CardImpl { public ShoreSnapper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShorecrasherElemental.java b/Mage.Sets/src/mage/cards/s/ShorecrasherElemental.java index 37690d1a535..ba4d8c79a07 100644 --- a/Mage.Sets/src/mage/cards/s/ShorecrasherElemental.java +++ b/Mage.Sets/src/mage/cards/s/ShorecrasherElemental.java @@ -45,6 +45,7 @@ import mage.cards.CardSetInfo; import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class ShorecrasherElemental extends CardImpl { public ShorecrasherElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShorecrasherMimic.java b/Mage.Sets/src/mage/cards/s/ShorecrasherMimic.java index 031f16315ab..23e4341c3a5 100644 --- a/Mage.Sets/src/mage/cards/s/ShorecrasherMimic.java +++ b/Mage.Sets/src/mage/cards/s/ShorecrasherMimic.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SubLayer; import mage.filter.FilterSpell; @@ -61,7 +62,7 @@ public class ShorecrasherMimic extends CardImpl { public ShorecrasherMimic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G/U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.color.setBlue(true); this.color.setGreen(true); diff --git a/Mage.Sets/src/mage/cards/s/ShorelineRaider.java b/Mage.Sets/src/mage/cards/s/ShorelineRaider.java index c3bb24f9116..80f7632d0d7 100644 --- a/Mage.Sets/src/mage/cards/s/ShorelineRaider.java +++ b/Mage.Sets/src/mage/cards/s/ShorelineRaider.java @@ -53,7 +53,7 @@ public class ShorelineRaider extends CardImpl { public ShorelineRaider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShorelineRanger.java b/Mage.Sets/src/mage/cards/s/ShorelineRanger.java index 7ac013b0e07..b0e05427d6a 100644 --- a/Mage.Sets/src/mage/cards/s/ShorelineRanger.java +++ b/Mage.Sets/src/mage/cards/s/ShorelineRanger.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.IslandcyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class ShorelineRanger extends CardImpl { public ShorelineRanger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ShorelineSalvager.java b/Mage.Sets/src/mage/cards/s/ShorelineSalvager.java index edd8e6e6697..1bf425a1e2a 100644 --- a/Mage.Sets/src/mage/cards/s/ShorelineSalvager.java +++ b/Mage.Sets/src/mage/cards/s/ShorelineSalvager.java @@ -58,7 +58,7 @@ public class ShorelineSalvager extends CardImpl { public ShorelineSalvager(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Surrakar"); + this.subtype.add(SubType.SURRAKAR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShrewdHatchling.java b/Mage.Sets/src/mage/cards/s/ShrewdHatchling.java index e6bb9652cbd..a9176412931 100644 --- a/Mage.Sets/src/mage/cards/s/ShrewdHatchling.java +++ b/Mage.Sets/src/mage/cards/s/ShrewdHatchling.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.counter.RemoveCounterSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -74,7 +75,7 @@ public class ShrewdHatchling extends CardImpl { public ShrewdHatchling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U/R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/ShriekRaptor.java b/Mage.Sets/src/mage/cards/s/ShriekRaptor.java index 45f217e29f0..2e312ce0732 100644 --- a/Mage.Sets/src/mage/cards/s/ShriekRaptor.java +++ b/Mage.Sets/src/mage/cards/s/ShriekRaptor.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class ShriekRaptor extends CardImpl { public ShriekRaptor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/Shriekgeist.java b/Mage.Sets/src/mage/cards/s/Shriekgeist.java index dd0ac9fcbed..7b73933c0ec 100644 --- a/Mage.Sets/src/mage/cards/s/Shriekgeist.java +++ b/Mage.Sets/src/mage/cards/s/Shriekgeist.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.DamagedPlayerEvent; @@ -51,7 +52,7 @@ public class Shriekgeist extends CardImpl { public Shriekgeist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShriekingDrake.java b/Mage.Sets/src/mage/cards/s/ShriekingDrake.java index 9c6d84abaf0..a835083d9d0 100644 --- a/Mage.Sets/src/mage/cards/s/ShriekingDrake.java +++ b/Mage.Sets/src/mage/cards/s/ShriekingDrake.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; /** @@ -45,7 +46,7 @@ public class ShriekingDrake extends CardImpl { public ShriekingDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShriekingGrotesque.java b/Mage.Sets/src/mage/cards/s/ShriekingGrotesque.java index 3870392b375..40ebcf7e532 100644 --- a/Mage.Sets/src/mage/cards/s/ShriekingGrotesque.java +++ b/Mage.Sets/src/mage/cards/s/ShriekingGrotesque.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.target.TargetPlayer; import mage.watchers.common.ManaSpentToCastWatcher; @@ -51,7 +52,7 @@ public class ShriekingGrotesque extends CardImpl { public ShriekingGrotesque(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Gargoyle"); + this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShriekingMogg.java b/Mage.Sets/src/mage/cards/s/ShriekingMogg.java index 407b151ddbe..325f13feb5d 100644 --- a/Mage.Sets/src/mage/cards/s/ShriekingMogg.java +++ b/Mage.Sets/src/mage/cards/s/ShriekingMogg.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -53,7 +54,7 @@ public class ShriekingMogg extends CardImpl { public ShriekingMogg(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShriekingSpecter.java b/Mage.Sets/src/mage/cards/s/ShriekingSpecter.java index cef2ede317e..7a6d09eb99a 100644 --- a/Mage.Sets/src/mage/cards/s/ShriekingSpecter.java +++ b/Mage.Sets/src/mage/cards/s/ShriekingSpecter.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SetTargetPointer; /** @@ -45,7 +46,7 @@ public class ShriekingSpecter extends CardImpl { public ShriekingSpecter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Specter"); + this.subtype.add(SubType.SPECTER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Shriekmaw.java b/Mage.Sets/src/mage/cards/s/Shriekmaw.java index 1a99907bbad..dea6d6f6c42 100644 --- a/Mage.Sets/src/mage/cards/s/Shriekmaw.java +++ b/Mage.Sets/src/mage/cards/s/Shriekmaw.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -60,7 +61,7 @@ public class Shriekmaw extends CardImpl { public Shriekmaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShrikeHarpy.java b/Mage.Sets/src/mage/cards/s/ShrikeHarpy.java index 2dbfa96115f..9cba215e221 100644 --- a/Mage.Sets/src/mage/cards/s/ShrikeHarpy.java +++ b/Mage.Sets/src/mage/cards/s/ShrikeHarpy.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TributeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.target.common.TargetOpponent; @@ -50,7 +51,7 @@ public class ShrikeHarpy extends CardImpl { public ShrikeHarpy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Harpy"); + this.subtype.add(SubType.HARPY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShrillHowler.java b/Mage.Sets/src/mage/cards/s/ShrillHowler.java index c705f0019a9..c165fe899a4 100644 --- a/Mage.Sets/src/mage/cards/s/ShrillHowler.java +++ b/Mage.Sets/src/mage/cards/s/ShrillHowler.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.h.HowlingChorus; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,8 +50,8 @@ public class ShrillHowler extends CardImpl { public ShrillHowler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Werewolf"); - this.subtype.add("Horror"); + this.subtype.add(SubType.WEREWOLF); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShuCavalry.java b/Mage.Sets/src/mage/cards/s/ShuCavalry.java index c57fbbfe3b6..a962e6a29fb 100644 --- a/Mage.Sets/src/mage/cards/s/ShuCavalry.java +++ b/Mage.Sets/src/mage/cards/s/ShuCavalry.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class ShuCavalry extends CardImpl { public ShuCavalry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShuDefender.java b/Mage.Sets/src/mage/cards/s/ShuDefender.java index 4cb3a1a808b..b7299bb1c7c 100644 --- a/Mage.Sets/src/mage/cards/s/ShuDefender.java +++ b/Mage.Sets/src/mage/cards/s/ShuDefender.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,8 +45,8 @@ public class ShuDefender extends CardImpl { public ShuDefender(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShuEliteCompanions.java b/Mage.Sets/src/mage/cards/s/ShuEliteCompanions.java index 86407fc6b26..5e159869051 100644 --- a/Mage.Sets/src/mage/cards/s/ShuEliteCompanions.java +++ b/Mage.Sets/src/mage/cards/s/ShuEliteCompanions.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class ShuEliteCompanions extends CardImpl { public ShuEliteCompanions(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShuEliteInfantry.java b/Mage.Sets/src/mage/cards/s/ShuEliteInfantry.java index 1e39f1921f4..23b86af9ac5 100644 --- a/Mage.Sets/src/mage/cards/s/ShuEliteInfantry.java +++ b/Mage.Sets/src/mage/cards/s/ShuEliteInfantry.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class ShuEliteInfantry extends CardImpl { public ShuEliteInfantry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShuFarmer.java b/Mage.Sets/src/mage/cards/s/ShuFarmer.java index a3a1ff7784e..bfe2dc36c88 100644 --- a/Mage.Sets/src/mage/cards/s/ShuFarmer.java +++ b/Mage.Sets/src/mage/cards/s/ShuFarmer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class ShuFarmer extends CardImpl { public ShuFarmer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/ShuFootSoldiers.java b/Mage.Sets/src/mage/cards/s/ShuFootSoldiers.java index bb7dcb2f4f9..d09878a7c33 100644 --- a/Mage.Sets/src/mage/cards/s/ShuFootSoldiers.java +++ b/Mage.Sets/src/mage/cards/s/ShuFootSoldiers.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class ShuFootSoldiers extends CardImpl { public ShuFootSoldiers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/ShuGeneral.java b/Mage.Sets/src/mage/cards/s/ShuGeneral.java index d39e1d55a9f..c4f58cda997 100644 --- a/Mage.Sets/src/mage/cards/s/ShuGeneral.java +++ b/Mage.Sets/src/mage/cards/s/ShuGeneral.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ShuGeneral extends CardImpl { public ShuGeneral(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShuGrainCaravan.java b/Mage.Sets/src/mage/cards/s/ShuGrainCaravan.java index 9745fc4a1de..2e1f88c9548 100644 --- a/Mage.Sets/src/mage/cards/s/ShuGrainCaravan.java +++ b/Mage.Sets/src/mage/cards/s/ShuGrainCaravan.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ShuGrainCaravan extends CardImpl { public ShuGrainCaravan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/ShuSoldierFarmers.java b/Mage.Sets/src/mage/cards/s/ShuSoldierFarmers.java index ddab59ba8a6..1e58333ba71 100644 --- a/Mage.Sets/src/mage/cards/s/ShuSoldierFarmers.java +++ b/Mage.Sets/src/mage/cards/s/ShuSoldierFarmers.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ShuSoldierFarmers extends CardImpl { public ShuSoldierFarmers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/ShuYunTheSilentTempest.java b/Mage.Sets/src/mage/cards/s/ShuYunTheSilentTempest.java index e5a87d02e1f..a4947565a1d 100644 --- a/Mage.Sets/src/mage/cards/s/ShuYunTheSilentTempest.java +++ b/Mage.Sets/src/mage/cards/s/ShuYunTheSilentTempest.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.filter.FilterSpell; @@ -61,8 +62,8 @@ public class ShuYunTheSilentTempest extends CardImpl { public ShuYunTheSilentTempest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Shuko.java b/Mage.Sets/src/mage/cards/s/Shuko.java index c3965c368ed..db76a5e9335 100644 --- a/Mage.Sets/src/mage/cards/s/Shuko.java +++ b/Mage.Sets/src/mage/cards/s/Shuko.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class Shuko extends CardImpl { public Shuko(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+0. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 0))); // Equip {0} diff --git a/Mage.Sets/src/mage/cards/s/Shuriken.java b/Mage.Sets/src/mage/cards/s/Shuriken.java index 45ddade299b..35b5bbedac0 100644 --- a/Mage.Sets/src/mage/cards/s/Shuriken.java +++ b/Mage.Sets/src/mage/cards/s/Shuriken.java @@ -57,7 +57,7 @@ public class Shuriken extends CardImpl { public Shuriken(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has "{tap}, Unattach Shuriken: Shuriken deals 2 damage to target creature. That creature's controller gains control of Shuriken unless it was unattached from a Ninja." Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ShurikenDamageEffect(), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/s/SibilantSpirit.java b/Mage.Sets/src/mage/cards/s/SibilantSpirit.java index 5d7860d8443..8720b40d107 100644 --- a/Mage.Sets/src/mage/cards/s/SibilantSpirit.java +++ b/Mage.Sets/src/mage/cards/s/SibilantSpirit.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -48,7 +49,7 @@ public class SibilantSpirit extends CardImpl { public SibilantSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SibsigHost.java b/Mage.Sets/src/mage/cards/s/SibsigHost.java index d0083da05a8..5d9166ea2be 100644 --- a/Mage.Sets/src/mage/cards/s/SibsigHost.java +++ b/Mage.Sets/src/mage/cards/s/SibsigHost.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveEachPlayerEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -44,7 +45,7 @@ public class SibsigHost extends CardImpl { public SibsigHost(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SibsigIcebreakers.java b/Mage.Sets/src/mage/cards/s/SibsigIcebreakers.java index cdc6df7820b..427d6bfd503 100644 --- a/Mage.Sets/src/mage/cards/s/SibsigIcebreakers.java +++ b/Mage.Sets/src/mage/cards/s/SibsigIcebreakers.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.discard.DiscardEachPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SibsigIcebreakers extends CardImpl { public SibsigIcebreakers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SibsigMuckdraggers.java b/Mage.Sets/src/mage/cards/s/SibsigMuckdraggers.java index f605bf0fc6d..e9f1681d120 100644 --- a/Mage.Sets/src/mage/cards/s/SibsigMuckdraggers.java +++ b/Mage.Sets/src/mage/cards/s/SibsigMuckdraggers.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DelveAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInYourGraveyard; @@ -47,7 +48,7 @@ public class SibsigMuckdraggers extends CardImpl { public SibsigMuckdraggers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{8}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/Sicken.java b/Mage.Sets/src/mage/cards/s/Sicken.java index ac9348b731e..7a8c9122852 100644 --- a/Mage.Sets/src/mage/cards/s/Sicken.java +++ b/Mage.Sets/src/mage/cards/s/Sicken.java @@ -49,7 +49,7 @@ public class Sicken extends CardImpl { public Sicken(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SickleRipper.java b/Mage.Sets/src/mage/cards/s/SickleRipper.java index 0e23223c91e..18184411d0c 100644 --- a/Mage.Sets/src/mage/cards/s/SickleRipper.java +++ b/Mage.Sets/src/mage/cards/s/SickleRipper.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class SickleRipper extends CardImpl { public SickleRipper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Elemental"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Sickleslicer.java b/Mage.Sets/src/mage/cards/s/Sickleslicer.java index 42d5af5bb63..e302c797f9b 100644 --- a/Mage.Sets/src/mage/cards/s/Sickleslicer.java +++ b/Mage.Sets/src/mage/cards/s/Sickleslicer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.LivingWeaponAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class Sickleslicer extends CardImpl { public Sickleslicer (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(4))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2))); this.addAbility(new LivingWeaponAbility()); diff --git a/Mage.Sets/src/mage/cards/s/SidarJabari.java b/Mage.Sets/src/mage/cards/s/SidarJabari.java index f1ddedcc2a1..f0c817878c8 100644 --- a/Mage.Sets/src/mage/cards/s/SidarJabari.java +++ b/Mage.Sets/src/mage/cards/s/SidarJabari.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlankingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -53,8 +54,8 @@ public class SidarJabari extends CardImpl { public SidarJabari(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SidarKondoOfJamuraa.java b/Mage.Sets/src/mage/cards/s/SidarKondoOfJamuraa.java index f83640c3bf2..fc3c2c5a753 100644 --- a/Mage.Sets/src/mage/cards/s/SidarKondoOfJamuraa.java +++ b/Mage.Sets/src/mage/cards/s/SidarKondoOfJamuraa.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.SuperType; @@ -65,8 +66,8 @@ public class SidarKondoOfJamuraa extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SidewinderNaga.java b/Mage.Sets/src/mage/cards/s/SidewinderNaga.java index 6b73fb2eaa5..1ebed51f781 100644 --- a/Mage.Sets/src/mage/cards/s/SidewinderNaga.java +++ b/Mage.Sets/src/mage/cards/s/SidewinderNaga.java @@ -59,8 +59,8 @@ public class SidewinderNaga extends CardImpl { public SidewinderNaga(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Naga"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SidewinderSliver.java b/Mage.Sets/src/mage/cards/s/SidewinderSliver.java index c3a0d1639bd..a550eb520d3 100644 --- a/Mage.Sets/src/mage/cards/s/SidewinderSliver.java +++ b/Mage.Sets/src/mage/cards/s/SidewinderSliver.java @@ -55,7 +55,7 @@ public class SidewinderSliver extends CardImpl { public SidewinderSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SidisiBroodTyrant.java b/Mage.Sets/src/mage/cards/s/SidisiBroodTyrant.java index 865d881fdd3..94ceb600e44 100644 --- a/Mage.Sets/src/mage/cards/s/SidisiBroodTyrant.java +++ b/Mage.Sets/src/mage/cards/s/SidisiBroodTyrant.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.game.Game; @@ -54,8 +55,8 @@ public class SidisiBroodTyrant extends CardImpl { public SidisiBroodTyrant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{G}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Naga"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SidisiUndeadVizier.java b/Mage.Sets/src/mage/cards/s/SidisiUndeadVizier.java index ddac10fa65c..ce1dfe0abc5 100644 --- a/Mage.Sets/src/mage/cards/s/SidisiUndeadVizier.java +++ b/Mage.Sets/src/mage/cards/s/SidisiUndeadVizier.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ExploitAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterCard; import mage.target.common.TargetCardInLibrary; @@ -49,8 +50,8 @@ public class SidisiUndeadVizier extends CardImpl { public SidisiUndeadVizier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); - this.subtype.add("Naga"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.NAGA); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SidisisFaithful.java b/Mage.Sets/src/mage/cards/s/SidisisFaithful.java index 7dbf186b6de..ddcaa877253 100644 --- a/Mage.Sets/src/mage/cards/s/SidisisFaithful.java +++ b/Mage.Sets/src/mage/cards/s/SidisisFaithful.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ExploitAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -46,8 +47,8 @@ public class SidisisFaithful extends CardImpl { public SidisisFaithful(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Naga"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SidisisPet.java b/Mage.Sets/src/mage/cards/s/SidisisPet.java index 65bdcbc01d4..2ba9f9d2b88 100644 --- a/Mage.Sets/src/mage/cards/s/SidisisPet.java +++ b/Mage.Sets/src/mage/cards/s/SidisisPet.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SidisisPet extends CardImpl { public SidisisPet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Ape"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.APE); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SiegeBehemoth.java b/Mage.Sets/src/mage/cards/s/SiegeBehemoth.java index 60d20fda973..c9d96b68e12 100644 --- a/Mage.Sets/src/mage/cards/s/SiegeBehemoth.java +++ b/Mage.Sets/src/mage/cards/s/SiegeBehemoth.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -52,7 +53,7 @@ public class SiegeBehemoth extends CardImpl { public SiegeBehemoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(7); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SiegeDragon.java b/Mage.Sets/src/mage/cards/s/SiegeDragon.java index fef983d4471..90b3b4ac1c5 100644 --- a/Mage.Sets/src/mage/cards/s/SiegeDragon.java +++ b/Mage.Sets/src/mage/cards/s/SiegeDragon.java @@ -65,7 +65,7 @@ public class SiegeDragon extends CardImpl { public SiegeDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SiegeGangCommander.java b/Mage.Sets/src/mage/cards/s/SiegeGangCommander.java index 03a8e6c47f3..4e92042a52d 100644 --- a/Mage.Sets/src/mage/cards/s/SiegeGangCommander.java +++ b/Mage.Sets/src/mage/cards/s/SiegeGangCommander.java @@ -61,7 +61,7 @@ public class SiegeGangCommander extends CardImpl { public SiegeGangCommander(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SiegeMastodon.java b/Mage.Sets/src/mage/cards/s/SiegeMastodon.java index 5620be8d98f..3abc0125dd4 100644 --- a/Mage.Sets/src/mage/cards/s/SiegeMastodon.java +++ b/Mage.Sets/src/mage/cards/s/SiegeMastodon.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SiegeMastodon extends CardImpl { public SiegeMastodon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SiegeModification.java b/Mage.Sets/src/mage/cards/s/SiegeModification.java index b4861b11144..c41be17e04f 100644 --- a/Mage.Sets/src/mage/cards/s/SiegeModification.java +++ b/Mage.Sets/src/mage/cards/s/SiegeModification.java @@ -61,7 +61,7 @@ public class SiegeModification extends CardImpl { public SiegeModification(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature or Vehicle TargetPermanent auraTarget = new TargetPermanent(filter); diff --git a/Mage.Sets/src/mage/cards/s/SiegeRhino.java b/Mage.Sets/src/mage/cards/s/SiegeRhino.java index 0537db232d1..d91304d1601 100644 --- a/Mage.Sets/src/mage/cards/s/SiegeRhino.java +++ b/Mage.Sets/src/mage/cards/s/SiegeRhino.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,7 +48,7 @@ public class SiegeRhino extends CardImpl { public SiegeRhino(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{B}{G}"); - this.subtype.add("Rhino"); + this.subtype.add(SubType.RHINO); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SiegeWurm.java b/Mage.Sets/src/mage/cards/s/SiegeWurm.java index baaeb7df62f..8923d8e8997 100644 --- a/Mage.Sets/src/mage/cards/s/SiegeWurm.java +++ b/Mage.Sets/src/mage/cards/s/SiegeWurm.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SiegeWurm extends CardImpl { public SiegeWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/Siegecraft.java b/Mage.Sets/src/mage/cards/s/Siegecraft.java index f66fe260697..388e3b10559 100644 --- a/Mage.Sets/src/mage/cards/s/Siegecraft.java +++ b/Mage.Sets/src/mage/cards/s/Siegecraft.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class Siegecraft extends CardImpl { public Siegecraft(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SifterOfSkulls.java b/Mage.Sets/src/mage/cards/s/SifterOfSkulls.java index cdabd7cfaa8..90dcc33fc42 100644 --- a/Mage.Sets/src/mage/cards/s/SifterOfSkulls.java +++ b/Mage.Sets/src/mage/cards/s/SifterOfSkulls.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -59,7 +60,7 @@ public class SifterOfSkulls extends CardImpl { public SifterOfSkulls(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SifterWurm.java b/Mage.Sets/src/mage/cards/s/SifterWurm.java index e464f98f742..e2aca344a2f 100644 --- a/Mage.Sets/src/mage/cards/s/SifterWurm.java +++ b/Mage.Sets/src/mage/cards/s/SifterWurm.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -53,7 +54,7 @@ public class SifterWurm extends CardImpl { public SifterWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/s/SigardaHeronsGrace.java b/Mage.Sets/src/mage/cards/s/SigardaHeronsGrace.java index 4a11c173a2c..2df57946258 100644 --- a/Mage.Sets/src/mage/cards/s/SigardaHeronsGrace.java +++ b/Mage.Sets/src/mage/cards/s/SigardaHeronsGrace.java @@ -63,7 +63,7 @@ public class SigardaHeronsGrace extends CardImpl { public SigardaHeronsGrace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SigardaHostOfHerons.java b/Mage.Sets/src/mage/cards/s/SigardaHostOfHerons.java index 382e6eae869..d096b02f283 100644 --- a/Mage.Sets/src/mage/cards/s/SigardaHostOfHerons.java +++ b/Mage.Sets/src/mage/cards/s/SigardaHostOfHerons.java @@ -53,7 +53,7 @@ public class SigardaHostOfHerons extends CardImpl { public SigardaHostOfHerons(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SigardianPriest.java b/Mage.Sets/src/mage/cards/s/SigardianPriest.java index 0cb8869eb53..482a71bc98b 100644 --- a/Mage.Sets/src/mage/cards/s/SigardianPriest.java +++ b/Mage.Sets/src/mage/cards/s/SigardianPriest.java @@ -58,8 +58,8 @@ public class SigardianPriest extends CardImpl { public SigardianPriest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SightedCasteSorcerer.java b/Mage.Sets/src/mage/cards/s/SightedCasteSorcerer.java index 8d84d174d78..6c7c0979e54 100644 --- a/Mage.Sets/src/mage/cards/s/SightedCasteSorcerer.java +++ b/Mage.Sets/src/mage/cards/s/SightedCasteSorcerer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class SightedCasteSorcerer extends CardImpl { public SightedCasteSorcerer (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SightlessBrawler.java b/Mage.Sets/src/mage/cards/s/SightlessBrawler.java index dc6bdd46b14..b9ccdbf7194 100644 --- a/Mage.Sets/src/mage/cards/s/SightlessBrawler.java +++ b/Mage.Sets/src/mage/cards/s/SightlessBrawler.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class SightlessBrawler extends CardImpl { public SightlessBrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SightlessGhoul.java b/Mage.Sets/src/mage/cards/s/SightlessGhoul.java index 6ae86f86f5a..cc484201860 100644 --- a/Mage.Sets/src/mage/cards/s/SightlessGhoul.java +++ b/Mage.Sets/src/mage/cards/s/SightlessGhoul.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.UndyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SightlessGhoul extends CardImpl { public SightlessGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SigilCaptain.java b/Mage.Sets/src/mage/cards/s/SigilCaptain.java index 1d4ffd844b5..14484d63b76 100644 --- a/Mage.Sets/src/mage/cards/s/SigilCaptain.java +++ b/Mage.Sets/src/mage/cards/s/SigilCaptain.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -51,8 +52,8 @@ public class SigilCaptain extends CardImpl { public SigilCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}{W}"); - this.subtype.add("Rhino"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.SOLDIER); diff --git a/Mage.Sets/src/mage/cards/s/SigilOfDistinction.java b/Mage.Sets/src/mage/cards/s/SigilOfDistinction.java index 73c02aaa260..e57fe46b7eb 100644 --- a/Mage.Sets/src/mage/cards/s/SigilOfDistinction.java +++ b/Mage.Sets/src/mage/cards/s/SigilOfDistinction.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -49,7 +50,7 @@ public class SigilOfDistinction extends CardImpl { public SigilOfDistinction(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{X}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Sigil of Distinction enters the battlefield with X charge counters on it. this.addAbility(new EntersBattlefieldAbility(new EntersBattlefieldWithXCountersEffect(CounterType.CHARGE.createInstance()))); diff --git a/Mage.Sets/src/mage/cards/s/SigilOfSleep.java b/Mage.Sets/src/mage/cards/s/SigilOfSleep.java index f268ec84451..ec67d4af281 100644 --- a/Mage.Sets/src/mage/cards/s/SigilOfSleep.java +++ b/Mage.Sets/src/mage/cards/s/SigilOfSleep.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -56,7 +57,7 @@ public class SigilOfSleep extends CardImpl { public SigilOfSleep(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SigilOfTheNayanGods.java b/Mage.Sets/src/mage/cards/s/SigilOfTheNayanGods.java index 6a485a5c901..d994e3569f7 100644 --- a/Mage.Sets/src/mage/cards/s/SigilOfTheNayanGods.java +++ b/Mage.Sets/src/mage/cards/s/SigilOfTheNayanGods.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class SigilOfTheNayanGods extends CardImpl { public SigilOfTheNayanGods(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SigilOfValor.java b/Mage.Sets/src/mage/cards/s/SigilOfValor.java index 18a6a59edb1..6b0c80f6ab9 100644 --- a/Mage.Sets/src/mage/cards/s/SigilOfValor.java +++ b/Mage.Sets/src/mage/cards/s/SigilOfValor.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class SigilOfValor extends CardImpl { public SigilOfValor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Whenever equipped creature attacks alone, it gets +1/+1 until end of turn for each other creature you control. this.addAbility(new SigilOfValorTriggeredAbility(new SigilOfValorCount())); diff --git a/Mage.Sets/src/mage/cards/s/SigilTracer.java b/Mage.Sets/src/mage/cards/s/SigilTracer.java index fce837b4755..21dbf62e579 100644 --- a/Mage.Sets/src/mage/cards/s/SigilTracer.java +++ b/Mage.Sets/src/mage/cards/s/SigilTracer.java @@ -61,8 +61,8 @@ public class SigilTracer extends CardImpl { public SigilTracer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SigiledBehemoth.java b/Mage.Sets/src/mage/cards/s/SigiledBehemoth.java index 436c3c07f69..16c767af004 100644 --- a/Mage.Sets/src/mage/cards/s/SigiledBehemoth.java +++ b/Mage.Sets/src/mage/cards/s/SigiledBehemoth.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ExaltedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SigiledBehemoth extends CardImpl { public SigiledBehemoth (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{W}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SigiledPaladin.java b/Mage.Sets/src/mage/cards/s/SigiledPaladin.java index c24458b71af..227470c6e26 100644 --- a/Mage.Sets/src/mage/cards/s/SigiledPaladin.java +++ b/Mage.Sets/src/mage/cards/s/SigiledPaladin.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SigiledPaladin extends CardImpl { public SigiledPaladin (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SigiledSkink.java b/Mage.Sets/src/mage/cards/s/SigiledSkink.java index 6d7d443337e..acd08500854 100644 --- a/Mage.Sets/src/mage/cards/s/SigiledSkink.java +++ b/Mage.Sets/src/mage/cards/s/SigiledSkink.java @@ -34,6 +34,7 @@ import mage.abilities.effects.keyword.ScryEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SigiledSkink extends CardImpl { public SigiledSkink(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SigiledStarfish.java b/Mage.Sets/src/mage/cards/s/SigiledStarfish.java index 101f4197645..15d36c8b3b7 100644 --- a/Mage.Sets/src/mage/cards/s/SigiledStarfish.java +++ b/Mage.Sets/src/mage/cards/s/SigiledStarfish.java @@ -35,6 +35,7 @@ import mage.abilities.effects.keyword.ScryEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class SigiledStarfish extends CardImpl { public SigiledStarfish(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Starfish"); + this.subtype.add(SubType.STARFISH); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SignalPest.java b/Mage.Sets/src/mage/cards/s/SignalPest.java index 3cdbcce1624..a98a838e97c 100644 --- a/Mage.Sets/src/mage/cards/s/SignalPest.java +++ b/Mage.Sets/src/mage/cards/s/SignalPest.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -61,7 +62,7 @@ public class SignalPest extends CardImpl { public SignalPest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); - this.subtype.add("Pest"); + this.subtype.add(SubType.PEST); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SilasRennSeekerAdept.java b/Mage.Sets/src/mage/cards/s/SilasRennSeekerAdept.java index d195a12f937..81a78149d4e 100644 --- a/Mage.Sets/src/mage/cards/s/SilasRennSeekerAdept.java +++ b/Mage.Sets/src/mage/cards/s/SilasRennSeekerAdept.java @@ -54,7 +54,7 @@ public class SilasRennSeekerAdept extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SilburlindSnapper.java b/Mage.Sets/src/mage/cards/s/SilburlindSnapper.java index e2ed528ea46..93b45b4341c 100644 --- a/Mage.Sets/src/mage/cards/s/SilburlindSnapper.java +++ b/Mage.Sets/src/mage/cards/s/SilburlindSnapper.java @@ -36,6 +36,7 @@ import mage.abilities.effects.RestrictionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class SilburlindSnapper extends CardImpl { public SilburlindSnapper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Turtle"); + this.subtype.add(SubType.TURTLE); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SilentArbiter.java b/Mage.Sets/src/mage/cards/s/SilentArbiter.java index 9cc4ca89ac9..c12fc841c53 100644 --- a/Mage.Sets/src/mage/cards/s/SilentArbiter.java +++ b/Mage.Sets/src/mage/cards/s/SilentArbiter.java @@ -35,6 +35,7 @@ import mage.abilities.effects.RestrictionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -48,7 +49,7 @@ public class SilentArbiter extends CardImpl { public SilentArbiter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SilentArtisan.java b/Mage.Sets/src/mage/cards/s/SilentArtisan.java index 662f598448c..a9aa06cd897 100644 --- a/Mage.Sets/src/mage/cards/s/SilentArtisan.java +++ b/Mage.Sets/src/mage/cards/s/SilentArtisan.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class SilentArtisan extends CardImpl { public SilentArtisan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SilentAttendant.java b/Mage.Sets/src/mage/cards/s/SilentAttendant.java index 1cd2d437adf..1c4a1575057 100644 --- a/Mage.Sets/src/mage/cards/s/SilentAttendant.java +++ b/Mage.Sets/src/mage/cards/s/SilentAttendant.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class SilentAttendant extends CardImpl { public SilentAttendant (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SilentBladeOni.java b/Mage.Sets/src/mage/cards/s/SilentBladeOni.java index b34542386e6..59b9ffce962 100644 --- a/Mage.Sets/src/mage/cards/s/SilentBladeOni.java +++ b/Mage.Sets/src/mage/cards/s/SilentBladeOni.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterNonlandCard; @@ -55,8 +56,8 @@ public class SilentBladeOni extends CardImpl { public SilentBladeOni(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}{B}{B}"); - this.subtype.add("Demon"); - this.subtype.add("Ninja"); + this.subtype.add(SubType.DEMON); + this.subtype.add(SubType.NINJA); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SilentChantZubera.java b/Mage.Sets/src/mage/cards/s/SilentChantZubera.java index 9eec4f2f1d2..cdc827bf4dc 100644 --- a/Mage.Sets/src/mage/cards/s/SilentChantZubera.java +++ b/Mage.Sets/src/mage/cards/s/SilentChantZubera.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.Game; import mage.watchers.common.ZuberasDiedWatcher; @@ -49,8 +50,8 @@ public class SilentChantZubera extends CardImpl { public SilentChantZubera (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Zubera"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ZUBERA); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SilentObserver.java b/Mage.Sets/src/mage/cards/s/SilentObserver.java index 96d21f54f61..c2bc61e34e8 100644 --- a/Mage.Sets/src/mage/cards/s/SilentObserver.java +++ b/Mage.Sets/src/mage/cards/s/SilentObserver.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SilentObserver extends CardImpl { public SilentObserver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SilentSentinel.java b/Mage.Sets/src/mage/cards/s/SilentSentinel.java index 3f368356ad2..c7989609e5c 100644 --- a/Mage.Sets/src/mage/cards/s/SilentSentinel.java +++ b/Mage.Sets/src/mage/cards/s/SilentSentinel.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -56,7 +57,7 @@ public class SilentSentinel extends CardImpl { public SilentSentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); - this.subtype.add("Archon"); + this.subtype.add(SubType.ARCHON); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SilentSkimmer.java b/Mage.Sets/src/mage/cards/s/SilentSkimmer.java index 3d2c0d504dd..90530c50773 100644 --- a/Mage.Sets/src/mage/cards/s/SilentSkimmer.java +++ b/Mage.Sets/src/mage/cards/s/SilentSkimmer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class SilentSkimmer extends CardImpl { public SilentSkimmer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SilentSpecter.java b/Mage.Sets/src/mage/cards/s/SilentSpecter.java index 5fc27725ea1..3e3f9f00e6b 100644 --- a/Mage.Sets/src/mage/cards/s/SilentSpecter.java +++ b/Mage.Sets/src/mage/cards/s/SilentSpecter.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class SilentSpecter extends CardImpl { public SilentSpecter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Specter"); + this.subtype.add(SubType.SPECTER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SilhanaLedgewalker.java b/Mage.Sets/src/mage/cards/s/SilhanaLedgewalker.java index d285568539a..5440cb7b02c 100644 --- a/Mage.Sets/src/mage/cards/s/SilhanaLedgewalker.java +++ b/Mage.Sets/src/mage/cards/s/SilhanaLedgewalker.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -51,8 +52,8 @@ public class SilhanaLedgewalker extends CardImpl { public SilhanaLedgewalker (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SilhanaStarfletcher.java b/Mage.Sets/src/mage/cards/s/SilhanaStarfletcher.java index b2648138475..95eb0cd35a5 100644 --- a/Mage.Sets/src/mage/cards/s/SilhanaStarfletcher.java +++ b/Mage.Sets/src/mage/cards/s/SilhanaStarfletcher.java @@ -41,6 +41,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,9 +56,9 @@ public class SilhanaStarfletcher extends CardImpl { public SilhanaStarfletcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SilkbindFaerie.java b/Mage.Sets/src/mage/cards/s/SilkbindFaerie.java index 4c50b213db1..ea90050d21e 100644 --- a/Mage.Sets/src/mage/cards/s/SilkbindFaerie.java +++ b/Mage.Sets/src/mage/cards/s/SilkbindFaerie.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class SilkbindFaerie extends CardImpl { public SilkbindFaerie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W/U}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SilkenfistFighter.java b/Mage.Sets/src/mage/cards/s/SilkenfistFighter.java index ddd2988c992..ea82d7e92b8 100644 --- a/Mage.Sets/src/mage/cards/s/SilkenfistFighter.java +++ b/Mage.Sets/src/mage/cards/s/SilkenfistFighter.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SilkenfistFighter extends CardImpl { public SilkenfistFighter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SilkenfistOrder.java b/Mage.Sets/src/mage/cards/s/SilkenfistOrder.java index ae1e71345c4..a6fc63124f1 100644 --- a/Mage.Sets/src/mage/cards/s/SilkenfistOrder.java +++ b/Mage.Sets/src/mage/cards/s/SilkenfistOrder.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SilkenfistOrder extends CardImpl { public SilkenfistOrder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SilklashSpider.java b/Mage.Sets/src/mage/cards/s/SilklashSpider.java index 64e394f524f..0e33bf106c5 100644 --- a/Mage.Sets/src/mage/cards/s/SilklashSpider.java +++ b/Mage.Sets/src/mage/cards/s/SilklashSpider.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -56,7 +57,7 @@ public class SilklashSpider extends CardImpl { public SilklashSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(2); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/s/SilkweaverElite.java b/Mage.Sets/src/mage/cards/s/SilkweaverElite.java index 707dc47b2cb..83c9e673a3a 100644 --- a/Mage.Sets/src/mage/cards/s/SilkweaverElite.java +++ b/Mage.Sets/src/mage/cards/s/SilkweaverElite.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.watchers.common.RevoltWatcher; /** @@ -49,8 +50,8 @@ public class SilkweaverElite extends CardImpl { public SilkweaverElite(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SilkwingScout.java b/Mage.Sets/src/mage/cards/s/SilkwingScout.java index d68c717caa0..46f03ad0048 100644 --- a/Mage.Sets/src/mage/cards/s/SilkwingScout.java +++ b/Mage.Sets/src/mage/cards/s/SilkwingScout.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -51,8 +52,8 @@ public class SilkwingScout extends CardImpl { public SilkwingScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Scout"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SiltCrawler.java b/Mage.Sets/src/mage/cards/s/SiltCrawler.java index 9c045bb5ca8..b2d62773fff 100644 --- a/Mage.Sets/src/mage/cards/s/SiltCrawler.java +++ b/Mage.Sets/src/mage/cards/s/SiltCrawler.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.TapAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledLandPermanent; /** @@ -44,7 +45,7 @@ public class SiltCrawler extends CardImpl { public SiltCrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SilumgarAssassin.java b/Mage.Sets/src/mage/cards/s/SilumgarAssassin.java index e9d41f4d099..2e82fbe7170 100644 --- a/Mage.Sets/src/mage/cards/s/SilumgarAssassin.java +++ b/Mage.Sets/src/mage/cards/s/SilumgarAssassin.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.TargetController; import mage.constants.Zone; @@ -62,8 +63,8 @@ public class SilumgarAssassin extends CardImpl { public SilumgarAssassin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SilumgarButcher.java b/Mage.Sets/src/mage/cards/s/SilumgarButcher.java index 1c685dc8fc8..a5b13483405 100644 --- a/Mage.Sets/src/mage/cards/s/SilumgarButcher.java +++ b/Mage.Sets/src/mage/cards/s/SilumgarButcher.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ExploitAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -47,8 +48,8 @@ public class SilumgarButcher extends CardImpl { public SilumgarButcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.DJINN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SilumgarMonument.java b/Mage.Sets/src/mage/cards/s/SilumgarMonument.java index 626fdc4eb2c..4c9369748d7 100644 --- a/Mage.Sets/src/mage/cards/s/SilumgarMonument.java +++ b/Mage.Sets/src/mage/cards/s/SilumgarMonument.java @@ -38,6 +38,7 @@ import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -76,7 +77,7 @@ private static class OjutaiMonumentToken extends Token { cardType.add(CardType.CREATURE); color.setBlue(true); color.setBlack(true); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); power = new MageInt(4); toughness = new MageInt(4); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/s/SilumgarSorcerer.java b/Mage.Sets/src/mage/cards/s/SilumgarSorcerer.java index 0b7949c94f8..855e11a213a 100644 --- a/Mage.Sets/src/mage/cards/s/SilumgarSorcerer.java +++ b/Mage.Sets/src/mage/cards/s/SilumgarSorcerer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.target.TargetSpell; @@ -56,8 +57,8 @@ public class SilumgarSorcerer extends CardImpl { public SilumgarSorcerer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SilumgarSpellEater.java b/Mage.Sets/src/mage/cards/s/SilumgarSpellEater.java index 4a404088aad..b065376a2f2 100644 --- a/Mage.Sets/src/mage/cards/s/SilumgarSpellEater.java +++ b/Mage.Sets/src/mage/cards/s/SilumgarSpellEater.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetSpell; /** @@ -48,8 +49,8 @@ public class SilumgarSpellEater extends CardImpl { public SilumgarSpellEater(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Naga"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SilumgarTheDriftingDeath.java b/Mage.Sets/src/mage/cards/s/SilumgarTheDriftingDeath.java index 4bf8295d708..c9211e3c900 100644 --- a/Mage.Sets/src/mage/cards/s/SilumgarTheDriftingDeath.java +++ b/Mage.Sets/src/mage/cards/s/SilumgarTheDriftingDeath.java @@ -62,7 +62,7 @@ public class SilumgarTheDriftingDeath extends CardImpl { public SilumgarTheDriftingDeath(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(3); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/s/SilverDrake.java b/Mage.Sets/src/mage/cards/s/SilverDrake.java index 029bb88576e..e6932f152be 100644 --- a/Mage.Sets/src/mage/cards/s/SilverDrake.java +++ b/Mage.Sets/src/mage/cards/s/SilverDrake.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -55,7 +56,7 @@ public class SilverDrake extends CardImpl { public SilverDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SilverErne.java b/Mage.Sets/src/mage/cards/s/SilverErne.java index df1f45df3b3..3e4bed7776f 100644 --- a/Mage.Sets/src/mage/cards/s/SilverErne.java +++ b/Mage.Sets/src/mage/cards/s/SilverErne.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SilverErne extends CardImpl { public SilverErne(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SilverInlaidDagger.java b/Mage.Sets/src/mage/cards/s/SilverInlaidDagger.java index ac823b780d8..d43aa7d625a 100644 --- a/Mage.Sets/src/mage/cards/s/SilverInlaidDagger.java +++ b/Mage.Sets/src/mage/cards/s/SilverInlaidDagger.java @@ -50,7 +50,7 @@ public class SilverInlaidDagger extends CardImpl { public SilverInlaidDagger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equip {2} this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2))); diff --git a/Mage.Sets/src/mage/cards/s/SilverKnight.java b/Mage.Sets/src/mage/cards/s/SilverKnight.java index 2f247dea35c..8ccb130e9b1 100644 --- a/Mage.Sets/src/mage/cards/s/SilverKnight.java +++ b/Mage.Sets/src/mage/cards/s/SilverKnight.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SilverKnight extends CardImpl { public SilverKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SilverMyr.java b/Mage.Sets/src/mage/cards/s/SilverMyr.java index 3809198f449..2f670e92939 100644 --- a/Mage.Sets/src/mage/cards/s/SilverMyr.java +++ b/Mage.Sets/src/mage/cards/s/SilverMyr.java @@ -34,6 +34,7 @@ import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SilverMyr extends CardImpl { public SilverMyr (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(new BlueManaAbility()); diff --git a/Mage.Sets/src/mage/cards/s/SilverSeraph.java b/Mage.Sets/src/mage/cards/s/SilverSeraph.java index 9c7ba519f4a..ef144844c6a 100644 --- a/Mage.Sets/src/mage/cards/s/SilverSeraph.java +++ b/Mage.Sets/src/mage/cards/s/SilverSeraph.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class SilverSeraph extends CardImpl { public SilverSeraph(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SilverWyvern.java b/Mage.Sets/src/mage/cards/s/SilverWyvern.java index c4262d1f5e9..a8eebea8aaa 100644 --- a/Mage.Sets/src/mage/cards/s/SilverWyvern.java +++ b/Mage.Sets/src/mage/cards/s/SilverWyvern.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterStackObject; import mage.filter.predicate.Predicate; @@ -56,7 +57,7 @@ public class SilverWyvern extends CardImpl { public SilverWyvern(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SilverbackApe.java b/Mage.Sets/src/mage/cards/s/SilverbackApe.java index 2ee8dc21d67..aa45b766036 100644 --- a/Mage.Sets/src/mage/cards/s/SilverbackApe.java +++ b/Mage.Sets/src/mage/cards/s/SilverbackApe.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class SilverbackApe extends CardImpl { public SilverbackApe(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Ape"); + this.subtype.add(SubType.APE); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SilverbladePaladin.java b/Mage.Sets/src/mage/cards/s/SilverbladePaladin.java index 7824aebfe45..3cc74fcba06 100644 --- a/Mage.Sets/src/mage/cards/s/SilverbladePaladin.java +++ b/Mage.Sets/src/mage/cards/s/SilverbladePaladin.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class SilverbladePaladin extends CardImpl { public SilverbladePaladin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SilverchaseFox.java b/Mage.Sets/src/mage/cards/s/SilverchaseFox.java index f6e806eb097..ba452fc3c35 100644 --- a/Mage.Sets/src/mage/cards/s/SilverchaseFox.java +++ b/Mage.Sets/src/mage/cards/s/SilverchaseFox.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetEnchantmentPermanent; @@ -47,7 +48,7 @@ public class SilverchaseFox extends CardImpl { public SilverchaseFox(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Fox"); + this.subtype.add(SubType.FOX); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SilverclawGriffin.java b/Mage.Sets/src/mage/cards/s/SilverclawGriffin.java index 446cd852ee4..cfa8c77f78d 100644 --- a/Mage.Sets/src/mage/cards/s/SilverclawGriffin.java +++ b/Mage.Sets/src/mage/cards/s/SilverclawGriffin.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SilverclawGriffin extends CardImpl { public SilverclawGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SilvercoatLion.java b/Mage.Sets/src/mage/cards/s/SilvercoatLion.java index 23a5b81fb80..4ef41c63cc5 100644 --- a/Mage.Sets/src/mage/cards/s/SilvercoatLion.java +++ b/Mage.Sets/src/mage/cards/s/SilvercoatLion.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SilvercoatLion extends CardImpl { public SilvercoatLion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SilverfurPartisan.java b/Mage.Sets/src/mage/cards/s/SilverfurPartisan.java index 1c72d894980..7cda52f3a3d 100644 --- a/Mage.Sets/src/mage/cards/s/SilverfurPartisan.java +++ b/Mage.Sets/src/mage/cards/s/SilverfurPartisan.java @@ -56,8 +56,8 @@ public class SilverfurPartisan extends CardImpl { public SilverfurPartisan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Wolf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.WOLF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SilvergillAdept.java b/Mage.Sets/src/mage/cards/s/SilvergillAdept.java index edd2970b2ec..8dd399e91b0 100644 --- a/Mage.Sets/src/mage/cards/s/SilvergillAdept.java +++ b/Mage.Sets/src/mage/cards/s/SilvergillAdept.java @@ -56,8 +56,8 @@ public class SilvergillAdept extends CardImpl { public SilvergillAdept(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SilvergillDouser.java b/Mage.Sets/src/mage/cards/s/SilvergillDouser.java index 88d26a2893a..568c3beea77 100644 --- a/Mage.Sets/src/mage/cards/s/SilvergillDouser.java +++ b/Mage.Sets/src/mage/cards/s/SilvergillDouser.java @@ -1,84 +1,84 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.dynamicvalue.DynamicValue; -import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.dynamicvalue.common.StaticValue; -import mage.abilities.effects.common.continuous.BoostTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class SilvergillDouser extends CardImpl { - - private static final FilterControlledPermanent filter = new FilterControlledPermanent("Merfolk and/or Faeries you control"); - - static { - filter.add(Predicates.or(new SubtypePredicate(SubType.MERFOLK), new SubtypePredicate(SubType.FAERIE))); - } - - public SilvergillDouser(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); - this.power = new MageInt(1); - this.toughness = new MageInt(1); - - // {tap}: Target creature gets -X/-0 until end of turn, where X is the number of Merfolk and/or Faeries you control. - DynamicValue number = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(filter), -1); - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(number, new StaticValue(0), Duration.EndOfTurn, true), new TapSourceCost()); - ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability); - } - - public SilvergillDouser(final SilvergillDouser card) { - super(card); - } - - @Override - public SilvergillDouser copy() { - return new SilvergillDouser(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.dynamicvalue.common.StaticValue; +import mage.abilities.effects.common.continuous.BoostTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class SilvergillDouser extends CardImpl { + + private static final FilterControlledPermanent filter = new FilterControlledPermanent("Merfolk and/or Faeries you control"); + + static { + filter.add(Predicates.or(new SubtypePredicate(SubType.MERFOLK), new SubtypePredicate(SubType.FAERIE))); + } + + public SilvergillDouser(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // {tap}: Target creature gets -X/-0 until end of turn, where X is the number of Merfolk and/or Faeries you control. + DynamicValue number = new PermanentsOnBattlefieldCount(new FilterControlledPermanent(filter), -1); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostTargetEffect(number, new StaticValue(0), Duration.EndOfTurn, true), new TapSourceCost()); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + } + + public SilvergillDouser(final SilvergillDouser card) { + super(card); + } + + @Override + public SilvergillDouser copy() { + return new SilvergillDouser(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SilvergladeElemental.java b/Mage.Sets/src/mage/cards/s/SilvergladeElemental.java index 8425d9ada32..cc6f5353745 100644 --- a/Mage.Sets/src/mage/cards/s/SilvergladeElemental.java +++ b/Mage.Sets/src/mage/cards/s/SilvergladeElemental.java @@ -53,7 +53,7 @@ public class SilvergladeElemental extends CardImpl { public SilvergladeElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SilvergladePathfinder.java b/Mage.Sets/src/mage/cards/s/SilvergladePathfinder.java index 56ca7c33d16..2a2591bebf2 100644 --- a/Mage.Sets/src/mage/cards/s/SilvergladePathfinder.java +++ b/Mage.Sets/src/mage/cards/s/SilvergladePathfinder.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -51,8 +52,8 @@ public class SilvergladePathfinder extends CardImpl { public SilvergladePathfinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Dryad"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.DRYAD); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SilverpeltWerewolf.java b/Mage.Sets/src/mage/cards/s/SilverpeltWerewolf.java index 365c3b922a8..ec168184398 100644 --- a/Mage.Sets/src/mage/cards/s/SilverpeltWerewolf.java +++ b/Mage.Sets/src/mage/cards/s/SilverpeltWerewolf.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -50,7 +51,7 @@ public class SilverpeltWerewolf extends CardImpl { public SilverpeltWerewolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},null); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.color.setGreen(true); this.power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SilverskinArmor.java b/Mage.Sets/src/mage/cards/s/SilverskinArmor.java index 04d79fbf805..9dfbc072d74 100644 --- a/Mage.Sets/src/mage/cards/s/SilverskinArmor.java +++ b/Mage.Sets/src/mage/cards/s/SilverskinArmor.java @@ -45,7 +45,7 @@ public class SilverskinArmor extends CardImpl { public SilverskinArmor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new EquipAbility(Outcome.BoostCreature, new ManaCostsImpl("{2}"))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1, Duration.WhileOnBattlefield))); diff --git a/Mage.Sets/src/mage/cards/s/SilverstormSamurai.java b/Mage.Sets/src/mage/cards/s/SilverstormSamurai.java index ae17b375d19..5ccfd0361a8 100644 --- a/Mage.Sets/src/mage/cards/s/SilverstormSamurai.java +++ b/Mage.Sets/src/mage/cards/s/SilverstormSamurai.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SilverstormSamurai extends CardImpl { public SilverstormSamurai(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Fox"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.FOX); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SilvosRogueElemental.java b/Mage.Sets/src/mage/cards/s/SilvosRogueElemental.java index 069146b4d86..48a7984c1a1 100644 --- a/Mage.Sets/src/mage/cards/s/SilvosRogueElemental.java +++ b/Mage.Sets/src/mage/cards/s/SilvosRogueElemental.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class SilvosRogueElemental extends CardImpl { public SilvosRogueElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(8); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SimaYiWeiFieldMarshal.java b/Mage.Sets/src/mage/cards/s/SimaYiWeiFieldMarshal.java index 9a3c9d117f4..af663512ce2 100644 --- a/Mage.Sets/src/mage/cards/s/SimaYiWeiFieldMarshal.java +++ b/Mage.Sets/src/mage/cards/s/SimaYiWeiFieldMarshal.java @@ -53,8 +53,8 @@ public class SimaYiWeiFieldMarshal extends CardImpl { public SimaYiWeiFieldMarshal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SimianBrawler.java b/Mage.Sets/src/mage/cards/s/SimianBrawler.java index 8cf847db6c7..e96432efb6a 100644 --- a/Mage.Sets/src/mage/cards/s/SimianBrawler.java +++ b/Mage.Sets/src/mage/cards/s/SimianBrawler.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterLandCard; @@ -47,8 +48,8 @@ public class SimianBrawler extends CardImpl { public SimianBrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Ape"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.APE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SimianGrunts.java b/Mage.Sets/src/mage/cards/s/SimianGrunts.java index 52ce5a38611..4957df283ac 100644 --- a/Mage.Sets/src/mage/cards/s/SimianGrunts.java +++ b/Mage.Sets/src/mage/cards/s/SimianGrunts.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SimianGrunts extends CardImpl { public SimianGrunts(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Ape"); + this.subtype.add(SubType.APE); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SimianSpiritGuide.java b/Mage.Sets/src/mage/cards/s/SimianSpiritGuide.java index c04141a9055..cf078940566 100644 --- a/Mage.Sets/src/mage/cards/s/SimianSpiritGuide.java +++ b/Mage.Sets/src/mage/cards/s/SimianSpiritGuide.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.players.Player; @@ -50,8 +51,8 @@ public class SimianSpiritGuide extends CardImpl { public SimianSpiritGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Ape"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.APE); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SimicBasilisk.java b/Mage.Sets/src/mage/cards/s/SimicBasilisk.java index 48ee6926d6c..bb922a95b37 100644 --- a/Mage.Sets/src/mage/cards/s/SimicBasilisk.java +++ b/Mage.Sets/src/mage/cards/s/SimicBasilisk.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.GraftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -62,8 +63,8 @@ public class SimicBasilisk extends CardImpl { public SimicBasilisk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Basilisk"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.BASILISK); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SimicFluxmage.java b/Mage.Sets/src/mage/cards/s/SimicFluxmage.java index 5907208dc3f..1ef13855e79 100644 --- a/Mage.Sets/src/mage/cards/s/SimicFluxmage.java +++ b/Mage.Sets/src/mage/cards/s/SimicFluxmage.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EvolveAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -53,8 +54,8 @@ public class SimicFluxmage extends CardImpl { public SimicFluxmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SimicGuildmage.java b/Mage.Sets/src/mage/cards/s/SimicGuildmage.java index 00f3f23567c..16fe53224de 100644 --- a/Mage.Sets/src/mage/cards/s/SimicGuildmage.java +++ b/Mage.Sets/src/mage/cards/s/SimicGuildmage.java @@ -73,8 +73,8 @@ public class SimicGuildmage extends CardImpl { public SimicGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G/U}{G/U}"); - this.subtype.add("Elf"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SimicInitiate.java b/Mage.Sets/src/mage/cards/s/SimicInitiate.java index bf89b6b097f..6cd26688c4d 100644 --- a/Mage.Sets/src/mage/cards/s/SimicInitiate.java +++ b/Mage.Sets/src/mage/cards/s/SimicInitiate.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.GraftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class SimicInitiate extends CardImpl { public SimicInitiate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SimicKeyrune.java b/Mage.Sets/src/mage/cards/s/SimicKeyrune.java index ed003aea97c..37145a0ba18 100644 --- a/Mage.Sets/src/mage/cards/s/SimicKeyrune.java +++ b/Mage.Sets/src/mage/cards/s/SimicKeyrune.java @@ -38,6 +38,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -75,7 +76,7 @@ public class SimicKeyrune extends CardImpl { cardType.add(CardType.CREATURE); color.setGreen(true); color.setBlue(true); - subtype.add("Crab"); + subtype.add(SubType.CRAB); power = new MageInt(2); toughness = new MageInt(3); this.addAbility(HexproofAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/s/SimicManipulator.java b/Mage.Sets/src/mage/cards/s/SimicManipulator.java index 28682aea6fb..decbf8fc60e 100644 --- a/Mage.Sets/src/mage/cards/s/SimicManipulator.java +++ b/Mage.Sets/src/mage/cards/s/SimicManipulator.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EvolveAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -69,8 +70,8 @@ public class SimicManipulator extends CardImpl { public SimicManipulator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Mutant"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MUTANT); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SimicRagworm.java b/Mage.Sets/src/mage/cards/s/SimicRagworm.java index 59e6c7eaa79..f2b3616d1be 100644 --- a/Mage.Sets/src/mage/cards/s/SimicRagworm.java +++ b/Mage.Sets/src/mage/cards/s/SimicRagworm.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class SimicRagworm extends CardImpl { public SimicRagworm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Worm"); + this.subtype.add(SubType.WORM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SimicSkySwallower.java b/Mage.Sets/src/mage/cards/s/SimicSkySwallower.java index e6829007de3..aa8e03147ce 100644 --- a/Mage.Sets/src/mage/cards/s/SimicSkySwallower.java +++ b/Mage.Sets/src/mage/cards/s/SimicSkySwallower.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class SimicSkySwallower extends CardImpl { public SimicSkySwallower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{U}"); - this.subtype.add("Leviathan"); + this.subtype.add(SubType.LEVIATHAN); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SinCollector.java b/Mage.Sets/src/mage/cards/s/SinCollector.java index 6d373278d91..3d82099e15b 100644 --- a/Mage.Sets/src/mage/cards/s/SinCollector.java +++ b/Mage.Sets/src/mage/cards/s/SinCollector.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.ExileCardYouChooseTargetOpponentEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterInstantOrSorceryCard; import mage.target.common.TargetOpponent; @@ -49,8 +50,8 @@ public class SinCollector extends CardImpl { public SinCollector(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SinProdder.java b/Mage.Sets/src/mage/cards/s/SinProdder.java index 9ae64f01903..bae067a022c 100644 --- a/Mage.Sets/src/mage/cards/s/SinProdder.java +++ b/Mage.Sets/src/mage/cards/s/SinProdder.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class SinProdder extends CardImpl { public SinProdder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Sindbad.java b/Mage.Sets/src/mage/cards/s/Sindbad.java index 19e06965484..a87f4598621 100644 --- a/Mage.Sets/src/mage/cards/s/Sindbad.java +++ b/Mage.Sets/src/mage/cards/s/Sindbad.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -53,7 +54,7 @@ public class Sindbad extends CardImpl { public Sindbad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SinewSliver.java b/Mage.Sets/src/mage/cards/s/SinewSliver.java index 59c77864e29..59c86dcd7b1 100644 --- a/Mage.Sets/src/mage/cards/s/SinewSliver.java +++ b/Mage.Sets/src/mage/cards/s/SinewSliver.java @@ -47,7 +47,7 @@ public class SinewSliver extends CardImpl { public SinewSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SingeMindOgre.java b/Mage.Sets/src/mage/cards/s/SingeMindOgre.java index 658928c3165..db5a96093b8 100644 --- a/Mage.Sets/src/mage/cards/s/SingeMindOgre.java +++ b/Mage.Sets/src/mage/cards/s/SingeMindOgre.java @@ -38,6 +38,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -51,8 +52,8 @@ public class SingeMindOgre extends CardImpl { public SingeMindOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SingingBellStrike.java b/Mage.Sets/src/mage/cards/s/SingingBellStrike.java index 4311deded16..fd7d244ee82 100644 --- a/Mage.Sets/src/mage/cards/s/SingingBellStrike.java +++ b/Mage.Sets/src/mage/cards/s/SingingBellStrike.java @@ -44,6 +44,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class SingingBellStrike extends CardImpl { public SingingBellStrike(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SingingTree.java b/Mage.Sets/src/mage/cards/s/SingingTree.java index 0acdbae409f..e73405886a0 100644 --- a/Mage.Sets/src/mage/cards/s/SingingTree.java +++ b/Mage.Sets/src/mage/cards/s/SingingTree.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.SetPowerSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetAttackingCreature; @@ -49,7 +50,7 @@ public class SingingTree extends CardImpl { public SingingTree(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Plant"); + this.subtype.add(SubType.PLANT); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SinisterPossession.java b/Mage.Sets/src/mage/cards/s/SinisterPossession.java index 4aa9c5bef27..5967d27ced2 100644 --- a/Mage.Sets/src/mage/cards/s/SinisterPossession.java +++ b/Mage.Sets/src/mage/cards/s/SinisterPossession.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class SinisterPossession extends CardImpl { public SinisterPossession(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SinisterStrength.java b/Mage.Sets/src/mage/cards/s/SinisterStrength.java index f8b494e2113..6be98450891 100644 --- a/Mage.Sets/src/mage/cards/s/SinisterStrength.java +++ b/Mage.Sets/src/mage/cards/s/SinisterStrength.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class SinisterStrength extends CardImpl { public SinisterStrength(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SinkIntoTakenuma.java b/Mage.Sets/src/mage/cards/s/SinkIntoTakenuma.java index c94e8ea49f5..f4691dd9c67 100644 --- a/Mage.Sets/src/mage/cards/s/SinkIntoTakenuma.java +++ b/Mage.Sets/src/mage/cards/s/SinkIntoTakenuma.java @@ -46,7 +46,7 @@ public class SinkIntoTakenuma extends CardImpl { public SinkIntoTakenuma(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{B}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Sweep - Return any number of Swamps you control to their owner's hand. Target player discards a card for each Swamp returned this way. diff --git a/Mage.Sets/src/mage/cards/s/SinkingFeeling.java b/Mage.Sets/src/mage/cards/s/SinkingFeeling.java index 178cbbbe92e..08baf366f7f 100644 --- a/Mage.Sets/src/mage/cards/s/SinkingFeeling.java +++ b/Mage.Sets/src/mage/cards/s/SinkingFeeling.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class SinkingFeeling extends CardImpl { public SinkingFeeling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SinuousPredator.java b/Mage.Sets/src/mage/cards/s/SinuousPredator.java index 556e7fa5613..2af30aba37e 100644 --- a/Mage.Sets/src/mage/cards/s/SinuousPredator.java +++ b/Mage.Sets/src/mage/cards/s/SinuousPredator.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByMoreThanOneSourceEffe import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -44,8 +45,8 @@ public class SinuousPredator extends CardImpl { public SinuousPredator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Eldrazi"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SinuousStriker.java b/Mage.Sets/src/mage/cards/s/SinuousStriker.java index 1eca732ee09..bbdcdda44da 100644 --- a/Mage.Sets/src/mage/cards/s/SinuousStriker.java +++ b/Mage.Sets/src/mage/cards/s/SinuousStriker.java @@ -10,6 +10,7 @@ import mage.abilities.keyword.EternalizeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -19,8 +20,8 @@ public class SinuousStriker extends CardImpl { public SinuousStriker(UUID ownerId, CardSetInfo cardSetInfo){ super(ownerId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - subtype.add("Naga"); - subtype.add("Warrior"); + subtype.add(SubType.NAGA); + subtype.add(SubType.WARRIOR); power = new MageInt(2); toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SinuousVermin.java b/Mage.Sets/src/mage/cards/s/SinuousVermin.java index 552b8777820..c2313318383 100644 --- a/Mage.Sets/src/mage/cards/s/SinuousVermin.java +++ b/Mage.Sets/src/mage/cards/s/SinuousVermin.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.MonstrosityAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class SinuousVermin extends CardImpl { public SinuousVermin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Rat"); - this.subtype.add("Horror"); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SirShandlarOfEberyn.java b/Mage.Sets/src/mage/cards/s/SirShandlarOfEberyn.java index 9da17f8509c..367304dbd32 100644 --- a/Mage.Sets/src/mage/cards/s/SirShandlarOfEberyn.java +++ b/Mage.Sets/src/mage/cards/s/SirShandlarOfEberyn.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -43,8 +44,8 @@ public class SirShandlarOfEberyn extends CardImpl { public SirShandlarOfEberyn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(4); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/s/SireOfInsanity.java b/Mage.Sets/src/mage/cards/s/SireOfInsanity.java index 67e6e37c569..8e9ae1892eb 100644 --- a/Mage.Sets/src/mage/cards/s/SireOfInsanity.java +++ b/Mage.Sets/src/mage/cards/s/SireOfInsanity.java @@ -36,6 +36,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.events.GameEvent; @@ -51,7 +52,7 @@ public class SireOfInsanity extends CardImpl { public SireOfInsanity (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{R}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SireOfStagnation.java b/Mage.Sets/src/mage/cards/s/SireOfStagnation.java index fabeb63cf4b..e223aeecbfe 100644 --- a/Mage.Sets/src/mage/cards/s/SireOfStagnation.java +++ b/Mage.Sets/src/mage/cards/s/SireOfStagnation.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SetTargetPointer; import mage.constants.TargetController; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class SireOfStagnation extends CardImpl { public SireOfStagnation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{B}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(5); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/s/SireOfTheStorm.java b/Mage.Sets/src/mage/cards/s/SireOfTheStorm.java index 2bd4126e101..017c9370881 100644 --- a/Mage.Sets/src/mage/cards/s/SireOfTheStorm.java +++ b/Mage.Sets/src/mage/cards/s/SireOfTheStorm.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; /** @@ -45,7 +46,7 @@ public class SireOfTheStorm extends CardImpl { public SireOfTheStorm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SirenOfTheFangedCoast.java b/Mage.Sets/src/mage/cards/s/SirenOfTheFangedCoast.java index ec1651565c3..b3651f603cc 100644 --- a/Mage.Sets/src/mage/cards/s/SirenOfTheFangedCoast.java +++ b/Mage.Sets/src/mage/cards/s/SirenOfTheFangedCoast.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TributeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -50,7 +51,7 @@ public class SirenOfTheFangedCoast extends CardImpl { public SirenOfTheFangedCoast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Siren"); + this.subtype.add(SubType.SIREN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SirenOfTheSilentSong.java b/Mage.Sets/src/mage/cards/s/SirenOfTheSilentSong.java index d6e02ec9b6f..e87d712941e 100644 --- a/Mage.Sets/src/mage/cards/s/SirenOfTheSilentSong.java +++ b/Mage.Sets/src/mage/cards/s/SirenOfTheSilentSong.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.InspiredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,8 +49,8 @@ public class SirenOfTheSilentSong extends CardImpl { public SirenOfTheSilentSong(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Siren"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.SIREN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SirenSongLyre.java b/Mage.Sets/src/mage/cards/s/SirenSongLyre.java index 0c19565ef70..56c57519854 100644 --- a/Mage.Sets/src/mage/cards/s/SirenSongLyre.java +++ b/Mage.Sets/src/mage/cards/s/SirenSongLyre.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -53,7 +54,7 @@ public class SirenSongLyre extends CardImpl { public SirenSongLyre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has "{2}, {T}: Tap target creature." Ability grantedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TapTargetEffect(), new GenericManaCost(2)); diff --git a/Mage.Sets/src/mage/cards/s/SirenStormtamer.java b/Mage.Sets/src/mage/cards/s/SirenStormtamer.java index 10f6b519fee..86bfb89c894 100644 --- a/Mage.Sets/src/mage/cards/s/SirenStormtamer.java +++ b/Mage.Sets/src/mage/cards/s/SirenStormtamer.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.Filter; import mage.game.Game; @@ -60,9 +61,9 @@ public class SirenStormtamer extends CardImpl { public SirenStormtamer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}"); - this.subtype.add("Siren"); - this.subtype.add("Pirate"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.SIREN); + this.subtype.add(SubType.PIRATE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SisaysIngenuity.java b/Mage.Sets/src/mage/cards/s/SisaysIngenuity.java index b9039f604c4..7834a729aee 100644 --- a/Mage.Sets/src/mage/cards/s/SisaysIngenuity.java +++ b/Mage.Sets/src/mage/cards/s/SisaysIngenuity.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class SisaysIngenuity extends CardImpl { public SisaysIngenuity(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SistersOfStoneDeath.java b/Mage.Sets/src/mage/cards/s/SistersOfStoneDeath.java index 13d12e334c1..0fd4b4a636b 100644 --- a/Mage.Sets/src/mage/cards/s/SistersOfStoneDeath.java +++ b/Mage.Sets/src/mage/cards/s/SistersOfStoneDeath.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -66,7 +67,7 @@ public class SistersOfStoneDeath extends CardImpl { public SistersOfStoneDeath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}{G}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Gorgon"); + this.subtype.add(SubType.GORGON); this.power = new MageInt(7); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SistersOfTheFlame.java b/Mage.Sets/src/mage/cards/s/SistersOfTheFlame.java index 11c3c1cfe0e..b8f725a530b 100644 --- a/Mage.Sets/src/mage/cards/s/SistersOfTheFlame.java +++ b/Mage.Sets/src/mage/cards/s/SistersOfTheFlame.java @@ -33,6 +33,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class SistersOfTheFlame extends CardImpl { public SistersOfTheFlame(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SithAssassin.java b/Mage.Sets/src/mage/cards/s/SithAssassin.java index 80da34d278b..b0bcd90e98a 100644 --- a/Mage.Sets/src/mage/cards/s/SithAssassin.java +++ b/Mage.Sets/src/mage/cards/s/SithAssassin.java @@ -1,83 +1,84 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.ObjectColor; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.condition.common.HateCondition; -import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.DestroyTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.ColorPredicate; -import mage.target.common.TargetCreaturePermanent; -import mage.watchers.common.LifeLossOtherFromCombatWatcher; - -/** - * - * @author Styxo - */ -public class SithAssassin extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonblack creature"); - - static { - filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK))); - } - - public SithAssassin(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Pureblood"); - this.subtype.add("Sith"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - - // Hate — When Sith Assassin enters the battlefield, if opponent lost life from source other than combat damage this turn, you may destroy target nonblack creature. - Ability ability = new ConditionalTriggeredAbility( - new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), true), - HateCondition.instance, - "Hate - When {this} enters the battlefield, if an opponent lost life from a source other than combat damage this turn, you may destroy target nonblack creature."); - ability.addTarget(new TargetCreaturePermanent(filter)); - this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); - } - - public SithAssassin(final SithAssassin card) { - super(card); - } - - @Override - public SithAssassin copy() { - return new SithAssassin(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.ObjectColor; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.HateCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.ColorPredicate; +import mage.target.common.TargetCreaturePermanent; +import mage.watchers.common.LifeLossOtherFromCombatWatcher; + +/** + * + * @author Styxo + */ +public class SithAssassin extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("nonblack creature"); + + static { + filter.add(Predicates.not(new ColorPredicate(ObjectColor.BLACK))); + } + + public SithAssassin(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); + this.subtype.add(SubType.PUREBLOOD); + this.subtype.add(SubType.SITH); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // Hate — When Sith Assassin enters the battlefield, if opponent lost life from source other than combat damage this turn, you may destroy target nonblack creature. + Ability ability = new ConditionalTriggeredAbility( + new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), true), + HateCondition.instance, + "Hate - When {this} enters the battlefield, if an opponent lost life from a source other than combat damage this turn, you may destroy target nonblack creature."); + ability.addTarget(new TargetCreaturePermanent(filter)); + this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); + } + + public SithAssassin(final SithAssassin card) { + super(card); + } + + @Override + public SithAssassin copy() { + return new SithAssassin(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SithCitadel.java b/Mage.Sets/src/mage/cards/s/SithCitadel.java index 5a95d43844d..c9e7712d4e1 100644 --- a/Mage.Sets/src/mage/cards/s/SithCitadel.java +++ b/Mage.Sets/src/mage/cards/s/SithCitadel.java @@ -1,70 +1,70 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.Mana; -import mage.abilities.common.EntersBattlefieldTappedAbility; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.AddManaToManaPoolSourceControllerEffect; -import mage.abilities.mana.BlueManaAbility; -import mage.abilities.mana.RedManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class SithCitadel extends CardImpl { - - public SithCitadel(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - - // Sith Citadel enters the battlefield tapped. - this.addAbility(new EntersBattlefieldTappedAbility()); - - // When Sith Citadel enters the battlefield , add {B} to your mana pool. - this.addAbility(new EntersBattlefieldTriggeredAbility(new AddManaToManaPoolSourceControllerEffect(Mana.BlackMana(1)))); - - // {T}: Add {U} or {R} to you mana pool. - this.addAbility(new BlueManaAbility()); - this.addAbility(new RedManaAbility()); - - } - - public SithCitadel(final SithCitadel card) { - super(card); - } - - @Override - public SithCitadel copy() { - return new SithCitadel(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.Mana; +import mage.abilities.common.EntersBattlefieldTappedAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.AddManaToManaPoolSourceControllerEffect; +import mage.abilities.mana.BlueManaAbility; +import mage.abilities.mana.RedManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; + +/** + * + * @author Styxo + */ +public class SithCitadel extends CardImpl { + + public SithCitadel(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.LAND},""); + + // Sith Citadel enters the battlefield tapped. + this.addAbility(new EntersBattlefieldTappedAbility()); + + // When Sith Citadel enters the battlefield , add {B} to your mana pool. + this.addAbility(new EntersBattlefieldTriggeredAbility(new AddManaToManaPoolSourceControllerEffect(Mana.BlackMana(1)))); + + // {T}: Add {U} or {R} to you mana pool. + this.addAbility(new BlueManaAbility()); + this.addAbility(new RedManaAbility()); + + } + + public SithCitadel(final SithCitadel card) { + super(card); + } + + @Override + public SithCitadel copy() { + return new SithCitadel(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SithEvoker.java b/Mage.Sets/src/mage/cards/s/SithEvoker.java index a1e836de18d..9d45740615a 100644 --- a/Mage.Sets/src/mage/cards/s/SithEvoker.java +++ b/Mage.Sets/src/mage/cards/s/SithEvoker.java @@ -1,147 +1,148 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.SacrificeTargetCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.GainLifeEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.choices.Choice; -import mage.choices.ChoiceImpl; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.common.FilterControlledCreaturePermanent; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.common.TargetControlledCreaturePermanent; - -import java.util.HashSet; -import java.util.Set; -import java.util.UUID; - -/** - * - * @author Styxo - */ -public class SithEvoker extends CardImpl { - - public SithEvoker(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Chiss"); - this.subtype.add("Sith"); - this.power = new MageInt(3); - 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.addCost(new TapSourceCost()); - ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(new FilterControlledCreaturePermanent("a creature")))); - - this.addAbility(ability); - } - - public SithEvoker(final SithEvoker card) { - super(card); - } - - @Override - public SithEvoker copy() { - return new SithEvoker(this); - } -} - -class SithEvokerEffect extends OneShotEffect { - - private static final Set choices = new HashSet<>(); - - static { - choices.add("Gain life equal to creature's power"); - choices.add("Gain life equal to creature's toughness"); - } - - public SithEvokerEffect() { - super(Outcome.GainLife); - staticText = "You gain life equal to that creature's power or toughness"; - } - - public SithEvokerEffect(final SithEvokerEffect effect) { - super(effect); - } - - @Override - public SithEvokerEffect copy() { - return new SithEvokerEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - Choice choice = new ChoiceImpl(true); - choice.setMessage("Choose mode"); - choice.setChoices(choices); - while (!controller.choose(outcome, choice, game)) { - if (!controller.canRespond()) { - return false; - } - } - - Card sourceCard = game.getCard(source.getSourceId()); - if (sourceCard != null) { - for (Object cost : source.getCosts()) { - if (cost instanceof SacrificeTargetCost) { - Permanent p = (Permanent) game.getLastKnownInformation(((SacrificeTargetCost) cost).getPermanents().get(0).getId(), Zone.BATTLEFIELD); - if (p != null) { - String chosen = choice.getChoice(); - switch (chosen) { - case "Gain life equal to creature's power": - new GainLifeEffect(p.getPower().getValue()).apply(game, source); - break; - default: //"Gain life equal to creature's toughness" - new GainLifeEffect(p.getToughness().getValue()).apply(game, source); - break; - } - return true; - } - } - } - } - - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeTargetCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.choices.Choice; +import mage.choices.ChoiceImpl; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetControlledCreaturePermanent; + +import java.util.HashSet; +import java.util.Set; +import java.util.UUID; + +/** + * + * @author Styxo + */ +public class SithEvoker extends CardImpl { + + public SithEvoker(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); + this.subtype.add(SubType.CHISS); + this.subtype.add(SubType.SITH); + this.power = new MageInt(3); + 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.addCost(new TapSourceCost()); + ability.addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(new FilterControlledCreaturePermanent("a creature")))); + + this.addAbility(ability); + } + + public SithEvoker(final SithEvoker card) { + super(card); + } + + @Override + public SithEvoker copy() { + return new SithEvoker(this); + } +} + +class SithEvokerEffect extends OneShotEffect { + + private static final Set choices = new HashSet<>(); + + static { + choices.add("Gain life equal to creature's power"); + choices.add("Gain life equal to creature's toughness"); + } + + public SithEvokerEffect() { + super(Outcome.GainLife); + staticText = "You gain life equal to that creature's power or toughness"; + } + + public SithEvokerEffect(final SithEvokerEffect effect) { + super(effect); + } + + @Override + public SithEvokerEffect copy() { + return new SithEvokerEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + Choice choice = new ChoiceImpl(true); + choice.setMessage("Choose mode"); + choice.setChoices(choices); + while (!controller.choose(outcome, choice, game)) { + if (!controller.canRespond()) { + return false; + } + } + + Card sourceCard = game.getCard(source.getSourceId()); + if (sourceCard != null) { + for (Object cost : source.getCosts()) { + if (cost instanceof SacrificeTargetCost) { + Permanent p = (Permanent) game.getLastKnownInformation(((SacrificeTargetCost) cost).getPermanents().get(0).getId(), Zone.BATTLEFIELD); + if (p != null) { + String chosen = choice.getChoice(); + switch (chosen) { + case "Gain life equal to creature's power": + new GainLifeEffect(p.getPower().getValue()).apply(game, source); + break; + default: //"Gain life equal to creature's toughness" + new GainLifeEffect(p.getToughness().getValue()).apply(game, source); + break; + } + return true; + } + } + } + } + + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/s/SithHolocron.java b/Mage.Sets/src/mage/cards/s/SithHolocron.java index 0e5133eb795..b3295f95d2d 100644 --- a/Mage.Sets/src/mage/cards/s/SithHolocron.java +++ b/Mage.Sets/src/mage/cards/s/SithHolocron.java @@ -1,94 +1,94 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.Mana; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.Cost; -import mage.abilities.costs.common.RemoveCountersSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.common.counter.AddCountersSourceEffect; -import mage.abilities.mana.BlackManaAbility; -import mage.abilities.mana.BlueManaAbility; -import mage.abilities.mana.RedManaAbility; -import mage.abilities.mana.SimpleManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.counters.CounterType; - -/** - * - * @author Styxo - */ -public class SithHolocron extends CardImpl { - - public SithHolocron(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - - // {T}: Put a charge counter on Sith Holocron. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance(1)), new TapSourceCost())); - - // {T}, Remove a charge counter from Sith Holocron: Add {U}, {B} or {R} to your mana pool. - Cost cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(1)); - Ability ability = new BlueManaAbility(); - ability.addCost(cost); - this.addAbility(ability); - - ability = new BlackManaAbility(); - ability.addCost(cost); - this.addAbility(ability); - - ability = new RedManaAbility(); - ability.addCost(cost); - this.addAbility(ability); - - // {T}, Remove two charge counters from Sith Holocron: Add UB or BR to your mana pool. - cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(2)); - - ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 1, 0, 1, 0, 0, 0), new TapSourceCost()); - ability.addCost(cost); - this.addAbility(ability); - - ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 0, 0, 1, 0, 0, 0), new TapSourceCost()); - ability.addCost(cost); - this.addAbility(ability); - } - - public SithHolocron(final SithHolocron card) { - super(card); - } - - @Override - public SithHolocron copy() { - return new SithHolocron(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.Mana; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.Cost; +import mage.abilities.costs.common.RemoveCountersSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.mana.BlackManaAbility; +import mage.abilities.mana.BlueManaAbility; +import mage.abilities.mana.RedManaAbility; +import mage.abilities.mana.SimpleManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.counters.CounterType; + +/** + * + * @author Styxo + */ +public class SithHolocron extends CardImpl { + + public SithHolocron(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); + + // {T}: Put a charge counter on Sith Holocron. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance(1)), new TapSourceCost())); + + // {T}, Remove a charge counter from Sith Holocron: Add {U}, {B} or {R} to your mana pool. + Cost cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(1)); + Ability ability = new BlueManaAbility(); + ability.addCost(cost); + this.addAbility(ability); + + ability = new BlackManaAbility(); + ability.addCost(cost); + this.addAbility(ability); + + ability = new RedManaAbility(); + ability.addCost(cost); + this.addAbility(ability); + + // {T}, Remove two charge counters from Sith Holocron: Add UB or BR to your mana pool. + cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(2)); + + ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 1, 0, 1, 0, 0, 0), new TapSourceCost()); + ability.addCost(cost); + this.addAbility(ability); + + ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 0, 0, 1, 0, 0, 0), new TapSourceCost()); + ability.addCost(cost); + this.addAbility(ability); + } + + public SithHolocron(final SithHolocron card) { + super(card); + } + + @Override + public SithHolocron copy() { + return new SithHolocron(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SithInquisitor.java b/Mage.Sets/src/mage/cards/s/SithInquisitor.java index 5d86033f299..90be7ec2d02 100644 --- a/Mage.Sets/src/mage/cards/s/SithInquisitor.java +++ b/Mage.Sets/src/mage/cards/s/SithInquisitor.java @@ -1,73 +1,74 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.condition.common.HateCondition; -import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.discard.DiscardTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.target.TargetPlayer; -import mage.watchers.common.LifeLossOtherFromCombatWatcher; - -/** - * - * @author Styxo - */ -public class SithInquisitor extends CardImpl { - - public SithInquisitor(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Sith"); - this.power = new MageInt(5); - this.toughness = new MageInt(1); - - // Hate — When Sith Assassin enters the battlefield, if opponent lost life from source other than combat damage this turn, target player discard a card at random. - Ability ability = new ConditionalTriggeredAbility( - new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(1, true)), - HateCondition.instance, - "Hate — When {this} enters the battlefield, if an opponent lost life from a source other then combat damage this turn, target player discard a card at random."); - ability.addTarget(new TargetPlayer()); - this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); - } - - public SithInquisitor(final SithInquisitor card) { - super(card); - } - - @Override - public SithInquisitor copy() { - return new SithInquisitor(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.HateCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.common.discard.DiscardTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.TargetPlayer; +import mage.watchers.common.LifeLossOtherFromCombatWatcher; + +/** + * + * @author Styxo + */ +public class SithInquisitor extends CardImpl { + + public SithInquisitor(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SITH); + this.power = new MageInt(5); + this.toughness = new MageInt(1); + + // Hate — When Sith Assassin enters the battlefield, if opponent lost life from source other than combat damage this turn, target player discard a card at random. + Ability ability = new ConditionalTriggeredAbility( + new EntersBattlefieldTriggeredAbility(new DiscardTargetEffect(1, true)), + HateCondition.instance, + "Hate — When {this} enters the battlefield, if an opponent lost life from a source other then combat damage this turn, target player discard a card at random."); + ability.addTarget(new TargetPlayer()); + this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); + } + + public SithInquisitor(final SithInquisitor card) { + super(card); + } + + @Override + public SithInquisitor copy() { + return new SithInquisitor(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SithLord.java b/Mage.Sets/src/mage/cards/s/SithLord.java index 71016078723..60255f1c544 100644 --- a/Mage.Sets/src/mage/cards/s/SithLord.java +++ b/Mage.Sets/src/mage/cards/s/SithLord.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -52,8 +53,8 @@ public class SithLord extends CardImpl { public SithLord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Sith"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SITH); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SithMagic.java b/Mage.Sets/src/mage/cards/s/SithMagic.java index a61842a20b4..8d99856f716 100644 --- a/Mage.Sets/src/mage/cards/s/SithMagic.java +++ b/Mage.Sets/src/mage/cards/s/SithMagic.java @@ -1,183 +1,183 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.TriggeredAbility; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; -import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; -import mage.abilities.condition.common.HateCondition; -import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.ContinuousEffect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.ReplacementEffectImpl; -import mage.abilities.effects.common.ExileTargetEffect; -import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; -import mage.abilities.keyword.HasteAbility; -import mage.abilities.keyword.LifelinkAbility; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.filter.common.FilterCreatureCard; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.events.ZoneChangeEvent; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.common.TargetCardInGraveyard; -import mage.target.targetpointer.FixedTarget; -import mage.watchers.common.LifeLossOtherFromCombatWatcher; - -/** - * - * @author Styxo - */ -public class SithMagic extends CardImpl { - - public SithMagic(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}{B}{R}"); - - // Hate — At the beggining of each combat, if opponent lost life from a source other than combat damage this turn, you may return target card from a graveyard to the battlefield under your control. It gains lifelink and haste. Exile it at the beginning of the next end step or if it would leave the battlefield. - TriggeredAbility triggeredAbility = new BeginningOfCombatTriggeredAbility(new SithMagicEffect(), TargetController.ANY, true); - triggeredAbility.addEffect(new SithMagicReplacementEffect()); - Ability ability = new ConditionalTriggeredAbility( - triggeredAbility, - HateCondition.instance, - "Hate — At the beggining of each combat, if opponent lost life from a source other than combat damage this turn, you may return target card from a graveyard to the battlefield under your control. It gains lifelink and haste. Exile it at the beginning of the next end step or if it would leave the battlefield."); - ability.addTarget(new TargetCardInGraveyard(new FilterCreatureCard())); - this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); - } - - public SithMagic(final SithMagic card) { - super(card); - } - - @Override - public SithMagic copy() { - return new SithMagic(this); - } -} - -class SithMagicEffect extends OneShotEffect { - - public SithMagicEffect() { - super(Outcome.PutCreatureInPlay); - staticText = "return target card from a graveyard to the battlefield under your control. It gains lifelink and haste. Exile it at the beginning of the next end step or if it would leave the battlefield"; - } - - public SithMagicEffect(final SithMagicEffect effect) { - super(effect); - } - - @Override - public SithMagicEffect copy() { - return new SithMagicEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Card card = game.getCard(this.getTargetPointer().getFirst(game, source)); - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null && card != null) { - if (controller.moveCards(card, Zone.BATTLEFIELD, source, game)) { - Permanent creature = game.getPermanent(card.getId()); - if (creature != null) { - // gains haste - ContinuousEffect effect = new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.Custom); - effect.setTargetPointer(new FixedTarget(creature, game)); - game.addEffect(effect, source); - // gains lifelink - effect = new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.Custom); - effect.setTargetPointer(new FixedTarget(creature, game)); - game.addEffect(effect, source); - // Exile at begin of next end step - ExileTargetEffect exileEffect = new ExileTargetEffect(null, null, Zone.BATTLEFIELD); - exileEffect.setTargetPointer(new FixedTarget(creature, game)); - DelayedTriggeredAbility delayedAbility = new AtTheBeginOfNextEndStepDelayedTriggeredAbility(exileEffect); - game.addDelayedTriggeredAbility(delayedAbility, source); - } - } - return true; - } - return false; - } -} - -class SithMagicReplacementEffect extends ReplacementEffectImpl { - - SithMagicReplacementEffect() { - super(Duration.EndOfTurn, Outcome.Exile); - staticText = "or if it would leave the battlefield"; - } - - SithMagicReplacementEffect(final SithMagicReplacementEffect effect) { - super(effect); - } - - @Override - public SithMagicReplacementEffect copy() { - return new SithMagicReplacementEffect(this); - } - - @Override - public boolean replaceEvent(GameEvent event, Ability source, Game game) { - Permanent permanent = game.getPermanent(source.getFirstTarget()); - Player controller = game.getPlayer(source.getControllerId()); - if (permanent != null && controller != null) { - controller.moveCardToExileWithInfo(permanent, null, null, source.getSourceId(), game, Zone.BATTLEFIELD, true); - } - return true; - } - - @Override - public boolean checksEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.ZONE_CHANGE; - } - - @Override - public boolean applies(GameEvent event, Ability source, Game game) { - if (event.getTargetId().equals(source.getFirstTarget()) - && ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD - && ((ZoneChangeEvent) event).getToZone() != Zone.EXILED) { - return true; - } - return false; - } - - @Override - public boolean apply(Game game, Ability source) { - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.DelayedTriggeredAbility; +import mage.abilities.TriggeredAbility; +import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; +import mage.abilities.condition.common.HateCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.ContinuousEffect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.ReplacementEffectImpl; +import mage.abilities.effects.common.ExileTargetEffect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.HasteAbility; +import mage.abilities.keyword.LifelinkAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.filter.common.FilterCreatureCard; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.ZoneChangeEvent; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetCardInGraveyard; +import mage.target.targetpointer.FixedTarget; +import mage.watchers.common.LifeLossOtherFromCombatWatcher; + +/** + * + * @author Styxo + */ +public class SithMagic extends CardImpl { + + public SithMagic(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}{B}{R}"); + + // Hate — At the beggining of each combat, if opponent lost life from a source other than combat damage this turn, you may return target card from a graveyard to the battlefield under your control. It gains lifelink and haste. Exile it at the beginning of the next end step or if it would leave the battlefield. + TriggeredAbility triggeredAbility = new BeginningOfCombatTriggeredAbility(new SithMagicEffect(), TargetController.ANY, true); + triggeredAbility.addEffect(new SithMagicReplacementEffect()); + Ability ability = new ConditionalTriggeredAbility( + triggeredAbility, + HateCondition.instance, + "Hate — At the beggining of each combat, if opponent lost life from a source other than combat damage this turn, you may return target card from a graveyard to the battlefield under your control. It gains lifelink and haste. Exile it at the beginning of the next end step or if it would leave the battlefield."); + ability.addTarget(new TargetCardInGraveyard(new FilterCreatureCard())); + this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); + } + + public SithMagic(final SithMagic card) { + super(card); + } + + @Override + public SithMagic copy() { + return new SithMagic(this); + } +} + +class SithMagicEffect extends OneShotEffect { + + public SithMagicEffect() { + super(Outcome.PutCreatureInPlay); + staticText = "return target card from a graveyard to the battlefield under your control. It gains lifelink and haste. Exile it at the beginning of the next end step or if it would leave the battlefield"; + } + + public SithMagicEffect(final SithMagicEffect effect) { + super(effect); + } + + @Override + public SithMagicEffect copy() { + return new SithMagicEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Card card = game.getCard(this.getTargetPointer().getFirst(game, source)); + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null && card != null) { + if (controller.moveCards(card, Zone.BATTLEFIELD, source, game)) { + Permanent creature = game.getPermanent(card.getId()); + if (creature != null) { + // gains haste + ContinuousEffect effect = new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.Custom); + effect.setTargetPointer(new FixedTarget(creature, game)); + game.addEffect(effect, source); + // gains lifelink + effect = new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.Custom); + effect.setTargetPointer(new FixedTarget(creature, game)); + game.addEffect(effect, source); + // Exile at begin of next end step + ExileTargetEffect exileEffect = new ExileTargetEffect(null, null, Zone.BATTLEFIELD); + exileEffect.setTargetPointer(new FixedTarget(creature, game)); + DelayedTriggeredAbility delayedAbility = new AtTheBeginOfNextEndStepDelayedTriggeredAbility(exileEffect); + game.addDelayedTriggeredAbility(delayedAbility, source); + } + } + return true; + } + return false; + } +} + +class SithMagicReplacementEffect extends ReplacementEffectImpl { + + SithMagicReplacementEffect() { + super(Duration.EndOfTurn, Outcome.Exile); + staticText = "or if it would leave the battlefield"; + } + + SithMagicReplacementEffect(final SithMagicReplacementEffect effect) { + super(effect); + } + + @Override + public SithMagicReplacementEffect copy() { + return new SithMagicReplacementEffect(this); + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + Permanent permanent = game.getPermanent(source.getFirstTarget()); + Player controller = game.getPlayer(source.getControllerId()); + if (permanent != null && controller != null) { + controller.moveCardToExileWithInfo(permanent, null, null, source.getSourceId(), game, Zone.BATTLEFIELD, true); + } + return true; + } + + @Override + public boolean checksEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.ZONE_CHANGE; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + if (event.getTargetId().equals(source.getFirstTarget()) + && ((ZoneChangeEvent) event).getFromZone() == Zone.BATTLEFIELD + && ((ZoneChangeEvent) event).getToZone() != Zone.EXILED) { + return true; + } + return false; + } + + @Override + public boolean apply(Game game, Ability source) { + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/s/SithManipulator.java b/Mage.Sets/src/mage/cards/s/SithManipulator.java index 96dbdd38b4b..727b2d9d00a 100644 --- a/Mage.Sets/src/mage/cards/s/SithManipulator.java +++ b/Mage.Sets/src/mage/cards/s/SithManipulator.java @@ -1,84 +1,85 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.condition.InvertCondition; -import mage.abilities.condition.common.HateCondition; -import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.ReturnToHandTargetEffect; -import mage.abilities.effects.common.ReturnToLibraryPermanentEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.target.common.TargetCreaturePermanent; -import mage.watchers.common.LifeLossOtherFromCombatWatcher; - -/** - * - * @author Styxo - */ -public class SithManipulator extends CardImpl { - - public SithManipulator(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Sith"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // When Sith Manipulator enters the battlefield, return target creature to its owner's hand. - Ability ability = new ConditionalTriggeredAbility( - new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect()), - new InvertCondition(HateCondition.instance), - "When Sith Manipulator enters the battlefield, return target creature to its owner's hand"); - ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); - - // Hate — If opponent lost life from source other than combat damage this turn, put that card on top of its owner's library instead. - ability = new ConditionalTriggeredAbility( - new EntersBattlefieldTriggeredAbility(new ReturnToLibraryPermanentEffect(true)), - HateCondition.instance, - "Hate — If opponent lost life from source other than combat damage this turn, put that card on top of its owner's library instead"); - ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); - - } - - public SithManipulator(final SithManipulator card) { - super(card); - } - - @Override - public SithManipulator copy() { - return new SithManipulator(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.InvertCondition; +import mage.abilities.condition.common.HateCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.abilities.effects.common.ReturnToLibraryPermanentEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.common.TargetCreaturePermanent; +import mage.watchers.common.LifeLossOtherFromCombatWatcher; + +/** + * + * @author Styxo + */ +public class SithManipulator extends CardImpl { + + public SithManipulator(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SITH); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // When Sith Manipulator enters the battlefield, return target creature to its owner's hand. + Ability ability = new ConditionalTriggeredAbility( + new EntersBattlefieldTriggeredAbility(new ReturnToHandTargetEffect()), + new InvertCondition(HateCondition.instance), + "When Sith Manipulator enters the battlefield, return target creature to its owner's hand"); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); + + // Hate — If opponent lost life from source other than combat damage this turn, put that card on top of its owner's library instead. + ability = new ConditionalTriggeredAbility( + new EntersBattlefieldTriggeredAbility(new ReturnToLibraryPermanentEffect(true)), + HateCondition.instance, + "Hate — If opponent lost life from source other than combat damage this turn, put that card on top of its owner's library instead"); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); + + } + + public SithManipulator(final SithManipulator card) { + super(card); + } + + @Override + public SithManipulator copy() { + return new SithManipulator(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SithMarauder.java b/Mage.Sets/src/mage/cards/s/SithMarauder.java index b3c8924b688..d4dc48ef016 100644 --- a/Mage.Sets/src/mage/cards/s/SithMarauder.java +++ b/Mage.Sets/src/mage/cards/s/SithMarauder.java @@ -1,73 +1,74 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.condition.common.HateCondition; -import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.DamageTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.target.common.TargetCreatureOrPlayer; -import mage.watchers.common.LifeLossOtherFromCombatWatcher; - -/** - * - * @author Styxo - */ -public class SithMarauder extends CardImpl { - - public SithMarauder(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Sith"); - this.power = new MageInt(5); - this.toughness = new MageInt(4); - - // Hate — When Sith Marauder enters the battlefield, if an opponent lost life from a source other than combat damage this turn, Sith Marauder deals 3 damage to target creature or player. - Ability ability = new ConditionalTriggeredAbility( - new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(3)), - HateCondition.instance, - "Hate — When {this} enters the battlefield, if an opponent lost life from a source other than combat damage this turn, {this} deals 3 damage to target creature or player"); - ability.addTarget(new TargetCreatureOrPlayer()); - this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); - } - - public SithMarauder(final SithMarauder card) { - super(card); - } - - @Override - public SithMarauder copy() { - return new SithMarauder(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.HateCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.common.TargetCreatureOrPlayer; +import mage.watchers.common.LifeLossOtherFromCombatWatcher; + +/** + * + * @author Styxo + */ +public class SithMarauder extends CardImpl { + + public SithMarauder(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SITH); + this.power = new MageInt(5); + this.toughness = new MageInt(4); + + // Hate — When Sith Marauder enters the battlefield, if an opponent lost life from a source other than combat damage this turn, Sith Marauder deals 3 damage to target creature or player. + Ability ability = new ConditionalTriggeredAbility( + new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(3)), + HateCondition.instance, + "Hate — When {this} enters the battlefield, if an opponent lost life from a source other than combat damage this turn, {this} deals 3 damage to target creature or player"); + ability.addTarget(new TargetCreatureOrPlayer()); + this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); + } + + public SithMarauder(final SithMarauder card) { + super(card); + } + + @Override + public SithMarauder copy() { + return new SithMarauder(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SithMindseer.java b/Mage.Sets/src/mage/cards/s/SithMindseer.java index 1d32f616e32..bd4f53c91dc 100644 --- a/Mage.Sets/src/mage/cards/s/SithMindseer.java +++ b/Mage.Sets/src/mage/cards/s/SithMindseer.java @@ -1,74 +1,75 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.condition.common.HateCondition; -import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.continuous.GainControlTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.target.common.TargetCreaturePermanent; -import mage.watchers.common.LifeLossOtherFromCombatWatcher; - -/** - * - * @author Styxo - */ -public class SithMindseer extends CardImpl { - - public SithMindseer(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}{R}"); - this.subtype.add("Human"); - this.subtype.add("Sith"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // Hate — When Sith Mindseer enters the battlefield, if an opponent loses life from a source other than combat damage, gain control of target creature for as long as Sith Mindseer remains on the battlefield. - Ability ability = new ConditionalTriggeredAbility( - new EntersBattlefieldTriggeredAbility(new GainControlTargetEffect(Duration.WhileOnBattlefield)), - HateCondition.instance, - "Hate — When Sith Mindseer enters the battlefield, if an opponent loses life from a source other than combat damage, gain control of target creature for as long as Sith Mindseer remains on the battlefield."); - ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); - } - - public SithMindseer(final SithMindseer card) { - super(card); - } - - @Override - public SithMindseer copy() { - return new SithMindseer(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.HateCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.common.continuous.GainControlTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.target.common.TargetCreaturePermanent; +import mage.watchers.common.LifeLossOtherFromCombatWatcher; + +/** + * + * @author Styxo + */ +public class SithMindseer extends CardImpl { + + public SithMindseer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}{R}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SITH); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Hate — When Sith Mindseer enters the battlefield, if an opponent loses life from a source other than combat damage, gain control of target creature for as long as Sith Mindseer remains on the battlefield. + Ability ability = new ConditionalTriggeredAbility( + new EntersBattlefieldTriggeredAbility(new GainControlTargetEffect(Duration.WhileOnBattlefield)), + HateCondition.instance, + "Hate — When Sith Mindseer enters the battlefield, if an opponent loses life from a source other than combat damage, gain control of target creature for as long as Sith Mindseer remains on the battlefield."); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); + } + + public SithMindseer(final SithMindseer card) { + super(card); + } + + @Override + public SithMindseer copy() { + return new SithMindseer(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SithRavager.java b/Mage.Sets/src/mage/cards/s/SithRavager.java index 35335f6ea51..72ced66fbd9 100644 --- a/Mage.Sets/src/mage/cards/s/SithRavager.java +++ b/Mage.Sets/src/mage/cards/s/SithRavager.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -50,8 +51,8 @@ public class SithRavager extends CardImpl { public SithRavager(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Sith"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SITH); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SithSorcerer.java b/Mage.Sets/src/mage/cards/s/SithSorcerer.java index 9cc5c62e639..ae8324a2da2 100644 --- a/Mage.Sets/src/mage/cards/s/SithSorcerer.java +++ b/Mage.Sets/src/mage/cards/s/SithSorcerer.java @@ -1,76 +1,77 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.condition.common.HateCondition; -import mage.abilities.decorator.ConditionalTriggeredAbility; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.effects.keyword.ScryEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.watchers.common.LifeLossOtherFromCombatWatcher; - -/** - * - * @author Styxo - */ -public class SithSorcerer extends CardImpl { - - public SithSorcerer(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Sith"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // When Sith Sorcerer enters the battlefield, scry 2. - this.addAbility(new EntersBattlefieldTriggeredAbility(new ScryEffect(2))); - - // Hate — When Sith Assassin enters the battlefield, if opponent lost life from source other than combat damage this turn, draw a card. - Ability ability = new ConditionalTriggeredAbility( - new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)), - HateCondition.instance, - "Hate — When {this} enters the battlefield, if an opponent lost life from a source other than combat damage this turn, draw a card."); - this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); - - } - - public SithSorcerer(final SithSorcerer card) { - super(card); - } - - @Override - public SithSorcerer copy() { - return new SithSorcerer(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.condition.common.HateCondition; +import mage.abilities.decorator.ConditionalTriggeredAbility; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.keyword.ScryEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.watchers.common.LifeLossOtherFromCombatWatcher; + +/** + * + * @author Styxo + */ +public class SithSorcerer extends CardImpl { + + public SithSorcerer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SITH); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // When Sith Sorcerer enters the battlefield, scry 2. + this.addAbility(new EntersBattlefieldTriggeredAbility(new ScryEffect(2))); + + // Hate — When Sith Assassin enters the battlefield, if opponent lost life from source other than combat damage this turn, draw a card. + Ability ability = new ConditionalTriggeredAbility( + new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)), + HateCondition.instance, + "Hate — When {this} enters the battlefield, if an opponent lost life from a source other than combat damage this turn, draw a card."); + this.addAbility(ability, new LifeLossOtherFromCombatWatcher()); + + } + + public SithSorcerer(final SithSorcerer card) { + super(card); + } + + @Override + public SithSorcerer copy() { + return new SithSorcerer(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SithThoughtseeker.java b/Mage.Sets/src/mage/cards/s/SithThoughtseeker.java index d8a90f9bb64..d772c27ac73 100644 --- a/Mage.Sets/src/mage/cards/s/SithThoughtseeker.java +++ b/Mage.Sets/src/mage/cards/s/SithThoughtseeker.java @@ -1,74 +1,75 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.condition.common.HateCondition; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.decorator.ConditionalActivatedAbility; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.AbilityWord; -import mage.constants.CardType; -import mage.constants.Zone; - -/** - * - * @author Styxo - */ -public class SithThoughtseeker extends CardImpl { - - public SithThoughtseeker(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Sith"); - this.power = new MageInt(2); - this.toughness = new MageInt(1); - - // Hate — {2}{U}: Draw a card. Activate this ability only if an opponent lost life from source other than combat damage this turn. - Ability ability = new ConditionalActivatedAbility( - Zone.BATTLEFIELD, - new DrawCardSourceControllerEffect(1), - new ManaCostsImpl<>("{2}{U}"), - HateCondition.instance); - ability.setAbilityWord(AbilityWord.HATE); - this.addAbility(ability); - } - - public SithThoughtseeker(final SithThoughtseeker card) { - super(card); - } - - @Override - public SithThoughtseeker copy() { - return new SithThoughtseeker(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.condition.common.HateCondition; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AbilityWord; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; + +/** + * + * @author Styxo + */ +public class SithThoughtseeker extends CardImpl { + + public SithThoughtseeker(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SITH); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // Hate — {2}{U}: Draw a card. Activate this ability only if an opponent lost life from source other than combat damage this turn. + Ability ability = new ConditionalActivatedAbility( + Zone.BATTLEFIELD, + new DrawCardSourceControllerEffect(1), + new ManaCostsImpl<>("{2}{U}"), + HateCondition.instance); + ability.setAbilityWord(AbilityWord.HATE); + this.addAbility(ability); + } + + public SithThoughtseeker(final SithThoughtseeker card) { + super(card); + } + + @Override + public SithThoughtseeker copy() { + return new SithThoughtseeker(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SivitriScarzam.java b/Mage.Sets/src/mage/cards/s/SivitriScarzam.java index 935e0607c56..d64a0ac174a 100644 --- a/Mage.Sets/src/mage/cards/s/SivitriScarzam.java +++ b/Mage.Sets/src/mage/cards/s/SivitriScarzam.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -43,7 +44,7 @@ public class SivitriScarzam extends CardImpl { public SivitriScarzam(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SixthSense.java b/Mage.Sets/src/mage/cards/s/SixthSense.java index 60c5d533a77..661fd98ab70 100644 --- a/Mage.Sets/src/mage/cards/s/SixthSense.java +++ b/Mage.Sets/src/mage/cards/s/SixthSense.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -58,7 +59,7 @@ public class SixthSense extends CardImpl { public SixthSense(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SkaabGoliath.java b/Mage.Sets/src/mage/cards/s/SkaabGoliath.java index 898998b4fb5..9102a474a7a 100644 --- a/Mage.Sets/src/mage/cards/s/SkaabGoliath.java +++ b/Mage.Sets/src/mage/cards/s/SkaabGoliath.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInYourGraveyard; @@ -45,8 +46,8 @@ public class SkaabGoliath extends CardImpl { public SkaabGoliath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Giant"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.GIANT); this.power = new MageInt(6); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/s/SkaabRuinator.java b/Mage.Sets/src/mage/cards/s/SkaabRuinator.java index c430e720e8f..2aeb83644e9 100644 --- a/Mage.Sets/src/mage/cards/s/SkaabRuinator.java +++ b/Mage.Sets/src/mage/cards/s/SkaabRuinator.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class SkaabRuinator extends CardImpl { public SkaabRuinator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SkarrgGoliath.java b/Mage.Sets/src/mage/cards/s/SkarrgGoliath.java index 09a105366db..b0a0a4fd74c 100644 --- a/Mage.Sets/src/mage/cards/s/SkarrgGoliath.java +++ b/Mage.Sets/src/mage/cards/s/SkarrgGoliath.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -47,7 +48,7 @@ public class SkarrgGoliath extends CardImpl { public SkarrgGoliath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(9); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/s/SkarrgGuildmage.java b/Mage.Sets/src/mage/cards/s/SkarrgGuildmage.java index 986556b780e..ec7d216e75b 100644 --- a/Mage.Sets/src/mage/cards/s/SkarrgGuildmage.java +++ b/Mage.Sets/src/mage/cards/s/SkarrgGuildmage.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -53,8 +54,8 @@ public class SkarrgGuildmage extends CardImpl { public SkarrgGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); @@ -86,7 +87,7 @@ class SkarrgGuildmageToken extends Token { super("", "4/4 Elemental creature"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); } diff --git a/Mage.Sets/src/mage/cards/s/SkarrganFirebird.java b/Mage.Sets/src/mage/cards/s/SkarrganFirebird.java index fe8687dba32..fe8891b6521 100644 --- a/Mage.Sets/src/mage/cards/s/SkarrganFirebird.java +++ b/Mage.Sets/src/mage/cards/s/SkarrganFirebird.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.watchers.common.BloodthirstWatcher; @@ -51,7 +52,7 @@ public class SkarrganFirebird extends CardImpl { public SkarrganFirebird(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Phoenix"); + this.subtype.add(SubType.PHOENIX); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkarrganPitSkulk.java b/Mage.Sets/src/mage/cards/s/SkarrganPitSkulk.java index 54f7eb94b31..9238743f9c5 100644 --- a/Mage.Sets/src/mage/cards/s/SkarrganPitSkulk.java +++ b/Mage.Sets/src/mage/cards/s/SkarrganPitSkulk.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.BloodthirstAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class SkarrganPitSkulk extends CardImpl { public SkarrganPitSkulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkarrganSkybreaker.java b/Mage.Sets/src/mage/cards/s/SkarrganSkybreaker.java index 8895c337f5c..27665e9a077 100644 --- a/Mage.Sets/src/mage/cards/s/SkarrganSkybreaker.java +++ b/Mage.Sets/src/mage/cards/s/SkarrganSkybreaker.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.BloodthirstAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -50,8 +51,8 @@ public class SkarrganSkybreaker extends CardImpl { public SkarrganSkybreaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}{G}"); - this.subtype.add("Giant"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkeletalChangeling.java b/Mage.Sets/src/mage/cards/s/SkeletalChangeling.java index 466b596b242..91c8082de77 100644 --- a/Mage.Sets/src/mage/cards/s/SkeletalChangeling.java +++ b/Mage.Sets/src/mage/cards/s/SkeletalChangeling.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ChangelingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class SkeletalChangeling extends CardImpl { public SkeletalChangeling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkeletalCrocodile.java b/Mage.Sets/src/mage/cards/s/SkeletalCrocodile.java index c5b0f68108a..5f570ef70e1 100644 --- a/Mage.Sets/src/mage/cards/s/SkeletalCrocodile.java +++ b/Mage.Sets/src/mage/cards/s/SkeletalCrocodile.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class SkeletalCrocodile extends CardImpl { public SkeletalCrocodile(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Crocodile"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.CROCODILE); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(5); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkeletalGrimace.java b/Mage.Sets/src/mage/cards/s/SkeletalGrimace.java index bd3812fc27f..02ba604f986 100644 --- a/Mage.Sets/src/mage/cards/s/SkeletalGrimace.java +++ b/Mage.Sets/src/mage/cards/s/SkeletalGrimace.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class SkeletalGrimace extends CardImpl { public SkeletalGrimace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SkeletalKathari.java b/Mage.Sets/src/mage/cards/s/SkeletalKathari.java index f3e2c4d5dca..d2c8627badb 100644 --- a/Mage.Sets/src/mage/cards/s/SkeletalKathari.java +++ b/Mage.Sets/src/mage/cards/s/SkeletalKathari.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -49,8 +50,8 @@ public class SkeletalKathari extends CardImpl { public SkeletalKathari(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Bird"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SkeletalSnake.java b/Mage.Sets/src/mage/cards/s/SkeletalSnake.java index 75bee318aa7..a6110c4a934 100644 --- a/Mage.Sets/src/mage/cards/s/SkeletalSnake.java +++ b/Mage.Sets/src/mage/cards/s/SkeletalSnake.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class SkeletalSnake extends CardImpl { public SkeletalSnake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Snake"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkeletalVampire.java b/Mage.Sets/src/mage/cards/s/SkeletalVampire.java index 66543a92edd..f76327185d5 100644 --- a/Mage.Sets/src/mage/cards/s/SkeletalVampire.java +++ b/Mage.Sets/src/mage/cards/s/SkeletalVampire.java @@ -61,8 +61,8 @@ public class SkeletalVampire extends CardImpl { public SkeletalVampire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkeletalWurm.java b/Mage.Sets/src/mage/cards/s/SkeletalWurm.java index c8f092e8414..ff3e4fe9661 100644 --- a/Mage.Sets/src/mage/cards/s/SkeletalWurm.java +++ b/Mage.Sets/src/mage/cards/s/SkeletalWurm.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class SkeletalWurm extends CardImpl { public SkeletalWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{7}{B}"); - this.subtype.add("Skeleton"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.SKELETON); + this.subtype.add(SubType.WURM); this.power = new MageInt(7); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SkeletonKey.java b/Mage.Sets/src/mage/cards/s/SkeletonKey.java index 1c70f75f5a3..72dc2d91d3b 100644 --- a/Mage.Sets/src/mage/cards/s/SkeletonKey.java +++ b/Mage.Sets/src/mage/cards/s/SkeletonKey.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class SkeletonKey extends CardImpl { public SkeletonKey(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has skulk. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(new SkulkAbility(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/s/SkeletonShip.java b/Mage.Sets/src/mage/cards/s/SkeletonShip.java index 65ab677e20b..c2cda92418e 100644 --- a/Mage.Sets/src/mage/cards/s/SkeletonShip.java +++ b/Mage.Sets/src/mage/cards/s/SkeletonShip.java @@ -51,7 +51,7 @@ public class SkeletonShip extends CardImpl { public SkeletonShip(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkillBorrower.java b/Mage.Sets/src/mage/cards/s/SkillBorrower.java index 21d601420cf..f670fa857d4 100644 --- a/Mage.Sets/src/mage/cards/s/SkillBorrower.java +++ b/Mage.Sets/src/mage/cards/s/SkillBorrower.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -56,8 +57,8 @@ public class SkillBorrower extends CardImpl { public SkillBorrower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkinInvasion.java b/Mage.Sets/src/mage/cards/s/SkinInvasion.java index 657a51e6d73..1dbdcb24cf3 100644 --- a/Mage.Sets/src/mage/cards/s/SkinInvasion.java +++ b/Mage.Sets/src/mage/cards/s/SkinInvasion.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class SkinInvasion extends CardImpl { public SkinInvasion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); this.transformable = true; this.secondSideCardClazz = SkinShedder.class; diff --git a/Mage.Sets/src/mage/cards/s/SkinShedder.java b/Mage.Sets/src/mage/cards/s/SkinShedder.java index 768373f36ef..6c3575ca6b9 100644 --- a/Mage.Sets/src/mage/cards/s/SkinShedder.java +++ b/Mage.Sets/src/mage/cards/s/SkinShedder.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class SkinShedder extends CardImpl { public SkinShedder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Insect"); - this.subtype.add("Horror"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.HORROR); this.color.setRed(true); this.nightCard = true; diff --git a/Mage.Sets/src/mage/cards/s/SkinbrandGoblin.java b/Mage.Sets/src/mage/cards/s/SkinbrandGoblin.java index c8ff4b67762..1ae40bd284d 100644 --- a/Mage.Sets/src/mage/cards/s/SkinbrandGoblin.java +++ b/Mage.Sets/src/mage/cards/s/SkinbrandGoblin.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.BloodrushAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,8 +45,8 @@ public class SkinbrandGoblin extends CardImpl { public SkinbrandGoblin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Skinrender.java b/Mage.Sets/src/mage/cards/s/Skinrender.java index 8a11c21de98..059a6b0d0cb 100644 --- a/Mage.Sets/src/mage/cards/s/Skinrender.java +++ b/Mage.Sets/src/mage/cards/s/Skinrender.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.target.Target; @@ -49,7 +50,7 @@ public class Skinrender extends CardImpl { public Skinrender(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/Skinshifter.java b/Mage.Sets/src/mage/cards/s/Skinshifter.java index e6f764d0bd3..6b6ef5edf1a 100644 --- a/Mage.Sets/src/mage/cards/s/Skinshifter.java +++ b/Mage.Sets/src/mage/cards/s/Skinshifter.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -51,8 +52,8 @@ public class Skinshifter extends CardImpl { public Skinshifter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); @@ -86,7 +87,7 @@ public class Skinshifter extends CardImpl { public RhinoToken() { super("Rhino", "Rhino with base power and toughness 4/4 and gains trample"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Rhino"); + this.subtype.add(SubType.RHINO); this.color.setGreen(true); this.power = new MageInt(4); @@ -100,7 +101,7 @@ public class Skinshifter extends CardImpl { public BirdToken() { super("Bird", "Bird with base power and toughness 2/2 and gains flying"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.color.setGreen(true); this.power = new MageInt(2); @@ -114,7 +115,7 @@ public class Skinshifter extends CardImpl { public PlantToken() { super("Plant", "Plant with base power and toughness 0/8"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Plant"); + this.subtype.add(SubType.PLANT); this.color.setGreen(true); this.power = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/Skinthinner.java b/Mage.Sets/src/mage/cards/s/Skinthinner.java index f7df4367969..7f828aa3c48 100644 --- a/Mage.Sets/src/mage/cards/s/Skinthinner.java +++ b/Mage.Sets/src/mage/cards/s/Skinthinner.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,7 +58,7 @@ public class Skinthinner extends CardImpl { public Skinthinner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Skinwing.java b/Mage.Sets/src/mage/cards/s/Skinwing.java index cd78c486451..b65d022d326 100644 --- a/Mage.Sets/src/mage/cards/s/Skinwing.java +++ b/Mage.Sets/src/mage/cards/s/Skinwing.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class Skinwing extends CardImpl { public Skinwing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new LivingWeaponAbility()); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2))); diff --git a/Mage.Sets/src/mage/cards/s/SkirgeFamiliar.java b/Mage.Sets/src/mage/cards/s/SkirgeFamiliar.java index 1026c5acfea..89d8c942b5a 100644 --- a/Mage.Sets/src/mage/cards/s/SkirgeFamiliar.java +++ b/Mage.Sets/src/mage/cards/s/SkirgeFamiliar.java @@ -36,6 +36,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class SkirgeFamiliar extends CardImpl { public SkirgeFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SkirkCommando.java b/Mage.Sets/src/mage/cards/s/SkirkCommando.java index 5777fb5f40c..a091897f3b0 100644 --- a/Mage.Sets/src/mage/cards/s/SkirkCommando.java +++ b/Mage.Sets/src/mage/cards/s/SkirkCommando.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; import mage.game.Game; @@ -50,7 +51,7 @@ public class SkirkCommando extends CardImpl { public SkirkCommando(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkirkDrillSergeant.java b/Mage.Sets/src/mage/cards/s/SkirkDrillSergeant.java index 66de7c06c31..03d1936f925 100644 --- a/Mage.Sets/src/mage/cards/s/SkirkDrillSergeant.java +++ b/Mage.Sets/src/mage/cards/s/SkirkDrillSergeant.java @@ -63,7 +63,7 @@ public class SkirkDrillSergeant extends CardImpl { public SkirkDrillSergeant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkirkFireMarshal.java b/Mage.Sets/src/mage/cards/s/SkirkFireMarshal.java index 9da268a5ee2..7329705bf08 100644 --- a/Mage.Sets/src/mage/cards/s/SkirkFireMarshal.java +++ b/Mage.Sets/src/mage/cards/s/SkirkFireMarshal.java @@ -61,7 +61,7 @@ public class SkirkFireMarshal extends CardImpl { public SkirkFireMarshal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SkirkMarauder.java b/Mage.Sets/src/mage/cards/s/SkirkMarauder.java index ec5f3cb2f04..b0d98f1c18e 100644 --- a/Mage.Sets/src/mage/cards/s/SkirkMarauder.java +++ b/Mage.Sets/src/mage/cards/s/SkirkMarauder.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; /** @@ -47,7 +48,7 @@ public class SkirkMarauder extends CardImpl { public SkirkMarauder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkirkOutrider.java b/Mage.Sets/src/mage/cards/s/SkirkOutrider.java index 13411ef64c4..d08dc3fdeff 100644 --- a/Mage.Sets/src/mage/cards/s/SkirkOutrider.java +++ b/Mage.Sets/src/mage/cards/s/SkirkOutrider.java @@ -59,7 +59,7 @@ public class SkirkOutrider extends CardImpl { public SkirkOutrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SkirkProspector.java b/Mage.Sets/src/mage/cards/s/SkirkProspector.java index bf261cfe53b..d8db9f17586 100644 --- a/Mage.Sets/src/mage/cards/s/SkirkProspector.java +++ b/Mage.Sets/src/mage/cards/s/SkirkProspector.java @@ -55,7 +55,7 @@ public class SkirkProspector extends CardImpl { public SkirkProspector(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkirkRidgeExhumer.java b/Mage.Sets/src/mage/cards/s/SkirkRidgeExhumer.java index b16ca59b7bd..76be3804303 100644 --- a/Mage.Sets/src/mage/cards/s/SkirkRidgeExhumer.java +++ b/Mage.Sets/src/mage/cards/s/SkirkRidgeExhumer.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.FesteringGoblinToken; @@ -49,8 +50,8 @@ public class SkirkRidgeExhumer extends CardImpl { public SkirkRidgeExhumer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkirkShaman.java b/Mage.Sets/src/mage/cards/s/SkirkShaman.java index 2e03a47e3a1..5fcf2f32025 100644 --- a/Mage.Sets/src/mage/cards/s/SkirkShaman.java +++ b/Mage.Sets/src/mage/cards/s/SkirkShaman.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -59,8 +60,8 @@ public class SkirkShaman extends CardImpl { public SkirkShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SkirkVolcanist.java b/Mage.Sets/src/mage/cards/s/SkirkVolcanist.java index 258f8ac3e5f..efdbfe4ed66 100644 --- a/Mage.Sets/src/mage/cards/s/SkirkVolcanist.java +++ b/Mage.Sets/src/mage/cards/s/SkirkVolcanist.java @@ -58,7 +58,7 @@ public class SkirkVolcanist extends CardImpl { public SkirkVolcanist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkirsdagCultist.java b/Mage.Sets/src/mage/cards/s/SkirsdagCultist.java index 7670ebf9f08..020a5e6540a 100644 --- a/Mage.Sets/src/mage/cards/s/SkirsdagCultist.java +++ b/Mage.Sets/src/mage/cards/s/SkirsdagCultist.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetCreatureOrPlayer; @@ -49,8 +50,8 @@ public class SkirsdagCultist extends CardImpl { public SkirsdagCultist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SkirsdagFlayer.java b/Mage.Sets/src/mage/cards/s/SkirsdagFlayer.java index 3d4cf6288d3..ee561865321 100644 --- a/Mage.Sets/src/mage/cards/s/SkirsdagFlayer.java +++ b/Mage.Sets/src/mage/cards/s/SkirsdagFlayer.java @@ -59,8 +59,8 @@ public class SkirsdagFlayer extends CardImpl { public SkirsdagFlayer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkirsdagHighPriest.java b/Mage.Sets/src/mage/cards/s/SkirsdagHighPriest.java index 5a142033314..d6c15c1b31a 100644 --- a/Mage.Sets/src/mage/cards/s/SkirsdagHighPriest.java +++ b/Mage.Sets/src/mage/cards/s/SkirsdagHighPriest.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -60,8 +61,8 @@ public class SkirsdagHighPriest extends CardImpl { public SkirsdagHighPriest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SkirsdagSupplicant.java b/Mage.Sets/src/mage/cards/s/SkirsdagSupplicant.java index ce9d8d95f4e..1c83fa6ec1f 100644 --- a/Mage.Sets/src/mage/cards/s/SkirsdagSupplicant.java +++ b/Mage.Sets/src/mage/cards/s/SkirsdagSupplicant.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.LoseLifeAllPlayersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,8 +49,8 @@ public class SkirsdagSupplicant extends CardImpl { public SkirsdagSupplicant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkithiryxTheBlightDragon.java b/Mage.Sets/src/mage/cards/s/SkithiryxTheBlightDragon.java index bdfec161705..94d598b52cb 100644 --- a/Mage.Sets/src/mage/cards/s/SkithiryxTheBlightDragon.java +++ b/Mage.Sets/src/mage/cards/s/SkithiryxTheBlightDragon.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -53,8 +54,8 @@ public class SkithiryxTheBlightDragon extends CardImpl { public SkithiryxTheBlightDragon (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.DRAGON); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SkitterOfLizards.java b/Mage.Sets/src/mage/cards/s/SkitterOfLizards.java index 5c688bb3e60..646c31235f3 100644 --- a/Mage.Sets/src/mage/cards/s/SkitterOfLizards.java +++ b/Mage.Sets/src/mage/cards/s/SkitterOfLizards.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MultikickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -47,7 +48,7 @@ public class SkitterOfLizards extends CardImpl { public SkitterOfLizards(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkitteringCrustacean.java b/Mage.Sets/src/mage/cards/s/SkitteringCrustacean.java index 61844a9b87a..e4bb9a59c75 100644 --- a/Mage.Sets/src/mage/cards/s/SkitteringCrustacean.java +++ b/Mage.Sets/src/mage/cards/s/SkitteringCrustacean.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.MonstrosityAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class SkitteringCrustacean extends CardImpl { public SkitteringCrustacean(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Crab"); + this.subtype.add(SubType.CRAB); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkitteringHorror.java b/Mage.Sets/src/mage/cards/s/SkitteringHorror.java index 9be8cef8a60..9c07f430ff6 100644 --- a/Mage.Sets/src/mage/cards/s/SkitteringHorror.java +++ b/Mage.Sets/src/mage/cards/s/SkitteringHorror.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; /** @@ -44,7 +45,7 @@ public class SkitteringHorror extends CardImpl { public SkitteringHorror(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkitteringInvasion.java b/Mage.Sets/src/mage/cards/s/SkitteringInvasion.java index 3fea5dd72fe..d52e110c6ae 100644 --- a/Mage.Sets/src/mage/cards/s/SkitteringInvasion.java +++ b/Mage.Sets/src/mage/cards/s/SkitteringInvasion.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.EldraziSpawnToken; /** @@ -43,7 +44,7 @@ public class SkitteringInvasion extends CardImpl { public SkitteringInvasion (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.SORCERY},"{7}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.getSpellAbility().addEffect(new CreateTokenEffect(new EldraziSpawnToken(), 5)); } diff --git a/Mage.Sets/src/mage/cards/s/SkitteringMonstrosity.java b/Mage.Sets/src/mage/cards/s/SkitteringMonstrosity.java index 74e592227e5..0ab70b9a017 100644 --- a/Mage.Sets/src/mage/cards/s/SkitteringMonstrosity.java +++ b/Mage.Sets/src/mage/cards/s/SkitteringMonstrosity.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; /** @@ -44,7 +45,7 @@ public class SkitteringMonstrosity extends CardImpl { public SkitteringMonstrosity(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SkitteringSkirge.java b/Mage.Sets/src/mage/cards/s/SkitteringSkirge.java index 66f875c606e..e892dccb52d 100644 --- a/Mage.Sets/src/mage/cards/s/SkitteringSkirge.java +++ b/Mage.Sets/src/mage/cards/s/SkitteringSkirge.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; /** @@ -45,7 +46,7 @@ public class SkitteringSkirge extends CardImpl { public SkitteringSkirge(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Skitterskin.java b/Mage.Sets/src/mage/cards/s/Skitterskin.java index ddcf0846a8f..fa5973f65e5 100644 --- a/Mage.Sets/src/mage/cards/s/Skitterskin.java +++ b/Mage.Sets/src/mage/cards/s/Skitterskin.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.ColorlessPredicate; @@ -59,8 +60,8 @@ public class Skitterskin extends CardImpl { public Skitterskin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkittishKavu.java b/Mage.Sets/src/mage/cards/s/SkittishKavu.java index ce0c3ed903c..0898bbc694c 100644 --- a/Mage.Sets/src/mage/cards/s/SkittishKavu.java +++ b/Mage.Sets/src/mage/cards/s/SkittishKavu.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.TargetController; @@ -62,7 +63,7 @@ public class SkittishKavu extends CardImpl { public SkittishKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkittishValesk.java b/Mage.Sets/src/mage/cards/s/SkittishValesk.java index 4b31a14c82b..7b2605b3ba1 100644 --- a/Mage.Sets/src/mage/cards/s/SkittishValesk.java +++ b/Mage.Sets/src/mage/cards/s/SkittishValesk.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class SkittishValesk extends CardImpl { public SkittishValesk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/Skizzik.java b/Mage.Sets/src/mage/cards/s/Skizzik.java index 0f4dbceedc4..e300c3911fb 100644 --- a/Mage.Sets/src/mage/cards/s/Skizzik.java +++ b/Mage.Sets/src/mage/cards/s/Skizzik.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,7 +49,7 @@ public class Skizzik extends CardImpl { public Skizzik(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkizzikSurger.java b/Mage.Sets/src/mage/cards/s/SkizzikSurger.java index 9f73cfd4760..a5ef065e734 100644 --- a/Mage.Sets/src/mage/cards/s/SkizzikSurger.java +++ b/Mage.Sets/src/mage/cards/s/SkizzikSurger.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledLandPermanent; import mage.target.common.TargetControlledPermanent; @@ -46,7 +47,7 @@ public class SkizzikSurger extends CardImpl { public SkizzikSurger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SkulkingFugitive.java b/Mage.Sets/src/mage/cards/s/SkulkingFugitive.java index ed2b9a7b33b..1156142ceca 100644 --- a/Mage.Sets/src/mage/cards/s/SkulkingFugitive.java +++ b/Mage.Sets/src/mage/cards/s/SkulkingFugitive.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SkulkingFugitive extends CardImpl { public SkulkingFugitive(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Horror"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HORROR); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SkulkingGhost.java b/Mage.Sets/src/mage/cards/s/SkulkingGhost.java index e8af520862d..f76b161854e 100644 --- a/Mage.Sets/src/mage/cards/s/SkulkingGhost.java +++ b/Mage.Sets/src/mage/cards/s/SkulkingGhost.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class SkulkingGhost extends CardImpl { public SkulkingGhost(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkulkingKnight.java b/Mage.Sets/src/mage/cards/s/SkulkingKnight.java index cd8403a187c..2115ef92d81 100644 --- a/Mage.Sets/src/mage/cards/s/SkulkingKnight.java +++ b/Mage.Sets/src/mage/cards/s/SkulkingKnight.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlankingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SkulkingKnight extends CardImpl { public SkulkingKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkullCollector.java b/Mage.Sets/src/mage/cards/s/SkullCollector.java index 4e280a2ca7e..e2330392505 100644 --- a/Mage.Sets/src/mage/cards/s/SkullCollector.java +++ b/Mage.Sets/src/mage/cards/s/SkullCollector.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -57,8 +58,8 @@ public class SkullCollector extends CardImpl { public SkullCollector(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkullbriarTheWalkingGrave.java b/Mage.Sets/src/mage/cards/s/SkullbriarTheWalkingGrave.java index 261f63555f5..a1f06691a3a 100644 --- a/Mage.Sets/src/mage/cards/s/SkullbriarTheWalkingGrave.java +++ b/Mage.Sets/src/mage/cards/s/SkullbriarTheWalkingGrave.java @@ -58,8 +58,8 @@ public class SkullbriarTheWalkingGrave extends CardImpl { public SkullbriarTheWalkingGrave(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Skullclamp.java b/Mage.Sets/src/mage/cards/s/Skullclamp.java index f6935a83d30..709a5323cac 100644 --- a/Mage.Sets/src/mage/cards/s/Skullclamp.java +++ b/Mage.Sets/src/mage/cards/s/Skullclamp.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class Skullclamp extends CardImpl { public Skullclamp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/-1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, -1))); diff --git a/Mage.Sets/src/mage/cards/s/SkullmaneBaku.java b/Mage.Sets/src/mage/cards/s/SkullmaneBaku.java index f919196c7cd..1e6e85191ad 100644 --- a/Mage.Sets/src/mage/cards/s/SkullmaneBaku.java +++ b/Mage.Sets/src/mage/cards/s/SkullmaneBaku.java @@ -44,6 +44,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class SkullmaneBaku extends CardImpl { public SkullmaneBaku(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Skullmulcher.java b/Mage.Sets/src/mage/cards/s/Skullmulcher.java index 19c7a5983b1..f921a64eb90 100644 --- a/Mage.Sets/src/mage/cards/s/Skullmulcher.java +++ b/Mage.Sets/src/mage/cards/s/Skullmulcher.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DevourAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class Skullmulcher extends CardImpl { public Skullmulcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/Skullsnatcher.java b/Mage.Sets/src/mage/cards/s/Skullsnatcher.java index 1f33d2d534c..75c961fbf20 100644 --- a/Mage.Sets/src/mage/cards/s/Skullsnatcher.java +++ b/Mage.Sets/src/mage/cards/s/Skullsnatcher.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.NinjutsuAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.common.FilterControlledCreaturePermanent; @@ -62,8 +63,8 @@ public class Skullsnatcher extends CardImpl { public Skullsnatcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Rat"); - this.subtype.add("Ninja"); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.NINJA); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Skullwinder.java b/Mage.Sets/src/mage/cards/s/Skullwinder.java index 1385a4163d0..1f4a643efb1 100644 --- a/Mage.Sets/src/mage/cards/s/Skullwinder.java +++ b/Mage.Sets/src/mage/cards/s/Skullwinder.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -55,7 +56,7 @@ public class Skullwinder extends CardImpl { public Skullwinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkyEelSchool.java b/Mage.Sets/src/mage/cards/s/SkyEelSchool.java index 3c62e682119..e4b7faf86f7 100644 --- a/Mage.Sets/src/mage/cards/s/SkyEelSchool.java +++ b/Mage.Sets/src/mage/cards/s/SkyEelSchool.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class SkyEelSchool extends CardImpl { public SkyEelSchool (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Fish"); + this.subtype.add(SubType.FISH); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkyHussar.java b/Mage.Sets/src/mage/cards/s/SkyHussar.java index bd7a92b2a19..ebeb0ceed60 100644 --- a/Mage.Sets/src/mage/cards/s/SkyHussar.java +++ b/Mage.Sets/src/mage/cards/s/SkyHussar.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ForecastAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -59,8 +60,8 @@ public class SkyHussar extends CardImpl { public SkyHussar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{U}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkyRuinDrake.java b/Mage.Sets/src/mage/cards/s/SkyRuinDrake.java index 4cb04412ac5..bee800a8557 100644 --- a/Mage.Sets/src/mage/cards/s/SkyRuinDrake.java +++ b/Mage.Sets/src/mage/cards/s/SkyRuinDrake.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SkyRuinDrake extends CardImpl { public SkyRuinDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SkyScourer.java b/Mage.Sets/src/mage/cards/s/SkyScourer.java index 0beb682fdfa..70e52fdde26 100644 --- a/Mage.Sets/src/mage/cards/s/SkyScourer.java +++ b/Mage.Sets/src/mage/cards/s/SkyScourer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorlessPredicate; @@ -54,8 +55,8 @@ public class SkyScourer extends CardImpl { public SkyScourer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SkySkiff.java b/Mage.Sets/src/mage/cards/s/SkySkiff.java index 9310361a9e7..ddecf2d151b 100644 --- a/Mage.Sets/src/mage/cards/s/SkySkiff.java +++ b/Mage.Sets/src/mage/cards/s/SkySkiff.java @@ -1,66 +1,66 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import mage.MageInt; -import mage.abilities.keyword.CrewAbility; -import mage.abilities.keyword.FlyingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; - -import java.util.UUID; - -/** - * - * @author emerald000 - */ -public class SkySkiff extends CardImpl { - - public SkySkiff(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add(SubType.VEHICLE); - this.power = new MageInt(2); - this.toughness = new MageInt(3); - - // Flying - this.addAbility(FlyingAbility.getInstance()); - // Crew 1 - this.addAbility(new CrewAbility(1)); - } - - public SkySkiff(final SkySkiff card) { - super(card); - } - - @Override - public SkySkiff copy() { - return new SkySkiff(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import mage.MageInt; +import mage.abilities.keyword.CrewAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +import java.util.UUID; + +/** + * + * @author emerald000 + */ +public class SkySkiff extends CardImpl { + + public SkySkiff(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); + this.subtype.add(SubType.VEHICLE); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // Crew 1 + this.addAbility(new CrewAbility(1)); + } + + public SkySkiff(final SkySkiff card) { + super(card); + } + + @Override + public SkySkiff copy() { + return new SkySkiff(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SkySpirit.java b/Mage.Sets/src/mage/cards/s/SkySpirit.java index 64edcff6496..c92472fd503 100644 --- a/Mage.Sets/src/mage/cards/s/SkySpirit.java +++ b/Mage.Sets/src/mage/cards/s/SkySpirit.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SkySpirit extends CardImpl { public SkySpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SkySwallower.java b/Mage.Sets/src/mage/cards/s/SkySwallower.java index 4c21c29013e..0044c72585d 100644 --- a/Mage.Sets/src/mage/cards/s/SkySwallower.java +++ b/Mage.Sets/src/mage/cards/s/SkySwallower.java @@ -52,7 +52,7 @@ public class SkySwallower extends CardImpl { public SkySwallower(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}"); - this.subtype.add("Leviathan"); + this.subtype.add(SubType.LEVIATHAN); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/s/SkyWeaver.java b/Mage.Sets/src/mage/cards/s/SkyWeaver.java index ff37f16313e..5c126683dc5 100644 --- a/Mage.Sets/src/mage/cards/s/SkyWeaver.java +++ b/Mage.Sets/src/mage/cards/s/SkyWeaver.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -61,8 +62,8 @@ public class SkyWeaver extends CardImpl { public SkyWeaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Metathran"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.METATHRAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkyblinderStaff.java b/Mage.Sets/src/mage/cards/s/SkyblinderStaff.java index c0260870679..c2818f732b7 100644 --- a/Mage.Sets/src/mage/cards/s/SkyblinderStaff.java +++ b/Mage.Sets/src/mage/cards/s/SkyblinderStaff.java @@ -49,7 +49,7 @@ public class SkyblinderStaff extends CardImpl { public SkyblinderStaff(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+0 and can't be blocked by creatures with flying. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 0)); diff --git a/Mage.Sets/src/mage/cards/s/SkyclawThrash.java b/Mage.Sets/src/mage/cards/s/SkyclawThrash.java index 1811a0837df..94df4e01ec1 100644 --- a/Mage.Sets/src/mage/cards/s/SkyclawThrash.java +++ b/Mage.Sets/src/mage/cards/s/SkyclawThrash.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.game.Game; @@ -54,8 +55,8 @@ public class SkyclawThrash extends CardImpl { public SkyclawThrash(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{U}{R}"); - this.subtype.add("Viashino"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SkyfireKirin.java b/Mage.Sets/src/mage/cards/s/SkyfireKirin.java index 20ba298295d..1410e6b31f1 100644 --- a/Mage.Sets/src/mage/cards/s/SkyfireKirin.java +++ b/Mage.Sets/src/mage/cards/s/SkyfireKirin.java @@ -60,8 +60,8 @@ public class SkyfireKirin extends CardImpl { public SkyfireKirin(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Kirin"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.KIRIN); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/Skygames.java b/Mage.Sets/src/mage/cards/s/Skygames.java index 33e7ec0961e..c92c2c1f7e8 100644 --- a/Mage.Sets/src/mage/cards/s/Skygames.java +++ b/Mage.Sets/src/mage/cards/s/Skygames.java @@ -52,7 +52,7 @@ public class Skygames extends CardImpl { public Skygames(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/s/SkyhunterCub.java b/Mage.Sets/src/mage/cards/s/SkyhunterCub.java index ff1d5b962aa..10f42f5ac69 100644 --- a/Mage.Sets/src/mage/cards/s/SkyhunterCub.java +++ b/Mage.Sets/src/mage/cards/s/SkyhunterCub.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class SkyhunterCub extends CardImpl { public SkyhunterCub(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Knight"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SkyhunterPatrol.java b/Mage.Sets/src/mage/cards/s/SkyhunterPatrol.java index 0c5d12e4983..2a4bebecd03 100644 --- a/Mage.Sets/src/mage/cards/s/SkyhunterPatrol.java +++ b/Mage.Sets/src/mage/cards/s/SkyhunterPatrol.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SkyhunterPatrol extends CardImpl { public SkyhunterPatrol(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Knight"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkyhunterProwler.java b/Mage.Sets/src/mage/cards/s/SkyhunterProwler.java index 88769b6615c..a104f0307c3 100644 --- a/Mage.Sets/src/mage/cards/s/SkyhunterProwler.java +++ b/Mage.Sets/src/mage/cards/s/SkyhunterProwler.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SkyhunterProwler extends CardImpl { public SkyhunterProwler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Knight"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkyhunterSkirmisher.java b/Mage.Sets/src/mage/cards/s/SkyhunterSkirmisher.java index 04e574dfbaa..05b4d74d50c 100644 --- a/Mage.Sets/src/mage/cards/s/SkyhunterSkirmisher.java +++ b/Mage.Sets/src/mage/cards/s/SkyhunterSkirmisher.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SkyhunterSkirmisher extends CardImpl { public SkyhunterSkirmisher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Knight"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkyknightLegionnaire.java b/Mage.Sets/src/mage/cards/s/SkyknightLegionnaire.java index 44d51726093..ea54ea8e060 100644 --- a/Mage.Sets/src/mage/cards/s/SkyknightLegionnaire.java +++ b/Mage.Sets/src/mage/cards/s/SkyknightLegionnaire.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SkyknightLegionnaire extends CardImpl { public SkyknightLegionnaire (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Skylasher.java b/Mage.Sets/src/mage/cards/s/Skylasher.java index bc25448be05..380bee2b4f0 100644 --- a/Mage.Sets/src/mage/cards/s/Skylasher.java +++ b/Mage.Sets/src/mage/cards/s/Skylasher.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,7 +48,7 @@ public class Skylasher extends CardImpl { public Skylasher (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SkylineDespot.java b/Mage.Sets/src/mage/cards/s/SkylineDespot.java index 7fc882d525b..7524c59fc6b 100644 --- a/Mage.Sets/src/mage/cards/s/SkylineDespot.java +++ b/Mage.Sets/src/mage/cards/s/SkylineDespot.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.game.permanent.token.DragonToken2; @@ -52,7 +53,7 @@ public class SkylineDespot extends CardImpl { public SkylineDespot(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SkylinePredator.java b/Mage.Sets/src/mage/cards/s/SkylinePredator.java index 9ffbbcb474b..eff04809273 100644 --- a/Mage.Sets/src/mage/cards/s/SkylinePredator.java +++ b/Mage.Sets/src/mage/cards/s/SkylinePredator.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SkylinePredator extends CardImpl { public SkylinePredator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SkymarkRoc.java b/Mage.Sets/src/mage/cards/s/SkymarkRoc.java index da580ca440c..428290d512f 100644 --- a/Mage.Sets/src/mage/cards/s/SkymarkRoc.java +++ b/Mage.Sets/src/mage/cards/s/SkymarkRoc.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -54,7 +55,7 @@ public class SkymarkRoc extends CardImpl { public SkymarkRoc(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkyrakerGiant.java b/Mage.Sets/src/mage/cards/s/SkyrakerGiant.java index 54a19ca686e..8788cd558db 100644 --- a/Mage.Sets/src/mage/cards/s/SkyrakerGiant.java +++ b/Mage.Sets/src/mage/cards/s/SkyrakerGiant.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SkyrakerGiant extends CardImpl { public SkyrakerGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkyreachManta.java b/Mage.Sets/src/mage/cards/s/SkyreachManta.java index aa654898a59..a623331efaa 100644 --- a/Mage.Sets/src/mage/cards/s/SkyreachManta.java +++ b/Mage.Sets/src/mage/cards/s/SkyreachManta.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.SunburstAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SkyreachManta extends CardImpl { public SkyreachManta(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Fish"); + this.subtype.add(SubType.FISH); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SkyriderElf.java b/Mage.Sets/src/mage/cards/s/SkyriderElf.java index 1c14ce0f138..660bb49e471 100644 --- a/Mage.Sets/src/mage/cards/s/SkyriderElf.java +++ b/Mage.Sets/src/mage/cards/s/SkyriderElf.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -46,9 +47,9 @@ public class SkyriderElf extends CardImpl { public SkyriderElf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{X}{G}{U}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); - this.subtype.add("Ally"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ALLY); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SkyriderTrainee.java b/Mage.Sets/src/mage/cards/s/SkyriderTrainee.java index f3f36be9a24..035d0e9a364 100644 --- a/Mage.Sets/src/mage/cards/s/SkyriderTrainee.java +++ b/Mage.Sets/src/mage/cards/s/SkyriderTrainee.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class SkyriderTrainee extends CardImpl { public SkyriderTrainee(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkyshipPlunderer.java b/Mage.Sets/src/mage/cards/s/SkyshipPlunderer.java index 0d9dc6828e0..ca93f7c6953 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshipPlunderer.java +++ b/Mage.Sets/src/mage/cards/s/SkyshipPlunderer.java @@ -1,137 +1,138 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; -import mage.abilities.effects.Effect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.keyword.FlyingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.counters.Counter; -import mage.counters.CounterType; -import mage.counters.Counters; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.common.TargetPermanentOrPlayer; - -/** - * - * @author Styxo - */ -public class SkyshipPlunderer extends CardImpl { - - public SkyshipPlunderer(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - - this.subtype.add("Human"); - this.subtype.add("Pirate"); - this.power = new MageInt(2); - this.toughness = new MageInt(1); - - // Flying - this.addAbility(FlyingAbility.getInstance()); - - // Whenever Skyship Plunderer deals combat damage to a player, for each kind of counter on target permanent or player, give that permanent or player another counter of that kind. - Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new SkyshipPlundererEffect(), false); - ability.addTarget(new TargetPermanentOrPlayer()); - this.addAbility(ability); - } - - public SkyshipPlunderer(final SkyshipPlunderer card) { - super(card); - } - - @Override - public SkyshipPlunderer copy() { - return new SkyshipPlunderer(this); - } -} - -class SkyshipPlundererEffect extends OneShotEffect { - - public SkyshipPlundererEffect() { - super(Outcome.Neutral); - this.staticText = "for each kind of counter on target permanent or player, give that permanent or player another counter of that kind"; - } - - public SkyshipPlundererEffect(final SkyshipPlundererEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - Player player = game.getPlayer(getTargetPointer().getFirst(game, source)); - if (player != null) { - Counters counters = player.getCounters().copy(); - for (Counter counter : counters.values()) { - CounterType counterType = CounterType.findByName(counter.getName()); - Counter counterToAdd; - if (counterType != null) { - counterToAdd = counterType.createInstance(); - } else { - counterToAdd = new Counter(counter.getName()); - } - player.addCounters(counterToAdd, game); - } - return true; - } - Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source)); - if (permanent != null) { - Counters counters = permanent.getCounters(game).copy(); - for (Counter counter : counters.values()) { - CounterType counterType = CounterType.findByName(counter.getName()); - Counter counterToAdd; - if (counterType != null) { - counterToAdd = counterType.createInstance(); - } else { - counterToAdd = new Counter(counter.getName()); - } - permanent.addCounters(counterToAdd, source, game); - } - } - return true; - - } - return false; - } - - @Override - public Effect copy() { - return new SkyshipPlundererEffect(this); - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.counters.Counter; +import mage.counters.CounterType; +import mage.counters.Counters; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetPermanentOrPlayer; + +/** + * + * @author Styxo + */ +public class SkyshipPlunderer extends CardImpl { + + public SkyshipPlunderer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Whenever Skyship Plunderer deals combat damage to a player, for each kind of counter on target permanent or player, give that permanent or player another counter of that kind. + Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new SkyshipPlundererEffect(), false); + ability.addTarget(new TargetPermanentOrPlayer()); + this.addAbility(ability); + } + + public SkyshipPlunderer(final SkyshipPlunderer card) { + super(card); + } + + @Override + public SkyshipPlunderer copy() { + return new SkyshipPlunderer(this); + } +} + +class SkyshipPlundererEffect extends OneShotEffect { + + public SkyshipPlundererEffect() { + super(Outcome.Neutral); + this.staticText = "for each kind of counter on target permanent or player, give that permanent or player another counter of that kind"; + } + + public SkyshipPlundererEffect(final SkyshipPlundererEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + Player player = game.getPlayer(getTargetPointer().getFirst(game, source)); + if (player != null) { + Counters counters = player.getCounters().copy(); + for (Counter counter : counters.values()) { + CounterType counterType = CounterType.findByName(counter.getName()); + Counter counterToAdd; + if (counterType != null) { + counterToAdd = counterType.createInstance(); + } else { + counterToAdd = new Counter(counter.getName()); + } + player.addCounters(counterToAdd, game); + } + return true; + } + Permanent permanent = game.getPermanent(getTargetPointer().getFirst(game, source)); + if (permanent != null) { + Counters counters = permanent.getCounters(game).copy(); + for (Counter counter : counters.values()) { + CounterType counterType = CounterType.findByName(counter.getName()); + Counter counterToAdd; + if (counterType != null) { + counterToAdd = counterType.createInstance(); + } else { + counterToAdd = new Counter(counter.getName()); + } + permanent.addCounters(counterToAdd, source, game); + } + } + return true; + + } + return false; + } + + @Override + public Effect copy() { + return new SkyshipPlundererEffect(this); + } + +} diff --git a/Mage.Sets/src/mage/cards/s/SkyshipStalker.java b/Mage.Sets/src/mage/cards/s/SkyshipStalker.java index 0b7e5214ed4..3daaf6bdeb5 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshipStalker.java +++ b/Mage.Sets/src/mage/cards/s/SkyshipStalker.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class SkyshipStalker extends CardImpl { public SkyshipStalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/Skyshooter.java b/Mage.Sets/src/mage/cards/s/Skyshooter.java index 0c473b164e9..5e85c94e0da 100644 --- a/Mage.Sets/src/mage/cards/s/Skyshooter.java +++ b/Mage.Sets/src/mage/cards/s/Skyshooter.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterAttackingOrBlockingCreature; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -57,8 +58,8 @@ public class Skyshooter extends CardImpl { public Skyshooter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Archer"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudArcher.java b/Mage.Sets/src/mage/cards/s/SkyshroudArcher.java index 6a34eed6b33..68176663f70 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshroudArcher.java +++ b/Mage.Sets/src/mage/cards/s/SkyshroudArcher.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -57,8 +58,8 @@ public class SkyshroudArcher extends CardImpl { public SkyshroudArcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudBehemoth.java b/Mage.Sets/src/mage/cards/s/SkyshroudBehemoth.java index 3760b591ebd..9d99ba9d99a 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshroudBehemoth.java +++ b/Mage.Sets/src/mage/cards/s/SkyshroudBehemoth.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FadingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SkyshroudBehemoth extends CardImpl { public SkyshroudBehemoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(10); this.toughness = new MageInt(10); diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudCondor.java b/Mage.Sets/src/mage/cards/s/SkyshroudCondor.java index a48e4d3b0ae..5c7243204a5 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshroudCondor.java +++ b/Mage.Sets/src/mage/cards/s/SkyshroudCondor.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class SkyshroudCondor extends CardImpl { public SkyshroudCondor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudCutter.java b/Mage.Sets/src/mage/cards/s/SkyshroudCutter.java index 5fe8149b274..ad9269ae76d 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshroudCutter.java +++ b/Mage.Sets/src/mage/cards/s/SkyshroudCutter.java @@ -53,7 +53,7 @@ public class SkyshroudCutter extends CardImpl { public SkyshroudCutter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudElf.java b/Mage.Sets/src/mage/cards/s/SkyshroudElf.java index ef5105e781d..3615f8dd76c 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshroudElf.java +++ b/Mage.Sets/src/mage/cards/s/SkyshroudElf.java @@ -37,6 +37,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class SkyshroudElf extends CardImpl { public SkyshroudElf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudElite.java b/Mage.Sets/src/mage/cards/s/SkyshroudElite.java index 59179267e79..bcfaa4d3cb2 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshroudElite.java +++ b/Mage.Sets/src/mage/cards/s/SkyshroudElite.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; @@ -48,7 +49,7 @@ public class SkyshroudElite extends CardImpl { public SkyshroudElite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudFalcon.java b/Mage.Sets/src/mage/cards/s/SkyshroudFalcon.java index 334f4d48125..9c64bb5adb8 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshroudFalcon.java +++ b/Mage.Sets/src/mage/cards/s/SkyshroudFalcon.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SkyshroudFalcon extends CardImpl { public SkyshroudFalcon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudPoacher.java b/Mage.Sets/src/mage/cards/s/SkyshroudPoacher.java index decfcb6ab99..1fd6559d5e7 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshroudPoacher.java +++ b/Mage.Sets/src/mage/cards/s/SkyshroudPoacher.java @@ -57,8 +57,8 @@ public class SkyshroudPoacher extends CardImpl { public SkyshroudPoacher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudRanger.java b/Mage.Sets/src/mage/cards/s/SkyshroudRanger.java index 826d43ccf74..bb09b6d0dce 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshroudRanger.java +++ b/Mage.Sets/src/mage/cards/s/SkyshroudRanger.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PutLandFromHandOntoBattlefieldEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class SkyshroudRanger extends CardImpl { public SkyshroudRanger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudRidgeback.java b/Mage.Sets/src/mage/cards/s/SkyshroudRidgeback.java index f23355befa1..66a4ee19256 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshroudRidgeback.java +++ b/Mage.Sets/src/mage/cards/s/SkyshroudRidgeback.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FadingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SkyshroudRidgeback extends CardImpl { public SkyshroudRidgeback(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudTroll.java b/Mage.Sets/src/mage/cards/s/SkyshroudTroll.java index 3e0a024a8ec..37aa9a59cd5 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshroudTroll.java +++ b/Mage.Sets/src/mage/cards/s/SkyshroudTroll.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class SkyshroudTroll extends CardImpl { public SkyshroudTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Troll"); - this.subtype.add("Giant"); + this.subtype.add(SubType.TROLL); + this.subtype.add(SubType.GIANT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudTroopers.java b/Mage.Sets/src/mage/cards/s/SkyshroudTroopers.java index 5f4b83ad4ed..deb06e4c6e6 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshroudTroopers.java +++ b/Mage.Sets/src/mage/cards/s/SkyshroudTroopers.java @@ -33,6 +33,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,9 +43,9 @@ public class SkyshroudTroopers extends CardImpl { public SkyshroudTroopers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkyshroudVampire.java b/Mage.Sets/src/mage/cards/s/SkyshroudVampire.java index 73830c15409..f68227de8cc 100644 --- a/Mage.Sets/src/mage/cards/s/SkyshroudVampire.java +++ b/Mage.Sets/src/mage/cards/s/SkyshroudVampire.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -49,7 +50,7 @@ public class SkyshroudVampire extends CardImpl { public SkyshroudVampire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkysnareSpider.java b/Mage.Sets/src/mage/cards/s/SkysnareSpider.java index 623573aa0f0..5393863ae40 100644 --- a/Mage.Sets/src/mage/cards/s/SkysnareSpider.java +++ b/Mage.Sets/src/mage/cards/s/SkysnareSpider.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SkysnareSpider extends CardImpl { public SkysnareSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SkyspearCavalry.java b/Mage.Sets/src/mage/cards/s/SkyspearCavalry.java index 481e99a95e1..e615b11962e 100644 --- a/Mage.Sets/src/mage/cards/s/SkyspearCavalry.java +++ b/Mage.Sets/src/mage/cards/s/SkyspearCavalry.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SkyspearCavalry extends CardImpl { public SkyspearCavalry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SkyswirlHarrier.java b/Mage.Sets/src/mage/cards/s/SkyswirlHarrier.java index eb7dced1edf..c450d09d23d 100644 --- a/Mage.Sets/src/mage/cards/s/SkyswirlHarrier.java +++ b/Mage.Sets/src/mage/cards/s/SkyswirlHarrier.java @@ -1,61 +1,62 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.keyword.FlyingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author LevelX2 - */ -public class SkyswirlHarrier extends CardImpl { - - public SkyswirlHarrier(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Bird"); - this.power = new MageInt(3); - this.toughness = new MageInt(4); - - // Flying - this.addAbility(FlyingAbility.getInstance()); - } - - public SkyswirlHarrier(final SkyswirlHarrier card) { - super(card); - } - - @Override - public SkyswirlHarrier copy() { - return new SkyswirlHarrier(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author LevelX2 + */ +public class SkyswirlHarrier extends CardImpl { + + public SkyswirlHarrier(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); + this.subtype.add(SubType.BIRD); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + } + + public SkyswirlHarrier(final SkyswirlHarrier card) { + super(card); + } + + @Override + public SkyswirlHarrier copy() { + return new SkyswirlHarrier(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SkywardEyeProphets.java b/Mage.Sets/src/mage/cards/s/SkywardEyeProphets.java index b32bcc049b0..81064f6b3c7 100644 --- a/Mage.Sets/src/mage/cards/s/SkywardEyeProphets.java +++ b/Mage.Sets/src/mage/cards/s/SkywardEyeProphets.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class SkywardEyeProphets extends CardImpl { public SkywardEyeProphets(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{W}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SkywatcherAdept.java b/Mage.Sets/src/mage/cards/s/SkywatcherAdept.java index a700b048782..271d1ee31ea 100644 --- a/Mage.Sets/src/mage/cards/s/SkywatcherAdept.java +++ b/Mage.Sets/src/mage/cards/s/SkywatcherAdept.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -48,8 +49,8 @@ public class SkywatcherAdept extends LevelerCard { public SkywatcherAdept(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.color.setBlue(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkywinderDrake.java b/Mage.Sets/src/mage/cards/s/SkywinderDrake.java index a39a527a67e..7b9b4030da7 100644 --- a/Mage.Sets/src/mage/cards/s/SkywinderDrake.java +++ b/Mage.Sets/src/mage/cards/s/SkywinderDrake.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SkywinderDrake extends CardImpl { public SkywinderDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SkywingAven.java b/Mage.Sets/src/mage/cards/s/SkywingAven.java index b0a5584848b..f983112cd02 100644 --- a/Mage.Sets/src/mage/cards/s/SkywingAven.java +++ b/Mage.Sets/src/mage/cards/s/SkywingAven.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class SkywingAven extends CardImpl { public SkywingAven(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SlabHammer.java b/Mage.Sets/src/mage/cards/s/SlabHammer.java index cd1438382f4..c697b5d5017 100644 --- a/Mage.Sets/src/mage/cards/s/SlabHammer.java +++ b/Mage.Sets/src/mage/cards/s/SlabHammer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.filter.common.FilterControlledLandPermanent; @@ -51,7 +52,7 @@ public class SlabHammer extends CardImpl { public SlabHammer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Whenever equipped creature attacks, you may return a land you control to its owner's hand. If you do, the creature gets +2/+2 until end of turn. Ability ability = new AttacksAttachedTriggeredAbility( diff --git a/Mage.Sets/src/mage/cards/s/SlagFiend.java b/Mage.Sets/src/mage/cards/s/SlagFiend.java index 59eb18cc3b6..08b3f147904 100644 --- a/Mage.Sets/src/mage/cards/s/SlagFiend.java +++ b/Mage.Sets/src/mage/cards/s/SlagFiend.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterArtifactCard; @@ -47,7 +48,7 @@ public class SlagFiend extends CardImpl { public SlagFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SlagwurmArmor.java b/Mage.Sets/src/mage/cards/s/SlagwurmArmor.java index 684cd41e3c4..fee223bbd8f 100644 --- a/Mage.Sets/src/mage/cards/s/SlagwurmArmor.java +++ b/Mage.Sets/src/mage/cards/s/SlagwurmArmor.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -45,7 +46,7 @@ public class SlagwurmArmor extends CardImpl { public SlagwurmArmor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(0, 6))); this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(3))); } diff --git a/Mage.Sets/src/mage/cards/s/SlashPanther.java b/Mage.Sets/src/mage/cards/s/SlashPanther.java index 013db32c9a5..b3f88d8a1a9 100644 --- a/Mage.Sets/src/mage/cards/s/SlashPanther.java +++ b/Mage.Sets/src/mage/cards/s/SlashPanther.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SlashPanther extends CardImpl { public SlashPanther(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{R/P}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SlashingTiger.java b/Mage.Sets/src/mage/cards/s/SlashingTiger.java index c613828afad..5bb96e335f2 100644 --- a/Mage.Sets/src/mage/cards/s/SlashingTiger.java +++ b/Mage.Sets/src/mage/cards/s/SlashingTiger.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class SlashingTiger extends CardImpl { public SlashingTiger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SlateStreetRuffian.java b/Mage.Sets/src/mage/cards/s/SlateStreetRuffian.java index 3bb779981d4..27c970ca282 100644 --- a/Mage.Sets/src/mage/cards/s/SlateStreetRuffian.java +++ b/Mage.Sets/src/mage/cards/s/SlateStreetRuffian.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -48,8 +49,8 @@ public class SlateStreetRuffian extends CardImpl { public SlateStreetRuffian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SlaughterDrone.java b/Mage.Sets/src/mage/cards/s/SlaughterDrone.java index c653aee5fff..603a18542a4 100644 --- a/Mage.Sets/src/mage/cards/s/SlaughterDrone.java +++ b/Mage.Sets/src/mage/cards/s/SlaughterDrone.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class SlaughterDrone extends CardImpl { public SlaughterDrone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Slaughterhorn.java b/Mage.Sets/src/mage/cards/s/Slaughterhorn.java index 468ecdb3706..d96f03ee8aa 100644 --- a/Mage.Sets/src/mage/cards/s/Slaughterhorn.java +++ b/Mage.Sets/src/mage/cards/s/Slaughterhorn.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.BloodrushAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class Slaughterhorn extends CardImpl { public Slaughterhorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SlaveI.java b/Mage.Sets/src/mage/cards/s/SlaveI.java index 5a3c5f13f3d..0d5d6b2fc92 100644 --- a/Mage.Sets/src/mage/cards/s/SlaveI.java +++ b/Mage.Sets/src/mage/cards/s/SlaveI.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SpaceflightAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.counters.CounterType; @@ -48,7 +49,7 @@ public class SlaveI extends CardImpl { public SlaveI(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Starship"); + this.subtype.add(SubType.STARSHIP); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SlaveringNulls.java b/Mage.Sets/src/mage/cards/s/SlaveringNulls.java index 39ace40874c..a0377766bc9 100644 --- a/Mage.Sets/src/mage/cards/s/SlaveringNulls.java +++ b/Mage.Sets/src/mage/cards/s/SlaveringNulls.java @@ -55,8 +55,8 @@ public class SlaveringNulls extends CardImpl { public SlaveringNulls(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SlayerOfTheWicked.java b/Mage.Sets/src/mage/cards/s/SlayerOfTheWicked.java index 3d6ecc20b0a..6a3a63964a2 100644 --- a/Mage.Sets/src/mage/cards/s/SlayerOfTheWicked.java +++ b/Mage.Sets/src/mage/cards/s/SlayerOfTheWicked.java @@ -58,8 +58,8 @@ public class SlayerOfTheWicked extends CardImpl { public SlayerOfTheWicked(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SlayersCleaver.java b/Mage.Sets/src/mage/cards/s/SlayersCleaver.java index 5b474bc567f..37f6c7d00f3 100644 --- a/Mage.Sets/src/mage/cards/s/SlayersCleaver.java +++ b/Mage.Sets/src/mage/cards/s/SlayersCleaver.java @@ -48,7 +48,7 @@ public class SlayersCleaver extends CardImpl { public SlayersCleaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +3/+1 and must be blocked by an Eldrazi if able. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 1)); diff --git a/Mage.Sets/src/mage/cards/s/SlayersPlate.java b/Mage.Sets/src/mage/cards/s/SlayersPlate.java index b065eda84a7..723cb89b6dc 100644 --- a/Mage.Sets/src/mage/cards/s/SlayersPlate.java +++ b/Mage.Sets/src/mage/cards/s/SlayersPlate.java @@ -55,7 +55,7 @@ public class SlayersPlate extends CardImpl { public SlayersPlate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +4/+2. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(4, 2))); diff --git a/Mage.Sets/src/mage/cards/s/SleekSchooner.java b/Mage.Sets/src/mage/cards/s/SleekSchooner.java index 4f32050d307..cd287022a2b 100644 --- a/Mage.Sets/src/mage/cards/s/SleekSchooner.java +++ b/Mage.Sets/src/mage/cards/s/SleekSchooner.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.CrewAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SleekSchooner extends CardImpl { public SleekSchooner(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); - this.subtype.add("Vehicle"); + this.subtype.add(SubType.VEHICLE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SleepParalysis.java b/Mage.Sets/src/mage/cards/s/SleepParalysis.java index 8446d5b2b01..3efa3eb3ce8 100644 --- a/Mage.Sets/src/mage/cards/s/SleepParalysis.java +++ b/Mage.Sets/src/mage/cards/s/SleepParalysis.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class SleepParalysis extends CardImpl { public SleepParalysis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SleeperAgent.java b/Mage.Sets/src/mage/cards/s/SleeperAgent.java index f7d0fc9d2d5..f7c31673671 100644 --- a/Mage.Sets/src/mage/cards/s/SleeperAgent.java +++ b/Mage.Sets/src/mage/cards/s/SleeperAgent.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -54,7 +55,7 @@ public class SleeperAgent extends CardImpl { public SleeperAgent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Minion"); + this.subtype.add(SubType.MINION); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SleepersGuile.java b/Mage.Sets/src/mage/cards/s/SleepersGuile.java index cb1b0c67d57..4fa0d7d093a 100644 --- a/Mage.Sets/src/mage/cards/s/SleepersGuile.java +++ b/Mage.Sets/src/mage/cards/s/SleepersGuile.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -53,7 +54,7 @@ public class SleepersGuile extends CardImpl { public SleepersGuile(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SleepersRobe.java b/Mage.Sets/src/mage/cards/s/SleepersRobe.java index c865797d6d9..6441a0d739e 100644 --- a/Mage.Sets/src/mage/cards/s/SleepersRobe.java +++ b/Mage.Sets/src/mage/cards/s/SleepersRobe.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class SleepersRobe extends CardImpl { public SleepersRobe(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SleepingPotion.java b/Mage.Sets/src/mage/cards/s/SleepingPotion.java index 68afd06bbfc..d5f70b3b1fa 100644 --- a/Mage.Sets/src/mage/cards/s/SleepingPotion.java +++ b/Mage.Sets/src/mage/cards/s/SleepingPotion.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -53,7 +54,7 @@ public class SleepingPotion extends CardImpl { public SleepingPotion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SlimyKavu.java b/Mage.Sets/src/mage/cards/s/SlimyKavu.java index 58a212235f7..64eec8e4e64 100644 --- a/Mage.Sets/src/mage/cards/s/SlimyKavu.java +++ b/Mage.Sets/src/mage/cards/s/SlimyKavu.java @@ -50,7 +50,7 @@ public class SlimyKavu extends CardImpl { public SlimyKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SlingshotGoblin.java b/Mage.Sets/src/mage/cards/s/SlingshotGoblin.java index a8c55f5b77f..3c8c5b23db8 100644 --- a/Mage.Sets/src/mage/cards/s/SlingshotGoblin.java +++ b/Mage.Sets/src/mage/cards/s/SlingshotGoblin.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -58,7 +59,7 @@ public class SlingshotGoblin extends CardImpl { public SlingshotGoblin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SlinkingGiant.java b/Mage.Sets/src/mage/cards/s/SlinkingGiant.java index c97b5e52e0c..e695dd56d97 100644 --- a/Mage.Sets/src/mage/cards/s/SlinkingGiant.java +++ b/Mage.Sets/src/mage/cards/s/SlinkingGiant.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class SlinkingGiant extends CardImpl { public SlinkingGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SlinkingSerpent.java b/Mage.Sets/src/mage/cards/s/SlinkingSerpent.java index 555ded5a981..83fd7995d7b 100644 --- a/Mage.Sets/src/mage/cards/s/SlinkingSerpent.java +++ b/Mage.Sets/src/mage/cards/s/SlinkingSerpent.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SlinkingSerpent extends CardImpl { public SlinkingSerpent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{B}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SlinkingSkirge.java b/Mage.Sets/src/mage/cards/s/SlinkingSkirge.java index c6b31b22684..1ae357f6e5a 100644 --- a/Mage.Sets/src/mage/cards/s/SlinkingSkirge.java +++ b/Mage.Sets/src/mage/cards/s/SlinkingSkirge.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class SlinkingSkirge extends CardImpl { public SlinkingSkirge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SlipperyBogle.java b/Mage.Sets/src/mage/cards/s/SlipperyBogle.java index 709b107c87e..97ab930afd0 100644 --- a/Mage.Sets/src/mage/cards/s/SlipperyBogle.java +++ b/Mage.Sets/src/mage/cards/s/SlipperyBogle.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SlipperyBogle extends CardImpl { public SlipperyBogle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G/U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SlipstreamEel.java b/Mage.Sets/src/mage/cards/s/SlipstreamEel.java index 69cd6a8f932..13066424c47 100644 --- a/Mage.Sets/src/mage/cards/s/SlipstreamEel.java +++ b/Mage.Sets/src/mage/cards/s/SlipstreamEel.java @@ -48,8 +48,8 @@ public class SlipstreamEel extends CardImpl { public SlipstreamEel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Fish"); - this.subtype.add("Beast"); + this.subtype.add(SubType.FISH); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SlipstreamSerpent.java b/Mage.Sets/src/mage/cards/s/SlipstreamSerpent.java index 721094fc3ee..ae65e144c9d 100644 --- a/Mage.Sets/src/mage/cards/s/SlipstreamSerpent.java +++ b/Mage.Sets/src/mage/cards/s/SlipstreamSerpent.java @@ -51,7 +51,7 @@ public class SlipstreamSerpent extends CardImpl { public SlipstreamSerpent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{7}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SlithAscendant.java b/Mage.Sets/src/mage/cards/s/SlithAscendant.java index 625b7064b50..d158be49633 100644 --- a/Mage.Sets/src/mage/cards/s/SlithAscendant.java +++ b/Mage.Sets/src/mage/cards/s/SlithAscendant.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,7 +46,7 @@ public class SlithAscendant extends CardImpl { public SlithAscendant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Slith"); + this.subtype.add(SubType.SLITH); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SlithBloodletter.java b/Mage.Sets/src/mage/cards/s/SlithBloodletter.java index 55f74cd9b7b..2f45b6b4785 100644 --- a/Mage.Sets/src/mage/cards/s/SlithBloodletter.java +++ b/Mage.Sets/src/mage/cards/s/SlithBloodletter.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -48,7 +49,7 @@ public class SlithBloodletter extends CardImpl { public SlithBloodletter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Slith"); + this.subtype.add(SubType.SLITH); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SlithFirewalker.java b/Mage.Sets/src/mage/cards/s/SlithFirewalker.java index ce2a64e5c08..29613757d53 100644 --- a/Mage.Sets/src/mage/cards/s/SlithFirewalker.java +++ b/Mage.Sets/src/mage/cards/s/SlithFirewalker.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,7 +46,7 @@ public class SlithFirewalker extends CardImpl { public SlithFirewalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{R}"); - this.subtype.add("Slith"); + this.subtype.add(SubType.SLITH); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SlithPredator.java b/Mage.Sets/src/mage/cards/s/SlithPredator.java index 0877935bb11..9672f54ffd2 100644 --- a/Mage.Sets/src/mage/cards/s/SlithPredator.java +++ b/Mage.Sets/src/mage/cards/s/SlithPredator.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,7 +46,7 @@ public class SlithPredator extends CardImpl { public SlithPredator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); - this.subtype.add("Slith"); + this.subtype.add(SubType.SLITH); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SlithStrider.java b/Mage.Sets/src/mage/cards/s/SlithStrider.java index edb85191a9c..bd0c7bebf39 100644 --- a/Mage.Sets/src/mage/cards/s/SlithStrider.java +++ b/Mage.Sets/src/mage/cards/s/SlithStrider.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -46,7 +47,7 @@ public class SlithStrider extends CardImpl { public SlithStrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Slith"); + this.subtype.add(SubType.SLITH); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SlitherBlade.java b/Mage.Sets/src/mage/cards/s/SlitherBlade.java index b1722702547..aea28e32ac7 100644 --- a/Mage.Sets/src/mage/cards/s/SlitherBlade.java +++ b/Mage.Sets/src/mage/cards/s/SlitherBlade.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SlitherBlade extends CardImpl { public SlitherBlade(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}"); - this.subtype.add("Naga"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Slitherhead.java b/Mage.Sets/src/mage/cards/s/Slitherhead.java index 91daebf1893..f77372943ce 100644 --- a/Mage.Sets/src/mage/cards/s/Slitherhead.java +++ b/Mage.Sets/src/mage/cards/s/Slitherhead.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ScavengeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class Slitherhead extends CardImpl { public Slitherhead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B/G}"); - this.subtype.add("Plant"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SlitheringShade.java b/Mage.Sets/src/mage/cards/s/SlitheringShade.java index d7d9f83a1ba..832fe062641 100644 --- a/Mage.Sets/src/mage/cards/s/SlitheringShade.java +++ b/Mage.Sets/src/mage/cards/s/SlitheringShade.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class SlitheringShade extends CardImpl { public SlitheringShade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Shade"); + this.subtype.add(SubType.SHADE); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Slithermuse.java b/Mage.Sets/src/mage/cards/s/Slithermuse.java index 74f581e0127..b083f4a8759 100644 --- a/Mage.Sets/src/mage/cards/s/Slithermuse.java +++ b/Mage.Sets/src/mage/cards/s/Slithermuse.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class Slithermuse extends CardImpl { public Slithermuse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SlitheryStalker.java b/Mage.Sets/src/mage/cards/s/SlitheryStalker.java index 3fc89e95b95..93c5adde1de 100644 --- a/Mage.Sets/src/mage/cards/s/SlitheryStalker.java +++ b/Mage.Sets/src/mage/cards/s/SlitheryStalker.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -65,8 +66,8 @@ public class SlitheryStalker extends CardImpl { public SlitheryStalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Nightmare"); - this.subtype.add("Horror"); + this.subtype.add(SubType.NIGHTMARE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SliverConstruct.java b/Mage.Sets/src/mage/cards/s/SliverConstruct.java index 5fd6dde3c3b..bef277e2678 100644 --- a/Mage.Sets/src/mage/cards/s/SliverConstruct.java +++ b/Mage.Sets/src/mage/cards/s/SliverConstruct.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class SliverConstruct extends CardImpl { public SliverConstruct(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Sliver"); - this.subtype.add("Construct"); + this.subtype.add(SubType.SLIVER); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SliverHivelord.java b/Mage.Sets/src/mage/cards/s/SliverHivelord.java index c72d7b531a5..deb245a23fe 100644 --- a/Mage.Sets/src/mage/cards/s/SliverHivelord.java +++ b/Mage.Sets/src/mage/cards/s/SliverHivelord.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class SliverHivelord extends CardImpl { public SliverHivelord(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{U}{B}{R}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SliverLegion.java b/Mage.Sets/src/mage/cards/s/SliverLegion.java index ffacef5cef1..6f948fa5ca0 100644 --- a/Mage.Sets/src/mage/cards/s/SliverLegion.java +++ b/Mage.Sets/src/mage/cards/s/SliverLegion.java @@ -56,7 +56,7 @@ public class SliverLegion extends CardImpl { public SliverLegion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/s/SliverOverlord.java b/Mage.Sets/src/mage/cards/s/SliverOverlord.java index 0a23afc718f..9a5fde419aa 100644 --- a/Mage.Sets/src/mage/cards/s/SliverOverlord.java +++ b/Mage.Sets/src/mage/cards/s/SliverOverlord.java @@ -59,8 +59,8 @@ public class SliverOverlord extends CardImpl { public SliverOverlord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Sliver"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.SLIVER); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/s/SliverQueen.java b/Mage.Sets/src/mage/cards/s/SliverQueen.java index 39a13c18b3d..facda0a9962 100644 --- a/Mage.Sets/src/mage/cards/s/SliverQueen.java +++ b/Mage.Sets/src/mage/cards/s/SliverQueen.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.game.permanent.token.SliverToken; @@ -48,7 +49,7 @@ public class SliverQueen extends CardImpl { public SliverQueen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/s/Sliversmith.java b/Mage.Sets/src/mage/cards/s/Sliversmith.java index 5f5669393b1..5c99346dde7 100644 --- a/Mage.Sets/src/mage/cards/s/Sliversmith.java +++ b/Mage.Sets/src/mage/cards/s/Sliversmith.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.SliversmithToken; @@ -49,7 +50,7 @@ public class Sliversmith extends CardImpl { public Sliversmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SlobadGoblinTinkerer.java b/Mage.Sets/src/mage/cards/s/SlobadGoblinTinkerer.java index a00f977d628..469ce84d9be 100644 --- a/Mage.Sets/src/mage/cards/s/SlobadGoblinTinkerer.java +++ b/Mage.Sets/src/mage/cards/s/SlobadGoblinTinkerer.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -64,8 +65,8 @@ public class SlobadGoblinTinkerer extends CardImpl { public SlobadGoblinTinkerer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Goblin"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SlowMotion.java b/Mage.Sets/src/mage/cards/s/SlowMotion.java index 3c101329bfc..78a3e96bd36 100644 --- a/Mage.Sets/src/mage/cards/s/SlowMotion.java +++ b/Mage.Sets/src/mage/cards/s/SlowMotion.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.game.Game; @@ -56,7 +57,7 @@ public class SlowMotion extends CardImpl { public SlowMotion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SludgeCrawler.java b/Mage.Sets/src/mage/cards/s/SludgeCrawler.java index b9604de00eb..b2ee3a43f32 100644 --- a/Mage.Sets/src/mage/cards/s/SludgeCrawler.java +++ b/Mage.Sets/src/mage/cards/s/SludgeCrawler.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.IngestAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class SludgeCrawler extends CardImpl { public SludgeCrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SludgeStrider.java b/Mage.Sets/src/mage/cards/s/SludgeStrider.java index 868328a6f40..fd29c7c1afd 100644 --- a/Mage.Sets/src/mage/cards/s/SludgeStrider.java +++ b/Mage.Sets/src/mage/cards/s/SludgeStrider.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DoIfCostPaid; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class SludgeStrider extends CardImpl { public SludgeStrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{W}{U}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/Sluggishness.java b/Mage.Sets/src/mage/cards/s/Sluggishness.java index 1c9619a7b53..cf5f49c48c8 100644 --- a/Mage.Sets/src/mage/cards/s/Sluggishness.java +++ b/Mage.Sets/src/mage/cards/s/Sluggishness.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -52,7 +53,7 @@ public class Sluggishness extends CardImpl { public Sluggishness(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SluicewayScorpion.java b/Mage.Sets/src/mage/cards/s/SluicewayScorpion.java index b68be52e9b6..c2a85f61182 100644 --- a/Mage.Sets/src/mage/cards/s/SluicewayScorpion.java +++ b/Mage.Sets/src/mage/cards/s/SluicewayScorpion.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ScavengeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class SluicewayScorpion extends CardImpl { public SluicewayScorpion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{G}"); - this.subtype.add("Scorpion"); + this.subtype.add(SubType.SCORPION); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SlumReaper.java b/Mage.Sets/src/mage/cards/s/SlumReaper.java index e4177244386..93515ff23f5 100644 --- a/Mage.Sets/src/mage/cards/s/SlumReaper.java +++ b/Mage.Sets/src/mage/cards/s/SlumReaper.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; /** @@ -44,7 +45,7 @@ public class SlumReaper extends CardImpl { public SlumReaper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SlumberingDragon.java b/Mage.Sets/src/mage/cards/s/SlumberingDragon.java index 768380d82f1..b11c4448828 100644 --- a/Mage.Sets/src/mage/cards/s/SlumberingDragon.java +++ b/Mage.Sets/src/mage/cards/s/SlumberingDragon.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SetTargetPointer; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class SlumberingDragon extends CardImpl { public SlumberingDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SlyRequisitioner.java b/Mage.Sets/src/mage/cards/s/SlyRequisitioner.java index 401ef21fb60..532461e7419 100644 --- a/Mage.Sets/src/mage/cards/s/SlyRequisitioner.java +++ b/Mage.Sets/src/mage/cards/s/SlyRequisitioner.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ImproviseAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledArtifactPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.permanent.TokenPredicate; @@ -55,8 +56,8 @@ public class SlyRequisitioner extends CardImpl { public SlyRequisitioner(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SmeltWardGatekeepers.java b/Mage.Sets/src/mage/cards/s/SmeltWardGatekeepers.java index 82dd94cd637..4ce4440576d 100644 --- a/Mage.Sets/src/mage/cards/s/SmeltWardGatekeepers.java +++ b/Mage.Sets/src/mage/cards/s/SmeltWardGatekeepers.java @@ -65,8 +65,8 @@ public class SmeltWardGatekeepers extends CardImpl { public SmeltWardGatekeepers (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SmogElemental.java b/Mage.Sets/src/mage/cards/s/SmogElemental.java index 89cb6b6cb4c..428065adf08 100644 --- a/Mage.Sets/src/mage/cards/s/SmogElemental.java +++ b/Mage.Sets/src/mage/cards/s/SmogElemental.java @@ -53,7 +53,7 @@ public class SmogElemental extends CardImpl { public SmogElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SmogsteedRider.java b/Mage.Sets/src/mage/cards/s/SmogsteedRider.java index d49e45f8881..234864a719e 100644 --- a/Mage.Sets/src/mage/cards/s/SmogsteedRider.java +++ b/Mage.Sets/src/mage/cards/s/SmogsteedRider.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterAttackingCreature; @@ -46,8 +47,8 @@ public class SmogsteedRider extends CardImpl { public SmogsteedRider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SmokeTeller.java b/Mage.Sets/src/mage/cards/s/SmokeTeller.java index a7d12549d2d..30d39e67e57 100644 --- a/Mage.Sets/src/mage/cards/s/SmokeTeller.java +++ b/Mage.Sets/src/mage/cards/s/SmokeTeller.java @@ -39,6 +39,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -62,8 +63,8 @@ public class SmokeTeller extends CardImpl { public SmokeTeller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Smokebraider.java b/Mage.Sets/src/mage/cards/s/Smokebraider.java index 8f9c6991a8a..ba8b1783934 100644 --- a/Mage.Sets/src/mage/cards/s/Smokebraider.java +++ b/Mage.Sets/src/mage/cards/s/Smokebraider.java @@ -51,8 +51,8 @@ public class Smokebraider extends CardImpl { public Smokebraider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SmokespewInvoker.java b/Mage.Sets/src/mage/cards/s/SmokespewInvoker.java index cc4bc9bcd99..4984f2bab4d 100644 --- a/Mage.Sets/src/mage/cards/s/SmokespewInvoker.java +++ b/Mage.Sets/src/mage/cards/s/SmokespewInvoker.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class SmokespewInvoker extends CardImpl { public SmokespewInvoker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SmolderInitiate.java b/Mage.Sets/src/mage/cards/s/SmolderInitiate.java index 2b10232a613..b3b6ee4851e 100644 --- a/Mage.Sets/src/mage/cards/s/SmolderInitiate.java +++ b/Mage.Sets/src/mage/cards/s/SmolderInitiate.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; import mage.target.TargetPlayer; @@ -56,8 +57,8 @@ public class SmolderInitiate extends CardImpl { public SmolderInitiate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SmolderingButcher.java b/Mage.Sets/src/mage/cards/s/SmolderingButcher.java index b9b94719974..2bb30511730 100644 --- a/Mage.Sets/src/mage/cards/s/SmolderingButcher.java +++ b/Mage.Sets/src/mage/cards/s/SmolderingButcher.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SmolderingButcher extends CardImpl { public SmolderingButcher (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Elemental"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SmolderingEfreet.java b/Mage.Sets/src/mage/cards/s/SmolderingEfreet.java index 7951df16d1b..c425baea0ad 100644 --- a/Mage.Sets/src/mage/cards/s/SmolderingEfreet.java +++ b/Mage.Sets/src/mage/cards/s/SmolderingEfreet.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SmolderingEfreet extends CardImpl { public SmolderingEfreet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Efreet"); - this.subtype.add("Monk"); + this.subtype.add(SubType.EFREET); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SmolderingMarsh.java b/Mage.Sets/src/mage/cards/s/SmolderingMarsh.java index 14794ded7f0..c983e383217 100644 --- a/Mage.Sets/src/mage/cards/s/SmolderingMarsh.java +++ b/Mage.Sets/src/mage/cards/s/SmolderingMarsh.java @@ -39,6 +39,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; @@ -58,8 +59,8 @@ public class SmolderingMarsh extends CardImpl { public SmolderingMarsh(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Swamp"); - this.subtype.add("Mountain"); + this.subtype.add(SubType.SWAMP); + this.subtype.add(SubType.MOUNTAIN); // Smoldering Marsh enters the battlefield tapped unless you control two or more basic lands. Condition controls = new InvertCondition(new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1)); diff --git a/Mage.Sets/src/mage/cards/s/SmolderingWerewolf.java b/Mage.Sets/src/mage/cards/s/SmolderingWerewolf.java index fa1a0fdaf3e..c4ebaa696fd 100644 --- a/Mage.Sets/src/mage/cards/s/SmolderingWerewolf.java +++ b/Mage.Sets/src/mage/cards/s/SmolderingWerewolf.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.e.EruptingDreadwolf; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -52,8 +53,8 @@ public class SmolderingWerewolf extends CardImpl { public SmolderingWerewolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Werewolf"); - this.subtype.add("Horror"); + this.subtype.add(SubType.WEREWOLF); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SmotheringAbomination.java b/Mage.Sets/src/mage/cards/s/SmotheringAbomination.java index 3b98bc1b249..12e7fa52377 100644 --- a/Mage.Sets/src/mage/cards/s/SmotheringAbomination.java +++ b/Mage.Sets/src/mage/cards/s/SmotheringAbomination.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -53,7 +54,7 @@ public class SmotheringAbomination extends CardImpl { public SmotheringAbomination(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SmugglersCopter.java b/Mage.Sets/src/mage/cards/s/SmugglersCopter.java index 514748b1fc8..31c74ac9a5c 100644 --- a/Mage.Sets/src/mage/cards/s/SmugglersCopter.java +++ b/Mage.Sets/src/mage/cards/s/SmugglersCopter.java @@ -1,75 +1,75 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import mage.MageInt; -import mage.abilities.common.AttacksOrBlocksTriggeredAbility; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DrawDiscardControllerEffect; -import mage.abilities.keyword.CrewAbility; -import mage.abilities.keyword.FlyingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; - -import java.util.UUID; - -/** - * - * @author emerald000 - */ -public class SmugglersCopter extends CardImpl { - - public SmugglersCopter(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add(SubType.VEHICLE); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // Flying - this.addAbility(FlyingAbility.getInstance()); - - // Whenever Smuggler's Copter attacks or blocks, you may draw a card. If you do, discard a card. - Effect effect = new DrawDiscardControllerEffect(); - effect.setText("you may draw a card. If you do, discard a card"); - this.addAbility(new AttacksOrBlocksTriggeredAbility(effect, true)); - - // Crew 1 - this.addAbility(new CrewAbility(1)); - } - - public SmugglersCopter(final SmugglersCopter card) { - super(card); - } - - @Override - public SmugglersCopter copy() { - return new SmugglersCopter(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import mage.MageInt; +import mage.abilities.common.AttacksOrBlocksTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DrawDiscardControllerEffect; +import mage.abilities.keyword.CrewAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +import java.util.UUID; + +/** + * + * @author emerald000 + */ +public class SmugglersCopter extends CardImpl { + + public SmugglersCopter(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); + this.subtype.add(SubType.VEHICLE); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // Whenever Smuggler's Copter attacks or blocks, you may draw a card. If you do, discard a card. + Effect effect = new DrawDiscardControllerEffect(); + effect.setText("you may draw a card. If you do, discard a card"); + this.addAbility(new AttacksOrBlocksTriggeredAbility(effect, true)); + + // Crew 1 + this.addAbility(new CrewAbility(1)); + } + + public SmugglersCopter(final SmugglersCopter card) { + super(card); + } + + @Override + public SmugglersCopter copy() { + return new SmugglersCopter(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SnakeCultInitiation.java b/Mage.Sets/src/mage/cards/s/SnakeCultInitiation.java index 30d2c1ce527..a3debeaa088 100644 --- a/Mage.Sets/src/mage/cards/s/SnakeCultInitiation.java +++ b/Mage.Sets/src/mage/cards/s/SnakeCultInitiation.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class SnakeCultInitiation extends CardImpl { public SnakeCultInitiation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SnakeOfTheGoldenGrove.java b/Mage.Sets/src/mage/cards/s/SnakeOfTheGoldenGrove.java index 3d525e03f95..5aef70826a1 100644 --- a/Mage.Sets/src/mage/cards/s/SnakeOfTheGoldenGrove.java +++ b/Mage.Sets/src/mage/cards/s/SnakeOfTheGoldenGrove.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TributeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,7 +48,7 @@ public class SnakeOfTheGoldenGrove extends CardImpl { public SnakeOfTheGoldenGrove(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SnakeUmbra.java b/Mage.Sets/src/mage/cards/s/SnakeUmbra.java index 61a870e3b63..11118133b2e 100644 --- a/Mage.Sets/src/mage/cards/s/SnakeUmbra.java +++ b/Mage.Sets/src/mage/cards/s/SnakeUmbra.java @@ -52,7 +52,7 @@ public class SnakeUmbra extends CardImpl { public SnakeUmbra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SnapcasterMage.java b/Mage.Sets/src/mage/cards/s/SnapcasterMage.java index b9751f45311..8edd44f4ffb 100644 --- a/Mage.Sets/src/mage/cards/s/SnapcasterMage.java +++ b/Mage.Sets/src/mage/cards/s/SnapcasterMage.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -65,8 +66,8 @@ public class SnapcasterMage extends CardImpl { public SnapcasterMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SnappingCreeper.java b/Mage.Sets/src/mage/cards/s/SnappingCreeper.java index 02a53c68d75..37e9acf7df6 100644 --- a/Mage.Sets/src/mage/cards/s/SnappingCreeper.java +++ b/Mage.Sets/src/mage/cards/s/SnappingCreeper.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,7 +47,7 @@ public class SnappingCreeper extends CardImpl { public SnappingCreeper (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Plant"); + this.subtype.add(SubType.PLANT); this.color.setGreen(true); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SnappingDrake.java b/Mage.Sets/src/mage/cards/s/SnappingDrake.java index 21699d9e258..ea2a01926c0 100644 --- a/Mage.Sets/src/mage/cards/s/SnappingDrake.java +++ b/Mage.Sets/src/mage/cards/s/SnappingDrake.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SnappingDrake extends CardImpl { public SnappingDrake (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SnappingGnarlid.java b/Mage.Sets/src/mage/cards/s/SnappingGnarlid.java index 0f816d53883..0e72eedd61b 100644 --- a/Mage.Sets/src/mage/cards/s/SnappingGnarlid.java +++ b/Mage.Sets/src/mage/cards/s/SnappingGnarlid.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class SnappingGnarlid extends CardImpl { public SnappingGnarlid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SnapsailGlider.java b/Mage.Sets/src/mage/cards/s/SnapsailGlider.java index cb008a21edd..06e68fa0f7c 100644 --- a/Mage.Sets/src/mage/cards/s/SnapsailGlider.java +++ b/Mage.Sets/src/mage/cards/s/SnapsailGlider.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class SnapsailGlider extends CardImpl { public SnapsailGlider (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(2); ContinuousEffect effect = new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield); diff --git a/Mage.Sets/src/mage/cards/s/SnareThopter.java b/Mage.Sets/src/mage/cards/s/SnareThopter.java index 1a4227c293d..935ed196275 100644 --- a/Mage.Sets/src/mage/cards/s/SnareThopter.java +++ b/Mage.Sets/src/mage/cards/s/SnareThopter.java @@ -1,64 +1,65 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.keyword.FlyingAbility; -import mage.abilities.keyword.HasteAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author LevelX2 - */ -public class SnareThopter extends CardImpl { - - public SnareThopter(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Thopter"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - - // Flying - this.addAbility(FlyingAbility.getInstance()); - // Haste - this.addAbility(HasteAbility.getInstance()); - } - - public SnareThopter(final SnareThopter card) { - super(card); - } - - @Override - public SnareThopter copy() { - return new SnareThopter(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.HasteAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author LevelX2 + */ +public class SnareThopter extends CardImpl { + + public SnareThopter(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); + this.subtype.add(SubType.THOPTER); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // Haste + this.addAbility(HasteAbility.getInstance()); + } + + public SnareThopter(final SnareThopter card) { + super(card); + } + + @Override + public SnareThopter copy() { + return new SnareThopter(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SnarlingUndorak.java b/Mage.Sets/src/mage/cards/s/SnarlingUndorak.java index 76544dc90ea..004fa86f9b3 100644 --- a/Mage.Sets/src/mage/cards/s/SnarlingUndorak.java +++ b/Mage.Sets/src/mage/cards/s/SnarlingUndorak.java @@ -58,7 +58,7 @@ public class SnarlingUndorak extends CardImpl { public SnarlingUndorak(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SneakyHomunculus.java b/Mage.Sets/src/mage/cards/s/SneakyHomunculus.java index f72200c8c07..0a3cac7e2ba 100644 --- a/Mage.Sets/src/mage/cards/s/SneakyHomunculus.java +++ b/Mage.Sets/src/mage/cards/s/SneakyHomunculus.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.combat.CantBlockCreaturesSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; @@ -56,8 +57,8 @@ public class SneakyHomunculus extends CardImpl { public SneakyHomunculus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Homunculus"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.HOMUNCULUS); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SnortingGahr.java b/Mage.Sets/src/mage/cards/s/SnortingGahr.java index 0184563f396..8143052f60a 100644 --- a/Mage.Sets/src/mage/cards/s/SnortingGahr.java +++ b/Mage.Sets/src/mage/cards/s/SnortingGahr.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class SnortingGahr extends CardImpl { public SnortingGahr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Rhino"); - this.subtype.add("Beast"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SnowCoveredForest.java b/Mage.Sets/src/mage/cards/s/SnowCoveredForest.java index c2dc151e5f2..f801bfcdb80 100644 --- a/Mage.Sets/src/mage/cards/s/SnowCoveredForest.java +++ b/Mage.Sets/src/mage/cards/s/SnowCoveredForest.java @@ -32,6 +32,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -44,7 +45,7 @@ public class SnowCoveredForest extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); this.addSuperType(SuperType.BASIC); this.addSuperType(SuperType.SNOW); - this.subtype.add("Forest"); + this.subtype.add(SubType.FOREST); // G this.addAbility(new GreenManaAbility()); diff --git a/Mage.Sets/src/mage/cards/s/SnowCoveredIsland.java b/Mage.Sets/src/mage/cards/s/SnowCoveredIsland.java index 97738181d68..363856c8566 100644 --- a/Mage.Sets/src/mage/cards/s/SnowCoveredIsland.java +++ b/Mage.Sets/src/mage/cards/s/SnowCoveredIsland.java @@ -32,6 +32,7 @@ import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -44,7 +45,7 @@ public class SnowCoveredIsland extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); this.addSuperType(SuperType.BASIC); this.addSuperType(SuperType.SNOW); - this.subtype.add("Island"); + this.subtype.add(SubType.ISLAND); // U this.addAbility(new BlueManaAbility()); diff --git a/Mage.Sets/src/mage/cards/s/SnowCoveredMountain.java b/Mage.Sets/src/mage/cards/s/SnowCoveredMountain.java index d8566e3e119..db6a1da0231 100644 --- a/Mage.Sets/src/mage/cards/s/SnowCoveredMountain.java +++ b/Mage.Sets/src/mage/cards/s/SnowCoveredMountain.java @@ -32,6 +32,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -44,7 +45,7 @@ public class SnowCoveredMountain extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); this.addSuperType(SuperType.BASIC); this.addSuperType(SuperType.SNOW); - this.subtype.add("Mountain"); + this.subtype.add(SubType.MOUNTAIN); // R this.addAbility(new RedManaAbility()); diff --git a/Mage.Sets/src/mage/cards/s/SnowCoveredPlains.java b/Mage.Sets/src/mage/cards/s/SnowCoveredPlains.java index a49950c30fe..c3eba250317 100644 --- a/Mage.Sets/src/mage/cards/s/SnowCoveredPlains.java +++ b/Mage.Sets/src/mage/cards/s/SnowCoveredPlains.java @@ -32,6 +32,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -44,7 +45,7 @@ public class SnowCoveredPlains extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); addSuperType(SuperType.BASIC); addSuperType(SuperType.SNOW); - this.subtype.add("Plains"); + this.subtype.add(SubType.PLAINS); // W this.addAbility(new WhiteManaAbility()); diff --git a/Mage.Sets/src/mage/cards/s/SnowCoveredSwamp.java b/Mage.Sets/src/mage/cards/s/SnowCoveredSwamp.java index 34cf1530392..e2a19bfa93a 100644 --- a/Mage.Sets/src/mage/cards/s/SnowCoveredSwamp.java +++ b/Mage.Sets/src/mage/cards/s/SnowCoveredSwamp.java @@ -32,6 +32,7 @@ import mage.abilities.mana.BlackManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -44,7 +45,7 @@ public class SnowCoveredSwamp extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); this.addSuperType(SuperType.BASIC); this.addSuperType(SuperType.SNOW); - this.subtype.add("Swamp"); + this.subtype.add(SubType.SWAMP); // B this.addAbility(new BlackManaAbility()); diff --git a/Mage.Sets/src/mage/cards/s/SnowHound.java b/Mage.Sets/src/mage/cards/s/SnowHound.java index a72812aae70..1ae5a4a13fe 100644 --- a/Mage.Sets/src/mage/cards/s/SnowHound.java +++ b/Mage.Sets/src/mage/cards/s/SnowHound.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -60,7 +61,7 @@ public class SnowHound extends CardImpl { public SnowHound(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SnowTrooper.java b/Mage.Sets/src/mage/cards/s/SnowTrooper.java index f91f994b1b2..de253d4809f 100644 --- a/Mage.Sets/src/mage/cards/s/SnowTrooper.java +++ b/Mage.Sets/src/mage/cards/s/SnowTrooper.java @@ -1,70 +1,70 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; -import mage.abilities.keyword.FirstStrikeAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; - -/** - * - * @author Styxo - */ -public class SnowTrooper extends CardImpl { - - public SnowTrooper(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Trooper"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Trooper creatures you control have firststrike. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, - new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield, - new FilterCreaturePermanent(SubType.TROOPER, "Trooper creatures"), false))); - } - - public SnowTrooper(final SnowTrooper card) { - super(card); - } - - @Override - public SnowTrooper copy() { - return new SnowTrooper(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.FirstStrikeAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; + +/** + * + * @author Styxo + */ +public class SnowTrooper extends CardImpl { + + public SnowTrooper(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.TROOPER); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Trooper creatures you control have firststrike. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, + new GainAbilityControlledEffect(FirstStrikeAbility.getInstance(), Duration.WhileOnBattlefield, + new FilterCreaturePermanent(SubType.TROOPER, "Trooper creatures"), false))); + } + + public SnowTrooper(final SnowTrooper card) { + super(card); + } + + @Override + public SnowTrooper copy() { + return new SnowTrooper(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SnowhornRider.java b/Mage.Sets/src/mage/cards/s/SnowhornRider.java index e12e16e1327..0e9cca0ebed 100644 --- a/Mage.Sets/src/mage/cards/s/SnowhornRider.java +++ b/Mage.Sets/src/mage/cards/s/SnowhornRider.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SnowhornRider extends CardImpl { public SnowhornRider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{U}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/Soar.java b/Mage.Sets/src/mage/cards/s/Soar.java index b6a3e1f8007..3def6c28e30 100644 --- a/Mage.Sets/src/mage/cards/s/Soar.java +++ b/Mage.Sets/src/mage/cards/s/Soar.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class Soar extends CardImpl { public Soar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // You may cast Soar as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. this.addAbility(new SimpleStaticAbility(Zone.ALL, new CastAsThoughItHadFlashSourceEffect(Duration.EndOfGame))); diff --git a/Mage.Sets/src/mage/cards/s/SoaringHope.java b/Mage.Sets/src/mage/cards/s/SoaringHope.java index beb06cfd2a6..ec72a2e7f85 100644 --- a/Mage.Sets/src/mage/cards/s/SoaringHope.java +++ b/Mage.Sets/src/mage/cards/s/SoaringHope.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -56,7 +57,7 @@ public class SoaringHope extends CardImpl { public SoaringHope(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/Soilshaper.java b/Mage.Sets/src/mage/cards/s/Soilshaper.java index bf76000e09f..241be986d85 100644 --- a/Mage.Sets/src/mage/cards/s/Soilshaper.java +++ b/Mage.Sets/src/mage/cards/s/Soilshaper.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; import mage.game.permanent.token.Token; @@ -49,7 +50,7 @@ public class Soilshaper extends CardImpl { public Soilshaper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SokenzanBruiser.java b/Mage.Sets/src/mage/cards/s/SokenzanBruiser.java index 52ff72e4ed6..f77197271c5 100644 --- a/Mage.Sets/src/mage/cards/s/SokenzanBruiser.java +++ b/Mage.Sets/src/mage/cards/s/SokenzanBruiser.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MountainwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SokenzanBruiser extends CardImpl { public SokenzanBruiser (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SokenzanRenegade.java b/Mage.Sets/src/mage/cards/s/SokenzanRenegade.java index af634cee436..d2a1f9d2e97 100644 --- a/Mage.Sets/src/mage/cards/s/SokenzanRenegade.java +++ b/Mage.Sets/src/mage/cards/s/SokenzanRenegade.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.BushidoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -57,9 +58,9 @@ public class SokenzanRenegade extends CardImpl { public SokenzanRenegade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Samurai"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.SAMURAI); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SokenzanSpellblade.java b/Mage.Sets/src/mage/cards/s/SokenzanSpellblade.java index 2e21c6236eb..8dc2c411bc2 100644 --- a/Mage.Sets/src/mage/cards/s/SokenzanSpellblade.java +++ b/Mage.Sets/src/mage/cards/s/SokenzanSpellblade.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.BushidoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,9 +51,9 @@ public class SokenzanSpellblade extends CardImpl { public SokenzanSpellblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Samurai"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.SAMURAI); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/Solarion.java b/Mage.Sets/src/mage/cards/s/Solarion.java index f6a42598f82..9471101726f 100644 --- a/Mage.Sets/src/mage/cards/s/Solarion.java +++ b/Mage.Sets/src/mage/cards/s/Solarion.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.SunburstAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -49,7 +50,7 @@ public class Solarion extends CardImpl { public Solarion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SoldeviAdnate.java b/Mage.Sets/src/mage/cards/s/SoldeviAdnate.java index 0b725032f9b..d997e199fbb 100644 --- a/Mage.Sets/src/mage/cards/s/SoldeviAdnate.java +++ b/Mage.Sets/src/mage/cards/s/SoldeviAdnate.java @@ -38,6 +38,7 @@ import mage.abilities.mana.DynamicManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -58,8 +59,8 @@ public class SoldeviAdnate extends CardImpl { public SoldeviAdnate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SoldeviMachinist.java b/Mage.Sets/src/mage/cards/s/SoldeviMachinist.java index 407062d0acc..017b2757223 100644 --- a/Mage.Sets/src/mage/cards/s/SoldeviMachinist.java +++ b/Mage.Sets/src/mage/cards/s/SoldeviMachinist.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityType; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.Game; /** @@ -53,9 +54,9 @@ public class SoldeviMachinist extends CardImpl { public SoldeviMachinist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoldeviSage.java b/Mage.Sets/src/mage/cards/s/SoldeviSage.java index cffd08ee128..a512f2b301b 100644 --- a/Mage.Sets/src/mage/cards/s/SoldeviSage.java +++ b/Mage.Sets/src/mage/cards/s/SoldeviSage.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -57,8 +58,8 @@ public class SoldeviSage extends CardImpl { public SoldeviSage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoldeviSimulacrum.java b/Mage.Sets/src/mage/cards/s/SoldeviSimulacrum.java index 2ffcc788e14..dfe17d84bee 100644 --- a/Mage.Sets/src/mage/cards/s/SoldeviSimulacrum.java +++ b/Mage.Sets/src/mage/cards/s/SoldeviSimulacrum.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.CumulativeUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class SoldeviSimulacrum extends CardImpl { public SoldeviSimulacrum(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SoldierOfFortune.java b/Mage.Sets/src/mage/cards/s/SoldierOfFortune.java index 7f7d3182e47..6b90c70df78 100644 --- a/Mage.Sets/src/mage/cards/s/SoldierOfFortune.java +++ b/Mage.Sets/src/mage/cards/s/SoldierOfFortune.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ShuffleLibraryTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -48,8 +49,8 @@ public class SoldierOfFortune extends CardImpl { public SoldierOfFortune(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoldierOfThePantheon.java b/Mage.Sets/src/mage/cards/s/SoldierOfThePantheon.java index b35e599eea5..1a08844833c 100644 --- a/Mage.Sets/src/mage/cards/s/SoldierOfThePantheon.java +++ b/Mage.Sets/src/mage/cards/s/SoldierOfThePantheon.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterObject; import mage.filter.FilterSpell; @@ -55,8 +56,8 @@ public class SoldierOfThePantheon extends CardImpl { public SoldierOfThePantheon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoldierReplica.java b/Mage.Sets/src/mage/cards/s/SoldierReplica.java index 7ad46bb0f87..3f6ae7b3a1b 100644 --- a/Mage.Sets/src/mage/cards/s/SoldierReplica.java +++ b/Mage.Sets/src/mage/cards/s/SoldierReplica.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterAttackingOrBlockingCreature; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class SoldierReplica extends CardImpl { public SoldierReplica(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Soldier"); + 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}")); diff --git a/Mage.Sets/src/mage/cards/s/SolemnRecruit.java b/Mage.Sets/src/mage/cards/s/SolemnRecruit.java index 6e0bcc4c187..3c52c539e4f 100644 --- a/Mage.Sets/src/mage/cards/s/SolemnRecruit.java +++ b/Mage.Sets/src/mage/cards/s/SolemnRecruit.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.watchers.common.RevoltWatcher; @@ -49,8 +50,8 @@ public class SolemnRecruit extends CardImpl { public SolemnRecruit(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{W}"); - this.subtype.add("Dwarf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SolemnSimulacrum.java b/Mage.Sets/src/mage/cards/s/SolemnSimulacrum.java index af53f3f6352..0f1722f45a8 100644 --- a/Mage.Sets/src/mage/cards/s/SolemnSimulacrum.java +++ b/Mage.Sets/src/mage/cards/s/SolemnSimulacrum.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -47,7 +48,7 @@ import java.util.UUID; public class SolemnSimulacrum extends CardImpl { public SolemnSimulacrum(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(new EntersBattlefieldTriggeredAbility(new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(StaticFilters.FILTER_BASIC_LAND_CARD), true), true)); diff --git a/Mage.Sets/src/mage/cards/s/SolitaryCamel.java b/Mage.Sets/src/mage/cards/s/SolitaryCamel.java index aa74ec73a77..9def0cf6e03 100644 --- a/Mage.Sets/src/mage/cards/s/SolitaryCamel.java +++ b/Mage.Sets/src/mage/cards/s/SolitaryCamel.java @@ -63,7 +63,7 @@ public class SolitaryCamel extends CardImpl { public SolitaryCamel(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Camel"); + this.subtype.add(SubType.CAMEL); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SolitaryHunter.java b/Mage.Sets/src/mage/cards/s/SolitaryHunter.java index 8866d89ffd7..dee755a508e 100644 --- a/Mage.Sets/src/mage/cards/s/SolitaryHunter.java +++ b/Mage.Sets/src/mage/cards/s/SolitaryHunter.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.o.OneOfThePack; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -49,9 +50,9 @@ public class SolitaryHunter extends CardImpl { public SolitaryHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/Soliton.java b/Mage.Sets/src/mage/cards/s/Soliton.java index bc189ce60f5..16a1b865d03 100644 --- a/Mage.Sets/src/mage/cards/s/Soliton.java +++ b/Mage.Sets/src/mage/cards/s/Soliton.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class Soliton extends CardImpl { public Soliton (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Construct"); + 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}"))); diff --git a/Mage.Sets/src/mage/cards/s/SolkanarTheSwampKing.java b/Mage.Sets/src/mage/cards/s/SolkanarTheSwampKing.java index 3825f5f9f3a..4fa7f30733b 100644 --- a/Mage.Sets/src/mage/cards/s/SolkanarTheSwampKing.java +++ b/Mage.Sets/src/mage/cards/s/SolkanarTheSwampKing.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class SolkanarTheSwampKing extends CardImpl { public SolkanarTheSwampKing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SoltariChampion.java b/Mage.Sets/src/mage/cards/s/SoltariChampion.java index 54a9ce1afab..4eac77cbbd8 100644 --- a/Mage.Sets/src/mage/cards/s/SoltariChampion.java +++ b/Mage.Sets/src/mage/cards/s/SoltariChampion.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; @@ -46,8 +47,8 @@ public class SoltariChampion extends CardImpl { public SoltariChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Soltari"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SOLTARI); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SoltariCrusader.java b/Mage.Sets/src/mage/cards/s/SoltariCrusader.java index 029290c7ead..42685a68ae3 100644 --- a/Mage.Sets/src/mage/cards/s/SoltariCrusader.java +++ b/Mage.Sets/src/mage/cards/s/SoltariCrusader.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class SoltariCrusader extends CardImpl { public SoltariCrusader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Soltari"); - this.subtype.add("Knight"); + this.subtype.add(SubType.SOLTARI); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoltariEmissary.java b/Mage.Sets/src/mage/cards/s/SoltariEmissary.java index 92899eaebb8..db1041126c9 100644 --- a/Mage.Sets/src/mage/cards/s/SoltariEmissary.java +++ b/Mage.Sets/src/mage/cards/s/SoltariEmissary.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class SoltariEmissary extends CardImpl { public SoltariEmissary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Soltari"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SOLTARI); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoltariFootSoldier.java b/Mage.Sets/src/mage/cards/s/SoltariFootSoldier.java index e1f2fea3b76..b053310272c 100644 --- a/Mage.Sets/src/mage/cards/s/SoltariFootSoldier.java +++ b/Mage.Sets/src/mage/cards/s/SoltariFootSoldier.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class SoltariFootSoldier extends CardImpl { public SoltariFootSoldier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Soltari"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SOLTARI); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoltariGuerrillas.java b/Mage.Sets/src/mage/cards/s/SoltariGuerrillas.java index 0d700c10123..ad7107bbaa9 100644 --- a/Mage.Sets/src/mage/cards/s/SoltariGuerrillas.java +++ b/Mage.Sets/src/mage/cards/s/SoltariGuerrillas.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -55,8 +56,8 @@ public class SoltariGuerrillas extends CardImpl { public SoltariGuerrillas(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{W}"); - this.subtype.add("Soltari"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SOLTARI); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SoltariLancer.java b/Mage.Sets/src/mage/cards/s/SoltariLancer.java index fe22f76a8ed..65578b937b8 100644 --- a/Mage.Sets/src/mage/cards/s/SoltariLancer.java +++ b/Mage.Sets/src/mage/cards/s/SoltariLancer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,8 +49,8 @@ public class SoltariLancer extends CardImpl { public SoltariLancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Soltari"); - this.subtype.add("Knight"); + this.subtype.add(SubType.SOLTARI); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SoltariMonk.java b/Mage.Sets/src/mage/cards/s/SoltariMonk.java index 03d92a2f724..719087e871c 100644 --- a/Mage.Sets/src/mage/cards/s/SoltariMonk.java +++ b/Mage.Sets/src/mage/cards/s/SoltariMonk.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,9 +45,9 @@ public class SoltariMonk extends CardImpl { public SoltariMonk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Soltari"); - this.subtype.add("Monk"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.SOLTARI); + this.subtype.add(SubType.MONK); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoltariPriest.java b/Mage.Sets/src/mage/cards/s/SoltariPriest.java index 49a10d261b9..190ec3b7d8b 100644 --- a/Mage.Sets/src/mage/cards/s/SoltariPriest.java +++ b/Mage.Sets/src/mage/cards/s/SoltariPriest.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SoltariPriest extends CardImpl { public SoltariPriest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Soltari"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.SOLTARI); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoltariTrooper.java b/Mage.Sets/src/mage/cards/s/SoltariTrooper.java index a2dbb5cb048..d8bb283348f 100644 --- a/Mage.Sets/src/mage/cards/s/SoltariTrooper.java +++ b/Mage.Sets/src/mage/cards/s/SoltariTrooper.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class SoltariTrooper extends CardImpl { public SoltariTrooper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Soltari"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SOLTARI); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoltariVisionary.java b/Mage.Sets/src/mage/cards/s/SoltariVisionary.java index 0d6fd42f562..78a9792f24e 100644 --- a/Mage.Sets/src/mage/cards/s/SoltariVisionary.java +++ b/Mage.Sets/src/mage/cards/s/SoltariVisionary.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterEnchantmentPermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -52,8 +53,8 @@ public class SoltariVisionary extends CardImpl { public SoltariVisionary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Soltari"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.SOLTARI); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SomberHoverguard.java b/Mage.Sets/src/mage/cards/s/SomberHoverguard.java index 69b18a510c2..2ec8c09aeba 100644 --- a/Mage.Sets/src/mage/cards/s/SomberHoverguard.java +++ b/Mage.Sets/src/mage/cards/s/SomberHoverguard.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SomberHoverguard extends CardImpl { public SomberHoverguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Drone"); + this.subtype.add(SubType.DRONE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SomberwaldAlpha.java b/Mage.Sets/src/mage/cards/s/SomberwaldAlpha.java index 144f3824cf2..0204c1507a0 100644 --- a/Mage.Sets/src/mage/cards/s/SomberwaldAlpha.java +++ b/Mage.Sets/src/mage/cards/s/SomberwaldAlpha.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -61,7 +62,7 @@ public class SomberwaldAlpha extends CardImpl { public SomberwaldAlpha(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SomberwaldDryad.java b/Mage.Sets/src/mage/cards/s/SomberwaldDryad.java index c223d218e75..8074884c5ae 100644 --- a/Mage.Sets/src/mage/cards/s/SomberwaldDryad.java +++ b/Mage.Sets/src/mage/cards/s/SomberwaldDryad.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SomberwaldDryad extends CardImpl { public SomberwaldDryad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SomberwaldSage.java b/Mage.Sets/src/mage/cards/s/SomberwaldSage.java index ebc74703174..da362cfc38a 100644 --- a/Mage.Sets/src/mage/cards/s/SomberwaldSage.java +++ b/Mage.Sets/src/mage/cards/s/SomberwaldSage.java @@ -37,6 +37,7 @@ import mage.abilities.mana.conditional.CreatureCastConditionalMana; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** @@ -46,8 +47,8 @@ public class SomberwaldSage extends CardImpl { public SomberwaldSage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SomberwaldSpider.java b/Mage.Sets/src/mage/cards/s/SomberwaldSpider.java index e1b64070874..3163a0a558c 100644 --- a/Mage.Sets/src/mage/cards/s/SomberwaldSpider.java +++ b/Mage.Sets/src/mage/cards/s/SomberwaldSpider.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -47,7 +48,7 @@ public class SomberwaldSpider extends CardImpl { public SomberwaldSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SomberwaldStag.java b/Mage.Sets/src/mage/cards/s/SomberwaldStag.java index bdee1caa823..f5d6b388b55 100644 --- a/Mage.Sets/src/mage/cards/s/SomberwaldStag.java +++ b/Mage.Sets/src/mage/cards/s/SomberwaldStag.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.FightTargetSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -55,7 +56,7 @@ public class SomberwaldStag extends CardImpl { public SomberwaldStag(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elk"); + this.subtype.add(SubType.ELK); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SomberwaldVigilante.java b/Mage.Sets/src/mage/cards/s/SomberwaldVigilante.java index 0e4a67e8efd..1d17ea1a388 100644 --- a/Mage.Sets/src/mage/cards/s/SomberwaldVigilante.java +++ b/Mage.Sets/src/mage/cards/s/SomberwaldVigilante.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SomberwaldVigilante extends CardImpl { public SomberwaldVigilante(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Somnomancer.java b/Mage.Sets/src/mage/cards/s/Somnomancer.java index 35a92db0a30..badf7c28db5 100644 --- a/Mage.Sets/src/mage/cards/s/Somnomancer.java +++ b/Mage.Sets/src/mage/cards/s/Somnomancer.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -44,8 +45,8 @@ public class Somnomancer extends CardImpl { public Somnomancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W/U}"); - this.subtype.add("Kithkin"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SongOfTheDryads.java b/Mage.Sets/src/mage/cards/s/SongOfTheDryads.java index cb9df596903..9310e229571 100644 --- a/Mage.Sets/src/mage/cards/s/SongOfTheDryads.java +++ b/Mage.Sets/src/mage/cards/s/SongOfTheDryads.java @@ -37,6 +37,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -54,7 +55,7 @@ public class SongOfTheDryads extends CardImpl { public SongOfTheDryads(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant permanent TargetPermanent auraTarget = new TargetPermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SootImp.java b/Mage.Sets/src/mage/cards/s/SootImp.java index 0eee2064d29..32b84855417 100644 --- a/Mage.Sets/src/mage/cards/s/SootImp.java +++ b/Mage.Sets/src/mage/cards/s/SootImp.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.filter.FilterSpell; @@ -59,7 +60,7 @@ public class SootImp extends CardImpl { public SootImp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SootfeatherFlock.java b/Mage.Sets/src/mage/cards/s/SootfeatherFlock.java index ff54ae63f68..e595439e75e 100644 --- a/Mage.Sets/src/mage/cards/s/SootfeatherFlock.java +++ b/Mage.Sets/src/mage/cards/s/SootfeatherFlock.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class SootfeatherFlock extends CardImpl { public SootfeatherFlock(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SoothingBalm.java b/Mage.Sets/src/mage/cards/s/SoothingBalm.java index 8ecf9fb5fc0..57fbd089453 100644 --- a/Mage.Sets/src/mage/cards/s/SoothingBalm.java +++ b/Mage.Sets/src/mage/cards/s/SoothingBalm.java @@ -1,59 +1,59 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.abilities.effects.common.GainLifeTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.target.TargetPlayer; - -/** - * - * @author Derpthemeus - */ -public class SoothingBalm extends CardImpl { - - public SoothingBalm(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{W}"); - - // Target player gains 5 life. - this.getSpellAbility().addTarget(new TargetPlayer()); - this.getSpellAbility().addEffect(new GainLifeTargetEffect(5)); - } - - public SoothingBalm(final SoothingBalm card) { - super(card); - } - - @Override - public SoothingBalm copy() { - return new SoothingBalm(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.abilities.effects.common.GainLifeTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.target.TargetPlayer; + +/** + * + * @author Derpthemeus + */ +public class SoothingBalm extends CardImpl { + + public SoothingBalm(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{W}"); + + // Target player gains 5 life. + this.getSpellAbility().addTarget(new TargetPlayer()); + this.getSpellAbility().addEffect(new GainLifeTargetEffect(5)); + } + + public SoothingBalm(final SoothingBalm card) { + super(card); + } + + @Override + public SoothingBalm copy() { + return new SoothingBalm(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SootstokeKindler.java b/Mage.Sets/src/mage/cards/s/SootstokeKindler.java index 62d2f0b9a17..5beaf0a45ff 100644 --- a/Mage.Sets/src/mage/cards/s/SootstokeKindler.java +++ b/Mage.Sets/src/mage/cards/s/SootstokeKindler.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -60,8 +61,8 @@ public class SootstokeKindler extends CardImpl { public SootstokeKindler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B/R}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Sootwalkers.java b/Mage.Sets/src/mage/cards/s/Sootwalkers.java index f59c8205980..0636e06ed87 100644 --- a/Mage.Sets/src/mage/cards/s/Sootwalkers.java +++ b/Mage.Sets/src/mage/cards/s/Sootwalkers.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -53,8 +54,8 @@ public class Sootwalkers extends CardImpl { public Sootwalkers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B/R}{B/R}"); - this.subtype.add("Elemental"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SophicCentaur.java b/Mage.Sets/src/mage/cards/s/SophicCentaur.java index 01880eed8d3..d464b65b368 100644 --- a/Mage.Sets/src/mage/cards/s/SophicCentaur.java +++ b/Mage.Sets/src/mage/cards/s/SophicCentaur.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -52,8 +53,8 @@ public class SophicCentaur extends CardImpl { public SophicCentaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoramaroFirstToDream.java b/Mage.Sets/src/mage/cards/s/SoramaroFirstToDream.java index e4d946a7977..0389b27ff3c 100644 --- a/Mage.Sets/src/mage/cards/s/SoramaroFirstToDream.java +++ b/Mage.Sets/src/mage/cards/s/SoramaroFirstToDream.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class SoramaroFirstToDream extends CardImpl { public SoramaroFirstToDream(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SoratamiCloudskater.java b/Mage.Sets/src/mage/cards/s/SoratamiCloudskater.java index 63166d20176..c4894778db5 100644 --- a/Mage.Sets/src/mage/cards/s/SoratamiCloudskater.java +++ b/Mage.Sets/src/mage/cards/s/SoratamiCloudskater.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; @@ -52,8 +53,8 @@ public class SoratamiCloudskater extends CardImpl { public SoratamiCloudskater(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Moonfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MOONFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoratamiMindsweeper.java b/Mage.Sets/src/mage/cards/s/SoratamiMindsweeper.java index 3412093630f..ddbe3c11e25 100644 --- a/Mage.Sets/src/mage/cards/s/SoratamiMindsweeper.java +++ b/Mage.Sets/src/mage/cards/s/SoratamiMindsweeper.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; @@ -54,8 +55,8 @@ public class SoratamiMindsweeper extends CardImpl { public SoratamiMindsweeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Moonfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MOONFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SoratamiMirrorGuard.java b/Mage.Sets/src/mage/cards/s/SoratamiMirrorGuard.java index 32b3c714393..b604223a23c 100644 --- a/Mage.Sets/src/mage/cards/s/SoratamiMirrorGuard.java +++ b/Mage.Sets/src/mage/cards/s/SoratamiMirrorGuard.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -62,8 +63,8 @@ public class SoratamiMirrorGuard extends CardImpl { public SoratamiMirrorGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Moonfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MOONFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoratamiMirrorMage.java b/Mage.Sets/src/mage/cards/s/SoratamiMirrorMage.java index 83eba47c765..556e25598d7 100644 --- a/Mage.Sets/src/mage/cards/s/SoratamiMirrorMage.java +++ b/Mage.Sets/src/mage/cards/s/SoratamiMirrorMage.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; @@ -53,8 +54,8 @@ public class SoratamiMirrorMage extends CardImpl { public SoratamiMirrorMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Moonfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MOONFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoratamiRainshaper.java b/Mage.Sets/src/mage/cards/s/SoratamiRainshaper.java index 030a9e69ac7..9f12cf235f4 100644 --- a/Mage.Sets/src/mage/cards/s/SoratamiRainshaper.java +++ b/Mage.Sets/src/mage/cards/s/SoratamiRainshaper.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -56,8 +57,8 @@ public class SoratamiRainshaper extends CardImpl { public SoratamiRainshaper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Moonfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MOONFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoratamiSavant.java b/Mage.Sets/src/mage/cards/s/SoratamiSavant.java index 348351d6c7e..ebcc16c0f59 100644 --- a/Mage.Sets/src/mage/cards/s/SoratamiSavant.java +++ b/Mage.Sets/src/mage/cards/s/SoratamiSavant.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; @@ -54,8 +55,8 @@ public class SoratamiSavant extends CardImpl { public SoratamiSavant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Moonfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MOONFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SoratamiSeer.java b/Mage.Sets/src/mage/cards/s/SoratamiSeer.java index 206354e35be..bde7f95f59b 100644 --- a/Mage.Sets/src/mage/cards/s/SoratamiSeer.java +++ b/Mage.Sets/src/mage/cards/s/SoratamiSeer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; @@ -52,8 +53,8 @@ public class SoratamiSeer extends CardImpl { public SoratamiSeer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Moonfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MOONFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SorceressQueen.java b/Mage.Sets/src/mage/cards/s/SorceressQueen.java index 51b9c602393..410e124cf51 100644 --- a/Mage.Sets/src/mage/cards/s/SorceressQueen.java +++ b/Mage.Sets/src/mage/cards/s/SorceressQueen.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -56,8 +57,8 @@ public class SorceressQueen extends CardImpl { public SorceressQueen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SorinGrimNemesis.java b/Mage.Sets/src/mage/cards/s/SorinGrimNemesis.java index 2edf7fb9229..58143e6b3fd 100644 --- a/Mage.Sets/src/mage/cards/s/SorinGrimNemesis.java +++ b/Mage.Sets/src/mage/cards/s/SorinGrimNemesis.java @@ -45,6 +45,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -63,7 +64,7 @@ public class SorinGrimNemesis extends CardImpl { public SorinGrimNemesis(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{W}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Sorin"); + this.subtype.add(SubType.SORIN); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(6)); diff --git a/Mage.Sets/src/mage/cards/s/SorinLordOfInnistrad.java b/Mage.Sets/src/mage/cards/s/SorinLordOfInnistrad.java index 5631232f120..f9bad9604fb 100644 --- a/Mage.Sets/src/mage/cards/s/SorinLordOfInnistrad.java +++ b/Mage.Sets/src/mage/cards/s/SorinLordOfInnistrad.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -68,7 +69,7 @@ public class SorinLordOfInnistrad extends CardImpl { public SorinLordOfInnistrad(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Sorin"); + this.subtype.add(SubType.SORIN); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/s/SorinMarkov.java b/Mage.Sets/src/mage/cards/s/SorinMarkov.java index 5ec9d8e51a9..da0dcfee524 100644 --- a/Mage.Sets/src/mage/cards/s/SorinMarkov.java +++ b/Mage.Sets/src/mage/cards/s/SorinMarkov.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.turn.ControlTargetPlayerNextTurnEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.game.Game; @@ -55,7 +56,7 @@ public class SorinMarkov extends CardImpl { public SorinMarkov(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{3}{B}{B}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Sorin"); + this.subtype.add(SubType.SORIN); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/s/SorinSolemnVisitor.java b/Mage.Sets/src/mage/cards/s/SorinSolemnVisitor.java index 21edb2ed4a8..c22ebe14f90 100644 --- a/Mage.Sets/src/mage/cards/s/SorinSolemnVisitor.java +++ b/Mage.Sets/src/mage/cards/s/SorinSolemnVisitor.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.filter.StaticFilters; @@ -54,7 +55,7 @@ public class SorinSolemnVisitor extends CardImpl { public SorinSolemnVisitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{W}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Sorin"); + this.subtype.add(SubType.SORIN); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/s/SosukeSonOfSeshiro.java b/Mage.Sets/src/mage/cards/s/SosukeSonOfSeshiro.java index c092800a6df..4c9d7d002df 100644 --- a/Mage.Sets/src/mage/cards/s/SosukeSonOfSeshiro.java +++ b/Mage.Sets/src/mage/cards/s/SosukeSonOfSeshiro.java @@ -64,8 +64,8 @@ public class SosukeSonOfSeshiro extends CardImpl { public SosukeSonOfSeshiro(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Snake"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.SNAKE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SoulBleed.java b/Mage.Sets/src/mage/cards/s/SoulBleed.java index c1ae303a698..149942a419b 100644 --- a/Mage.Sets/src/mage/cards/s/SoulBleed.java +++ b/Mage.Sets/src/mage/cards/s/SoulBleed.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class SoulBleed extends CardImpl { public SoulBleed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SoulChanneling.java b/Mage.Sets/src/mage/cards/s/SoulChanneling.java index 2a32d7263a7..436fdc43054 100644 --- a/Mage.Sets/src/mage/cards/s/SoulChanneling.java +++ b/Mage.Sets/src/mage/cards/s/SoulChanneling.java @@ -49,7 +49,7 @@ public class SoulChanneling extends CardImpl { public SoulChanneling(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SoulCollector.java b/Mage.Sets/src/mage/cards/s/SoulCollector.java index a01478461de..98ce9ea1744 100644 --- a/Mage.Sets/src/mage/cards/s/SoulCollector.java +++ b/Mage.Sets/src/mage/cards/s/SoulCollector.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class SoulCollector extends CardImpl { public SoulCollector(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SoulKiss.java b/Mage.Sets/src/mage/cards/s/SoulKiss.java index 43899adccb4..e83641ea04f 100644 --- a/Mage.Sets/src/mage/cards/s/SoulKiss.java +++ b/Mage.Sets/src/mage/cards/s/SoulKiss.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class SoulKiss extends CardImpl { public SoulKiss(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SoulLink.java b/Mage.Sets/src/mage/cards/s/SoulLink.java index be19a989582..bb6ae6f21ee 100644 --- a/Mage.Sets/src/mage/cards/s/SoulLink.java +++ b/Mage.Sets/src/mage/cards/s/SoulLink.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class SoulLink extends CardImpl { public SoulLink(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SoulOfInnistrad.java b/Mage.Sets/src/mage/cards/s/SoulOfInnistrad.java index ead7256cec1..720b8918291 100644 --- a/Mage.Sets/src/mage/cards/s/SoulOfInnistrad.java +++ b/Mage.Sets/src/mage/cards/s/SoulOfInnistrad.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInYourGraveyard; @@ -50,7 +51,7 @@ public class SoulOfInnistrad extends CardImpl { public SoulOfInnistrad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SoulOfMagma.java b/Mage.Sets/src/mage/cards/s/SoulOfMagma.java index 5609cd9776b..233300269fa 100644 --- a/Mage.Sets/src/mage/cards/s/SoulOfMagma.java +++ b/Mage.Sets/src/mage/cards/s/SoulOfMagma.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCreaturePermanent; @@ -46,7 +47,7 @@ public class SoulOfMagma extends CardImpl { public SoulOfMagma(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SoulOfNewPhyrexia.java b/Mage.Sets/src/mage/cards/s/SoulOfNewPhyrexia.java index 6349f0b092d..e7f403d813a 100644 --- a/Mage.Sets/src/mage/cards/s/SoulOfNewPhyrexia.java +++ b/Mage.Sets/src/mage/cards/s/SoulOfNewPhyrexia.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class SoulOfNewPhyrexia extends CardImpl { public SoulOfNewPhyrexia(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SoulOfRavnica.java b/Mage.Sets/src/mage/cards/s/SoulOfRavnica.java index 667cf8469d0..bca2eaa6788 100644 --- a/Mage.Sets/src/mage/cards/s/SoulOfRavnica.java +++ b/Mage.Sets/src/mage/cards/s/SoulOfRavnica.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class SoulOfRavnica extends CardImpl { public SoulOfRavnica(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SoulOfShandalar.java b/Mage.Sets/src/mage/cards/s/SoulOfShandalar.java index 135875f03f0..25e3d4e8fba 100644 --- a/Mage.Sets/src/mage/cards/s/SoulOfShandalar.java +++ b/Mage.Sets/src/mage/cards/s/SoulOfShandalar.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -58,7 +59,7 @@ public class SoulOfShandalar extends CardImpl { public SoulOfShandalar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SoulOfTheHarvest.java b/Mage.Sets/src/mage/cards/s/SoulOfTheHarvest.java index 1b94f85be8c..4a50d96bd47 100644 --- a/Mage.Sets/src/mage/cards/s/SoulOfTheHarvest.java +++ b/Mage.Sets/src/mage/cards/s/SoulOfTheHarvest.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledCreaturePermanent; @@ -56,7 +57,7 @@ public class SoulOfTheHarvest extends CardImpl { public SoulOfTheHarvest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SoulOfTheros.java b/Mage.Sets/src/mage/cards/s/SoulOfTheros.java index 049cdf9022f..0c8cc888c69 100644 --- a/Mage.Sets/src/mage/cards/s/SoulOfTheros.java +++ b/Mage.Sets/src/mage/cards/s/SoulOfTheros.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class SoulOfTheros extends CardImpl { public SoulOfTheros(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SoulOfZendikar.java b/Mage.Sets/src/mage/cards/s/SoulOfZendikar.java index 4bf795bce09..b5010c1109a 100644 --- a/Mage.Sets/src/mage/cards/s/SoulOfZendikar.java +++ b/Mage.Sets/src/mage/cards/s/SoulOfZendikar.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.BeastToken; @@ -49,7 +50,7 @@ public class SoulOfZendikar extends CardImpl { public SoulOfZendikar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SoulRansom.java b/Mage.Sets/src/mage/cards/s/SoulRansom.java index c5f6298aa91..fd0a77a8e13 100644 --- a/Mage.Sets/src/mage/cards/s/SoulRansom.java +++ b/Mage.Sets/src/mage/cards/s/SoulRansom.java @@ -54,7 +54,7 @@ public class SoulRansom extends CardImpl { public SoulRansom(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SoulScarMage.java b/Mage.Sets/src/mage/cards/s/SoulScarMage.java index 90c4c3d0dd4..f3d499572fb 100644 --- a/Mage.Sets/src/mage/cards/s/SoulScarMage.java +++ b/Mage.Sets/src/mage/cards/s/SoulScarMage.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class SoulScarMage extends CardImpl { public SoulScarMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SoulScourge.java b/Mage.Sets/src/mage/cards/s/SoulScourge.java index 9651602ed2a..6ae7be3226d 100644 --- a/Mage.Sets/src/mage/cards/s/SoulScourge.java +++ b/Mage.Sets/src/mage/cards/s/SoulScourge.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.Game; import mage.game.events.GameEvent; import mage.players.Player; @@ -55,8 +56,8 @@ public class SoulScourge extends CardImpl { public SoulScourge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Nightmare"); - this.subtype.add("Horror"); + this.subtype.add(SubType.NIGHTMARE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SoulSeizer.java b/Mage.Sets/src/mage/cards/s/SoulSeizer.java index d5d47f0b820..cd28d6dd213 100644 --- a/Mage.Sets/src/mage/cards/s/SoulSeizer.java +++ b/Mage.Sets/src/mage/cards/s/SoulSeizer.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.g.GhastlyHaunting; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -58,7 +59,7 @@ public class SoulSeizer extends CardImpl { public SoulSeizer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.transformable = true; this.secondSideCardClazz = GhastlyHaunting.class; diff --git a/Mage.Sets/src/mage/cards/s/SoulShepherd.java b/Mage.Sets/src/mage/cards/s/SoulShepherd.java index 47c380d5967..978d3cf753b 100644 --- a/Mage.Sets/src/mage/cards/s/SoulShepherd.java +++ b/Mage.Sets/src/mage/cards/s/SoulShepherd.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInYourGraveyard; @@ -49,8 +50,8 @@ public class SoulShepherd extends CardImpl { public SoulShepherd(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoulSnuffers.java b/Mage.Sets/src/mage/cards/s/SoulSnuffers.java index cfc6589fee9..e6292b333db 100644 --- a/Mage.Sets/src/mage/cards/s/SoulSnuffers.java +++ b/Mage.Sets/src/mage/cards/s/SoulSnuffers.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -46,8 +47,8 @@ public class SoulSnuffers extends CardImpl { public SoulSnuffers (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SoulSwallower.java b/Mage.Sets/src/mage/cards/s/SoulSwallower.java index 088d106be56..32ed5cc608f 100644 --- a/Mage.Sets/src/mage/cards/s/SoulSwallower.java +++ b/Mage.Sets/src/mage/cards/s/SoulSwallower.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -49,7 +50,7 @@ public class SoulSwallower extends CardImpl { public SoulSwallower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SoulTithe.java b/Mage.Sets/src/mage/cards/s/SoulTithe.java index 0532ff2b404..c39854f19a0 100644 --- a/Mage.Sets/src/mage/cards/s/SoulTithe.java +++ b/Mage.Sets/src/mage/cards/s/SoulTithe.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.game.Game; @@ -57,7 +58,7 @@ public class SoulTithe extends CardImpl { public SoulTithe (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant nonland permanent TargetPermanent auraTarget = new TargetNonlandPermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SoulWarden.java b/Mage.Sets/src/mage/cards/s/SoulWarden.java index 0648fa2042a..f118180c708 100644 --- a/Mage.Sets/src/mage/cards/s/SoulWarden.java +++ b/Mage.Sets/src/mage/cards/s/SoulWarden.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -52,8 +53,8 @@ public class SoulWarden extends CardImpl { public SoulWarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoulbladeDjinn.java b/Mage.Sets/src/mage/cards/s/SoulbladeDjinn.java index 28745d13feb..b85ae749cdc 100644 --- a/Mage.Sets/src/mage/cards/s/SoulbladeDjinn.java +++ b/Mage.Sets/src/mage/cards/s/SoulbladeDjinn.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -56,7 +57,7 @@ public class SoulbladeDjinn extends CardImpl { public SoulbladeDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SoulboundGuardians.java b/Mage.Sets/src/mage/cards/s/SoulboundGuardians.java index efe6669b377..09381064d2c 100644 --- a/Mage.Sets/src/mage/cards/s/SoulboundGuardians.java +++ b/Mage.Sets/src/mage/cards/s/SoulboundGuardians.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SoulboundGuardians extends CardImpl { public SoulboundGuardians (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SoulbrightFlamekin.java b/Mage.Sets/src/mage/cards/s/SoulbrightFlamekin.java index 1c98e978375..ffb8fa99179 100644 --- a/Mage.Sets/src/mage/cards/s/SoulbrightFlamekin.java +++ b/Mage.Sets/src/mage/cards/s/SoulbrightFlamekin.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class SoulbrightFlamekin extends CardImpl { public SoulbrightFlamekin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoulcageFiend.java b/Mage.Sets/src/mage/cards/s/SoulcageFiend.java index fcaf7f22585..d9e791336c0 100644 --- a/Mage.Sets/src/mage/cards/s/SoulcageFiend.java +++ b/Mage.Sets/src/mage/cards/s/SoulcageFiend.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.LoseLifeAllPlayersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author noxx @@ -42,7 +43,7 @@ public class SoulcageFiend extends CardImpl { public SoulcageFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Soulcatcher.java b/Mage.Sets/src/mage/cards/s/Soulcatcher.java index 880b9a60e6a..d3dbd7e09d9 100644 --- a/Mage.Sets/src/mage/cards/s/Soulcatcher.java +++ b/Mage.Sets/src/mage/cards/s/Soulcatcher.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -53,8 +54,8 @@ public class Soulcatcher extends CardImpl { public Soulcatcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Souldrinker.java b/Mage.Sets/src/mage/cards/s/Souldrinker.java index e0e0bd346ac..ca77995b0be 100644 --- a/Mage.Sets/src/mage/cards/s/Souldrinker.java +++ b/Mage.Sets/src/mage/cards/s/Souldrinker.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -46,7 +47,7 @@ public class Souldrinker extends CardImpl { public Souldrinker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SoulfireGrandMaster.java b/Mage.Sets/src/mage/cards/s/SoulfireGrandMaster.java index 0283ae5c5f0..16435ea6f46 100644 --- a/Mage.Sets/src/mage/cards/s/SoulfireGrandMaster.java +++ b/Mage.Sets/src/mage/cards/s/SoulfireGrandMaster.java @@ -42,6 +42,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -73,8 +74,8 @@ public class SoulfireGrandMaster extends CardImpl { public SoulfireGrandMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Soulflayer.java b/Mage.Sets/src/mage/cards/s/Soulflayer.java index f76a5b1b5fd..220e340333d 100644 --- a/Mage.Sets/src/mage/cards/s/Soulflayer.java +++ b/Mage.Sets/src/mage/cards/s/Soulflayer.java @@ -53,6 +53,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -70,7 +71,7 @@ public class Soulflayer extends CardImpl { public Soulflayer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SoullessOne.java b/Mage.Sets/src/mage/cards/s/SoullessOne.java index 073ba8be905..7f494157046 100644 --- a/Mage.Sets/src/mage/cards/s/SoullessOne.java +++ b/Mage.Sets/src/mage/cards/s/SoullessOne.java @@ -54,8 +54,8 @@ public class SoullessOne extends CardImpl { public SoullessOne(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/Soulmender.java b/Mage.Sets/src/mage/cards/s/Soulmender.java index 1144e4c58b5..de8b78d9d3c 100644 --- a/Mage.Sets/src/mage/cards/s/Soulmender.java +++ b/Mage.Sets/src/mage/cards/s/Soulmender.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class Soulmender extends CardImpl { public Soulmender(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoulsAttendant.java b/Mage.Sets/src/mage/cards/s/SoulsAttendant.java index a76290d68f7..893bbd19bc7 100644 --- a/Mage.Sets/src/mage/cards/s/SoulsAttendant.java +++ b/Mage.Sets/src/mage/cards/s/SoulsAttendant.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -52,8 +53,8 @@ public class SoulsAttendant extends CardImpl { public SoulsAttendant(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoulsOfTheFaultless.java b/Mage.Sets/src/mage/cards/s/SoulsOfTheFaultless.java index ee1d96eb661..3715b737bf7 100644 --- a/Mage.Sets/src/mage/cards/s/SoulsOfTheFaultless.java +++ b/Mage.Sets/src/mage/cards/s/SoulsOfTheFaultless.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -54,7 +55,7 @@ public class SoulsOfTheFaultless extends CardImpl { public SoulsOfTheFaultless(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/Soulstinger.java b/Mage.Sets/src/mage/cards/s/Soulstinger.java index 7388b580993..0dce771c33f 100644 --- a/Mage.Sets/src/mage/cards/s/Soulstinger.java +++ b/Mage.Sets/src/mage/cards/s/Soulstinger.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.target.common.TargetControlledCreaturePermanent; @@ -51,8 +52,8 @@ public class Soulstinger extends CardImpl { public Soulstinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Scorpion"); - this.subtype.add("Demon"); + this.subtype.add(SubType.SCORPION); + this.subtype.add(SubType.DEMON); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SoulsurgeElemental.java b/Mage.Sets/src/mage/cards/s/SoulsurgeElemental.java index 1317ae0be7d..1304da5c959 100644 --- a/Mage.Sets/src/mage/cards/s/SoulsurgeElemental.java +++ b/Mage.Sets/src/mage/cards/s/SoulsurgeElemental.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -49,7 +50,7 @@ public class SoulsurgeElemental extends CardImpl { public SoulsurgeElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoulswornJury.java b/Mage.Sets/src/mage/cards/s/SoulswornJury.java index b11919e7a98..5efe3ad7857 100644 --- a/Mage.Sets/src/mage/cards/s/SoulswornJury.java +++ b/Mage.Sets/src/mage/cards/s/SoulswornJury.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -57,7 +58,7 @@ public class SoulswornJury extends CardImpl { public SoulswornJury(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SoulswornSpirit.java b/Mage.Sets/src/mage/cards/s/SoulswornSpirit.java index c137259f8b5..84a3586f1eb 100644 --- a/Mage.Sets/src/mage/cards/s/SoulswornSpirit.java +++ b/Mage.Sets/src/mage/cards/s/SoulswornSpirit.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -55,7 +56,7 @@ public class SoulswornSpirit extends CardImpl { public SoulswornSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SoultetherGolem.java b/Mage.Sets/src/mage/cards/s/SoultetherGolem.java index 6be2a279170..0b2c666d78a 100644 --- a/Mage.Sets/src/mage/cards/s/SoultetherGolem.java +++ b/Mage.Sets/src/mage/cards/s/SoultetherGolem.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.VanishingUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -60,7 +61,7 @@ public class SoultetherGolem extends CardImpl { public SoultetherGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SouthernElephant.java b/Mage.Sets/src/mage/cards/s/SouthernElephant.java index a87d05b75e2..1479f73d89a 100644 --- a/Mage.Sets/src/mage/cards/s/SouthernElephant.java +++ b/Mage.Sets/src/mage/cards/s/SouthernElephant.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class SouthernElephant extends CardImpl { public SouthernElephant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SouthernPaladin.java b/Mage.Sets/src/mage/cards/s/SouthernPaladin.java index be7aded8bc4..d23b6ced156 100644 --- a/Mage.Sets/src/mage/cards/s/SouthernPaladin.java +++ b/Mage.Sets/src/mage/cards/s/SouthernPaladin.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -58,8 +59,8 @@ public class SouthernPaladin extends CardImpl { public SouthernPaladin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SovereignsOfLostAlara.java b/Mage.Sets/src/mage/cards/s/SovereignsOfLostAlara.java index ef4e48e3365..c56d60999bc 100644 --- a/Mage.Sets/src/mage/cards/s/SovereignsOfLostAlara.java +++ b/Mage.Sets/src/mage/cards/s/SovereignsOfLostAlara.java @@ -59,7 +59,7 @@ public class SovereignsOfLostAlara extends CardImpl { public SovereignsOfLostAlara(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); diff --git a/Mage.Sets/src/mage/cards/s/SowerOfTemptation.java b/Mage.Sets/src/mage/cards/s/SowerOfTemptation.java index 0334a4b683d..b44bce48ba6 100644 --- a/Mage.Sets/src/mage/cards/s/SowerOfTemptation.java +++ b/Mage.Sets/src/mage/cards/s/SowerOfTemptation.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.game.Game; @@ -52,8 +53,8 @@ public class SowerOfTemptation extends CardImpl { public SowerOfTemptation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SparkElemental.java b/Mage.Sets/src/mage/cards/s/SparkElemental.java index 454969ffe4c..a0fcf293639 100644 --- a/Mage.Sets/src/mage/cards/s/SparkElemental.java +++ b/Mage.Sets/src/mage/cards/s/SparkElemental.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.events.GameEvent.EventType; /** @@ -46,7 +47,7 @@ public class SparkElemental extends CardImpl { public SparkElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SparkMage.java b/Mage.Sets/src/mage/cards/s/SparkMage.java index c004d0c5d82..62330ae9e87 100644 --- a/Mage.Sets/src/mage/cards/s/SparkMage.java +++ b/Mage.Sets/src/mage/cards/s/SparkMage.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; @@ -52,8 +53,8 @@ public class SparkMage extends CardImpl { public SparkMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Dwarf"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SparkTrooper.java b/Mage.Sets/src/mage/cards/s/SparkTrooper.java index 89d379542b3..4a581e15a81 100644 --- a/Mage.Sets/src/mage/cards/s/SparkTrooper.java +++ b/Mage.Sets/src/mage/cards/s/SparkTrooper.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -47,8 +48,8 @@ public class SparkTrooper extends CardImpl { public SparkTrooper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}{W}"); - this.subtype.add("Elemental"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(6); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Sparkcaster.java b/Mage.Sets/src/mage/cards/s/Sparkcaster.java index 630a419bb02..12127302f17 100644 --- a/Mage.Sets/src/mage/cards/s/Sparkcaster.java +++ b/Mage.Sets/src/mage/cards/s/Sparkcaster.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToHandChosenControlledPermanentEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,7 +58,7 @@ public class Sparkcaster extends CardImpl { public Sparkcaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SparkmageApprentice.java b/Mage.Sets/src/mage/cards/s/SparkmageApprentice.java index 624ed56170e..7835ff49f6d 100644 --- a/Mage.Sets/src/mage/cards/s/SparkmageApprentice.java +++ b/Mage.Sets/src/mage/cards/s/SparkmageApprentice.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; /** @@ -45,8 +46,8 @@ public class SparkmageApprentice extends CardImpl { public SparkmageApprentice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Sparksmith.java b/Mage.Sets/src/mage/cards/s/Sparksmith.java index 557c37060bf..d7ea19eac72 100644 --- a/Mage.Sets/src/mage/cards/s/Sparksmith.java +++ b/Mage.Sets/src/mage/cards/s/Sparksmith.java @@ -57,7 +57,7 @@ public class Sparksmith extends CardImpl { public Sparksmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Sparkspitter.java b/Mage.Sets/src/mage/cards/s/Sparkspitter.java index fe70c4ed958..ea0d617d371 100644 --- a/Mage.Sets/src/mage/cards/s/Sparkspitter.java +++ b/Mage.Sets/src/mage/cards/s/Sparkspitter.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.SparkElementalToken; @@ -49,8 +50,8 @@ public class Sparkspitter extends CardImpl { public Sparkspitter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SparringCollar.java b/Mage.Sets/src/mage/cards/s/SparringCollar.java index 6cd48c9f4b6..ace54ba6699 100644 --- a/Mage.Sets/src/mage/cards/s/SparringCollar.java +++ b/Mage.Sets/src/mage/cards/s/SparringCollar.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -53,7 +54,7 @@ public class SparringCollar extends CardImpl { public SparringCollar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has first strike. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/s/SparringGolem.java b/Mage.Sets/src/mage/cards/s/SparringGolem.java index cdd2de20d5b..996a8fff66d 100644 --- a/Mage.Sets/src/mage/cards/s/SparringGolem.java +++ b/Mage.Sets/src/mage/cards/s/SparringGolem.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,7 +47,7 @@ public class SparringGolem extends CardImpl { public SparringGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SparringMummy.java b/Mage.Sets/src/mage/cards/s/SparringMummy.java index 7a24b2b3cb5..c6e1892e47e 100644 --- a/Mage.Sets/src/mage/cards/s/SparringMummy.java +++ b/Mage.Sets/src/mage/cards/s/SparringMummy.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -46,7 +47,7 @@ public class SparringMummy extends CardImpl { public SparringMummy(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SpawnOfRixMaadi.java b/Mage.Sets/src/mage/cards/s/SpawnOfRixMaadi.java index 206d46cb152..4b19f5a14cb 100644 --- a/Mage.Sets/src/mage/cards/s/SpawnOfRixMaadi.java +++ b/Mage.Sets/src/mage/cards/s/SpawnOfRixMaadi.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.UnleashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SpawnOfRixMaadi extends CardImpl { public SpawnOfRixMaadi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{R}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); diff --git a/Mage.Sets/src/mage/cards/s/SpawnOfThraxes.java b/Mage.Sets/src/mage/cards/s/SpawnOfThraxes.java index dd4acd18ce3..aa6988b29b1 100644 --- a/Mage.Sets/src/mage/cards/s/SpawnOfThraxes.java +++ b/Mage.Sets/src/mage/cards/s/SpawnOfThraxes.java @@ -56,7 +56,7 @@ public class SpawnOfThraxes extends CardImpl { public SpawnOfThraxes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SpawnbinderMage.java b/Mage.Sets/src/mage/cards/s/SpawnbinderMage.java index c4a9bee98c3..9c819a0e464 100644 --- a/Mage.Sets/src/mage/cards/s/SpawnbinderMage.java +++ b/Mage.Sets/src/mage/cards/s/SpawnbinderMage.java @@ -62,9 +62,9 @@ public class SpawnbinderMage extends CardImpl { public SpawnbinderMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SpawningGrounds.java b/Mage.Sets/src/mage/cards/s/SpawningGrounds.java index 59a6b7c5929..d10bfea142d 100644 --- a/Mage.Sets/src/mage/cards/s/SpawningGrounds.java +++ b/Mage.Sets/src/mage/cards/s/SpawningGrounds.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class SpawningGrounds extends CardImpl { public SpawningGrounds(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{6}{G}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SpawnsireOfUlamog.java b/Mage.Sets/src/mage/cards/s/SpawnsireOfUlamog.java index 4a4204dcaef..982c67c0f62 100644 --- a/Mage.Sets/src/mage/cards/s/SpawnsireOfUlamog.java +++ b/Mage.Sets/src/mage/cards/s/SpawnsireOfUlamog.java @@ -58,7 +58,7 @@ public class SpawnsireOfUlamog extends CardImpl { public SpawnsireOfUlamog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{10}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(7); this.toughness = new MageInt(11); diff --git a/Mage.Sets/src/mage/cards/s/Spawnwrithe.java b/Mage.Sets/src/mage/cards/s/Spawnwrithe.java index 17eeeca17a6..bfedfdbbab5 100644 --- a/Mage.Sets/src/mage/cards/s/Spawnwrithe.java +++ b/Mage.Sets/src/mage/cards/s/Spawnwrithe.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class Spawnwrithe extends CardImpl { public Spawnwrithe(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SpearbreakerBehemoth.java b/Mage.Sets/src/mage/cards/s/SpearbreakerBehemoth.java index ee0e8222fab..ba69703cbc6 100644 --- a/Mage.Sets/src/mage/cards/s/SpearbreakerBehemoth.java +++ b/Mage.Sets/src/mage/cards/s/SpearbreakerBehemoth.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class SpearbreakerBehemoth extends CardImpl { public SpearbreakerBehemoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SpearpointOread.java b/Mage.Sets/src/mage/cards/s/SpearpointOread.java index 086d1cd88b3..b9414383aac 100644 --- a/Mage.Sets/src/mage/cards/s/SpearpointOread.java +++ b/Mage.Sets/src/mage/cards/s/SpearpointOread.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -50,7 +51,7 @@ public class SpearpointOread extends CardImpl { public SpearpointOread(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{R}"); - this.subtype.add("Nymph"); + this.subtype.add(SubType.NYMPH); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SpeciesGorger.java b/Mage.Sets/src/mage/cards/s/SpeciesGorger.java index 0edd27d6c7b..ddb1393f74b 100644 --- a/Mage.Sets/src/mage/cards/s/SpeciesGorger.java +++ b/Mage.Sets/src/mage/cards/s/SpeciesGorger.java @@ -44,8 +44,8 @@ public class SpeciesGorger extends CardImpl { public SpeciesGorger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{U}"); - this.subtype.add("Frog"); - this.subtype.add("Beast"); + this.subtype.add(SubType.FROG); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SpectersShroud.java b/Mage.Sets/src/mage/cards/s/SpectersShroud.java index 532fd246442..b69ec43e65d 100644 --- a/Mage.Sets/src/mage/cards/s/SpectersShroud.java +++ b/Mage.Sets/src/mage/cards/s/SpectersShroud.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class SpectersShroud extends CardImpl { public SpectersShroud(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+0. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 0))); diff --git a/Mage.Sets/src/mage/cards/s/SpectraWard.java b/Mage.Sets/src/mage/cards/s/SpectraWard.java index b1b2c959db1..baf1863fd29 100644 --- a/Mage.Sets/src/mage/cards/s/SpectraWard.java +++ b/Mage.Sets/src/mage/cards/s/SpectraWard.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -68,7 +69,7 @@ public class SpectraWard extends CardImpl { public SpectraWard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SpectralBears.java b/Mage.Sets/src/mage/cards/s/SpectralBears.java index a20f739bbe4..5de47d8287e 100644 --- a/Mage.Sets/src/mage/cards/s/SpectralBears.java +++ b/Mage.Sets/src/mage/cards/s/SpectralBears.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DontUntapInControllersNextUntapStepSourceEf import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -52,8 +53,8 @@ public class SpectralBears extends CardImpl { public SpectralBears(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Bear"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.BEAR); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SpectralFlight.java b/Mage.Sets/src/mage/cards/s/SpectralFlight.java index 13bf108d09b..3dde7479246 100644 --- a/Mage.Sets/src/mage/cards/s/SpectralFlight.java +++ b/Mage.Sets/src/mage/cards/s/SpectralFlight.java @@ -49,7 +49,7 @@ public class SpectralFlight extends CardImpl { public SpectralFlight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SpectralForce.java b/Mage.Sets/src/mage/cards/s/SpectralForce.java index a461e96b7d4..089ed8e6e02 100644 --- a/Mage.Sets/src/mage/cards/s/SpectralForce.java +++ b/Mage.Sets/src/mage/cards/s/SpectralForce.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -51,8 +52,8 @@ public class SpectralForce extends CardImpl { public SpectralForce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elemental"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/s/SpectralGateguards.java b/Mage.Sets/src/mage/cards/s/SpectralGateguards.java index deabbc5dbfa..f5051351f4c 100644 --- a/Mage.Sets/src/mage/cards/s/SpectralGateguards.java +++ b/Mage.Sets/src/mage/cards/s/SpectralGateguards.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class SpectralGateguards extends CardImpl { public SpectralGateguards(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Spirit"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SpectralGrasp.java b/Mage.Sets/src/mage/cards/s/SpectralGrasp.java index 764b74fc28d..d9a7fc1f120 100644 --- a/Mage.Sets/src/mage/cards/s/SpectralGrasp.java +++ b/Mage.Sets/src/mage/cards/s/SpectralGrasp.java @@ -1,89 +1,90 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.combat.CantAttackControllerAttachedEffect; -import mage.abilities.effects.common.combat.CantBlockAttachedEffect; -import mage.abilities.keyword.EnchantAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.AttachmentType; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.ControllerPredicate; -import mage.target.TargetPermanent; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class SpectralGrasp extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures you control"); - - static { - filter.add(new ControllerPredicate(TargetController.YOU)); - } - - public SpectralGrasp(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); - - // Enchant creature - TargetPermanent auraTarget = new TargetCreaturePermanent(); - this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); - Ability ability = new EnchantAbility(auraTarget.getTargetName()); - this.addAbility(ability); - - // Enchanted creature can't attack you or a planeswalker you control. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackControllerAttachedEffect(AttachmentType.AURA))); - - // Enchanted creature can't block creatures you control. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockAttachedEffect(AttachmentType.AURA, Duration.WhileOnBattlefield, filter))); - - } - - public SpectralGrasp(final SpectralGrasp card) { - super(card); - } - - @Override - public SpectralGrasp copy() { - return new SpectralGrasp(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.combat.CantAttackControllerAttachedEffect; +import mage.abilities.effects.common.combat.CantBlockAttachedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class SpectralGrasp extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creatures you control"); + + static { + filter.add(new ControllerPredicate(TargetController.YOU)); + } + + public SpectralGrasp(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); + this.subtype.add(SubType.AURA); + + // Enchant creature + TargetPermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.AddAbility)); + Ability ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + + // Enchanted creature can't attack you or a planeswalker you control. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackControllerAttachedEffect(AttachmentType.AURA))); + + // Enchanted creature can't block creatures you control. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBlockAttachedEffect(AttachmentType.AURA, Duration.WhileOnBattlefield, filter))); + + } + + public SpectralGrasp(final SpectralGrasp card) { + super(card); + } + + @Override + public SpectralGrasp copy() { + return new SpectralGrasp(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SpectralGuardian.java b/Mage.Sets/src/mage/cards/s/SpectralGuardian.java index 7d89114c3bd..eb71903315c 100644 --- a/Mage.Sets/src/mage/cards/s/SpectralGuardian.java +++ b/Mage.Sets/src/mage/cards/s/SpectralGuardian.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterArtifactPermanent; @@ -59,7 +60,7 @@ public class SpectralGuardian extends CardImpl { public SpectralGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SpectralLynx.java b/Mage.Sets/src/mage/cards/s/SpectralLynx.java index e0932a260ce..3b9685062e8 100644 --- a/Mage.Sets/src/mage/cards/s/SpectralLynx.java +++ b/Mage.Sets/src/mage/cards/s/SpectralLynx.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,8 +49,8 @@ public class SpectralLynx extends CardImpl { public SpectralLynx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpectralPrison.java b/Mage.Sets/src/mage/cards/s/SpectralPrison.java index 5262453b48e..a8f57f4299f 100644 --- a/Mage.Sets/src/mage/cards/s/SpectralPrison.java +++ b/Mage.Sets/src/mage/cards/s/SpectralPrison.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class SpectralPrison extends CardImpl { public SpectralPrison(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SpectralRider.java b/Mage.Sets/src/mage/cards/s/SpectralRider.java index e8b0d1212a7..4668e2b9226 100644 --- a/Mage.Sets/src/mage/cards/s/SpectralRider.java +++ b/Mage.Sets/src/mage/cards/s/SpectralRider.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class SpectralRider extends CardImpl { public SpectralRider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Spirit"); - this.subtype.add("Knight"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SpectralShepherd.java b/Mage.Sets/src/mage/cards/s/SpectralShepherd.java index b093cf03a6c..a90e49f00c5 100644 --- a/Mage.Sets/src/mage/cards/s/SpectralShepherd.java +++ b/Mage.Sets/src/mage/cards/s/SpectralShepherd.java @@ -60,7 +60,7 @@ public class SpectralShepherd extends CardImpl { public SpectralShepherd(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SpectralSliver.java b/Mage.Sets/src/mage/cards/s/SpectralSliver.java index 61d42f9bcc8..6ef405190b9 100644 --- a/Mage.Sets/src/mage/cards/s/SpectralSliver.java +++ b/Mage.Sets/src/mage/cards/s/SpectralSliver.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.GainAbilityAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -50,8 +51,8 @@ public class SpectralSliver extends CardImpl { public SpectralSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Sliver"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SLIVER); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SpeederTrooper.java b/Mage.Sets/src/mage/cards/s/SpeederTrooper.java index 0f429752cd1..3f19b7da3b8 100644 --- a/Mage.Sets/src/mage/cards/s/SpeederTrooper.java +++ b/Mage.Sets/src/mage/cards/s/SpeederTrooper.java @@ -1,76 +1,76 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; -import mage.abilities.keyword.HasteAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; - -/** - * - * @author Styxo - */ -public class SpeederTrooper extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Trooper creatures"); - - static { - filter.add(new SubtypePredicate(SubType.TROOPER)); - } - - public SpeederTrooper(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Trooper"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Trooper creatures you control have haste. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, filter, false))); - - } - - public SpeederTrooper(final SpeederTrooper card) { - super(card); - } - - @Override - public SpeederTrooper copy() { - return new SpeederTrooper(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.HasteAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; + +/** + * + * @author Styxo + */ +public class SpeederTrooper extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Trooper creatures"); + + static { + filter.add(new SubtypePredicate(SubType.TROOPER)); + } + + public SpeederTrooper(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.TROOPER); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Trooper creatures you control have haste. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.WhileOnBattlefield, filter, false))); + + } + + public SpeederTrooper(final SpeederTrooper card) { + super(card); + } + + @Override + public SpeederTrooper copy() { + return new SpeederTrooper(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SpeedwayFanatic.java b/Mage.Sets/src/mage/cards/s/SpeedwayFanatic.java index b0c892901d4..2621519ebd4 100644 --- a/Mage.Sets/src/mage/cards/s/SpeedwayFanatic.java +++ b/Mage.Sets/src/mage/cards/s/SpeedwayFanatic.java @@ -1,70 +1,71 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.effects.common.CrewsVehicleSourceTriggeredAbility; -import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; -import mage.abilities.keyword.HasteAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; - -/** - * - * @author LevelX2 - */ -public class SpeedwayFanatic extends CardImpl { - - public SpeedwayFanatic(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Pilot"); - this.power = new MageInt(2); - this.toughness = new MageInt(1); - - // Haste - this.addAbility(HasteAbility.getInstance()); - - // Whenever Speedway Fanatic crews a Vehicle, that Vehicle gains haste until end of turn. - this.addAbility(new CrewsVehicleSourceTriggeredAbility(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn, - "that Vehicle gains haste until end of turn"))); - } - - public SpeedwayFanatic(final SpeedwayFanatic card) { - super(card); - } - - @Override - public SpeedwayFanatic copy() { - return new SpeedwayFanatic(this); - } -} - +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.effects.common.CrewsVehicleSourceTriggeredAbility; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.HasteAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; + +/** + * + * @author LevelX2 + */ +public class SpeedwayFanatic extends CardImpl { + + public SpeedwayFanatic(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PILOT); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // Haste + this.addAbility(HasteAbility.getInstance()); + + // Whenever Speedway Fanatic crews a Vehicle, that Vehicle gains haste until end of turn. + this.addAbility(new CrewsVehicleSourceTriggeredAbility(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn, + "that Vehicle gains haste until end of turn"))); + } + + public SpeedwayFanatic(final SpeedwayFanatic card) { + super(card); + } + + @Override + public SpeedwayFanatic copy() { + return new SpeedwayFanatic(this); + } +} + diff --git a/Mage.Sets/src/mage/cards/s/SpellQueller.java b/Mage.Sets/src/mage/cards/s/SpellQueller.java index bad9d0a3502..667e48e2ac6 100644 --- a/Mage.Sets/src/mage/cards/s/SpellQueller.java +++ b/Mage.Sets/src/mage/cards/s/SpellQueller.java @@ -42,6 +42,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.filter.FilterSpell; @@ -69,7 +70,7 @@ public class SpellQueller extends CardImpl { public SpellQueller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SpellbaneCentaur.java b/Mage.Sets/src/mage/cards/s/SpellbaneCentaur.java index 776ca5529ad..d0c05a53c78 100644 --- a/Mage.Sets/src/mage/cards/s/SpellbaneCentaur.java +++ b/Mage.Sets/src/mage/cards/s/SpellbaneCentaur.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CantBeTargetedAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterObject; @@ -56,7 +57,7 @@ public class SpellbaneCentaur extends CardImpl { public SpellbaneCentaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Centaur"); + this.subtype.add(SubType.CENTAUR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Spellbinder.java b/Mage.Sets/src/mage/cards/s/Spellbinder.java index 74b02b0048e..085fbde2337 100644 --- a/Mage.Sets/src/mage/cards/s/Spellbinder.java +++ b/Mage.Sets/src/mage/cards/s/Spellbinder.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -60,7 +61,7 @@ public class Spellbinder extends CardImpl { public Spellbinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Imprint - When Spellbinder enters the battlefield, you may exile an instant card from your hand. this.addAbility(new EntersBattlefieldTriggeredAbility(new SpellbinderImprintEffect(), true, "Imprint — ")); diff --git a/Mage.Sets/src/mage/cards/s/SpellboundDragon.java b/Mage.Sets/src/mage/cards/s/SpellboundDragon.java index d502bf863bc..1c17f629f30 100644 --- a/Mage.Sets/src/mage/cards/s/SpellboundDragon.java +++ b/Mage.Sets/src/mage/cards/s/SpellboundDragon.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.game.Game; @@ -53,7 +54,7 @@ public class SpellboundDragon extends CardImpl { public SpellboundDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SpellbreakerBehemoth.java b/Mage.Sets/src/mage/cards/s/SpellbreakerBehemoth.java index acf160cbb2b..7550fcb847c 100644 --- a/Mage.Sets/src/mage/cards/s/SpellbreakerBehemoth.java +++ b/Mage.Sets/src/mage/cards/s/SpellbreakerBehemoth.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.CantBeCounteredSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Zone; @@ -61,7 +62,7 @@ public class SpellbreakerBehemoth extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SpellgorgerBarbarian.java b/Mage.Sets/src/mage/cards/s/SpellgorgerBarbarian.java index 4bd40a78c9c..f007b49b705 100644 --- a/Mage.Sets/src/mage/cards/s/SpellgorgerBarbarian.java +++ b/Mage.Sets/src/mage/cards/s/SpellgorgerBarbarian.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.discard.DiscardControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,9 +46,9 @@ public class SpellgorgerBarbarian extends CardImpl { public SpellgorgerBarbarian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Nightmare"); - this.subtype.add("Barbarian"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NIGHTMARE); + this.subtype.add(SubType.BARBARIAN); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpellheartChimera.java b/Mage.Sets/src/mage/cards/s/SpellheartChimera.java index b06ae5a99dc..6571e75dea1 100644 --- a/Mage.Sets/src/mage/cards/s/SpellheartChimera.java +++ b/Mage.Sets/src/mage/cards/s/SpellheartChimera.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterInstantOrSorceryCard; @@ -49,7 +50,7 @@ public class SpellheartChimera extends CardImpl { public SpellheartChimera(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{R}"); - this.subtype.add("Chimera"); + this.subtype.add(SubType.CHIMERA); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/Spellshift.java b/Mage.Sets/src/mage/cards/s/Spellshift.java index ea167b19758..242e80b10a0 100644 --- a/Mage.Sets/src/mage/cards/s/Spellshift.java +++ b/Mage.Sets/src/mage/cards/s/Spellshift.java @@ -1,123 +1,123 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.CounterTargetEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.Cards; -import mage.cards.CardsImpl; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.common.FilterInstantOrSorcerySpell; -import mage.game.Game; -import mage.game.stack.Spell; -import mage.players.Library; -import mage.players.Player; -import mage.target.TargetSpell; - -/** - * - * @author Styxo - */ -public class Spellshift extends CardImpl { - - public Spellshift(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{U}"); - - // Counter target instant or sorcery spell. - this.getSpellAbility().addTarget(new TargetSpell(new FilterInstantOrSorcerySpell())); - this.getSpellAbility().addEffect(new CounterTargetEffect()); - - // Its controller reveals cards from the top of his or her library until he or she reveals an instant or sorcery card. That player may cast that card without paying its mana cost. Then he or she shuffles his or her library. - this.getSpellAbility().addEffect(new SpellshiftEffect()); - } - - public Spellshift(final Spellshift card) { - super(card); - } - - @Override - public Spellshift copy() { - return new Spellshift(this); - } -} - -class SpellshiftEffect extends OneShotEffect { - - public SpellshiftEffect() { - super(Outcome.Detriment); - this.staticText = "Its controller reveals cards from the top of his or her library until he or she reveals an instant or sorcery card. That player may cast that card without paying its mana cost. Then he or she shuffles his or her library"; - } - - public SpellshiftEffect(final SpellshiftEffect effect) { - super(effect); - } - - @Override - public SpellshiftEffect copy() { - return new SpellshiftEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player player = game.getPlayer(((Spell) game.getLastKnownInformation(targetPointer.getFirst(game, source), Zone.STACK)).getControllerId()); - if (player != null) { - Library library = player.getLibrary(); - if (library.hasCards()) { - Cards cards = new CardsImpl(); - Card card = library.removeFromTop(game); - cards.add(card); - while (!(card.isSorcery() || card.isInstant()) && library.hasCards()) { - card = library.removeFromTop(game); - cards.add(card); - } - - if (card.isSorcery() || card.isInstant()) { - if (player.chooseUse(outcome, "Cast " + card.getLogName() + " ?", source, game)) { - if (player.cast(card.getSpellAbility(), game, true)) { - cards.remove(card.getId()); - } - } - } - - if (!cards.isEmpty()) { - library.addAll(cards.getCards(game), game); - } - } - player.shuffleLibrary(source, game); - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.CounterTargetEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.Cards; +import mage.cards.CardsImpl; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.common.FilterInstantOrSorcerySpell; +import mage.game.Game; +import mage.game.stack.Spell; +import mage.players.Library; +import mage.players.Player; +import mage.target.TargetSpell; + +/** + * + * @author Styxo + */ +public class Spellshift extends CardImpl { + + public Spellshift(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{3}{U}"); + + // Counter target instant or sorcery spell. + this.getSpellAbility().addTarget(new TargetSpell(new FilterInstantOrSorcerySpell())); + this.getSpellAbility().addEffect(new CounterTargetEffect()); + + // Its controller reveals cards from the top of his or her library until he or she reveals an instant or sorcery card. That player may cast that card without paying its mana cost. Then he or she shuffles his or her library. + this.getSpellAbility().addEffect(new SpellshiftEffect()); + } + + public Spellshift(final Spellshift card) { + super(card); + } + + @Override + public Spellshift copy() { + return new Spellshift(this); + } +} + +class SpellshiftEffect extends OneShotEffect { + + public SpellshiftEffect() { + super(Outcome.Detriment); + this.staticText = "Its controller reveals cards from the top of his or her library until he or she reveals an instant or sorcery card. That player may cast that card without paying its mana cost. Then he or she shuffles his or her library"; + } + + public SpellshiftEffect(final SpellshiftEffect effect) { + super(effect); + } + + @Override + public SpellshiftEffect copy() { + return new SpellshiftEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(((Spell) game.getLastKnownInformation(targetPointer.getFirst(game, source), Zone.STACK)).getControllerId()); + if (player != null) { + Library library = player.getLibrary(); + if (library.hasCards()) { + Cards cards = new CardsImpl(); + Card card = library.removeFromTop(game); + cards.add(card); + while (!(card.isSorcery() || card.isInstant()) && library.hasCards()) { + card = library.removeFromTop(game); + cards.add(card); + } + + if (card.isSorcery() || card.isInstant()) { + if (player.chooseUse(outcome, "Cast " + card.getLogName() + " ?", source, game)) { + if (player.cast(card.getSpellAbility(), game, true)) { + cards.remove(card.getId()); + } + } + } + + if (!cards.isEmpty()) { + library.addAll(cards.getCards(game), game); + } + } + player.shuffleLibrary(source, game); + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/s/Spellskite.java b/Mage.Sets/src/mage/cards/s/Spellskite.java index 96bf870751e..cd99fe9ed3b 100644 --- a/Mage.Sets/src/mage/cards/s/Spellskite.java +++ b/Mage.Sets/src/mage/cards/s/Spellskite.java @@ -38,6 +38,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -57,7 +58,7 @@ public class Spellskite extends CardImpl { public Spellskite(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SpellstutterSprite.java b/Mage.Sets/src/mage/cards/s/SpellstutterSprite.java index 8c358e27457..651a91aece5 100644 --- a/Mage.Sets/src/mage/cards/s/SpellstutterSprite.java +++ b/Mage.Sets/src/mage/cards/s/SpellstutterSprite.java @@ -61,8 +61,8 @@ public class SpellstutterSprite extends CardImpl { public SpellstutterSprite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpelltitheEnforcer.java b/Mage.Sets/src/mage/cards/s/SpelltitheEnforcer.java index 141043273cb..84297ac8696 100644 --- a/Mage.Sets/src/mage/cards/s/SpelltitheEnforcer.java +++ b/Mage.Sets/src/mage/cards/s/SpelltitheEnforcer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.SacrificeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SetTargetPointer; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -51,8 +52,8 @@ public class SpelltitheEnforcer extends CardImpl { public SpelltitheEnforcer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Elephant"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SpellweaverEternal.java b/Mage.Sets/src/mage/cards/s/SpellweaverEternal.java index 9068820ff8e..0e215ea98f3 100644 --- a/Mage.Sets/src/mage/cards/s/SpellweaverEternal.java +++ b/Mage.Sets/src/mage/cards/s/SpellweaverEternal.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,9 +45,9 @@ public class SpellweaverEternal extends CardImpl { public SpellweaverEternal(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Naga"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SphinxAmbassador.java b/Mage.Sets/src/mage/cards/s/SphinxAmbassador.java index db324ac1695..07b21241e1f 100644 --- a/Mage.Sets/src/mage/cards/s/SphinxAmbassador.java +++ b/Mage.Sets/src/mage/cards/s/SphinxAmbassador.java @@ -41,6 +41,7 @@ import mage.cards.CardSetInfo; import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class SphinxAmbassador extends CardImpl { public SphinxAmbassador(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SphinxOfJwarIsle.java b/Mage.Sets/src/mage/cards/s/SphinxOfJwarIsle.java index 3eed92a08e3..39091e9d170 100644 --- a/Mage.Sets/src/mage/cards/s/SphinxOfJwarIsle.java +++ b/Mage.Sets/src/mage/cards/s/SphinxOfJwarIsle.java @@ -41,6 +41,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -54,7 +55,7 @@ public class SphinxOfJwarIsle extends CardImpl { public SphinxOfJwarIsle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SphinxOfLostTruths.java b/Mage.Sets/src/mage/cards/s/SphinxOfLostTruths.java index cb36c38bbf4..dc06bfbad6f 100644 --- a/Mage.Sets/src/mage/cards/s/SphinxOfLostTruths.java +++ b/Mage.Sets/src/mage/cards/s/SphinxOfLostTruths.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -50,7 +51,7 @@ public class SphinxOfLostTruths extends CardImpl { public SphinxOfLostTruths(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SphinxOfMagosi.java b/Mage.Sets/src/mage/cards/s/SphinxOfMagosi.java index 4a19b10fb35..8f74b1b3349 100644 --- a/Mage.Sets/src/mage/cards/s/SphinxOfMagosi.java +++ b/Mage.Sets/src/mage/cards/s/SphinxOfMagosi.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -50,7 +51,7 @@ public class SphinxOfMagosi extends CardImpl { public SphinxOfMagosi (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SphinxOfTheChimes.java b/Mage.Sets/src/mage/cards/s/SphinxOfTheChimes.java index 5564a19839e..f408fc26cd4 100644 --- a/Mage.Sets/src/mage/cards/s/SphinxOfTheChimes.java +++ b/Mage.Sets/src/mage/cards/s/SphinxOfTheChimes.java @@ -44,6 +44,7 @@ import mage.cards.Cards; import mage.cards.CardsImpl; import mage.cards.SplitCard; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.common.FilterNonlandCard; @@ -60,7 +61,7 @@ public class SphinxOfTheChimes extends CardImpl { public SphinxOfTheChimes(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SphinxOfTheFinalWord.java b/Mage.Sets/src/mage/cards/s/SphinxOfTheFinalWord.java index 02ad2cb3252..9dede7fdd62 100644 --- a/Mage.Sets/src/mage/cards/s/SphinxOfTheFinalWord.java +++ b/Mage.Sets/src/mage/cards/s/SphinxOfTheFinalWord.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterSpell; @@ -58,7 +59,7 @@ public class SphinxOfTheFinalWord extends CardImpl { public SphinxOfTheFinalWord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SphinxOfTheSteelWind.java b/Mage.Sets/src/mage/cards/s/SphinxOfTheSteelWind.java index a1292b7b517..352c890927e 100644 --- a/Mage.Sets/src/mage/cards/s/SphinxOfTheSteelWind.java +++ b/Mage.Sets/src/mage/cards/s/SphinxOfTheSteelWind.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.*; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class SphinxOfTheSteelWind extends CardImpl { public SphinxOfTheSteelWind (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}{W}{U}{B}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SphinxOfUthuun.java b/Mage.Sets/src/mage/cards/s/SphinxOfUthuun.java index 9c41830a095..bb98ced1ab6 100644 --- a/Mage.Sets/src/mage/cards/s/SphinxOfUthuun.java +++ b/Mage.Sets/src/mage/cards/s/SphinxOfUthuun.java @@ -43,6 +43,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -58,7 +59,7 @@ public class SphinxOfUthuun extends CardImpl { public SphinxOfUthuun(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SphinxSovereign.java b/Mage.Sets/src/mage/cards/s/SphinxSovereign.java index c64f096f3ce..0a41737e9f4 100644 --- a/Mage.Sets/src/mage/cards/s/SphinxSovereign.java +++ b/Mage.Sets/src/mage/cards/s/SphinxSovereign.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -49,7 +50,7 @@ public class SphinxSovereign extends CardImpl { public SphinxSovereign(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{W}{U}{U}{B}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SphinxSummoner.java b/Mage.Sets/src/mage/cards/s/SphinxSummoner.java index 558863e65e5..8feefe91fe6 100644 --- a/Mage.Sets/src/mage/cards/s/SphinxSummoner.java +++ b/Mage.Sets/src/mage/cards/s/SphinxSummoner.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -54,7 +55,7 @@ public class SphinxSummoner extends CardImpl { public SphinxSummoner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{U}{B}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SphinxsDisciple.java b/Mage.Sets/src/mage/cards/s/SphinxsDisciple.java index 652bc406276..a6b23449021 100644 --- a/Mage.Sets/src/mage/cards/s/SphinxsDisciple.java +++ b/Mage.Sets/src/mage/cards/s/SphinxsDisciple.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.InspiredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SphinxsDisciple extends CardImpl { public SphinxsDisciple(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SphinxsHerald.java b/Mage.Sets/src/mage/cards/s/SphinxsHerald.java index 3c0daa6e13d..c0ec06c9615 100644 --- a/Mage.Sets/src/mage/cards/s/SphinxsHerald.java +++ b/Mage.Sets/src/mage/cards/s/SphinxsHerald.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.common.FilterControlledCreaturePermanent; @@ -65,8 +66,8 @@ public class SphinxsHerald extends CardImpl { } public SphinxsHerald(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpiderClimb.java b/Mage.Sets/src/mage/cards/s/SpiderClimb.java index 23da0427d3a..a86b65a9e6b 100644 --- a/Mage.Sets/src/mage/cards/s/SpiderClimb.java +++ b/Mage.Sets/src/mage/cards/s/SpiderClimb.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class SpiderClimb extends CardImpl { public SpiderClimb(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // You may cast Spider Climb as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. this.addAbility(new SimpleStaticAbility(Zone.ALL, new CastAsThoughItHadFlashSourceEffect(Duration.EndOfGame))); diff --git a/Mage.Sets/src/mage/cards/s/SpiderUmbra.java b/Mage.Sets/src/mage/cards/s/SpiderUmbra.java index 096d8c1e3e4..92e635f6ad7 100644 --- a/Mage.Sets/src/mage/cards/s/SpiderUmbra.java +++ b/Mage.Sets/src/mage/cards/s/SpiderUmbra.java @@ -50,7 +50,7 @@ public class SpiderUmbra extends CardImpl { public SpiderUmbra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SpidersilkNet.java b/Mage.Sets/src/mage/cards/s/SpidersilkNet.java index 3090191a911..4face331519 100644 --- a/Mage.Sets/src/mage/cards/s/SpidersilkNet.java +++ b/Mage.Sets/src/mage/cards/s/SpidersilkNet.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class SpidersilkNet extends CardImpl { public SpidersilkNet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{0}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(0, 2))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ReachAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/s/SpiderwigBoggart.java b/Mage.Sets/src/mage/cards/s/SpiderwigBoggart.java index e69be868e69..254069d4dc3 100644 --- a/Mage.Sets/src/mage/cards/s/SpiderwigBoggart.java +++ b/Mage.Sets/src/mage/cards/s/SpiderwigBoggart.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -47,8 +48,8 @@ public class SpiderwigBoggart extends CardImpl { public SpiderwigBoggart(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SpikeBreeder.java b/Mage.Sets/src/mage/cards/s/SpikeBreeder.java index c337ec0187e..4772337f377 100644 --- a/Mage.Sets/src/mage/cards/s/SpikeBreeder.java +++ b/Mage.Sets/src/mage/cards/s/SpikeBreeder.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.permanent.token.SpikeToken; @@ -53,7 +54,7 @@ public class SpikeBreeder extends CardImpl { public SpikeBreeder(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - this.subtype.add("Spike"); + this.subtype.add(SubType.SPIKE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SpikeCannibal.java b/Mage.Sets/src/mage/cards/s/SpikeCannibal.java index bc2ed4fea15..c87670061da 100644 --- a/Mage.Sets/src/mage/cards/s/SpikeCannibal.java +++ b/Mage.Sets/src/mage/cards/s/SpikeCannibal.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -53,7 +54,7 @@ public class SpikeCannibal extends CardImpl { public SpikeCannibal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Spike"); + this.subtype.add(SubType.SPIKE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SpikeColony.java b/Mage.Sets/src/mage/cards/s/SpikeColony.java index e71efda2e11..3638d131c14 100644 --- a/Mage.Sets/src/mage/cards/s/SpikeColony.java +++ b/Mage.Sets/src/mage/cards/s/SpikeColony.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -51,7 +52,7 @@ public class SpikeColony extends CardImpl { public SpikeColony(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Spike"); + this.subtype.add(SubType.SPIKE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SpikeDrone.java b/Mage.Sets/src/mage/cards/s/SpikeDrone.java index fd4aea87040..8fcf113313b 100644 --- a/Mage.Sets/src/mage/cards/s/SpikeDrone.java +++ b/Mage.Sets/src/mage/cards/s/SpikeDrone.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -51,8 +52,8 @@ public class SpikeDrone extends CardImpl { public SpikeDrone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Spike"); - this.subtype.add("Drone"); + this.subtype.add(SubType.SPIKE); + this.subtype.add(SubType.DRONE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SpikeFeeder.java b/Mage.Sets/src/mage/cards/s/SpikeFeeder.java index 83c0fbeabfd..82441afa25c 100644 --- a/Mage.Sets/src/mage/cards/s/SpikeFeeder.java +++ b/Mage.Sets/src/mage/cards/s/SpikeFeeder.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -52,7 +53,7 @@ public class SpikeFeeder extends CardImpl { public SpikeFeeder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Spike"); + this.subtype.add(SubType.SPIKE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SpikeHatcher.java b/Mage.Sets/src/mage/cards/s/SpikeHatcher.java index c25ef0a19f8..9db666734f1 100644 --- a/Mage.Sets/src/mage/cards/s/SpikeHatcher.java +++ b/Mage.Sets/src/mage/cards/s/SpikeHatcher.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -52,7 +53,7 @@ public class SpikeHatcher extends CardImpl { public SpikeHatcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}"); - this.subtype.add("Spike"); + this.subtype.add(SubType.SPIKE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SpikeJester.java b/Mage.Sets/src/mage/cards/s/SpikeJester.java index eac005e5ed0..9bb9f4cf9b4 100644 --- a/Mage.Sets/src/mage/cards/s/SpikeJester.java +++ b/Mage.Sets/src/mage/cards/s/SpikeJester.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class SpikeJester extends CardImpl { public SpikeJester(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpikeRogue.java b/Mage.Sets/src/mage/cards/s/SpikeRogue.java index acbc41da127..b7a6efd2dd8 100644 --- a/Mage.Sets/src/mage/cards/s/SpikeRogue.java +++ b/Mage.Sets/src/mage/cards/s/SpikeRogue.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -54,7 +55,7 @@ public class SpikeRogue extends CardImpl { public SpikeRogue(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Spike"); + this.subtype.add(SubType.SPIKE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SpikeSoldier.java b/Mage.Sets/src/mage/cards/s/SpikeSoldier.java index 834707b4988..84bce2e9f88 100644 --- a/Mage.Sets/src/mage/cards/s/SpikeSoldier.java +++ b/Mage.Sets/src/mage/cards/s/SpikeSoldier.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -53,8 +54,8 @@ public class SpikeSoldier extends CardImpl { public SpikeSoldier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Spike"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SPIKE); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SpikeWeaver.java b/Mage.Sets/src/mage/cards/s/SpikeWeaver.java index 5293da151f6..7c7f90cbdc7 100644 --- a/Mage.Sets/src/mage/cards/s/SpikeWeaver.java +++ b/Mage.Sets/src/mage/cards/s/SpikeWeaver.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -53,7 +54,7 @@ public class SpikeWeaver extends CardImpl { public SpikeWeaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Spike"); + this.subtype.add(SubType.SPIKE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SpikeWorker.java b/Mage.Sets/src/mage/cards/s/SpikeWorker.java index cb986a01e06..f2e83d50421 100644 --- a/Mage.Sets/src/mage/cards/s/SpikeWorker.java +++ b/Mage.Sets/src/mage/cards/s/SpikeWorker.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -51,7 +52,7 @@ public class SpikeWorker extends CardImpl { public SpikeWorker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Spike"); + this.subtype.add(SubType.SPIKE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SpikedBaloth.java b/Mage.Sets/src/mage/cards/s/SpikedBaloth.java index f87173a2f5e..da432c1a4eb 100644 --- a/Mage.Sets/src/mage/cards/s/SpikedBaloth.java +++ b/Mage.Sets/src/mage/cards/s/SpikedBaloth.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SpikedBaloth extends CardImpl { public SpikedBaloth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SpikeshotElder.java b/Mage.Sets/src/mage/cards/s/SpikeshotElder.java index 78e9dfe3cf1..e5ae655fa8d 100644 --- a/Mage.Sets/src/mage/cards/s/SpikeshotElder.java +++ b/Mage.Sets/src/mage/cards/s/SpikeshotElder.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -52,8 +53,8 @@ public class SpikeshotElder extends CardImpl { public SpikeshotElder (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpikeshotGoblin.java b/Mage.Sets/src/mage/cards/s/SpikeshotGoblin.java index 3e8d84d1700..5e4a258f1cb 100644 --- a/Mage.Sets/src/mage/cards/s/SpikeshotGoblin.java +++ b/Mage.Sets/src/mage/cards/s/SpikeshotGoblin.java @@ -50,8 +50,8 @@ public class SpikeshotGoblin extends CardImpl { public SpikeshotGoblin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SpiketailDrake.java b/Mage.Sets/src/mage/cards/s/SpiketailDrake.java index 16e769fc61e..7ff76f2c475 100644 --- a/Mage.Sets/src/mage/cards/s/SpiketailDrake.java +++ b/Mage.Sets/src/mage/cards/s/SpiketailDrake.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetSpell; @@ -49,7 +50,7 @@ public class SpiketailDrake extends CardImpl { public SpiketailDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SpiketailDrakeling.java b/Mage.Sets/src/mage/cards/s/SpiketailDrakeling.java index fda565b1750..5b3049db4e0 100644 --- a/Mage.Sets/src/mage/cards/s/SpiketailDrakeling.java +++ b/Mage.Sets/src/mage/cards/s/SpiketailDrakeling.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetSpell; @@ -50,7 +51,7 @@ public class SpiketailDrakeling extends CardImpl { public SpiketailDrakeling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SpiketailHatchling.java b/Mage.Sets/src/mage/cards/s/SpiketailHatchling.java index 8a9653a8290..3842081f15c 100644 --- a/Mage.Sets/src/mage/cards/s/SpiketailHatchling.java +++ b/Mage.Sets/src/mage/cards/s/SpiketailHatchling.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetSpell; @@ -49,7 +50,7 @@ public class SpiketailHatchling extends CardImpl { public SpiketailHatchling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpinEngine.java b/Mage.Sets/src/mage/cards/s/SpinEngine.java index a0106a7834d..7c180915380 100644 --- a/Mage.Sets/src/mage/cards/s/SpinEngine.java +++ b/Mage.Sets/src/mage/cards/s/SpinEngine.java @@ -36,6 +36,7 @@ import mage.abilities.effects.RestrictionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -50,7 +51,7 @@ public class SpinEngine extends CardImpl { public SpinEngine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpinalGraft.java b/Mage.Sets/src/mage/cards/s/SpinalGraft.java index cf701d60ac8..c5af7217256 100644 --- a/Mage.Sets/src/mage/cards/s/SpinalGraft.java +++ b/Mage.Sets/src/mage/cards/s/SpinalGraft.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class SpinalGraft extends CardImpl { public SpinalGraft(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SpinalParasite.java b/Mage.Sets/src/mage/cards/s/SpinalParasite.java index bc24ccd0ee9..ea5727ce88a 100644 --- a/Mage.Sets/src/mage/cards/s/SpinalParasite.java +++ b/Mage.Sets/src/mage/cards/s/SpinalParasite.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.SunburstAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class SpinalParasite extends CardImpl { public SpinalParasite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(-1); this.toughness = new MageInt(-1); diff --git a/Mage.Sets/src/mage/cards/s/SpinalVillain.java b/Mage.Sets/src/mage/cards/s/SpinalVillain.java index 07540961b07..671a9aeb1a3 100644 --- a/Mage.Sets/src/mage/cards/s/SpinalVillain.java +++ b/Mage.Sets/src/mage/cards/s/SpinalVillain.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -56,7 +57,7 @@ public class SpinalVillain extends CardImpl { public SpinalVillain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Spincrusher.java b/Mage.Sets/src/mage/cards/s/Spincrusher.java index 0349fc8b542..bd8a280cbc8 100644 --- a/Mage.Sets/src/mage/cards/s/Spincrusher.java +++ b/Mage.Sets/src/mage/cards/s/Spincrusher.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -49,7 +50,7 @@ public class Spincrusher extends CardImpl { public Spincrusher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SpindriftDrake.java b/Mage.Sets/src/mage/cards/s/SpindriftDrake.java index a6287f22a4b..f41e1d8a523 100644 --- a/Mage.Sets/src/mage/cards/s/SpindriftDrake.java +++ b/Mage.Sets/src/mage/cards/s/SpindriftDrake.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -46,7 +47,7 @@ public class SpindriftDrake extends CardImpl { public SpindriftDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Spinebiter.java b/Mage.Sets/src/mage/cards/s/Spinebiter.java index ec8f37ce144..ff0b0741896 100644 --- a/Mage.Sets/src/mage/cards/s/Spinebiter.java +++ b/Mage.Sets/src/mage/cards/s/Spinebiter.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class Spinebiter extends CardImpl { public Spinebiter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SpinedBasher.java b/Mage.Sets/src/mage/cards/s/SpinedBasher.java index f014e9ade9a..876085899b1 100644 --- a/Mage.Sets/src/mage/cards/s/SpinedBasher.java +++ b/Mage.Sets/src/mage/cards/s/SpinedBasher.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SpinedBasher extends CardImpl { public SpinedBasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpinedFluke.java b/Mage.Sets/src/mage/cards/s/SpinedFluke.java index c8c737172c5..027c0f800e5 100644 --- a/Mage.Sets/src/mage/cards/s/SpinedFluke.java +++ b/Mage.Sets/src/mage/cards/s/SpinedFluke.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.SacrificeControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -49,8 +50,8 @@ public class SpinedFluke extends CardImpl { public SpinedFluke(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Worm"); - this.subtype.add("Horror"); + this.subtype.add(SubType.WORM); + this.subtype.add(SubType.HORROR); this.power = new MageInt(5); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpinedSliver.java b/Mage.Sets/src/mage/cards/s/SpinedSliver.java index 9b34e7b5d08..4de02f2bda6 100644 --- a/Mage.Sets/src/mage/cards/s/SpinedSliver.java +++ b/Mage.Sets/src/mage/cards/s/SpinedSliver.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; import mage.game.Game; @@ -50,7 +51,7 @@ public class SpinedSliver extends CardImpl { public SpinedSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{G}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SpinedThopter.java b/Mage.Sets/src/mage/cards/s/SpinedThopter.java index 7fb1415e9e8..393642d282b 100644 --- a/Mage.Sets/src/mage/cards/s/SpinedThopter.java +++ b/Mage.Sets/src/mage/cards/s/SpinedThopter.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SpinedThopter extends CardImpl { public SpinedThopter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}{U/P}"); - this.subtype.add("Thopter"); + this.subtype.add(SubType.THOPTER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpinedWurm.java b/Mage.Sets/src/mage/cards/s/SpinedWurm.java index 605e0c582bd..fcd4158023a 100644 --- a/Mage.Sets/src/mage/cards/s/SpinedWurm.java +++ b/Mage.Sets/src/mage/cards/s/SpinedWurm.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SpinedWurm extends CardImpl { public SpinedWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SpinelessThug.java b/Mage.Sets/src/mage/cards/s/SpinelessThug.java index 767b4fa4737..1bff53f0706 100644 --- a/Mage.Sets/src/mage/cards/s/SpinelessThug.java +++ b/Mage.Sets/src/mage/cards/s/SpinelessThug.java @@ -33,6 +33,7 @@ import mage.abilities.common.CantBlockAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class SpinelessThug extends CardImpl { public SpinelessThug(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SpinneretSliver.java b/Mage.Sets/src/mage/cards/s/SpinneretSliver.java index 7523c01a54e..894e0a03cd8 100644 --- a/Mage.Sets/src/mage/cards/s/SpinneretSliver.java +++ b/Mage.Sets/src/mage/cards/s/SpinneretSliver.java @@ -55,7 +55,7 @@ public class SpinneretSliver extends CardImpl { public SpinneretSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SpiralingDuelist.java b/Mage.Sets/src/mage/cards/s/SpiralingDuelist.java index 8ce230dd01d..67bab39e810 100644 --- a/Mage.Sets/src/mage/cards/s/SpiralingDuelist.java +++ b/Mage.Sets/src/mage/cards/s/SpiralingDuelist.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class SpiralingDuelist extends CardImpl { public SpiralingDuelist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpiralingEmbers.java b/Mage.Sets/src/mage/cards/s/SpiralingEmbers.java index c0538a4878f..64795d497a4 100644 --- a/Mage.Sets/src/mage/cards/s/SpiralingEmbers.java +++ b/Mage.Sets/src/mage/cards/s/SpiralingEmbers.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; /** @@ -44,7 +45,7 @@ public class SpiralingEmbers extends CardImpl { public SpiralingEmbers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{R}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Spiraling Embers deals damage to target creature or player equal to the number of cards in your hand. diff --git a/Mage.Sets/src/mage/cards/s/SpireGolem.java b/Mage.Sets/src/mage/cards/s/SpireGolem.java index 23a2d9c54e8..7a91ed64adc 100644 --- a/Mage.Sets/src/mage/cards/s/SpireGolem.java +++ b/Mage.Sets/src/mage/cards/s/SpireGolem.java @@ -44,7 +44,7 @@ public class SpireGolem extends CardImpl { public SpireGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SpireMonitor.java b/Mage.Sets/src/mage/cards/s/SpireMonitor.java index 4cfd353342c..0107dc32fdb 100644 --- a/Mage.Sets/src/mage/cards/s/SpireMonitor.java +++ b/Mage.Sets/src/mage/cards/s/SpireMonitor.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SpireMonitor extends CardImpl { public SpireMonitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SpireOwl.java b/Mage.Sets/src/mage/cards/s/SpireOwl.java index 50464028476..e639fa4d1b4 100644 --- a/Mage.Sets/src/mage/cards/s/SpireOwl.java +++ b/Mage.Sets/src/mage/cards/s/SpireOwl.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class SpireOwl extends CardImpl { public SpireOwl(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpirePatrol.java b/Mage.Sets/src/mage/cards/s/SpirePatrol.java index f61f3fc9c22..dd2b7ba0bf1 100644 --- a/Mage.Sets/src/mage/cards/s/SpirePatrol.java +++ b/Mage.Sets/src/mage/cards/s/SpirePatrol.java @@ -1,74 +1,75 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect; -import mage.abilities.effects.common.TapTargetEffect; -import mage.abilities.keyword.FlyingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.target.common.TargetOpponentsCreaturePermanent; - -/** - * - * @author Styxo - */ -public class SpirePatrol extends CardImpl { - - public SpirePatrol(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{U}"); - - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - - // Flying - this.addAbility(FlyingAbility.getInstance()); - - // When Spire Patrol enters the battlefield, tap target creature an opponent controls. That creature does not untap during its controller's untap step. - Ability ability = new EntersBattlefieldTriggeredAbility(new TapTargetEffect()); - ability.addEffect(new DontUntapInControllersNextUntapStepTargetEffect("That creature")); - ability.addTarget(new TargetOpponentsCreaturePermanent()); - this.addAbility(ability); - } - - public SpirePatrol(final SpirePatrol card) { - super(card); - } - - @Override - public SpirePatrol copy() { - return new SpirePatrol(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect; +import mage.abilities.effects.common.TapTargetEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.common.TargetOpponentsCreaturePermanent; + +/** + * + * @author Styxo + */ +public class SpirePatrol extends CardImpl { + + public SpirePatrol(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{U}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // When Spire Patrol enters the battlefield, tap target creature an opponent controls. That creature does not untap during its controller's untap step. + Ability ability = new EntersBattlefieldTriggeredAbility(new TapTargetEffect()); + ability.addEffect(new DontUntapInControllersNextUntapStepTargetEffect("That creature")); + ability.addTarget(new TargetOpponentsCreaturePermanent()); + this.addAbility(ability); + } + + public SpirePatrol(final SpirePatrol card) { + super(card); + } + + @Override + public SpirePatrol copy() { + return new SpirePatrol(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SpireSerpent.java b/Mage.Sets/src/mage/cards/s/SpireSerpent.java index b9629bc1e9a..a695bbb7e20 100644 --- a/Mage.Sets/src/mage/cards/s/SpireSerpent.java +++ b/Mage.Sets/src/mage/cards/s/SpireSerpent.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class SpireSerpent extends CardImpl { public SpireSerpent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.color.setBlue(true); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SpireTracer.java b/Mage.Sets/src/mage/cards/s/SpireTracer.java index 8ff2403dbde..8c36e4d18c3 100644 --- a/Mage.Sets/src/mage/cards/s/SpireTracer.java +++ b/Mage.Sets/src/mage/cards/s/SpireTracer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -50,8 +51,8 @@ public class SpireTracer extends CardImpl { public SpireTracer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpiresideInfiltrator.java b/Mage.Sets/src/mage/cards/s/SpiresideInfiltrator.java index 8820d05cde2..fcbc8eee436 100644 --- a/Mage.Sets/src/mage/cards/s/SpiresideInfiltrator.java +++ b/Mage.Sets/src/mage/cards/s/SpiresideInfiltrator.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamagePlayersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -44,8 +45,8 @@ public class SpiresideInfiltrator extends CardImpl { public SpiresideInfiltrator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Spirespine.java b/Mage.Sets/src/mage/cards/s/Spirespine.java index e26d2d06ebd..056814ee38e 100644 --- a/Mage.Sets/src/mage/cards/s/Spirespine.java +++ b/Mage.Sets/src/mage/cards/s/Spirespine.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class Spirespine extends CardImpl { public Spirespine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpiritAway.java b/Mage.Sets/src/mage/cards/s/SpiritAway.java index 1b8bd284a4e..ccb3c21da08 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritAway.java +++ b/Mage.Sets/src/mage/cards/s/SpiritAway.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class SpiritAway extends CardImpl { public SpiritAway(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{5}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SpiritEnDal.java b/Mage.Sets/src/mage/cards/s/SpiritEnDal.java index 5cd0e28b74e..859924c059f 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritEnDal.java +++ b/Mage.Sets/src/mage/cards/s/SpiritEnDal.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class SpiritEnDal extends CardImpl { public SpiritEnDal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpiritEnKor.java b/Mage.Sets/src/mage/cards/s/SpiritEnKor.java index 04350bf7e32..4a2b64c369e 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritEnKor.java +++ b/Mage.Sets/src/mage/cards/s/SpiritEnKor.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -49,8 +50,8 @@ public class SpiritEnKor extends CardImpl { public SpiritEnKor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SpiritLink.java b/Mage.Sets/src/mage/cards/s/SpiritLink.java index 731b82cde95..1ba39c70a0b 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritLink.java +++ b/Mage.Sets/src/mage/cards/s/SpiritLink.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class SpiritLink extends CardImpl { public SpiritLink(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SpiritLoop.java b/Mage.Sets/src/mage/cards/s/SpiritLoop.java index 1295f35f263..41d3bb6e4e7 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritLoop.java +++ b/Mage.Sets/src/mage/cards/s/SpiritLoop.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class SpiritLoop extends CardImpl { public SpiritLoop(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature you control TargetPermanent auraTarget = new TargetControlledCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SpiritMantle.java b/Mage.Sets/src/mage/cards/s/SpiritMantle.java index e14aa9ea75f..abb9ce1c93d 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritMantle.java +++ b/Mage.Sets/src/mage/cards/s/SpiritMantle.java @@ -49,7 +49,7 @@ public class SpiritMantle extends CardImpl { public SpiritMantle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SpiritOfTheHearth.java b/Mage.Sets/src/mage/cards/s/SpiritOfTheHearth.java index e9e69842701..da8a22a1572 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritOfTheHearth.java +++ b/Mage.Sets/src/mage/cards/s/SpiritOfTheHearth.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class SpiritOfTheHearth extends CardImpl { public SpiritOfTheHearth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SpiritOfTheHunt.java b/Mage.Sets/src/mage/cards/s/SpiritOfTheHunt.java index d050ed2ce10..669c5d197db 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritOfTheHunt.java +++ b/Mage.Sets/src/mage/cards/s/SpiritOfTheHunt.java @@ -57,8 +57,8 @@ public class SpiritOfTheHunt extends CardImpl { public SpiritOfTheHunt(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Wolf"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.WOLF); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SpiritOfTheLabyrinth.java b/Mage.Sets/src/mage/cards/s/SpiritOfTheLabyrinth.java index 09298315216..f619e4d2c17 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritOfTheLabyrinth.java +++ b/Mage.Sets/src/mage/cards/s/SpiritOfTheLabyrinth.java @@ -51,7 +51,7 @@ public class SpiritOfTheLabyrinth extends CardImpl { public SpiritOfTheLabyrinth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{1}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpiritOfTheNight.java b/Mage.Sets/src/mage/cards/s/SpiritOfTheNight.java index 6c25b46ddc8..a6a338ee70b 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritOfTheNight.java +++ b/Mage.Sets/src/mage/cards/s/SpiritOfTheNight.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.*; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class SpiritOfTheNight extends CardImpl { public SpiritOfTheNight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{B}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DEMON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SpiritShackle.java b/Mage.Sets/src/mage/cards/s/SpiritShackle.java index 8b9537e1f08..b47d8e4f190 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritShackle.java +++ b/Mage.Sets/src/mage/cards/s/SpiritShackle.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.BoostCounter; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class SpiritShackle extends CardImpl { public SpiritShackle(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SpiritWeaver.java b/Mage.Sets/src/mage/cards/s/SpiritWeaver.java index 9d14652404d..294c9e47939 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritWeaver.java +++ b/Mage.Sets/src/mage/cards/s/SpiritWeaver.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -60,8 +61,8 @@ public class SpiritWeaver extends CardImpl { public SpiritWeaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Spiritmonger.java b/Mage.Sets/src/mage/cards/s/Spiritmonger.java index 1844556f9e7..7f280ee5c07 100644 --- a/Mage.Sets/src/mage/cards/s/Spiritmonger.java +++ b/Mage.Sets/src/mage/cards/s/Spiritmonger.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -50,7 +51,7 @@ public class Spiritmonger extends CardImpl { public Spiritmonger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SpiritualGuardian.java b/Mage.Sets/src/mage/cards/s/SpiritualGuardian.java index 1a41aa844f3..74042d99ae2 100644 --- a/Mage.Sets/src/mage/cards/s/SpiritualGuardian.java +++ b/Mage.Sets/src/mage/cards/s/SpiritualGuardian.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SpiritualGuardian extends CardImpl { public SpiritualGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/Spitebellows.java b/Mage.Sets/src/mage/cards/s/Spitebellows.java index 279ead9d9bc..b33d4961506 100644 --- a/Mage.Sets/src/mage/cards/s/Spitebellows.java +++ b/Mage.Sets/src/mage/cards/s/Spitebellows.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -46,7 +47,7 @@ public class Spitebellows extends CardImpl { public Spitebellows(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpiteflameWitch.java b/Mage.Sets/src/mage/cards/s/SpiteflameWitch.java index 86eedef2c78..bef893f41da 100644 --- a/Mage.Sets/src/mage/cards/s/SpiteflameWitch.java +++ b/Mage.Sets/src/mage/cards/s/SpiteflameWitch.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.LoseLifeAllPlayersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class SpiteflameWitch extends CardImpl { public SpiteflameWitch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B/R}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpitefulMotives.java b/Mage.Sets/src/mage/cards/s/SpitefulMotives.java index 91b6f14a155..a8961964f1f 100644 --- a/Mage.Sets/src/mage/cards/s/SpitefulMotives.java +++ b/Mage.Sets/src/mage/cards/s/SpitefulMotives.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class SpitefulMotives extends CardImpl { public SpitefulMotives(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/s/SpitefulReturned.java b/Mage.Sets/src/mage/cards/s/SpitefulReturned.java index cd2e497e19e..f008c8a93ab 100644 --- a/Mage.Sets/src/mage/cards/s/SpitefulReturned.java +++ b/Mage.Sets/src/mage/cards/s/SpitefulReturned.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.BestowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -54,7 +55,7 @@ public class SpitefulReturned extends CardImpl { public SpitefulReturned(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpitefulShadows.java b/Mage.Sets/src/mage/cards/s/SpitefulShadows.java index 80021aeda5f..6ff7d03d669 100644 --- a/Mage.Sets/src/mage/cards/s/SpitefulShadows.java +++ b/Mage.Sets/src/mage/cards/s/SpitefulShadows.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class SpitefulShadows extends CardImpl { public SpitefulShadows(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/Spitemare.java b/Mage.Sets/src/mage/cards/s/Spitemare.java index 8ffb7cf808e..7940ac1172d 100644 --- a/Mage.Sets/src/mage/cards/s/Spitemare.java +++ b/Mage.Sets/src/mage/cards/s/Spitemare.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -52,7 +53,7 @@ public class Spitemare extends CardImpl { public Spitemare(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R/W}{R/W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SpittingDrake.java b/Mage.Sets/src/mage/cards/s/SpittingDrake.java index 3a5a48ee40e..10a81a313f4 100644 --- a/Mage.Sets/src/mage/cards/s/SpittingDrake.java +++ b/Mage.Sets/src/mage/cards/s/SpittingDrake.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class SpittingDrake extends CardImpl { public SpittingDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SpittingGourna.java b/Mage.Sets/src/mage/cards/s/SpittingGourna.java index 51714e02fe9..d0b37567280 100644 --- a/Mage.Sets/src/mage/cards/s/SpittingGourna.java +++ b/Mage.Sets/src/mage/cards/s/SpittingGourna.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class SpittingGourna extends CardImpl { public SpittingGourna(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SpittingHydra.java b/Mage.Sets/src/mage/cards/s/SpittingHydra.java index 80b609b74fd..2d6f4c098e3 100644 --- a/Mage.Sets/src/mage/cards/s/SpittingHydra.java +++ b/Mage.Sets/src/mage/cards/s/SpittingHydra.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -52,7 +53,7 @@ public class SpittingHydra extends CardImpl { public SpittingHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SpittingSliver.java b/Mage.Sets/src/mage/cards/s/SpittingSliver.java index 4991ab4abcb..68b1d230d48 100644 --- a/Mage.Sets/src/mage/cards/s/SpittingSliver.java +++ b/Mage.Sets/src/mage/cards/s/SpittingSliver.java @@ -55,7 +55,7 @@ public class SpittingSliver extends CardImpl { public SpittingSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SpittingSpider.java b/Mage.Sets/src/mage/cards/s/SpittingSpider.java index 6c86329bb19..6d086337eb6 100644 --- a/Mage.Sets/src/mage/cards/s/SpittingSpider.java +++ b/Mage.Sets/src/mage/cards/s/SpittingSpider.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterCreaturePermanent; @@ -55,7 +56,7 @@ public class SpittingSpider extends CardImpl { } public SpittingSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SplatterThug.java b/Mage.Sets/src/mage/cards/s/SplatterThug.java index c2feffa4063..1b2bc8eba3e 100644 --- a/Mage.Sets/src/mage/cards/s/SplatterThug.java +++ b/Mage.Sets/src/mage/cards/s/SplatterThug.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.UnleashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SplatterThug extends CardImpl { public SplatterThug(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SplinterTwin.java b/Mage.Sets/src/mage/cards/s/SplinterTwin.java index c9981a97fb3..db8d537e08a 100644 --- a/Mage.Sets/src/mage/cards/s/SplinterTwin.java +++ b/Mage.Sets/src/mage/cards/s/SplinterTwin.java @@ -44,6 +44,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -60,7 +61,7 @@ public class SplinterTwin extends CardImpl { public SplinterTwin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/Splinterfright.java b/Mage.Sets/src/mage/cards/s/Splinterfright.java index ce92f96bc20..984d649eb5f 100644 --- a/Mage.Sets/src/mage/cards/s/Splinterfright.java +++ b/Mage.Sets/src/mage/cards/s/Splinterfright.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -51,7 +52,7 @@ public class Splinterfright extends CardImpl { public Splinterfright(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SplitTailMiko.java b/Mage.Sets/src/mage/cards/s/SplitTailMiko.java index d523bd43771..2308d168d3a 100644 --- a/Mage.Sets/src/mage/cards/s/SplitTailMiko.java +++ b/Mage.Sets/src/mage/cards/s/SplitTailMiko.java @@ -47,8 +47,8 @@ public class SplitTailMiko extends CardImpl { public SplitTailMiko(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Fox"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.FOX); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SplittingSlime.java b/Mage.Sets/src/mage/cards/s/SplittingSlime.java index 45c544ca9c4..a41bb37898c 100644 --- a/Mage.Sets/src/mage/cards/s/SplittingSlime.java +++ b/Mage.Sets/src/mage/cards/s/SplittingSlime.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MonstrosityAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class SplittingSlime extends CardImpl { public SplittingSlime(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Ooze"); + this.subtype.add(SubType.OOZE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SpontaneousArtist.java b/Mage.Sets/src/mage/cards/s/SpontaneousArtist.java index d55b6210bc5..ebe53a10fab 100644 --- a/Mage.Sets/src/mage/cards/s/SpontaneousArtist.java +++ b/Mage.Sets/src/mage/cards/s/SpontaneousArtist.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -51,8 +52,8 @@ public class SpontaneousArtist extends CardImpl { public SpontaneousArtist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SpontaneousMutation.java b/Mage.Sets/src/mage/cards/s/SpontaneousMutation.java index b0bba0f424f..db030f76a66 100644 --- a/Mage.Sets/src/mage/cards/s/SpontaneousMutation.java +++ b/Mage.Sets/src/mage/cards/s/SpontaneousMutation.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -54,7 +55,7 @@ public class SpontaneousMutation extends CardImpl { public SpontaneousMutation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/s/SporeFlower.java b/Mage.Sets/src/mage/cards/s/SporeFlower.java index c2cec450c6f..b0625d1804c 100644 --- a/Mage.Sets/src/mage/cards/s/SporeFlower.java +++ b/Mage.Sets/src/mage/cards/s/SporeFlower.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class SporeFlower extends CardImpl { public SporeFlower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SporeFrog.java b/Mage.Sets/src/mage/cards/s/SporeFrog.java index bd39e3ed883..f911d8c7a34 100644 --- a/Mage.Sets/src/mage/cards/s/SporeFrog.java +++ b/Mage.Sets/src/mage/cards/s/SporeFrog.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventAllDamageByAllPermanentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class SporeFrog extends CardImpl { public SporeFrog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Frog"); + this.subtype.add(SubType.FROG); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SporebackTroll.java b/Mage.Sets/src/mage/cards/s/SporebackTroll.java index 5cab3a4d5c1..1a5a2cff9cd 100644 --- a/Mage.Sets/src/mage/cards/s/SporebackTroll.java +++ b/Mage.Sets/src/mage/cards/s/SporebackTroll.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.GraftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -56,8 +57,8 @@ public class SporebackTroll extends CardImpl { public SporebackTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Troll"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.TROLL); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SporecapSpider.java b/Mage.Sets/src/mage/cards/s/SporecapSpider.java index df12b47d19f..a521c847bfa 100644 --- a/Mage.Sets/src/mage/cards/s/SporecapSpider.java +++ b/Mage.Sets/src/mage/cards/s/SporecapSpider.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SporecapSpider extends CardImpl { public SporecapSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/Sporemound.java b/Mage.Sets/src/mage/cards/s/Sporemound.java index b8de362abf2..6d54f52cc5c 100644 --- a/Mage.Sets/src/mage/cards/s/Sporemound.java +++ b/Mage.Sets/src/mage/cards/s/Sporemound.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterLandPermanent; import mage.game.permanent.token.SaprolingToken; @@ -46,7 +47,7 @@ public class Sporemound extends CardImpl { public Sporemound(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SporesowerThallid.java b/Mage.Sets/src/mage/cards/s/SporesowerThallid.java index e8f686bb3ca..f45c1a5d782 100644 --- a/Mage.Sets/src/mage/cards/s/SporesowerThallid.java +++ b/Mage.Sets/src/mage/cards/s/SporesowerThallid.java @@ -60,7 +60,7 @@ public class SporesowerThallid extends CardImpl { public SporesowerThallid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SporolothAncient.java b/Mage.Sets/src/mage/cards/s/SporolothAncient.java index d6302c21e29..55b14907b29 100644 --- a/Mage.Sets/src/mage/cards/s/SporolothAncient.java +++ b/Mage.Sets/src/mage/cards/s/SporolothAncient.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class SporolothAncient extends CardImpl { public SporolothAncient(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SpottedGriffin.java b/Mage.Sets/src/mage/cards/s/SpottedGriffin.java index e864a204a31..a3d3be3ab6b 100644 --- a/Mage.Sets/src/mage/cards/s/SpottedGriffin.java +++ b/Mage.Sets/src/mage/cards/s/SpottedGriffin.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SpottedGriffin extends CardImpl { public SpottedGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SpreadingAlgae.java b/Mage.Sets/src/mage/cards/s/SpreadingAlgae.java index b866be74319..6dc6c1437f6 100644 --- a/Mage.Sets/src/mage/cards/s/SpreadingAlgae.java +++ b/Mage.Sets/src/mage/cards/s/SpreadingAlgae.java @@ -58,7 +58,7 @@ public class SpreadingAlgae extends CardImpl { public SpreadingAlgae(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant Swamp TargetPermanent auraTarget = new TargetPermanent(filter); diff --git a/Mage.Sets/src/mage/cards/s/SpreadingSeas.java b/Mage.Sets/src/mage/cards/s/SpreadingSeas.java index 3088c744c1f..e49b92782c0 100644 --- a/Mage.Sets/src/mage/cards/s/SpreadingSeas.java +++ b/Mage.Sets/src/mage/cards/s/SpreadingSeas.java @@ -54,7 +54,7 @@ public class SpreadingSeas extends CardImpl { public SpreadingSeas(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SpringingTiger.java b/Mage.Sets/src/mage/cards/s/SpringingTiger.java index 19edaed8c98..c9824c0daae 100644 --- a/Mage.Sets/src/mage/cards/s/SpringingTiger.java +++ b/Mage.Sets/src/mage/cards/s/SpringingTiger.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class SpringingTiger extends CardImpl { public SpringingTiger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SpringjackKnight.java b/Mage.Sets/src/mage/cards/s/SpringjackKnight.java index 4a784e67ce8..32f754cfcd8 100644 --- a/Mage.Sets/src/mage/cards/s/SpringjackKnight.java +++ b/Mage.Sets/src/mage/cards/s/SpringjackKnight.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class SpringjackKnight extends CardImpl { public SpringjackKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Knight"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpringjackShepherd.java b/Mage.Sets/src/mage/cards/s/SpringjackShepherd.java index 5909c165f1a..821ec5414ee 100644 --- a/Mage.Sets/src/mage/cards/s/SpringjackShepherd.java +++ b/Mage.Sets/src/mage/cards/s/SpringjackShepherd.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.game.Game; import mage.game.permanent.Permanent; @@ -51,8 +52,8 @@ public class SpringjackShepherd extends CardImpl { public SpringjackShepherd(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SprintingWarbrute.java b/Mage.Sets/src/mage/cards/s/SprintingWarbrute.java index c86ec8d14a8..da1e2de6099 100644 --- a/Mage.Sets/src/mage/cards/s/SprintingWarbrute.java +++ b/Mage.Sets/src/mage/cards/s/SprintingWarbrute.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.DashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SprintingWarbrute extends CardImpl { public SprintingWarbrute(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SpriteNoble.java b/Mage.Sets/src/mage/cards/s/SpriteNoble.java index fd7ea9795ec..121e498b75e 100644 --- a/Mage.Sets/src/mage/cards/s/SpriteNoble.java +++ b/Mage.Sets/src/mage/cards/s/SpriteNoble.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -57,7 +58,7 @@ public class SpriteNoble extends CardImpl { public SpriteNoble(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SproutingPhytohydra.java b/Mage.Sets/src/mage/cards/s/SproutingPhytohydra.java index 106f1f9572e..b0deef01b2f 100644 --- a/Mage.Sets/src/mage/cards/s/SproutingPhytohydra.java +++ b/Mage.Sets/src/mage/cards/s/SproutingPhytohydra.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class SproutingPhytohydra extends CardImpl { public SproutingPhytohydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SproutingThrinax.java b/Mage.Sets/src/mage/cards/s/SproutingThrinax.java index 496205c37e4..83d707c70ec 100644 --- a/Mage.Sets/src/mage/cards/s/SproutingThrinax.java +++ b/Mage.Sets/src/mage/cards/s/SproutingThrinax.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.SaprolingToken; /** @@ -49,7 +50,7 @@ public class SproutingThrinax extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{R}{G}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SpurGrappler.java b/Mage.Sets/src/mage/cards/s/SpurGrappler.java index a1b2933a983..3cc931b2b47 100644 --- a/Mage.Sets/src/mage/cards/s/SpurGrappler.java +++ b/Mage.Sets/src/mage/cards/s/SpurGrappler.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -57,7 +58,7 @@ public class SpurGrappler extends CardImpl { public SpurGrappler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpurnmageAdvocate.java b/Mage.Sets/src/mage/cards/s/SpurnmageAdvocate.java index 019088491ea..45cac43ef55 100644 --- a/Mage.Sets/src/mage/cards/s/SpurnmageAdvocate.java +++ b/Mage.Sets/src/mage/cards/s/SpurnmageAdvocate.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterCard; @@ -60,8 +61,8 @@ public class SpurnmageAdvocate extends CardImpl { public SpurnmageAdvocate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SpurredWolverine.java b/Mage.Sets/src/mage/cards/s/SpurredWolverine.java index b952bd9ba8d..2dd341dc655 100644 --- a/Mage.Sets/src/mage/cards/s/SpurredWolverine.java +++ b/Mage.Sets/src/mage/cards/s/SpurredWolverine.java @@ -62,8 +62,8 @@ public class SpurredWolverine extends CardImpl { public SpurredWolverine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Wolverine"); - this.subtype.add("Beast"); + this.subtype.add(SubType.WOLVERINE); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SquadronHawk.java b/Mage.Sets/src/mage/cards/s/SquadronHawk.java index 4ecc81b6784..75677f523da 100644 --- a/Mage.Sets/src/mage/cards/s/SquadronHawk.java +++ b/Mage.Sets/src/mage/cards/s/SquadronHawk.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.NamePredicate; import mage.target.common.TargetCardInLibrary; @@ -54,7 +55,7 @@ public class SquadronHawk extends CardImpl { public SquadronHawk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SquallDrifter.java b/Mage.Sets/src/mage/cards/s/SquallDrifter.java index 927166ca7f3..8d0dc088b5e 100644 --- a/Mage.Sets/src/mage/cards/s/SquallDrifter.java +++ b/Mage.Sets/src/mage/cards/s/SquallDrifter.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -51,7 +52,7 @@ public class SquallDrifter extends CardImpl { public SquallDrifter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); this.addSuperType(SuperType.SNOW); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Squallmonger.java b/Mage.Sets/src/mage/cards/s/Squallmonger.java index 2c708d82731..35ba45e1bf6 100644 --- a/Mage.Sets/src/mage/cards/s/Squallmonger.java +++ b/Mage.Sets/src/mage/cards/s/Squallmonger.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -58,7 +59,7 @@ public class Squallmonger extends CardImpl { public Squallmonger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Monger"); + this.subtype.add(SubType.MONGER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SqueakingPieGrubfellows.java b/Mage.Sets/src/mage/cards/s/SqueakingPieGrubfellows.java index 350ce52b90d..ab1bb7af2ba 100644 --- a/Mage.Sets/src/mage/cards/s/SqueakingPieGrubfellows.java +++ b/Mage.Sets/src/mage/cards/s/SqueakingPieGrubfellows.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.discard.DiscardEachPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,8 +46,8 @@ public class SqueakingPieGrubfellows extends CardImpl { public SqueakingPieGrubfellows(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SqueakingPieSneak.java b/Mage.Sets/src/mage/cards/s/SqueakingPieSneak.java index e974987f160..1a616cc8d70 100644 --- a/Mage.Sets/src/mage/cards/s/SqueakingPieSneak.java +++ b/Mage.Sets/src/mage/cards/s/SqueakingPieSneak.java @@ -54,8 +54,8 @@ public class SqueakingPieSneak extends CardImpl { public SqueakingPieSneak(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SquealingDevil.java b/Mage.Sets/src/mage/cards/s/SquealingDevil.java index d098afaaaad..eb94a17919f 100644 --- a/Mage.Sets/src/mage/cards/s/SquealingDevil.java +++ b/Mage.Sets/src/mage/cards/s/SquealingDevil.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessConditionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; @@ -62,7 +63,7 @@ public class SquealingDevil extends CardImpl { public SquealingDevil(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SqueeGoblinNabob.java b/Mage.Sets/src/mage/cards/s/SqueeGoblinNabob.java index 33814ac7004..2694d10487c 100644 --- a/Mage.Sets/src/mage/cards/s/SqueeGoblinNabob.java +++ b/Mage.Sets/src/mage/cards/s/SqueeGoblinNabob.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class SqueeGoblinNabob extends CardImpl { public SqueeGoblinNabob(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SqueesEmbrace.java b/Mage.Sets/src/mage/cards/s/SqueesEmbrace.java index 6b7935ad155..21d269ed362 100644 --- a/Mage.Sets/src/mage/cards/s/SqueesEmbrace.java +++ b/Mage.Sets/src/mage/cards/s/SqueesEmbrace.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class SqueesEmbrace extends CardImpl { public SqueesEmbrace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SquelchingLeeches.java b/Mage.Sets/src/mage/cards/s/SquelchingLeeches.java index 8a75973202b..1dcf89828b3 100644 --- a/Mage.Sets/src/mage/cards/s/SquelchingLeeches.java +++ b/Mage.Sets/src/mage/cards/s/SquelchingLeeches.java @@ -55,7 +55,7 @@ public class SquelchingLeeches extends CardImpl { public SquelchingLeeches(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Leech"); + this.subtype.add(SubType.LEECH); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/Squire.java b/Mage.Sets/src/mage/cards/s/Squire.java index 283e970a758..f3c09847275 100644 --- a/Mage.Sets/src/mage/cards/s/Squire.java +++ b/Mage.Sets/src/mage/cards/s/Squire.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class Squire extends CardImpl { public Squire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SquirmingMass.java b/Mage.Sets/src/mage/cards/s/SquirmingMass.java index 15e914dacfb..d6044bd8605 100644 --- a/Mage.Sets/src/mage/cards/s/SquirmingMass.java +++ b/Mage.Sets/src/mage/cards/s/SquirmingMass.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SquirmingMass extends CardImpl { public SquirmingMass(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SquirrelMob.java b/Mage.Sets/src/mage/cards/s/SquirrelMob.java index 7cee6def596..411bac04092 100644 --- a/Mage.Sets/src/mage/cards/s/SquirrelMob.java +++ b/Mage.Sets/src/mage/cards/s/SquirrelMob.java @@ -53,7 +53,7 @@ public class SquirrelMob extends CardImpl { public SquirrelMob(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Squirrel"); + this.subtype.add(SubType.SQUIRREL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SquirrelNest.java b/Mage.Sets/src/mage/cards/s/SquirrelNest.java index c231b8c743f..7adbf5da43b 100644 --- a/Mage.Sets/src/mage/cards/s/SquirrelNest.java +++ b/Mage.Sets/src/mage/cards/s/SquirrelNest.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class SquirrelNest extends CardImpl { public SquirrelNest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/s/SquirrelWrangler.java b/Mage.Sets/src/mage/cards/s/SquirrelWrangler.java index 4bcf6b0fa01..d3a17d1a39d 100644 --- a/Mage.Sets/src/mage/cards/s/SquirrelWrangler.java +++ b/Mage.Sets/src/mage/cards/s/SquirrelWrangler.java @@ -56,8 +56,8 @@ public class SquirrelWrangler extends CardImpl { public SquirrelWrangler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SramSeniorEdificer.java b/Mage.Sets/src/mage/cards/s/SramSeniorEdificer.java index 8bf4da584d0..6425fa1d6b1 100644 --- a/Mage.Sets/src/mage/cards/s/SramSeniorEdificer.java +++ b/Mage.Sets/src/mage/cards/s/SramSeniorEdificer.java @@ -58,8 +58,8 @@ public class SramSeniorEdificer extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dwarf"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StabWound.java b/Mage.Sets/src/mage/cards/s/StabWound.java index 3d8cc0e5a75..b260328ced0 100644 --- a/Mage.Sets/src/mage/cards/s/StabWound.java +++ b/Mage.Sets/src/mage/cards/s/StabWound.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -56,7 +57,7 @@ public class StabWound extends CardImpl { public StabWound (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/StagBeetle.java b/Mage.Sets/src/mage/cards/s/StagBeetle.java index 54615d81987..f5c1795f8df 100644 --- a/Mage.Sets/src/mage/cards/s/StagBeetle.java +++ b/Mage.Sets/src/mage/cards/s/StagBeetle.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -53,7 +54,7 @@ public class StagBeetle extends CardImpl { public StagBeetle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/StalkerHag.java b/Mage.Sets/src/mage/cards/s/StalkerHag.java index 9b40e2ac8da..cf8c95fbf4f 100644 --- a/Mage.Sets/src/mage/cards/s/StalkerHag.java +++ b/Mage.Sets/src/mage/cards/s/StalkerHag.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class StalkerHag extends CardImpl { public StalkerHag(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B/G}{B/G}{B/G}"); - this.subtype.add("Hag"); + this.subtype.add(SubType.HAG); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StalkingAssassin.java b/Mage.Sets/src/mage/cards/s/StalkingAssassin.java index a5f5ec1a7bf..c2c5844050e 100644 --- a/Mage.Sets/src/mage/cards/s/StalkingAssassin.java +++ b/Mage.Sets/src/mage/cards/s/StalkingAssassin.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.TappedPredicate; @@ -58,8 +59,8 @@ public class StalkingAssassin extends CardImpl { public StalkingAssassin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{B}"); - this.subtype.add("Human"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StalkingBloodsucker.java b/Mage.Sets/src/mage/cards/s/StalkingBloodsucker.java index 8e18552a889..748c89b59db 100644 --- a/Mage.Sets/src/mage/cards/s/StalkingBloodsucker.java +++ b/Mage.Sets/src/mage/cards/s/StalkingBloodsucker.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class StalkingBloodsucker extends CardImpl { public StalkingBloodsucker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StalkingDrone.java b/Mage.Sets/src/mage/cards/s/StalkingDrone.java index 47dfca6d853..94770641d4e 100644 --- a/Mage.Sets/src/mage/cards/s/StalkingDrone.java +++ b/Mage.Sets/src/mage/cards/s/StalkingDrone.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class StalkingDrone extends CardImpl { public StalkingDrone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StalkingTiger.java b/Mage.Sets/src/mage/cards/s/StalkingTiger.java index 2dec078022a..003e8038c2a 100644 --- a/Mage.Sets/src/mage/cards/s/StalkingTiger.java +++ b/Mage.Sets/src/mage/cards/s/StalkingTiger.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByMoreThanOneSourceEffe import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -44,7 +45,7 @@ public class StalkingTiger extends CardImpl { public StalkingTiger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StalkingVampire.java b/Mage.Sets/src/mage/cards/s/StalkingVampire.java index b359db6f745..46e97503cef 100644 --- a/Mage.Sets/src/mage/cards/s/StalkingVampire.java +++ b/Mage.Sets/src/mage/cards/s/StalkingVampire.java @@ -34,6 +34,7 @@ import mage.abilities.decorator.ConditionalTriggeredAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author nantuko @@ -42,7 +43,7 @@ public class StalkingVampire extends CardImpl { public StalkingVampire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.color.setBlack(true); this.nightCard = true; diff --git a/Mage.Sets/src/mage/cards/s/StalkingVengeance.java b/Mage.Sets/src/mage/cards/s/StalkingVengeance.java index beab1ee1eeb..74ae405cf6d 100644 --- a/Mage.Sets/src/mage/cards/s/StalkingVengeance.java +++ b/Mage.Sets/src/mage/cards/s/StalkingVengeance.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -61,7 +62,7 @@ public class StalkingVengeance extends CardImpl { public StalkingVengeance(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/StallionOfAshmouth.java b/Mage.Sets/src/mage/cards/s/StallionOfAshmouth.java index 9cf4be10753..666b1e587a6 100644 --- a/Mage.Sets/src/mage/cards/s/StallionOfAshmouth.java +++ b/Mage.Sets/src/mage/cards/s/StallionOfAshmouth.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class StallionOfAshmouth extends CardImpl { public StallionOfAshmouth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Nightmare"); - this.subtype.add("Horse"); + this.subtype.add(SubType.NIGHTMARE); + this.subtype.add(SubType.HORSE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StalwartAven.java b/Mage.Sets/src/mage/cards/s/StalwartAven.java index 04598968afc..30859d808ab 100644 --- a/Mage.Sets/src/mage/cards/s/StalwartAven.java +++ b/Mage.Sets/src/mage/cards/s/StalwartAven.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.RenownAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class StalwartAven extends CardImpl { public StalwartAven(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StalwartShieldBearers.java b/Mage.Sets/src/mage/cards/s/StalwartShieldBearers.java index 5f46f6a87cb..862736c2d2f 100644 --- a/Mage.Sets/src/mage/cards/s/StalwartShieldBearers.java +++ b/Mage.Sets/src/mage/cards/s/StalwartShieldBearers.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -54,8 +55,8 @@ public class StalwartShieldBearers extends CardImpl { public StalwartShieldBearers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StampedeDriver.java b/Mage.Sets/src/mage/cards/s/StampedeDriver.java index 1ed00ed2082..4f768600a9f 100644 --- a/Mage.Sets/src/mage/cards/s/StampedeDriver.java +++ b/Mage.Sets/src/mage/cards/s/StampedeDriver.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -53,8 +54,8 @@ public class StampedeDriver extends CardImpl { public StampedeDriver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StampedingElkHerd.java b/Mage.Sets/src/mage/cards/s/StampedingElkHerd.java index a57c6a2acca..1c77640ee19 100644 --- a/Mage.Sets/src/mage/cards/s/StampedingElkHerd.java +++ b/Mage.Sets/src/mage/cards/s/StampedingElkHerd.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterControlledCreaturePermanent; @@ -48,7 +49,7 @@ public class StampedingElkHerd extends CardImpl { public StampedingElkHerd(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elk"); + this.subtype.add(SubType.ELK); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/StampedingRhino.java b/Mage.Sets/src/mage/cards/s/StampedingRhino.java index dd7a616b9e7..fa724cef961 100644 --- a/Mage.Sets/src/mage/cards/s/StampedingRhino.java +++ b/Mage.Sets/src/mage/cards/s/StampedingRhino.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -42,7 +43,7 @@ public class StampedingRhino extends CardImpl { public StampedingRhino(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Rhino"); + this.subtype.add(SubType.RHINO); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StampedingSerow.java b/Mage.Sets/src/mage/cards/s/StampedingSerow.java index 683aeaca94a..cf5cddf1779 100644 --- a/Mage.Sets/src/mage/cards/s/StampedingSerow.java +++ b/Mage.Sets/src/mage/cards/s/StampedingSerow.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -53,8 +54,8 @@ public class StampedingSerow extends CardImpl { public StampedingSerow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Antelope"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ANTELOPE); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StampedingWildebeests.java b/Mage.Sets/src/mage/cards/s/StampedingWildebeests.java index 3260ac2bdaf..00b4226c406 100644 --- a/Mage.Sets/src/mage/cards/s/StampedingWildebeests.java +++ b/Mage.Sets/src/mage/cards/s/StampedingWildebeests.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -55,8 +56,8 @@ public class StampedingWildebeests extends CardImpl { public StampedingWildebeests(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Antelope"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ANTELOPE); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StandardBearer.java b/Mage.Sets/src/mage/cards/s/StandardBearer.java index 612383f31d4..4d9c7aea4c8 100644 --- a/Mage.Sets/src/mage/cards/s/StandardBearer.java +++ b/Mage.Sets/src/mage/cards/s/StandardBearer.java @@ -1,67 +1,67 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.ruleModifying.TargetsHaveToTargetPermanentIfAbleEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.FilterPermanent; - -/** - * - * @author LevelX2 - */ -public class StandardBearer extends CardImpl { - - public StandardBearer(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - - this.subtype.add("Human"); - this.subtype.add("Flagbearer"); - this.power = new MageInt(1); - this.toughness = new MageInt(1); - - // While choosing targets as part of casting a spell or activating an ability, your opponents must choose at least one Flagbearer on the battlefield if able. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new TargetsHaveToTargetPermanentIfAbleEffect(new FilterPermanent(SubType.FLAGBEARER, "one Flagbearer")))); - } - - public StandardBearer(final StandardBearer card) { - super(card); - } - - @Override - public StandardBearer copy() { - return new StandardBearer(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.ruleModifying.TargetsHaveToTargetPermanentIfAbleEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.FilterPermanent; + +/** + * + * @author LevelX2 + */ +public class StandardBearer extends CardImpl { + + public StandardBearer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); + + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.FLAGBEARER); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // While choosing targets as part of casting a spell or activating an ability, your opponents must choose at least one Flagbearer on the battlefield if able. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new TargetsHaveToTargetPermanentIfAbleEffect(new FilterPermanent(SubType.FLAGBEARER, "one Flagbearer")))); + } + + public StandardBearer(final StandardBearer card) { + super(card); + } + + @Override + public StandardBearer copy() { + return new StandardBearer(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/StandingTroops.java b/Mage.Sets/src/mage/cards/s/StandingTroops.java index 6602a0cdf68..eadb14be2c9 100644 --- a/Mage.Sets/src/mage/cards/s/StandingTroops.java +++ b/Mage.Sets/src/mage/cards/s/StandingTroops.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class StandingTroops extends CardImpl { public StandingTroops(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StarDestroyer.java b/Mage.Sets/src/mage/cards/s/StarDestroyer.java index 54db0188f4f..9c51ba69079 100644 --- a/Mage.Sets/src/mage/cards/s/StarDestroyer.java +++ b/Mage.Sets/src/mage/cards/s/StarDestroyer.java @@ -1,98 +1,98 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.effects.common.DamageTargetEffect; -import mage.abilities.effects.common.TapTargetEffect; -import mage.abilities.keyword.SpaceflightAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterCreatureOrPlayer; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.CardTypePredicate; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.game.permanent.token.TIEFighterToken; -import mage.target.common.TargetCreatureOrPlayer; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class StarDestroyer extends CardImpl { - - private static final FilterCreaturePermanent filter1 = new FilterCreaturePermanent("artifact creature"); - private static final FilterCreatureOrPlayer filter3 = new FilterCreatureOrPlayer("non-Starship creature or player"); - - static { - filter1.add(new CardTypePredicate(CardType.ARTIFACT)); - filter3.getCreatureFilter().add(Predicates.not(new SubtypePredicate(SubType.STARSHIP))); - } - - public StarDestroyer(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{U}{B}{R}"); - this.subtype.add("Starship"); - this.power = new MageInt(6); - this.toughness = new MageInt(6); - - // Spaceflight - this.addAbility(SpaceflightAbility.getInstance()); - - // {2}{U}: Tap target artifact creature. - 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}"))); - - // {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.addTarget(new TargetCreatureOrPlayer(filter3)); - this.addAbility(ability); - } - - public StarDestroyer(final StarDestroyer card) { - super(card); - } - - @Override - public StarDestroyer copy() { - return new StarDestroyer(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.TapTargetEffect; +import mage.abilities.keyword.SpaceflightAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterCreatureOrPlayer; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.permanent.token.TIEFighterToken; +import mage.target.common.TargetCreatureOrPlayer; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class StarDestroyer extends CardImpl { + + private static final FilterCreaturePermanent filter1 = new FilterCreaturePermanent("artifact creature"); + private static final FilterCreatureOrPlayer filter3 = new FilterCreatureOrPlayer("non-Starship creature or player"); + + static { + filter1.add(new CardTypePredicate(CardType.ARTIFACT)); + filter3.getCreatureFilter().add(Predicates.not(new SubtypePredicate(SubType.STARSHIP))); + } + + public StarDestroyer(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{U}{B}{R}"); + this.subtype.add(SubType.STARSHIP); + this.power = new MageInt(6); + this.toughness = new MageInt(6); + + // Spaceflight + this.addAbility(SpaceflightAbility.getInstance()); + + // {2}{U}: Tap target artifact creature. + 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}"))); + + // {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.addTarget(new TargetCreatureOrPlayer(filter3)); + this.addAbility(ability); + } + + public StarDestroyer(final StarDestroyer card) { + super(card); + } + + @Override + public StarDestroyer copy() { + return new StarDestroyer(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/StarkeOfRath.java b/Mage.Sets/src/mage/cards/s/StarkeOfRath.java index 6a263a7dd50..64af0c44aa0 100644 --- a/Mage.Sets/src/mage/cards/s/StarkeOfRath.java +++ b/Mage.Sets/src/mage/cards/s/StarkeOfRath.java @@ -64,8 +64,8 @@ public class StarkeOfRath extends CardImpl { public StarkeOfRath(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StarlightInvoker.java b/Mage.Sets/src/mage/cards/s/StarlightInvoker.java index b80ec9d332d..5ab8f1f783f 100644 --- a/Mage.Sets/src/mage/cards/s/StarlightInvoker.java +++ b/Mage.Sets/src/mage/cards/s/StarlightInvoker.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,9 +46,9 @@ public class StarlightInvoker extends CardImpl { public StarlightInvoker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StarlitAngel.java b/Mage.Sets/src/mage/cards/s/StarlitAngel.java index e9efb19f37c..3c07e33a6f1 100644 --- a/Mage.Sets/src/mage/cards/s/StarlitAngel.java +++ b/Mage.Sets/src/mage/cards/s/StarlitAngel.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class StarlitAngel extends CardImpl { public StarlitAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StarvedRusalka.java b/Mage.Sets/src/mage/cards/s/StarvedRusalka.java index 37dc6177272..b46a3e46092 100644 --- a/Mage.Sets/src/mage/cards/s/StarvedRusalka.java +++ b/Mage.Sets/src/mage/cards/s/StarvedRusalka.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -49,7 +50,7 @@ public class StarvedRusalka extends CardImpl { public StarvedRusalka(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StasisCell.java b/Mage.Sets/src/mage/cards/s/StasisCell.java index 19ce8b2ff21..9223c7d969d 100644 --- a/Mage.Sets/src/mage/cards/s/StasisCell.java +++ b/Mage.Sets/src/mage/cards/s/StasisCell.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -52,7 +53,7 @@ public class StasisCell extends CardImpl { public StasisCell(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/StasisCocoon.java b/Mage.Sets/src/mage/cards/s/StasisCocoon.java index cb886ea3b92..432336b35cf 100644 --- a/Mage.Sets/src/mage/cards/s/StasisCocoon.java +++ b/Mage.Sets/src/mage/cards/s/StasisCocoon.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class StasisCocoon extends CardImpl { public StasisCocoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact TargetPermanent auraTarget = new TargetArtifactPermanent(); diff --git a/Mage.Sets/src/mage/cards/s/StaunchDefenders.java b/Mage.Sets/src/mage/cards/s/StaunchDefenders.java index fa35dfee8cf..619ee160957 100644 --- a/Mage.Sets/src/mage/cards/s/StaunchDefenders.java +++ b/Mage.Sets/src/mage/cards/s/StaunchDefenders.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class StaunchDefenders extends CardImpl { public StaunchDefenders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StaunchHeartedWarrior.java b/Mage.Sets/src/mage/cards/s/StaunchHeartedWarrior.java index 90183a0b8fd..1116c3d5e1c 100644 --- a/Mage.Sets/src/mage/cards/s/StaunchHeartedWarrior.java +++ b/Mage.Sets/src/mage/cards/s/StaunchHeartedWarrior.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -44,8 +45,8 @@ public class StaunchHeartedWarrior extends CardImpl { public StaunchHeartedWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SteadfastCathar.java b/Mage.Sets/src/mage/cards/s/SteadfastCathar.java index b5c62f4cf7b..1b9c4098ea7 100644 --- a/Mage.Sets/src/mage/cards/s/SteadfastCathar.java +++ b/Mage.Sets/src/mage/cards/s/SteadfastCathar.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class SteadfastCathar extends CardImpl { public SteadfastCathar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SteadfastGuard.java b/Mage.Sets/src/mage/cards/s/SteadfastGuard.java index 6efea30cb87..062a2d048a3 100644 --- a/Mage.Sets/src/mage/cards/s/SteadfastGuard.java +++ b/Mage.Sets/src/mage/cards/s/SteadfastGuard.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class SteadfastGuard extends CardImpl { public SteadfastGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SteadfastSentinel.java b/Mage.Sets/src/mage/cards/s/SteadfastSentinel.java index f0c439fd717..234de212f18 100644 --- a/Mage.Sets/src/mage/cards/s/SteadfastSentinel.java +++ b/Mage.Sets/src/mage/cards/s/SteadfastSentinel.java @@ -8,14 +8,15 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; public class SteadfastSentinel extends CardImpl { public SteadfastSentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - subtype.add("Human"); - subtype.add("Cleric"); + subtype.add(SubType.HUMAN); + subtype.add(SubType.CLERIC); power = new MageInt(2); toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StealArtifact.java b/Mage.Sets/src/mage/cards/s/StealArtifact.java index d3c0687c69c..9aea653ef71 100644 --- a/Mage.Sets/src/mage/cards/s/StealArtifact.java +++ b/Mage.Sets/src/mage/cards/s/StealArtifact.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class StealArtifact extends CardImpl { public StealArtifact(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact TargetPermanent auraTarget = new TargetArtifactPermanent(); diff --git a/Mage.Sets/src/mage/cards/s/StealEnchantment.java b/Mage.Sets/src/mage/cards/s/StealEnchantment.java index 1c7b2d1793b..9150af9bf0c 100644 --- a/Mage.Sets/src/mage/cards/s/StealEnchantment.java +++ b/Mage.Sets/src/mage/cards/s/StealEnchantment.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class StealEnchantment extends CardImpl { public StealEnchantment(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant enchantment diff --git a/Mage.Sets/src/mage/cards/s/StealerOfSecrets.java b/Mage.Sets/src/mage/cards/s/StealerOfSecrets.java index cb38140be5f..e09050a3dff 100644 --- a/Mage.Sets/src/mage/cards/s/StealerOfSecrets.java +++ b/Mage.Sets/src/mage/cards/s/StealerOfSecrets.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -52,8 +53,8 @@ public class StealerOfSecrets extends CardImpl { public StealerOfSecrets(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SteamCatapult.java b/Mage.Sets/src/mage/cards/s/SteamCatapult.java index 02df5cde0cf..1754250eff4 100644 --- a/Mage.Sets/src/mage/cards/s/SteamCatapult.java +++ b/Mage.Sets/src/mage/cards/s/SteamCatapult.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.TappedPredicate; @@ -56,8 +57,8 @@ public class SteamCatapult extends CardImpl { public SteamCatapult(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SteamFrigate.java b/Mage.Sets/src/mage/cards/s/SteamFrigate.java index 250fb6649da..fa6eaec3964 100644 --- a/Mage.Sets/src/mage/cards/s/SteamFrigate.java +++ b/Mage.Sets/src/mage/cards/s/SteamFrigate.java @@ -46,8 +46,8 @@ public class SteamFrigate extends CardImpl { public SteamFrigate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SteamSpitter.java b/Mage.Sets/src/mage/cards/s/SteamSpitter.java index 1acc02eb26c..dff52a098ce 100644 --- a/Mage.Sets/src/mage/cards/s/SteamSpitter.java +++ b/Mage.Sets/src/mage/cards/s/SteamSpitter.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class SteamSpitter extends CardImpl { public SteamSpitter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SteamVents.java b/Mage.Sets/src/mage/cards/s/SteamVents.java index bdb10769d8b..328427191da 100644 --- a/Mage.Sets/src/mage/cards/s/SteamVents.java +++ b/Mage.Sets/src/mage/cards/s/SteamVents.java @@ -37,6 +37,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class SteamVents extends CardImpl { public SteamVents (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},null); - this.subtype.add("Island"); - this.subtype.add("Mountain"); + this.subtype.add(SubType.ISLAND); + this.subtype.add(SubType.MOUNTAIN); this.addAbility(new BlueManaAbility()); this.addAbility(new RedManaAbility()); this.addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new PayLifeCost(2)), "you may pay 2 life. If you don't, Steam Vents enters the battlefield tapped")); diff --git a/Mage.Sets/src/mage/cards/s/SteamcoreWeird.java b/Mage.Sets/src/mage/cards/s/SteamcoreWeird.java index 235073836d2..bef7de85899 100644 --- a/Mage.Sets/src/mage/cards/s/SteamcoreWeird.java +++ b/Mage.Sets/src/mage/cards/s/SteamcoreWeird.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.target.common.TargetCreatureOrPlayer; import mage.watchers.common.ManaSpentToCastWatcher; @@ -49,7 +50,7 @@ public class SteamcoreWeird extends CardImpl { public SteamcoreWeird(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Weird"); + this.subtype.add(SubType.WEIRD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SteelGolem.java b/Mage.Sets/src/mage/cards/s/SteelGolem.java index cd0df379070..d60e59935f3 100644 --- a/Mage.Sets/src/mage/cards/s/SteelGolem.java +++ b/Mage.Sets/src/mage/cards/s/SteelGolem.java @@ -47,7 +47,7 @@ public class SteelGolem extends CardImpl { public SteelGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SteelHellkite.java b/Mage.Sets/src/mage/cards/s/SteelHellkite.java index 97dcddc0796..0ea95f2bdc3 100644 --- a/Mage.Sets/src/mage/cards/s/SteelHellkite.java +++ b/Mage.Sets/src/mage/cards/s/SteelHellkite.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class SteelHellkite extends CardImpl { public SteelHellkite(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{6}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SteelLeafPaladin.java b/Mage.Sets/src/mage/cards/s/SteelLeafPaladin.java index e1ffeff4ef0..ede2263c955 100644 --- a/Mage.Sets/src/mage/cards/s/SteelLeafPaladin.java +++ b/Mage.Sets/src/mage/cards/s/SteelLeafPaladin.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -55,8 +56,8 @@ public class SteelLeafPaladin extends CardImpl { public SteelLeafPaladin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{W}"); - this.subtype.add("Elf"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SteelOfTheGodhead.java b/Mage.Sets/src/mage/cards/s/SteelOfTheGodhead.java index ece88aea79a..3777e222a52 100644 --- a/Mage.Sets/src/mage/cards/s/SteelOfTheGodhead.java +++ b/Mage.Sets/src/mage/cards/s/SteelOfTheGodhead.java @@ -45,6 +45,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -58,7 +59,7 @@ public class SteelOfTheGodhead extends CardImpl { public SteelOfTheGodhead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W/U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/SteelOverseer.java b/Mage.Sets/src/mage/cards/s/SteelOverseer.java index e21abee8a7f..98956e1dc49 100644 --- a/Mage.Sets/src/mage/cards/s/SteelOverseer.java +++ b/Mage.Sets/src/mage/cards/s/SteelOverseer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -59,7 +60,7 @@ public class SteelOverseer extends CardImpl { public SteelOverseer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SteelWall.java b/Mage.Sets/src/mage/cards/s/SteelWall.java index f195fe4260a..2dc6fa8256e 100644 --- a/Mage.Sets/src/mage/cards/s/SteelWall.java +++ b/Mage.Sets/src/mage/cards/s/SteelWall.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SteelWall extends CardImpl { public SteelWall (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(4); this.addAbility(DefenderAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/s/SteelcladSerpent.java b/Mage.Sets/src/mage/cards/s/SteelcladSerpent.java index 07efd596612..a6ddefc57af 100644 --- a/Mage.Sets/src/mage/cards/s/SteelcladSerpent.java +++ b/Mage.Sets/src/mage/cards/s/SteelcladSerpent.java @@ -35,6 +35,7 @@ import mage.abilities.effects.RestrictionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; @@ -51,7 +52,7 @@ public class SteelcladSerpent extends CardImpl { public SteelcladSerpent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SteelformSliver.java b/Mage.Sets/src/mage/cards/s/SteelformSliver.java index 818c6011d56..e9f792922f7 100644 --- a/Mage.Sets/src/mage/cards/s/SteelformSliver.java +++ b/Mage.Sets/src/mage/cards/s/SteelformSliver.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -46,7 +47,7 @@ public class SteelformSliver extends CardImpl { public SteelformSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SteelshaperApprentice.java b/Mage.Sets/src/mage/cards/s/SteelshaperApprentice.java index a4689af0b8b..f835cd68616 100644 --- a/Mage.Sets/src/mage/cards/s/SteelshaperApprentice.java +++ b/Mage.Sets/src/mage/cards/s/SteelshaperApprentice.java @@ -61,8 +61,8 @@ public class SteelshaperApprentice extends CardImpl { public SteelshaperApprentice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SteepleRoc.java b/Mage.Sets/src/mage/cards/s/SteepleRoc.java index 3dd37cb239e..687c78b8ade 100644 --- a/Mage.Sets/src/mage/cards/s/SteepleRoc.java +++ b/Mage.Sets/src/mage/cards/s/SteepleRoc.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class SteepleRoc extends CardImpl { public SteepleRoc (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Stenchskipper.java b/Mage.Sets/src/mage/cards/s/Stenchskipper.java index cd001af5bb2..cd5ae3977b1 100644 --- a/Mage.Sets/src/mage/cards/s/Stenchskipper.java +++ b/Mage.Sets/src/mage/cards/s/Stenchskipper.java @@ -46,7 +46,7 @@ public class Stenchskipper extends CardImpl { public Stenchskipper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/StensiaInnkeeper.java b/Mage.Sets/src/mage/cards/s/StensiaInnkeeper.java index 62fe86a2f98..1af3e04a472 100644 --- a/Mage.Sets/src/mage/cards/s/StensiaInnkeeper.java +++ b/Mage.Sets/src/mage/cards/s/StensiaInnkeeper.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -55,7 +56,7 @@ public class StensiaInnkeeper extends CardImpl { public StensiaInnkeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SteppeGlider.java b/Mage.Sets/src/mage/cards/s/SteppeGlider.java index 05ef28fdaf6..0581e965394 100644 --- a/Mage.Sets/src/mage/cards/s/SteppeGlider.java +++ b/Mage.Sets/src/mage/cards/s/SteppeGlider.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -60,7 +61,7 @@ public class SteppeGlider extends CardImpl { public SteppeGlider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SteppeLynx.java b/Mage.Sets/src/mage/cards/s/SteppeLynx.java index 8be8998f6cb..ca281f39914 100644 --- a/Mage.Sets/src/mage/cards/s/SteppeLynx.java +++ b/Mage.Sets/src/mage/cards/s/SteppeLynx.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class SteppeLynx extends CardImpl { public SteppeLynx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SternConstable.java b/Mage.Sets/src/mage/cards/s/SternConstable.java index 006f2b665b5..821438577bd 100644 --- a/Mage.Sets/src/mage/cards/s/SternConstable.java +++ b/Mage.Sets/src/mage/cards/s/SternConstable.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCardInHand; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class SternConstable extends CardImpl { public SternConstable(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SternMarshal.java b/Mage.Sets/src/mage/cards/s/SternMarshal.java index d0bd4340eef..c32f2ee12ba 100644 --- a/Mage.Sets/src/mage/cards/s/SternMarshal.java +++ b/Mage.Sets/src/mage/cards/s/SternMarshal.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class SternMarshal extends CardImpl { public SternMarshal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SternMentor.java b/Mage.Sets/src/mage/cards/s/SternMentor.java index ef1e2ae8208..2088d0d96a4 100644 --- a/Mage.Sets/src/mage/cards/s/SternMentor.java +++ b/Mage.Sets/src/mage/cards/s/SternMentor.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -51,8 +52,8 @@ public class SternMentor extends CardImpl { public SternMentor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SternProctor.java b/Mage.Sets/src/mage/cards/s/SternProctor.java index 7003d55225a..203ccc3d04d 100644 --- a/Mage.Sets/src/mage/cards/s/SternProctor.java +++ b/Mage.Sets/src/mage/cards/s/SternProctor.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -47,8 +48,8 @@ public class SternProctor extends CardImpl { public SternProctor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StewardOfSolidarity.java b/Mage.Sets/src/mage/cards/s/StewardOfSolidarity.java index 8f8f948145f..be9d516428b 100644 --- a/Mage.Sets/src/mage/cards/s/StewardOfSolidarity.java +++ b/Mage.Sets/src/mage/cards/s/StewardOfSolidarity.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.WarriorVigilantToken; @@ -50,8 +51,8 @@ public class StewardOfSolidarity extends CardImpl { public StewardOfSolidarity(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StewardOfValeron.java b/Mage.Sets/src/mage/cards/s/StewardOfValeron.java index d99f98c21e7..11664687871 100644 --- a/Mage.Sets/src/mage/cards/s/StewardOfValeron.java +++ b/Mage.Sets/src/mage/cards/s/StewardOfValeron.java @@ -35,6 +35,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,9 +45,9 @@ public class StewardOfValeron extends CardImpl { public StewardOfValeron (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StigmaLasher.java b/Mage.Sets/src/mage/cards/s/StigmaLasher.java index 72db0bbe4b8..0ddb272c38e 100644 --- a/Mage.Sets/src/mage/cards/s/StigmaLasher.java +++ b/Mage.Sets/src/mage/cards/s/StigmaLasher.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -51,8 +52,8 @@ public class StigmaLasher extends CardImpl { public StigmaLasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StillLife.java b/Mage.Sets/src/mage/cards/s/StillLife.java index 7674f284359..dd07546df2f 100644 --- a/Mage.Sets/src/mage/cards/s/StillLife.java +++ b/Mage.Sets/src/mage/cards/s/StillLife.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -68,7 +69,7 @@ class StillLifeCentaur extends Token { public StillLifeCentaur() { super("Centaur", "4/3 Centaur creature token"); cardType.add(CardType.CREATURE); - subtype.add("Centaur"); + subtype.add(SubType.CENTAUR); power = new MageInt(4); toughness = new MageInt(3); } diff --git a/Mage.Sets/src/mage/cards/s/StillmoonCavalier.java b/Mage.Sets/src/mage/cards/s/StillmoonCavalier.java index 4bae434a693..b4300773334 100644 --- a/Mage.Sets/src/mage/cards/s/StillmoonCavalier.java +++ b/Mage.Sets/src/mage/cards/s/StillmoonCavalier.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class StillmoonCavalier extends CardImpl { public StillmoonCavalier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W/B}{W/B}"); - this.subtype.add("Zombie"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StingerflingSpider.java b/Mage.Sets/src/mage/cards/s/StingerflingSpider.java index 60a6dacfdfe..707a93246e2 100644 --- a/Mage.Sets/src/mage/cards/s/StingerflingSpider.java +++ b/Mage.Sets/src/mage/cards/s/StingerflingSpider.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; import mage.target.common.TargetCreaturePermanent; @@ -55,7 +56,7 @@ public class StingerflingSpider extends CardImpl { public StingerflingSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/StingingBarrier.java b/Mage.Sets/src/mage/cards/s/StingingBarrier.java index d1706890f46..b281444e16b 100644 --- a/Mage.Sets/src/mage/cards/s/StingingBarrier.java +++ b/Mage.Sets/src/mage/cards/s/StingingBarrier.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,7 +49,7 @@ public class StingingBarrier extends CardImpl { public StingingBarrier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StingingLicid.java b/Mage.Sets/src/mage/cards/s/StingingLicid.java index 0e1913d237f..f95bdaa088a 100644 --- a/Mage.Sets/src/mage/cards/s/StingingLicid.java +++ b/Mage.Sets/src/mage/cards/s/StingingLicid.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageAttachedControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; /** @@ -47,7 +48,7 @@ public class StingingLicid extends CardImpl { public StingingLicid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Licid"); + this.subtype.add(SubType.LICID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Stingmoggie.java b/Mage.Sets/src/mage/cards/s/Stingmoggie.java index ace3f9fa48b..c714639552c 100644 --- a/Mage.Sets/src/mage/cards/s/Stingmoggie.java +++ b/Mage.Sets/src/mage/cards/s/Stingmoggie.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterPermanent; @@ -62,7 +63,7 @@ public class Stingmoggie extends CardImpl { public Stingmoggie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/Stingscourger.java b/Mage.Sets/src/mage/cards/s/Stingscourger.java index 7adb71238ba..ff153d2735c 100644 --- a/Mage.Sets/src/mage/cards/s/Stingscourger.java +++ b/Mage.Sets/src/mage/cards/s/Stingscourger.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -55,8 +56,8 @@ public class Stingscourger extends CardImpl { public Stingscourger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StinkdrinkerBandit.java b/Mage.Sets/src/mage/cards/s/StinkdrinkerBandit.java index 3b7808f3c1c..dd8d1a346a8 100644 --- a/Mage.Sets/src/mage/cards/s/StinkdrinkerBandit.java +++ b/Mage.Sets/src/mage/cards/s/StinkdrinkerBandit.java @@ -62,8 +62,8 @@ public class StinkdrinkerBandit extends CardImpl { public StinkdrinkerBandit(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StinkdrinkerDaredevil.java b/Mage.Sets/src/mage/cards/s/StinkdrinkerDaredevil.java index 9ba3cede774..7f8e0d5e559 100644 --- a/Mage.Sets/src/mage/cards/s/StinkdrinkerDaredevil.java +++ b/Mage.Sets/src/mage/cards/s/StinkdrinkerDaredevil.java @@ -53,8 +53,8 @@ public class StinkdrinkerDaredevil extends CardImpl { public StinkdrinkerDaredevil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StinkweedImp.java b/Mage.Sets/src/mage/cards/s/StinkweedImp.java index 1be8e10db63..d0755e68d8b 100644 --- a/Mage.Sets/src/mage/cards/s/StinkweedImp.java +++ b/Mage.Sets/src/mage/cards/s/StinkweedImp.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class StinkweedImp extends CardImpl { public StinkweedImp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StirringWildwood.java b/Mage.Sets/src/mage/cards/s/StirringWildwood.java index f337e020931..f534e1a1d90 100644 --- a/Mage.Sets/src/mage/cards/s/StirringWildwood.java +++ b/Mage.Sets/src/mage/cards/s/StirringWildwood.java @@ -40,6 +40,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -74,7 +75,7 @@ class StirringWildwoodToken extends Token { public StirringWildwoodToken() { super("", "3/4 green and white Elemental creature with reach"); cardType.add(CardType.CREATURE); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); color.setGreen(true); color.setWhite(true); power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StitchedDrake.java b/Mage.Sets/src/mage/cards/s/StitchedDrake.java index c225033268a..b23d24091f4 100644 --- a/Mage.Sets/src/mage/cards/s/StitchedDrake.java +++ b/Mage.Sets/src/mage/cards/s/StitchedDrake.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInYourGraveyard; @@ -44,8 +45,8 @@ public class StitchedDrake extends CardImpl { public StitchedDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Drake"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StitchedMangler.java b/Mage.Sets/src/mage/cards/s/StitchedMangler.java index 03c0b65775d..d876c86b38b 100644 --- a/Mage.Sets/src/mage/cards/s/StitchedMangler.java +++ b/Mage.Sets/src/mage/cards/s/StitchedMangler.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -56,8 +57,8 @@ public class StitchedMangler extends CardImpl { public StitchedMangler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StitcherGeralf.java b/Mage.Sets/src/mage/cards/s/StitcherGeralf.java index 6f4d0b54d5c..b8dba15a736 100644 --- a/Mage.Sets/src/mage/cards/s/StitcherGeralf.java +++ b/Mage.Sets/src/mage/cards/s/StitcherGeralf.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -55,8 +56,8 @@ public class StitcherGeralf extends CardImpl { public StitcherGeralf(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StitchersApprentice.java b/Mage.Sets/src/mage/cards/s/StitchersApprentice.java index bb8d4d320eb..a26f562cf7a 100644 --- a/Mage.Sets/src/mage/cards/s/StitchersApprentice.java +++ b/Mage.Sets/src/mage/cards/s/StitchersApprentice.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -56,7 +57,7 @@ public class StitchersApprentice extends CardImpl { public StitchersApprentice(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Homunculus"); + this.subtype.add(SubType.HOMUNCULUS); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StitchersGraft.java b/Mage.Sets/src/mage/cards/s/StitchersGraft.java index b3e8e90fe71..bf71a08bee8 100644 --- a/Mage.Sets/src/mage/cards/s/StitchersGraft.java +++ b/Mage.Sets/src/mage/cards/s/StitchersGraft.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class StitchersGraft extends CardImpl { public StitchersGraft(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +3/+3. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 3))); diff --git a/Mage.Sets/src/mage/cards/s/StitchwingSkaab.java b/Mage.Sets/src/mage/cards/s/StitchwingSkaab.java index a8658f8f454..820f4406339 100644 --- a/Mage.Sets/src/mage/cards/s/StitchwingSkaab.java +++ b/Mage.Sets/src/mage/cards/s/StitchwingSkaab.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.target.common.TargetCardInHand; @@ -50,8 +51,8 @@ public class StitchwingSkaab extends CardImpl { public StitchwingSkaab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StoicAngel.java b/Mage.Sets/src/mage/cards/s/StoicAngel.java index c01889827c6..54a8d8bb645 100644 --- a/Mage.Sets/src/mage/cards/s/StoicAngel.java +++ b/Mage.Sets/src/mage/cards/s/StoicAngel.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -52,7 +53,7 @@ public class StoicAngel extends CardImpl { public StoicAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}{U}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StoicBuilder.java b/Mage.Sets/src/mage/cards/s/StoicBuilder.java index e437f98c9e1..ecf07a71173 100644 --- a/Mage.Sets/src/mage/cards/s/StoicBuilder.java +++ b/Mage.Sets/src/mage/cards/s/StoicBuilder.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterLandCard; import mage.target.common.TargetCardInYourGraveyard; @@ -46,7 +47,7 @@ public class StoicBuilder extends CardImpl { public StoicBuilder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StoicChampion.java b/Mage.Sets/src/mage/cards/s/StoicChampion.java index 2b4ed161482..144820f97d2 100644 --- a/Mage.Sets/src/mage/cards/s/StoicChampion.java +++ b/Mage.Sets/src/mage/cards/s/StoicChampion.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,8 +45,8 @@ public class StoicChampion extends CardImpl { public StoicChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StoicEphemera.java b/Mage.Sets/src/mage/cards/s/StoicEphemera.java index 278997c297f..2c78feb9be6 100644 --- a/Mage.Sets/src/mage/cards/s/StoicEphemera.java +++ b/Mage.Sets/src/mage/cards/s/StoicEphemera.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,7 +48,7 @@ public class StoicEphemera extends CardImpl { public StoicEphemera(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/StomperCub.java b/Mage.Sets/src/mage/cards/s/StomperCub.java index bafbf0bbc60..575a24befef 100644 --- a/Mage.Sets/src/mage/cards/s/StomperCub.java +++ b/Mage.Sets/src/mage/cards/s/StomperCub.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class StomperCub extends CardImpl { public StomperCub (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StompingGround.java b/Mage.Sets/src/mage/cards/s/StompingGround.java index 9d5bc33cfd9..503ac103aa0 100644 --- a/Mage.Sets/src/mage/cards/s/StompingGround.java +++ b/Mage.Sets/src/mage/cards/s/StompingGround.java @@ -36,6 +36,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class StompingGround extends CardImpl { public StompingGround(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},null); - this.subtype.add("Mountain"); - this.subtype.add("Forest"); + this.subtype.add(SubType.MOUNTAIN); + this.subtype.add(SubType.FOREST); this.addAbility(new RedManaAbility()); this.addAbility(new GreenManaAbility()); diff --git a/Mage.Sets/src/mage/cards/s/StoneCatapult.java b/Mage.Sets/src/mage/cards/s/StoneCatapult.java index 95596ebcba3..8bb0730d233 100644 --- a/Mage.Sets/src/mage/cards/s/StoneCatapult.java +++ b/Mage.Sets/src/mage/cards/s/StoneCatapult.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -60,8 +61,8 @@ public class StoneCatapult extends CardImpl { public StoneCatapult(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StoneGiant.java b/Mage.Sets/src/mage/cards/s/StoneGiant.java index 49f12f1966a..62304f3f38e 100644 --- a/Mage.Sets/src/mage/cards/s/StoneGiant.java +++ b/Mage.Sets/src/mage/cards/s/StoneGiant.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -53,7 +54,7 @@ public class StoneGiant extends CardImpl { public StoneGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StoneGolem.java b/Mage.Sets/src/mage/cards/s/StoneGolem.java index 81e03e5b784..4cbf18c5d19 100644 --- a/Mage.Sets/src/mage/cards/s/StoneGolem.java +++ b/Mage.Sets/src/mage/cards/s/StoneGolem.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class StoneGolem extends CardImpl { public StoneGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StoneHavenMedic.java b/Mage.Sets/src/mage/cards/s/StoneHavenMedic.java index 2e391ad7b24..8babbb0a067 100644 --- a/Mage.Sets/src/mage/cards/s/StoneHavenMedic.java +++ b/Mage.Sets/src/mage/cards/s/StoneHavenMedic.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class StoneHavenMedic extends CardImpl { public StoneHavenMedic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StoneHavenOutfitter.java b/Mage.Sets/src/mage/cards/s/StoneHavenOutfitter.java index cb437d09623..488b0072ee8 100644 --- a/Mage.Sets/src/mage/cards/s/StoneHavenOutfitter.java +++ b/Mage.Sets/src/mage/cards/s/StoneHavenOutfitter.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -58,9 +59,9 @@ public class StoneHavenOutfitter extends CardImpl { public StoneHavenOutfitter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Artificer"); - this.subtype.add("Ally"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.ARTIFICER); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StoneKavu.java b/Mage.Sets/src/mage/cards/s/StoneKavu.java index 873f0111ca7..6a3cee21831 100644 --- a/Mage.Sets/src/mage/cards/s/StoneKavu.java +++ b/Mage.Sets/src/mage/cards/s/StoneKavu.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class StoneKavu extends CardImpl { public StoneKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StoneSeederHierophant.java b/Mage.Sets/src/mage/cards/s/StoneSeederHierophant.java index ccc7522cf67..a7a50a17537 100644 --- a/Mage.Sets/src/mage/cards/s/StoneSeederHierophant.java +++ b/Mage.Sets/src/mage/cards/s/StoneSeederHierophant.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.target.Target; @@ -51,8 +52,8 @@ public class StoneSeederHierophant extends CardImpl { public StoneSeederHierophant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StoneSpirit.java b/Mage.Sets/src/mage/cards/s/StoneSpirit.java index 8a528d9d631..cfd3be56e0c 100644 --- a/Mage.Sets/src/mage/cards/s/StoneSpirit.java +++ b/Mage.Sets/src/mage/cards/s/StoneSpirit.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -53,8 +54,8 @@ public class StoneSpirit extends CardImpl { public StoneSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StoneThrowingDevils.java b/Mage.Sets/src/mage/cards/s/StoneThrowingDevils.java index 10ee2e23bf6..647f80a5f9d 100644 --- a/Mage.Sets/src/mage/cards/s/StoneThrowingDevils.java +++ b/Mage.Sets/src/mage/cards/s/StoneThrowingDevils.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class StoneThrowingDevils extends CardImpl { public StoneThrowingDevils(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StoneTongueBasilisk.java b/Mage.Sets/src/mage/cards/s/StoneTongueBasilisk.java index e4d49446b0f..4aca643c0a2 100644 --- a/Mage.Sets/src/mage/cards/s/StoneTongueBasilisk.java +++ b/Mage.Sets/src/mage/cards/s/StoneTongueBasilisk.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -53,7 +54,7 @@ public class StoneTongueBasilisk extends CardImpl { public StoneTongueBasilisk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}{G}"); - this.subtype.add("Basilisk"); + this.subtype.add(SubType.BASILISK); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/StonebrowKrosanHero.java b/Mage.Sets/src/mage/cards/s/StonebrowKrosanHero.java index 34a3d380572..2211de10e70 100644 --- a/Mage.Sets/src/mage/cards/s/StonebrowKrosanHero.java +++ b/Mage.Sets/src/mage/cards/s/StonebrowKrosanHero.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -55,8 +56,8 @@ public class StonebrowKrosanHero extends CardImpl { public StonebrowKrosanHero(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Centaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/Stonecloaker.java b/Mage.Sets/src/mage/cards/s/Stonecloaker.java index 12fb1796197..272928f9f77 100644 --- a/Mage.Sets/src/mage/cards/s/Stonecloaker.java +++ b/Mage.Sets/src/mage/cards/s/Stonecloaker.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.target.common.TargetCardInGraveyard; @@ -49,7 +50,7 @@ public class Stonecloaker extends CardImpl { public Stonecloaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Gargoyle"); + this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StonefareCrocodile.java b/Mage.Sets/src/mage/cards/s/StonefareCrocodile.java index e20978dca5d..906d4ae3c6d 100644 --- a/Mage.Sets/src/mage/cards/s/StonefareCrocodile.java +++ b/Mage.Sets/src/mage/cards/s/StonefareCrocodile.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class StonefareCrocodile extends CardImpl { public StonefareCrocodile(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Crocodile"); + this.subtype.add(SubType.CROCODILE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StoneforgeAcolyte.java b/Mage.Sets/src/mage/cards/s/StoneforgeAcolyte.java index e8b9ac002a3..d99e9ebbba2 100644 --- a/Mage.Sets/src/mage/cards/s/StoneforgeAcolyte.java +++ b/Mage.Sets/src/mage/cards/s/StoneforgeAcolyte.java @@ -65,9 +65,9 @@ public class StoneforgeAcolyte extends CardImpl { public StoneforgeAcolyte(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Kor"); - this.subtype.add("Artificer"); - this.subtype.add("Ally"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.ARTIFICER); + this.subtype.add(SubType.ALLY); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StoneforgeMasterwork.java b/Mage.Sets/src/mage/cards/s/StoneforgeMasterwork.java index 2d7618c94e2..561d2cdd7c4 100644 --- a/Mage.Sets/src/mage/cards/s/StoneforgeMasterwork.java +++ b/Mage.Sets/src/mage/cards/s/StoneforgeMasterwork.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -52,7 +53,7 @@ public class StoneforgeMasterwork extends CardImpl { public StoneforgeMasterwork(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+1 for each other creature you control that shares a creature type with it. StoneforgeMasterworkDynamicValue countEnchantments = new StoneforgeMasterworkDynamicValue(); diff --git a/Mage.Sets/src/mage/cards/s/StoneforgeMystic.java b/Mage.Sets/src/mage/cards/s/StoneforgeMystic.java index 1d3c6c6f865..d8bc4e7b8c0 100644 --- a/Mage.Sets/src/mage/cards/s/StoneforgeMystic.java +++ b/Mage.Sets/src/mage/cards/s/StoneforgeMystic.java @@ -60,8 +60,8 @@ public class StoneforgeMystic extends CardImpl { public StoneforgeMystic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Stonehands.java b/Mage.Sets/src/mage/cards/s/Stonehands.java index 45c5254155e..2d942f54d0b 100644 --- a/Mage.Sets/src/mage/cards/s/Stonehands.java +++ b/Mage.Sets/src/mage/cards/s/Stonehands.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Outcome; @@ -53,7 +54,7 @@ public class Stonehands extends CardImpl { public Stonehands(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/StonehewerGiant.java b/Mage.Sets/src/mage/cards/s/StonehewerGiant.java index 3b794bb285f..540f8488f43 100644 --- a/Mage.Sets/src/mage/cards/s/StonehewerGiant.java +++ b/Mage.Sets/src/mage/cards/s/StonehewerGiant.java @@ -59,8 +59,8 @@ public class StonehewerGiant extends CardImpl { public StonehewerGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StonehoofChieftain.java b/Mage.Sets/src/mage/cards/s/StonehoofChieftain.java index 22feebc250d..7d1afdc4ff3 100644 --- a/Mage.Sets/src/mage/cards/s/StonehoofChieftain.java +++ b/Mage.Sets/src/mage/cards/s/StonehoofChieftain.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SetTargetPointer; import mage.constants.TargetController; @@ -60,8 +61,8 @@ public class StonehoofChieftain extends CardImpl { public StonehoofChieftain(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{7}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/s/StonehornChanter.java b/Mage.Sets/src/mage/cards/s/StonehornChanter.java index 1204cf2ee10..4cb9dd88138 100644 --- a/Mage.Sets/src/mage/cards/s/StonehornChanter.java +++ b/Mage.Sets/src/mage/cards/s/StonehornChanter.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class StonehornChanter extends CardImpl { public StonehornChanter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Rhino"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StonehornDignitary.java b/Mage.Sets/src/mage/cards/s/StonehornDignitary.java index 57bb0bda9fd..c67f5026b6f 100644 --- a/Mage.Sets/src/mage/cards/s/StonehornDignitary.java +++ b/Mage.Sets/src/mage/cards/s/StonehornDignitary.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SkipNextCombatEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetOpponent; /** @@ -45,8 +46,8 @@ public class StonehornDignitary extends CardImpl { public StonehornDignitary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Rhino"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.RHINO); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StoneshakerShaman.java b/Mage.Sets/src/mage/cards/s/StoneshakerShaman.java index c5bf2833dee..49c7b4fe8fe 100644 --- a/Mage.Sets/src/mage/cards/s/StoneshakerShaman.java +++ b/Mage.Sets/src/mage/cards/s/StoneshakerShaman.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterLandPermanent; import mage.filter.predicate.Predicates; @@ -53,8 +54,8 @@ public class StoneshakerShaman extends CardImpl { public StoneshakerShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StoneshockGiant.java b/Mage.Sets/src/mage/cards/s/StoneshockGiant.java index bfa392243e2..5748e88d7ca 100644 --- a/Mage.Sets/src/mage/cards/s/StoneshockGiant.java +++ b/Mage.Sets/src/mage/cards/s/StoneshockGiant.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MonstrosityAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -57,7 +58,7 @@ public class StoneshockGiant extends CardImpl { public StoneshockGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StonewingAntagonizer.java b/Mage.Sets/src/mage/cards/s/StonewingAntagonizer.java index c952e4a37bf..68fc709e1fc 100644 --- a/Mage.Sets/src/mage/cards/s/StonewingAntagonizer.java +++ b/Mage.Sets/src/mage/cards/s/StonewingAntagonizer.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class StonewingAntagonizer extends CardImpl { public StonewingAntagonizer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},""); - this.subtype.add("Gargoyle"); - this.subtype.add("Horror"); + this.subtype.add(SubType.GARGOYLE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StonewiseFortifier.java b/Mage.Sets/src/mage/cards/s/StonewiseFortifier.java index 772587ec893..991c6721acd 100644 --- a/Mage.Sets/src/mage/cards/s/StonewiseFortifier.java +++ b/Mage.Sets/src/mage/cards/s/StonewiseFortifier.java @@ -37,6 +37,7 @@ import mage.abilities.effects.PreventionEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -51,8 +52,8 @@ public class StonewiseFortifier extends CardImpl { public StonewiseFortifier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StonewoodInvoker.java b/Mage.Sets/src/mage/cards/s/StonewoodInvoker.java index 7ea2d9890eb..c1ede8dbed3 100644 --- a/Mage.Sets/src/mage/cards/s/StonewoodInvoker.java +++ b/Mage.Sets/src/mage/cards/s/StonewoodInvoker.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class StonewoodInvoker extends CardImpl { public StonewoodInvoker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StoneworkPuma.java b/Mage.Sets/src/mage/cards/s/StoneworkPuma.java index bd1f772e39a..08b58c05be9 100644 --- a/Mage.Sets/src/mage/cards/s/StoneworkPuma.java +++ b/Mage.Sets/src/mage/cards/s/StoneworkPuma.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class StoneworkPuma extends CardImpl { public StoneworkPuma(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Cat"); - this.subtype.add("Ally"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/Stonewright.java b/Mage.Sets/src/mage/cards/s/Stonewright.java index e43810961bc..8cef8beb30d 100644 --- a/Mage.Sets/src/mage/cards/s/Stonewright.java +++ b/Mage.Sets/src/mage/cards/s/Stonewright.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class Stonewright extends CardImpl { public Stonewright(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StonybrookAngler.java b/Mage.Sets/src/mage/cards/s/StonybrookAngler.java index 93d9c73ea09..e85d37bfff1 100644 --- a/Mage.Sets/src/mage/cards/s/StonybrookAngler.java +++ b/Mage.Sets/src/mage/cards/s/StonybrookAngler.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.MayTapOrUntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class StonybrookAngler extends CardImpl { public StonybrookAngler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StonybrookBanneret.java b/Mage.Sets/src/mage/cards/s/StonybrookBanneret.java index 92cbf539624..fb3a4db70c9 100644 --- a/Mage.Sets/src/mage/cards/s/StonybrookBanneret.java +++ b/Mage.Sets/src/mage/cards/s/StonybrookBanneret.java @@ -57,8 +57,8 @@ public class StonybrookBanneret extends CardImpl { public StonybrookBanneret(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StonybrookSchoolmaster.java b/Mage.Sets/src/mage/cards/s/StonybrookSchoolmaster.java index d9277eb19e3..48b4d4378de 100644 --- a/Mage.Sets/src/mage/cards/s/StonybrookSchoolmaster.java +++ b/Mage.Sets/src/mage/cards/s/StonybrookSchoolmaster.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.MerfolkWizardToken; /** @@ -44,8 +45,8 @@ public class StonybrookSchoolmaster extends CardImpl { public StonybrookSchoolmaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StormCrow.java b/Mage.Sets/src/mage/cards/s/StormCrow.java index f48cf25f249..24a633b1861 100644 --- a/Mage.Sets/src/mage/cards/s/StormCrow.java +++ b/Mage.Sets/src/mage/cards/s/StormCrow.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class StormCrow extends CardImpl { public StormCrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StormEntity.java b/Mage.Sets/src/mage/cards/s/StormEntity.java index ccd54edfbab..ae7877180ec 100644 --- a/Mage.Sets/src/mage/cards/s/StormEntity.java +++ b/Mage.Sets/src/mage/cards/s/StormEntity.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.game.Game; import mage.watchers.common.CastSpellLastTurnWatcher; @@ -50,7 +51,7 @@ public class StormEntity extends CardImpl { public StormEntity(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StormFleetAerialist.java b/Mage.Sets/src/mage/cards/s/StormFleetAerialist.java index 4ae4bb5a886..eec83b174cf 100644 --- a/Mage.Sets/src/mage/cards/s/StormFleetAerialist.java +++ b/Mage.Sets/src/mage/cards/s/StormFleetAerialist.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.watchers.common.PlayerAttackedWatcher; @@ -48,8 +49,8 @@ public class StormFleetAerialist extends CardImpl { public StormFleetAerialist(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StormFleetArsonist.java b/Mage.Sets/src/mage/cards/s/StormFleetArsonist.java index 82c7377a011..b9317106f40 100644 --- a/Mage.Sets/src/mage/cards/s/StormFleetArsonist.java +++ b/Mage.Sets/src/mage/cards/s/StormFleetArsonist.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.SacrificeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.target.common.TargetOpponent; import mage.watchers.common.PlayerAttackedWatcher; @@ -50,8 +51,8 @@ public class StormFleetArsonist extends CardImpl { public StormFleetArsonist(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); - this.subtype.add("Orc"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StormShaman.java b/Mage.Sets/src/mage/cards/s/StormShaman.java index 6cea2ced629..d73763046ac 100644 --- a/Mage.Sets/src/mage/cards/s/StormShaman.java +++ b/Mage.Sets/src/mage/cards/s/StormShaman.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,9 +48,9 @@ public class StormShaman extends CardImpl { public StormShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StormSpirit.java b/Mage.Sets/src/mage/cards/s/StormSpirit.java index 93ed4e1f2b9..4333bc27f30 100644 --- a/Mage.Sets/src/mage/cards/s/StormSpirit.java +++ b/Mage.Sets/src/mage/cards/s/StormSpirit.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class StormSpirit extends CardImpl { public StormSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{W}{U}"); - this.subtype.add("Elemental"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StormbloodBerserker.java b/Mage.Sets/src/mage/cards/s/StormbloodBerserker.java index 77fbc4d580f..4970f4f1798 100644 --- a/Mage.Sets/src/mage/cards/s/StormbloodBerserker.java +++ b/Mage.Sets/src/mage/cards/s/StormbloodBerserker.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author nantuko @@ -42,8 +43,8 @@ public class StormbloodBerserker extends CardImpl { public StormbloodBerserker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StormboundGeist.java b/Mage.Sets/src/mage/cards/s/StormboundGeist.java index b70cde3a898..57cc2c6ea95 100644 --- a/Mage.Sets/src/mage/cards/s/StormboundGeist.java +++ b/Mage.Sets/src/mage/cards/s/StormboundGeist.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.UndyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -43,7 +44,7 @@ public class StormboundGeist extends CardImpl { public StormboundGeist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StormbreathDragon.java b/Mage.Sets/src/mage/cards/s/StormbreathDragon.java index a09cd638a4d..2d95adef18d 100644 --- a/Mage.Sets/src/mage/cards/s/StormbreathDragon.java +++ b/Mage.Sets/src/mage/cards/s/StormbreathDragon.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -52,7 +53,7 @@ public class StormbreathDragon extends CardImpl { public StormbreathDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StormcallerOfKeranos.java b/Mage.Sets/src/mage/cards/s/StormcallerOfKeranos.java index 8b3211afa74..eb89532ce6d 100644 --- a/Mage.Sets/src/mage/cards/s/StormcallerOfKeranos.java +++ b/Mage.Sets/src/mage/cards/s/StormcallerOfKeranos.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class StormcallerOfKeranos extends CardImpl { public StormcallerOfKeranos(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StormchaserChimera.java b/Mage.Sets/src/mage/cards/s/StormchaserChimera.java index bad7426b1f4..7b0f5701a43 100644 --- a/Mage.Sets/src/mage/cards/s/StormchaserChimera.java +++ b/Mage.Sets/src/mage/cards/s/StormchaserChimera.java @@ -42,6 +42,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class StormchaserChimera extends CardImpl { public StormchaserChimera(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{R}"); - this.subtype.add("Chimera"); + this.subtype.add(SubType.CHIMERA); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StormchaserMage.java b/Mage.Sets/src/mage/cards/s/StormchaserMage.java index 21e7e2d8793..ac62eb93b72 100644 --- a/Mage.Sets/src/mage/cards/s/StormchaserMage.java +++ b/Mage.Sets/src/mage/cards/s/StormchaserMage.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class StormchaserMage extends CardImpl { public StormchaserMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StormcloudDjinn.java b/Mage.Sets/src/mage/cards/s/StormcloudDjinn.java index 8791bc787e8..70c509b9445 100644 --- a/Mage.Sets/src/mage/cards/s/StormcloudDjinn.java +++ b/Mage.Sets/src/mage/cards/s/StormcloudDjinn.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class StormcloudDjinn extends CardImpl { public StormcloudDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StormcragElemental.java b/Mage.Sets/src/mage/cards/s/StormcragElemental.java index bb176f351d1..c8d1a6e1177 100644 --- a/Mage.Sets/src/mage/cards/s/StormcragElemental.java +++ b/Mage.Sets/src/mage/cards/s/StormcragElemental.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class StormcragElemental extends CardImpl { public StormcragElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/StormfrontPegasus.java b/Mage.Sets/src/mage/cards/s/StormfrontPegasus.java index c1ea6f3fa84..82af207619a 100644 --- a/Mage.Sets/src/mage/cards/s/StormfrontPegasus.java +++ b/Mage.Sets/src/mage/cards/s/StormfrontPegasus.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class StormfrontPegasus extends CardImpl { public StormfrontPegasus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Pegasus"); + this.subtype.add(SubType.PEGASUS); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StormfrontRiders.java b/Mage.Sets/src/mage/cards/s/StormfrontRiders.java index ba5d10971cf..ed9fb2d07fb 100644 --- a/Mage.Sets/src/mage/cards/s/StormfrontRiders.java +++ b/Mage.Sets/src/mage/cards/s/StormfrontRiders.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -58,8 +59,8 @@ public class StormfrontRiders extends CardImpl { public StormfrontRiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StormriderRig.java b/Mage.Sets/src/mage/cards/s/StormriderRig.java index 2df8a298ad3..1257360455c 100644 --- a/Mage.Sets/src/mage/cards/s/StormriderRig.java +++ b/Mage.Sets/src/mage/cards/s/StormriderRig.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class StormriderRig extends CardImpl { public StormriderRig(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1))); diff --git a/Mage.Sets/src/mage/cards/s/StormriderSpirit.java b/Mage.Sets/src/mage/cards/s/StormriderSpirit.java index fa6eb568550..bcf885c22cf 100644 --- a/Mage.Sets/src/mage/cards/s/StormriderSpirit.java +++ b/Mage.Sets/src/mage/cards/s/StormriderSpirit.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class StormriderSpirit extends CardImpl { public StormriderSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StormscapeApprentice.java b/Mage.Sets/src/mage/cards/s/StormscapeApprentice.java index d053472a0a4..008b70611cb 100644 --- a/Mage.Sets/src/mage/cards/s/StormscapeApprentice.java +++ b/Mage.Sets/src/mage/cards/s/StormscapeApprentice.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; import mage.target.common.TargetCreaturePermanent; @@ -51,8 +52,8 @@ public class StormscapeApprentice extends CardImpl { public StormscapeApprentice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StormscapeBattlemage.java b/Mage.Sets/src/mage/cards/s/StormscapeBattlemage.java index 2fd0ede8462..fe4b5ab6cf3 100644 --- a/Mage.Sets/src/mage/cards/s/StormscapeBattlemage.java +++ b/Mage.Sets/src/mage/cards/s/StormscapeBattlemage.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -58,8 +59,8 @@ public class StormscapeBattlemage extends CardImpl { public StormscapeBattlemage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Metathran"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.METATHRAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StormscapeFamiliar.java b/Mage.Sets/src/mage/cards/s/StormscapeFamiliar.java index 235b8d21635..36f745d01a3 100644 --- a/Mage.Sets/src/mage/cards/s/StormscapeFamiliar.java +++ b/Mage.Sets/src/mage/cards/s/StormscapeFamiliar.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; @@ -57,7 +58,7 @@ public class StormscapeFamiliar extends CardImpl { public StormscapeFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StormscapeMaster.java b/Mage.Sets/src/mage/cards/s/StormscapeMaster.java index 24aeb4e997b..fa30ec1d16f 100644 --- a/Mage.Sets/src/mage/cards/s/StormscapeMaster.java +++ b/Mage.Sets/src/mage/cards/s/StormscapeMaster.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.continuous.GainProtectionFromColorTargetEff import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -54,8 +55,8 @@ public class StormscapeMaster extends CardImpl { public StormscapeMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StormsurgeKraken.java b/Mage.Sets/src/mage/cards/s/StormsurgeKraken.java index fba12018bca..f330231c46c 100644 --- a/Mage.Sets/src/mage/cards/s/StormsurgeKraken.java +++ b/Mage.Sets/src/mage/cards/s/StormsurgeKraken.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -48,7 +49,7 @@ public class StormsurgeKraken extends CardImpl { public StormsurgeKraken(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Kraken"); + this.subtype.add(SubType.KRAKEN); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/StormtideLeviathan.java b/Mage.Sets/src/mage/cards/s/StormtideLeviathan.java index 35425710380..0033f4b6438 100644 --- a/Mage.Sets/src/mage/cards/s/StormtideLeviathan.java +++ b/Mage.Sets/src/mage/cards/s/StormtideLeviathan.java @@ -40,6 +40,7 @@ import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -67,7 +68,7 @@ public class StormtideLeviathan extends CardImpl { public StormtideLeviathan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}{U}"); - this.subtype.add("Leviathan"); + this.subtype.add(SubType.LEVIATHAN); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/s/StormwatchEagle.java b/Mage.Sets/src/mage/cards/s/StormwatchEagle.java index 49917da683d..beb57eb29a0 100644 --- a/Mage.Sets/src/mage/cards/s/StormwatchEagle.java +++ b/Mage.Sets/src/mage/cards/s/StormwatchEagle.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; import mage.target.common.TargetControlledPermanent; @@ -48,7 +49,7 @@ public class StormwatchEagle extends CardImpl { public StormwatchEagle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StormwingDragon.java b/Mage.Sets/src/mage/cards/s/StormwingDragon.java index ad8b49a2c46..e16ba6e75fb 100644 --- a/Mage.Sets/src/mage/cards/s/StormwingDragon.java +++ b/Mage.Sets/src/mage/cards/s/StormwingDragon.java @@ -59,7 +59,7 @@ public class StormwingDragon extends CardImpl { public StormwingDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StrandsOfUndeath.java b/Mage.Sets/src/mage/cards/s/StrandsOfUndeath.java index b0761c673b3..4e6ebbd5704 100644 --- a/Mage.Sets/src/mage/cards/s/StrandsOfUndeath.java +++ b/Mage.Sets/src/mage/cards/s/StrandsOfUndeath.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -54,7 +55,7 @@ public class StrandsOfUndeath extends CardImpl { public StrandsOfUndeath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature // When Strands of Undeath enters the battlefield, target player discards two cards. diff --git a/Mage.Sets/src/mage/cards/s/Strandwalker.java b/Mage.Sets/src/mage/cards/s/Strandwalker.java index 752d89b5ac3..a780283ca86 100644 --- a/Mage.Sets/src/mage/cards/s/Strandwalker.java +++ b/Mage.Sets/src/mage/cards/s/Strandwalker.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class Strandwalker extends CardImpl { public Strandwalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{5}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new LivingWeaponAbility()); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 4))); diff --git a/Mage.Sets/src/mage/cards/s/StrangeAugmentation.java b/Mage.Sets/src/mage/cards/s/StrangeAugmentation.java index aee389fef7c..4bd08f62904 100644 --- a/Mage.Sets/src/mage/cards/s/StrangeAugmentation.java +++ b/Mage.Sets/src/mage/cards/s/StrangeAugmentation.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class StrangeAugmentation extends CardImpl { public StrangeAugmentation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/StranglerootGeist.java b/Mage.Sets/src/mage/cards/s/StranglerootGeist.java index a7528a8d41e..5f91eb2ee6d 100644 --- a/Mage.Sets/src/mage/cards/s/StranglerootGeist.java +++ b/Mage.Sets/src/mage/cards/s/StranglerootGeist.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.UndyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class StranglerootGeist extends CardImpl { public StranglerootGeist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StrataScythe.java b/Mage.Sets/src/mage/cards/s/StrataScythe.java index f6dca67031b..f7e08211bcf 100644 --- a/Mage.Sets/src/mage/cards/s/StrataScythe.java +++ b/Mage.Sets/src/mage/cards/s/StrataScythe.java @@ -41,6 +41,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -59,7 +60,7 @@ public class StrataScythe extends CardImpl { public StrataScythe(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new EntersBattlefieldTriggeredAbility(new StrataScytheImprintEffect())); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(SameNameAsExiledCountValue.getInstance(), SameNameAsExiledCountValue.getInstance()))); this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3))); diff --git a/Mage.Sets/src/mage/cards/s/Stratadon.java b/Mage.Sets/src/mage/cards/s/Stratadon.java index 5c50f724cec..5d3f96f73f3 100644 --- a/Mage.Sets/src/mage/cards/s/Stratadon.java +++ b/Mage.Sets/src/mage/cards/s/Stratadon.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.CostModificationType; import mage.constants.Duration; import mage.constants.Outcome; @@ -52,7 +53,7 @@ public class Stratadon extends CardImpl { public Stratadon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{10}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/Stratozeppelid.java b/Mage.Sets/src/mage/cards/s/Stratozeppelid.java index 1b70b607fed..097b210919f 100644 --- a/Mage.Sets/src/mage/cards/s/Stratozeppelid.java +++ b/Mage.Sets/src/mage/cards/s/Stratozeppelid.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class Stratozeppelid extends CardImpl { public Stratozeppelid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StratusDancer.java b/Mage.Sets/src/mage/cards/s/StratusDancer.java index ad7b645a906..c2b9b59e694 100644 --- a/Mage.Sets/src/mage/cards/s/StratusDancer.java +++ b/Mage.Sets/src/mage/cards/s/StratusDancer.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.TargetSpell; @@ -50,8 +51,8 @@ public class StratusDancer extends CardImpl { public StratusDancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Djinn"); - this.subtype.add("Monk"); + this.subtype.add(SubType.DJINN); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StratusWalk.java b/Mage.Sets/src/mage/cards/s/StratusWalk.java index be97528f280..508437bccc5 100644 --- a/Mage.Sets/src/mage/cards/s/StratusWalk.java +++ b/Mage.Sets/src/mage/cards/s/StratusWalk.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class StratusWalk extends CardImpl { public StratusWalk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/StrawGolem.java b/Mage.Sets/src/mage/cards/s/StrawGolem.java index 8e5f720f4f0..af11185b80d 100644 --- a/Mage.Sets/src/mage/cards/s/StrawGolem.java +++ b/Mage.Sets/src/mage/cards/s/StrawGolem.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; /** @@ -44,7 +45,7 @@ public class StrawGolem extends CardImpl { public StrawGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StrawSoldiers.java b/Mage.Sets/src/mage/cards/s/StrawSoldiers.java index cd9c5ec93f9..39060ef28fb 100644 --- a/Mage.Sets/src/mage/cards/s/StrawSoldiers.java +++ b/Mage.Sets/src/mage/cards/s/StrawSoldiers.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class StrawSoldiers extends CardImpl { public StrawSoldiers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Scarecrow"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SCARECROW); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StreamHopper.java b/Mage.Sets/src/mage/cards/s/StreamHopper.java index 09e7155a121..d8e648e49df 100644 --- a/Mage.Sets/src/mage/cards/s/StreamHopper.java +++ b/Mage.Sets/src/mage/cards/s/StreamHopper.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class StreamHopper extends CardImpl { public StreamHopper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U/R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StreamOfUnconsciousness.java b/Mage.Sets/src/mage/cards/s/StreamOfUnconsciousness.java index e8e66517d84..0ef16ded60f 100644 --- a/Mage.Sets/src/mage/cards/s/StreamOfUnconsciousness.java +++ b/Mage.Sets/src/mage/cards/s/StreamOfUnconsciousness.java @@ -55,7 +55,7 @@ public class StreamOfUnconsciousness extends CardImpl { public StreamOfUnconsciousness(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{U}"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.WIZARD); // Target creature gets -4/-0 until end of turn. this.getSpellAbility().addEffect(new BoostTargetEffect(-4, 0, Duration.EndOfTurn)); diff --git a/Mage.Sets/src/mage/cards/s/StreambedAquitects.java b/Mage.Sets/src/mage/cards/s/StreambedAquitects.java index 36c41796d37..b129dc46a1e 100644 --- a/Mage.Sets/src/mage/cards/s/StreambedAquitects.java +++ b/Mage.Sets/src/mage/cards/s/StreambedAquitects.java @@ -62,8 +62,8 @@ public class StreambedAquitects extends CardImpl { public StreambedAquitects(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Scout"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StreetSweeper.java b/Mage.Sets/src/mage/cards/s/StreetSweeper.java index beabde26de6..eb9e03d46c1 100644 --- a/Mage.Sets/src/mage/cards/s/StreetSweeper.java +++ b/Mage.Sets/src/mage/cards/s/StreetSweeper.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -59,7 +60,7 @@ public class StreetSweeper extends CardImpl { public StreetSweeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/StreetWraith.java b/Mage.Sets/src/mage/cards/s/StreetWraith.java index 08fbaaf8c4d..fc2d0c04303 100644 --- a/Mage.Sets/src/mage/cards/s/StreetWraith.java +++ b/Mage.Sets/src/mage/cards/s/StreetWraith.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class StreetWraith extends CardImpl { public StreetWraith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Wraith"); + this.subtype.add(SubType.WRAITH); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StreetbreakerWurm.java b/Mage.Sets/src/mage/cards/s/StreetbreakerWurm.java index e7ea29e70aa..3ac00d72ff8 100644 --- a/Mage.Sets/src/mage/cards/s/StreetbreakerWurm.java +++ b/Mage.Sets/src/mage/cards/s/StreetbreakerWurm.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class StreetbreakerWurm extends CardImpl { public StreetbreakerWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StrengthOfCedars.java b/Mage.Sets/src/mage/cards/s/StrengthOfCedars.java index 01a4c02d794..5656f0d3f8f 100644 --- a/Mage.Sets/src/mage/cards/s/StrengthOfCedars.java +++ b/Mage.Sets/src/mage/cards/s/StrengthOfCedars.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterControlledLandPermanent; import mage.filter.common.FilterControlledPermanent; @@ -49,7 +50,7 @@ public class StrengthOfCedars extends CardImpl { public StrengthOfCedars (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{4}{G}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Target creature gets +X/+X until end of turn, where X is the number of lands you control. diff --git a/Mage.Sets/src/mage/cards/s/StrengthOfIsolation.java b/Mage.Sets/src/mage/cards/s/StrengthOfIsolation.java index 9c9c34e74eb..ef0d7f0645e 100644 --- a/Mage.Sets/src/mage/cards/s/StrengthOfIsolation.java +++ b/Mage.Sets/src/mage/cards/s/StrengthOfIsolation.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class StrengthOfIsolation extends CardImpl { public StrengthOfIsolation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/StrengthOfLunacy.java b/Mage.Sets/src/mage/cards/s/StrengthOfLunacy.java index 77ac3ba02ed..902f8c9ec3a 100644 --- a/Mage.Sets/src/mage/cards/s/StrengthOfLunacy.java +++ b/Mage.Sets/src/mage/cards/s/StrengthOfLunacy.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class StrengthOfLunacy extends CardImpl { public StrengthOfLunacy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/StrengthOfUnity.java b/Mage.Sets/src/mage/cards/s/StrengthOfUnity.java index 83a9df764fc..8699aab765f 100644 --- a/Mage.Sets/src/mage/cards/s/StrengthOfUnity.java +++ b/Mage.Sets/src/mage/cards/s/StrengthOfUnity.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -52,7 +53,7 @@ public class StrengthOfUnity extends CardImpl { public StrengthOfUnity(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/StriderHarness.java b/Mage.Sets/src/mage/cards/s/StriderHarness.java index cec09537ac9..a08befbaede 100644 --- a/Mage.Sets/src/mage/cards/s/StriderHarness.java +++ b/Mage.Sets/src/mage/cards/s/StriderHarness.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class StriderHarness extends CardImpl { public StriderHarness (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(HasteAbility.getInstance(), AttachmentType.EQUIPMENT))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1))); diff --git a/Mage.Sets/src/mage/cards/s/StrikeTeamCommando.java b/Mage.Sets/src/mage/cards/s/StrikeTeamCommando.java index f3d05847f45..116d04fe936 100644 --- a/Mage.Sets/src/mage/cards/s/StrikeTeamCommando.java +++ b/Mage.Sets/src/mage/cards/s/StrikeTeamCommando.java @@ -1,78 +1,79 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.common.DestroyTargetEffect; -import mage.abilities.keyword.SpaceflightAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.common.FilterArtifactPermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.AbilityPredicate; -import mage.target.common.TargetArtifactPermanent; - -/** - * - * @author Styxo - */ -public class StrikeTeamCommando extends CardImpl { - - private static final FilterArtifactPermanent filter = new FilterArtifactPermanent("artifact without spaceflight"); - - static { - filter.add(Predicates.not(new AbilityPredicate(SpaceflightAbility.class))); - } - - public StrikeTeamCommando(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G/W}{G/W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // When Strike Team Commando enters the battlefield, you may destroy target artifact without spaceflight. - Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), true); - ability.addTarget(new TargetArtifactPermanent(filter)); - this.addAbility(ability); - - } - - public StrikeTeamCommando(final StrikeTeamCommando card) { - super(card); - } - - @Override - public StrikeTeamCommando copy() { - return new StrikeTeamCommando(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.keyword.SpaceflightAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.common.FilterArtifactPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.AbilityPredicate; +import mage.target.common.TargetArtifactPermanent; + +/** + * + * @author Styxo + */ +public class StrikeTeamCommando extends CardImpl { + + private static final FilterArtifactPermanent filter = new FilterArtifactPermanent("artifact without spaceflight"); + + static { + filter.add(Predicates.not(new AbilityPredicate(SpaceflightAbility.class))); + } + + public StrikeTeamCommando(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G/W}{G/W}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // When Strike Team Commando enters the battlefield, you may destroy target artifact without spaceflight. + Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), true); + ability.addTarget(new TargetArtifactPermanent(filter)); + this.addAbility(ability); + + } + + public StrikeTeamCommando(final StrikeTeamCommando card) { + super(card); + } + + @Override + public StrikeTeamCommando copy() { + return new StrikeTeamCommando(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/StrikingSliver.java b/Mage.Sets/src/mage/cards/s/StrikingSliver.java index 5ab1c591e4e..ccfcfd0d4ee 100644 --- a/Mage.Sets/src/mage/cards/s/StrikingSliver.java +++ b/Mage.Sets/src/mage/cards/s/StrikingSliver.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -47,7 +48,7 @@ public class StrikingSliver extends CardImpl { public StrikingSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StripedBears.java b/Mage.Sets/src/mage/cards/s/StripedBears.java index e0e4e8dcd22..7f9b98d4674 100644 --- a/Mage.Sets/src/mage/cards/s/StripedBears.java +++ b/Mage.Sets/src/mage/cards/s/StripedBears.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class StripedBears extends CardImpl { public StripedBears(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Bear"); + this.subtype.add(SubType.BEAR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StripedRiverwinder.java b/Mage.Sets/src/mage/cards/s/StripedRiverwinder.java index e8148f21fcb..48f7bd8c2d3 100644 --- a/Mage.Sets/src/mage/cards/s/StripedRiverwinder.java +++ b/Mage.Sets/src/mage/cards/s/StripedRiverwinder.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class StripedRiverwinder extends CardImpl { public StripedRiverwinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/StromgaldCabal.java b/Mage.Sets/src/mage/cards/s/StromgaldCabal.java index b6c88b12298..d7df8bcaa25 100644 --- a/Mage.Sets/src/mage/cards/s/StromgaldCabal.java +++ b/Mage.Sets/src/mage/cards/s/StromgaldCabal.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CounterTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,8 +58,8 @@ public class StromgaldCabal extends CardImpl { public StromgaldCabal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StromgaldCrusader.java b/Mage.Sets/src/mage/cards/s/StromgaldCrusader.java index 4e058da7c38..175c2cd6136 100644 --- a/Mage.Sets/src/mage/cards/s/StromgaldCrusader.java +++ b/Mage.Sets/src/mage/cards/s/StromgaldCrusader.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class StromgaldCrusader extends CardImpl { public StromgaldCrusader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StromkirkCaptain.java b/Mage.Sets/src/mage/cards/s/StromkirkCaptain.java index 7ea7ce0314b..20e7e4c6758 100644 --- a/Mage.Sets/src/mage/cards/s/StromkirkCaptain.java +++ b/Mage.Sets/src/mage/cards/s/StromkirkCaptain.java @@ -55,8 +55,8 @@ public class StromkirkCaptain extends CardImpl { public StromkirkCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}"); - this.subtype.add("Vampire"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StromkirkCondemned.java b/Mage.Sets/src/mage/cards/s/StromkirkCondemned.java index 990d4ee15da..493886a37b2 100644 --- a/Mage.Sets/src/mage/cards/s/StromkirkCondemned.java +++ b/Mage.Sets/src/mage/cards/s/StromkirkCondemned.java @@ -54,8 +54,8 @@ public class StromkirkCondemned extends CardImpl { public StromkirkCondemned(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Horror"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StromkirkMentor.java b/Mage.Sets/src/mage/cards/s/StromkirkMentor.java index d625d11778b..d441007e16a 100644 --- a/Mage.Sets/src/mage/cards/s/StromkirkMentor.java +++ b/Mage.Sets/src/mage/cards/s/StromkirkMentor.java @@ -57,8 +57,8 @@ public class StromkirkMentor extends CardImpl { public StromkirkMentor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StromkirkNoble.java b/Mage.Sets/src/mage/cards/s/StromkirkNoble.java index af73b8ae833..9eabb04d787 100644 --- a/Mage.Sets/src/mage/cards/s/StromkirkNoble.java +++ b/Mage.Sets/src/mage/cards/s/StromkirkNoble.java @@ -57,7 +57,7 @@ public class StromkirkNoble extends CardImpl { public StromkirkNoble(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StromkirkOccultist.java b/Mage.Sets/src/mage/cards/s/StromkirkOccultist.java index 7480eb9271f..be706bf86a8 100644 --- a/Mage.Sets/src/mage/cards/s/StromkirkOccultist.java +++ b/Mage.Sets/src/mage/cards/s/StromkirkOccultist.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,8 +59,8 @@ public class StromkirkOccultist extends CardImpl { public StromkirkOccultist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Vampire"); - this.subtype.add("Horror"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/StromkirkPatrol.java b/Mage.Sets/src/mage/cards/s/StromkirkPatrol.java index e61f5b4ff23..86eac433516 100644 --- a/Mage.Sets/src/mage/cards/s/StromkirkPatrol.java +++ b/Mage.Sets/src/mage/cards/s/StromkirkPatrol.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -44,8 +45,8 @@ public class StromkirkPatrol extends CardImpl { public StromkirkPatrol(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StrongarmMonk.java b/Mage.Sets/src/mage/cards/s/StrongarmMonk.java index 8207b40375d..6f77cc5d74c 100644 --- a/Mage.Sets/src/mage/cards/s/StrongarmMonk.java +++ b/Mage.Sets/src/mage/cards/s/StrongarmMonk.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -55,8 +56,8 @@ public class StrongarmMonk extends CardImpl { public StrongarmMonk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StrongarmThug.java b/Mage.Sets/src/mage/cards/s/StrongarmThug.java index 2f090410101..5358c251571 100644 --- a/Mage.Sets/src/mage/cards/s/StrongarmThug.java +++ b/Mage.Sets/src/mage/cards/s/StrongarmThug.java @@ -55,8 +55,8 @@ public class StrongarmThug extends CardImpl { public StrongarmThug(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Mercenary"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MERCENARY); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StrongholdAssassin.java b/Mage.Sets/src/mage/cards/s/StrongholdAssassin.java index 3277c59d8fc..d13110dd933 100644 --- a/Mage.Sets/src/mage/cards/s/StrongholdAssassin.java +++ b/Mage.Sets/src/mage/cards/s/StrongholdAssassin.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.common.FilterCreaturePermanent; @@ -60,8 +61,8 @@ public class StrongholdAssassin extends CardImpl { public StrongholdAssassin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StrongholdMachinist.java b/Mage.Sets/src/mage/cards/s/StrongholdMachinist.java index 4f8b1d58d2d..ddf53b898f7 100644 --- a/Mage.Sets/src/mage/cards/s/StrongholdMachinist.java +++ b/Mage.Sets/src/mage/cards/s/StrongholdMachinist.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CounterTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -59,8 +60,8 @@ public class StrongholdMachinist extends CardImpl { public StrongholdMachinist(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StrongholdOverseer.java b/Mage.Sets/src/mage/cards/s/StrongholdOverseer.java index 9e0d26c4cbd..a0afc5b4fba 100644 --- a/Mage.Sets/src/mage/cards/s/StrongholdOverseer.java +++ b/Mage.Sets/src/mage/cards/s/StrongholdOverseer.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -61,7 +62,7 @@ public class StrongholdOverseer extends CardImpl { public StrongholdOverseer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/StrongholdRats.java b/Mage.Sets/src/mage/cards/s/StrongholdRats.java index ab5afd3bbd0..3d3c2940297 100644 --- a/Mage.Sets/src/mage/cards/s/StrongholdRats.java +++ b/Mage.Sets/src/mage/cards/s/StrongholdRats.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class StrongholdRats extends CardImpl { public StrongholdRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StrongholdTaskmaster.java b/Mage.Sets/src/mage/cards/s/StrongholdTaskmaster.java index 780df902e14..22b621e16ed 100644 --- a/Mage.Sets/src/mage/cards/s/StrongholdTaskmaster.java +++ b/Mage.Sets/src/mage/cards/s/StrongholdTaskmaster.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -55,8 +56,8 @@ public class StrongholdTaskmaster extends CardImpl { public StrongholdTaskmaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Giant"); - this.subtype.add("Minion"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.MINION); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StrongholdZeppelin.java b/Mage.Sets/src/mage/cards/s/StrongholdZeppelin.java index a8a075205b4..abd254dc8e3 100644 --- a/Mage.Sets/src/mage/cards/s/StrongholdZeppelin.java +++ b/Mage.Sets/src/mage/cards/s/StrongholdZeppelin.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class StrongholdZeppelin extends CardImpl { public StrongholdZeppelin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StruggleSurvive.java b/Mage.Sets/src/mage/cards/s/StruggleSurvive.java index 5b7ac2f61e1..636a48ecceb 100644 --- a/Mage.Sets/src/mage/cards/s/StruggleSurvive.java +++ b/Mage.Sets/src/mage/cards/s/StruggleSurvive.java @@ -1,115 +1,115 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.effects.Effect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DamageTargetEffect; -import mage.abilities.keyword.AftermathAbility; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.SplitCard; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.SpellAbilityType; -import mage.constants.Zone; -import mage.filter.common.FilterControlledLandPermanent; -import mage.game.Game; -import mage.players.Player; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author LevelX2 - */ -public class StruggleSurvive extends SplitCard { - - public StruggleSurvive(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, new CardType[]{CardType.SORCERY}, "{2}{R}", "{1}{G}", SpellAbilityType.SPLIT_AFTERMATH); - - // Struggle - // Struggle deals damage to target creature equal to the number of lands you control. - Effect effect = new DamageTargetEffect(new PermanentsOnBattlefieldCount(new FilterControlledLandPermanent("the number of lands you control"))); - effect.setText("Struggle deals damage to target creature equal to the number of lands you control"); - getLeftHalfCard().getSpellAbility().addEffect(effect); - getLeftHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent()); - - // Survive - // Aftermath - ((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility().setRuleAtTheTop(true)); - // Each player shuffles his or graveyard into his or her library. - getRightHalfCard().getSpellAbility().addEffect(new SurviveEffect()); - - } - - public StruggleSurvive(final StruggleSurvive card) { - super(card); - } - - @Override - public StruggleSurvive copy() { - return new StruggleSurvive(this); - } -} - -class SurviveEffect extends OneShotEffect { - - public SurviveEffect() { - super(Outcome.Neutral); - staticText = "Each player shuffles his or her graveyard into his or her library"; - } - - public SurviveEffect(final SurviveEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Player sourcePlayer = game.getPlayer(source.getControllerId()); - for (UUID playerId : game.getState().getPlayersInRange(sourcePlayer.getId(), game)) { - Player player = game.getPlayer(playerId); - if (player != null) { - for (Card card : player.getGraveyard().getCards(game)) { - card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); - } - player.shuffleLibrary(source, game); - } - } - return true; - } - - @Override - public SurviveEffect copy() { - return new SurviveEffect(this); - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.keyword.AftermathAbility; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.SplitCard; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.SpellAbilityType; +import mage.constants.Zone; +import mage.filter.common.FilterControlledLandPermanent; +import mage.game.Game; +import mage.players.Player; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class StruggleSurvive extends SplitCard { + + public StruggleSurvive(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, new CardType[]{CardType.SORCERY}, "{2}{R}", "{1}{G}", SpellAbilityType.SPLIT_AFTERMATH); + + // Struggle + // Struggle deals damage to target creature equal to the number of lands you control. + Effect effect = new DamageTargetEffect(new PermanentsOnBattlefieldCount(new FilterControlledLandPermanent("the number of lands you control"))); + effect.setText("Struggle deals damage to target creature equal to the number of lands you control"); + getLeftHalfCard().getSpellAbility().addEffect(effect); + getLeftHalfCard().getSpellAbility().addTarget(new TargetCreaturePermanent()); + + // Survive + // Aftermath + ((CardImpl) (getRightHalfCard())).addAbility(new AftermathAbility().setRuleAtTheTop(true)); + // Each player shuffles his or graveyard into his or her library. + getRightHalfCard().getSpellAbility().addEffect(new SurviveEffect()); + + } + + public StruggleSurvive(final StruggleSurvive card) { + super(card); + } + + @Override + public StruggleSurvive copy() { + return new StruggleSurvive(this); + } +} + +class SurviveEffect extends OneShotEffect { + + public SurviveEffect() { + super(Outcome.Neutral); + staticText = "Each player shuffles his or her graveyard into his or her library"; + } + + public SurviveEffect(final SurviveEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player sourcePlayer = game.getPlayer(source.getControllerId()); + for (UUID playerId : game.getState().getPlayersInRange(sourcePlayer.getId(), game)) { + Player player = game.getPlayer(playerId); + if (player != null) { + for (Card card : player.getGraveyard().getCards(game)) { + card.moveToZone(Zone.LIBRARY, source.getSourceId(), game, true); + } + player.shuffleLibrary(source, game); + } + } + return true; + } + + @Override + public SurviveEffect copy() { + return new SurviveEffect(this); + } + +} diff --git a/Mage.Sets/src/mage/cards/s/StudentOfElements.java b/Mage.Sets/src/mage/cards/s/StudentOfElements.java index db8478658cb..425d1364214 100644 --- a/Mage.Sets/src/mage/cards/s/StudentOfElements.java +++ b/Mage.Sets/src/mage/cards/s/StudentOfElements.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class StudentOfElements extends CardImpl { public StudentOfElements(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); @@ -114,8 +115,8 @@ class TobitaMasterOfWinds extends Token { addSuperType(SuperType.LEGENDARY); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Human"); - subtype.add("Wizard"); + subtype.add(SubType.HUMAN); + subtype.add(SubType.WIZARD); power = new MageInt(3); toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/StudentOfOjutai.java b/Mage.Sets/src/mage/cards/s/StudentOfOjutai.java index 1d06b6210a6..2cb7014d079 100644 --- a/Mage.Sets/src/mage/cards/s/StudentOfOjutai.java +++ b/Mage.Sets/src/mage/cards/s/StudentOfOjutai.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -52,8 +53,8 @@ public class StudentOfOjutai extends CardImpl { public StudentOfOjutai(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/StudentOfWarfare.java b/Mage.Sets/src/mage/cards/s/StudentOfWarfare.java index 66eadc9a1fc..3ead663e411 100644 --- a/Mage.Sets/src/mage/cards/s/StudentOfWarfare.java +++ b/Mage.Sets/src/mage/cards/s/StudentOfWarfare.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.LevelerCardBuilder; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -50,8 +51,8 @@ public class StudentOfWarfare extends LevelerCard { public StudentOfWarfare (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.color.setWhite(true); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StuffyDoll.java b/Mage.Sets/src/mage/cards/s/StuffyDoll.java index 6561e8f4307..5a7a8986ac9 100644 --- a/Mage.Sets/src/mage/cards/s/StuffyDoll.java +++ b/Mage.Sets/src/mage/cards/s/StuffyDoll.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class StuffyDoll extends CardImpl { public StuffyDoll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StunSniper.java b/Mage.Sets/src/mage/cards/s/StunSniper.java index d84874512bb..3da58a6422f 100644 --- a/Mage.Sets/src/mage/cards/s/StunSniper.java +++ b/Mage.Sets/src/mage/cards/s/StunSniper.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class StunSniper extends CardImpl { public StunSniper (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{W}"); - this.subtype.add("Human"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/StuntDouble.java b/Mage.Sets/src/mage/cards/s/StuntDouble.java index cb8487c1ce4..93895c87554 100644 --- a/Mage.Sets/src/mage/cards/s/StuntDouble.java +++ b/Mage.Sets/src/mage/cards/s/StuntDouble.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class StuntDouble extends CardImpl { public StuntDouble(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/StupefyingTouch.java b/Mage.Sets/src/mage/cards/s/StupefyingTouch.java index a68d5d53dc7..5f84c4a1a14 100644 --- a/Mage.Sets/src/mage/cards/s/StupefyingTouch.java +++ b/Mage.Sets/src/mage/cards/s/StupefyingTouch.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class StupefyingTouch extends CardImpl { public StupefyingTouch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SturdyHatchling.java b/Mage.Sets/src/mage/cards/s/SturdyHatchling.java index cb798aa0735..2aac458db73 100644 --- a/Mage.Sets/src/mage/cards/s/SturdyHatchling.java +++ b/Mage.Sets/src/mage/cards/s/SturdyHatchling.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -62,7 +63,7 @@ public class SturdyHatchling extends CardImpl { public SturdyHatchling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G/U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/Sturmgeist.java b/Mage.Sets/src/mage/cards/s/Sturmgeist.java index ee124c3f29d..d032a119034 100644 --- a/Mage.Sets/src/mage/cards/s/Sturmgeist.java +++ b/Mage.Sets/src/mage/cards/s/Sturmgeist.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class Sturmgeist extends CardImpl { public Sturmgeist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SuChi.java b/Mage.Sets/src/mage/cards/s/SuChi.java index 4fa205c993a..cdf19c2e5e8 100644 --- a/Mage.Sets/src/mage/cards/s/SuChi.java +++ b/Mage.Sets/src/mage/cards/s/SuChi.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.BasicManaEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class SuChi extends CardImpl { public SuChi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SubjugatorAngel.java b/Mage.Sets/src/mage/cards/s/SubjugatorAngel.java index 4ae47f5faf6..2fb93628ba9 100644 --- a/Mage.Sets/src/mage/cards/s/SubjugatorAngel.java +++ b/Mage.Sets/src/mage/cards/s/SubjugatorAngel.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -53,7 +54,7 @@ public class SubjugatorAngel extends CardImpl { public SubjugatorAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SublimeArchangel.java b/Mage.Sets/src/mage/cards/s/SublimeArchangel.java index b539bfdfddf..f806aaa2757 100644 --- a/Mage.Sets/src/mage/cards/s/SublimeArchangel.java +++ b/Mage.Sets/src/mage/cards/s/SublimeArchangel.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -48,7 +49,7 @@ public class SublimeArchangel extends CardImpl { public SublimeArchangel(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SubterraneanScout.java b/Mage.Sets/src/mage/cards/s/SubterraneanScout.java index 6f65dd0663b..ed073b951c0 100644 --- a/Mage.Sets/src/mage/cards/s/SubterraneanScout.java +++ b/Mage.Sets/src/mage/cards/s/SubterraneanScout.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.PowerPredicate; @@ -54,8 +55,8 @@ public class SubterraneanScout extends CardImpl { public SubterraneanScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Scout"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SubterraneanShambler.java b/Mage.Sets/src/mage/cards/s/SubterraneanShambler.java index 0e5ae929599..05cac8abffd 100644 --- a/Mage.Sets/src/mage/cards/s/SubterraneanShambler.java +++ b/Mage.Sets/src/mage/cards/s/SubterraneanShambler.java @@ -1,78 +1,79 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.EntersBattlefieldOrLeavesSourceTriggeredAbility; -import mage.abilities.effects.common.DamageAllEffect; -import mage.abilities.keyword.EchoAbility; -import mage.abilities.keyword.FlyingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.AbilityPredicate; - -/** - * - * @author Styxo - */ -public class SubterraneanShambler extends CardImpl { - - private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("creature without flying"); - - static { - filter.add(Predicates.not(new AbilityPredicate(FlyingAbility.class))); - } - - public SubterraneanShambler(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - - this.subtype.add("Elemental"); - this.power = new MageInt(2); - this.toughness = new MageInt(3); - - // Echo {3}{R} - this.addAbility(new EchoAbility("{3}{R}")); - - // When Subterranean Shambler enters the battlefield or leaves the battlefield, it deals 1 damage to each creature without flying. - this.addAbility(new EntersBattlefieldOrLeavesSourceTriggeredAbility(new DamageAllEffect(1, filter), false)); - - } - - public SubterraneanShambler(final SubterraneanShambler card) { - super(card); - } - - @Override - public SubterraneanShambler copy() { - return new SubterraneanShambler(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldOrLeavesSourceTriggeredAbility; +import mage.abilities.effects.common.DamageAllEffect; +import mage.abilities.keyword.EchoAbility; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.AbilityPredicate; + +/** + * + * @author Styxo + */ +public class SubterraneanShambler extends CardImpl { + + private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("creature without flying"); + + static { + filter.add(Predicates.not(new AbilityPredicate(FlyingAbility.class))); + } + + public SubterraneanShambler(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); + + this.subtype.add(SubType.ELEMENTAL); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Echo {3}{R} + this.addAbility(new EchoAbility("{3}{R}")); + + // When Subterranean Shambler enters the battlefield or leaves the battlefield, it deals 1 damage to each creature without flying. + this.addAbility(new EntersBattlefieldOrLeavesSourceTriggeredAbility(new DamageAllEffect(1, filter), false)); + + } + + public SubterraneanShambler(final SubterraneanShambler card) { + super(card); + } + + @Override + public SubterraneanShambler copy() { + return new SubterraneanShambler(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SulamDjinn.java b/Mage.Sets/src/mage/cards/s/SulamDjinn.java index f70101d31d8..9be61d0a938 100644 --- a/Mage.Sets/src/mage/cards/s/SulamDjinn.java +++ b/Mage.Sets/src/mage/cards/s/SulamDjinn.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class SulamDjinn extends CardImpl { public SulamDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SulfurElemental.java b/Mage.Sets/src/mage/cards/s/SulfurElemental.java index 2f78da8a1ac..a43214d4a4d 100644 --- a/Mage.Sets/src/mage/cards/s/SulfurElemental.java +++ b/Mage.Sets/src/mage/cards/s/SulfurElemental.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.SplitSecondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -55,7 +56,7 @@ public class SulfurElemental extends CardImpl { public SulfurElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SultaiEmissary.java b/Mage.Sets/src/mage/cards/s/SultaiEmissary.java index 119aaf33a7e..07d7f8c47a4 100644 --- a/Mage.Sets/src/mage/cards/s/SultaiEmissary.java +++ b/Mage.Sets/src/mage/cards/s/SultaiEmissary.java @@ -34,6 +34,7 @@ import mage.abilities.effects.keyword.ManifestEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SultaiEmissary extends CardImpl { public SultaiEmissary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SultaiFlayer.java b/Mage.Sets/src/mage/cards/s/SultaiFlayer.java index 6ea2dd611c2..e4a2e50c159 100644 --- a/Mage.Sets/src/mage/cards/s/SultaiFlayer.java +++ b/Mage.Sets/src/mage/cards/s/SultaiFlayer.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -55,8 +56,8 @@ public class SultaiFlayer extends CardImpl { public SultaiFlayer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Naga"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SultaiRunemark.java b/Mage.Sets/src/mage/cards/s/SultaiRunemark.java index c9b58ef106b..f7a99790700 100644 --- a/Mage.Sets/src/mage/cards/s/SultaiRunemark.java +++ b/Mage.Sets/src/mage/cards/s/SultaiRunemark.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -65,7 +66,7 @@ public class SultaiRunemark extends CardImpl { public SultaiRunemark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SultaiScavenger.java b/Mage.Sets/src/mage/cards/s/SultaiScavenger.java index 1da92732517..3674a208201 100644 --- a/Mage.Sets/src/mage/cards/s/SultaiScavenger.java +++ b/Mage.Sets/src/mage/cards/s/SultaiScavenger.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SultaiScavenger extends CardImpl { public SultaiScavenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Bird"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SultaiSkullkeeper.java b/Mage.Sets/src/mage/cards/s/SultaiSkullkeeper.java index 71582ae4650..5cf30ab67ef 100644 --- a/Mage.Sets/src/mage/cards/s/SultaiSkullkeeper.java +++ b/Mage.Sets/src/mage/cards/s/SultaiSkullkeeper.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SultaiSkullkeeper extends CardImpl { public SultaiSkullkeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Naga"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SultaiSoothsayer.java b/Mage.Sets/src/mage/cards/s/SultaiSoothsayer.java index 4a492636991..bea2d5f0c10 100644 --- a/Mage.Sets/src/mage/cards/s/SultaiSoothsayer.java +++ b/Mage.Sets/src/mage/cards/s/SultaiSoothsayer.java @@ -39,6 +39,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -54,8 +55,8 @@ public class SultaiSoothsayer extends CardImpl { public SultaiSoothsayer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{G}{U}"); - this.subtype.add("Naga"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SummitApes.java b/Mage.Sets/src/mage/cards/s/SummitApes.java index b01b56ddee1..2c5f7624340 100644 --- a/Mage.Sets/src/mage/cards/s/SummitApes.java +++ b/Mage.Sets/src/mage/cards/s/SummitApes.java @@ -57,7 +57,7 @@ public class SummitApes extends CardImpl { public SummitApes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Ape"); + this.subtype.add(SubType.APE); this.color.setGreen(true); this.power = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SummitProwler.java b/Mage.Sets/src/mage/cards/s/SummitProwler.java index 003517c5568..ac4cd6481d3 100644 --- a/Mage.Sets/src/mage/cards/s/SummitProwler.java +++ b/Mage.Sets/src/mage/cards/s/SummitProwler.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class SummitProwler extends CardImpl { public SummitProwler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Yeti"); + this.subtype.add(SubType.YETI); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SummonTheSchool.java b/Mage.Sets/src/mage/cards/s/SummonTheSchool.java index 0675ee0b5fb..b3aca5f16e4 100644 --- a/Mage.Sets/src/mage/cards/s/SummonTheSchool.java +++ b/Mage.Sets/src/mage/cards/s/SummonTheSchool.java @@ -59,7 +59,7 @@ public class SummonTheSchool extends CardImpl { public SummonTheSchool(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.SORCERY},"{3}{W}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); // Create two 1/1 blue Merfolk Wizard creature tokens. this.getSpellAbility().addEffect(new CreateTokenEffect(new MerfolkWizardToken(), 2)); diff --git a/Mage.Sets/src/mage/cards/s/SummonersEgg.java b/Mage.Sets/src/mage/cards/s/SummonersEgg.java index d9f673b6914..23e86cfdc82 100644 --- a/Mage.Sets/src/mage/cards/s/SummonersEgg.java +++ b/Mage.Sets/src/mage/cards/s/SummonersEgg.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -54,7 +55,7 @@ public class SummonersEgg extends CardImpl { public SummonersEgg(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SunBlessedMount.java b/Mage.Sets/src/mage/cards/s/SunBlessedMount.java index e993d92bd1d..4d98ba22cfb 100644 --- a/Mage.Sets/src/mage/cards/s/SunBlessedMount.java +++ b/Mage.Sets/src/mage/cards/s/SunBlessedMount.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.search.SearchLibraryGraveyardPutInHandEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.NamePredicate; @@ -52,7 +53,7 @@ public class SunBlessedMount extends CardImpl { public SunBlessedMount(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{W}"); - this.subtype.add("Dinosaur"); + this.subtype.add(SubType.DINOSAUR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SunCeYoungConquerer.java b/Mage.Sets/src/mage/cards/s/SunCeYoungConquerer.java index 7e685e7b5cd..d6fe1addf98 100644 --- a/Mage.Sets/src/mage/cards/s/SunCeYoungConquerer.java +++ b/Mage.Sets/src/mage/cards/s/SunCeYoungConquerer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class SunCeYoungConquerer extends CardImpl { public SunCeYoungConquerer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SunClasp.java b/Mage.Sets/src/mage/cards/s/SunClasp.java index 80ffe8d8739..9aaa08f433d 100644 --- a/Mage.Sets/src/mage/cards/s/SunClasp.java +++ b/Mage.Sets/src/mage/cards/s/SunClasp.java @@ -54,7 +54,7 @@ public class SunClasp extends CardImpl { public SunClasp(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SunCrownedHunters.java b/Mage.Sets/src/mage/cards/s/SunCrownedHunters.java index 3c91d685642..e50d7f7eae7 100644 --- a/Mage.Sets/src/mage/cards/s/SunCrownedHunters.java +++ b/Mage.Sets/src/mage/cards/s/SunCrownedHunters.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetOpponent; @@ -47,7 +48,7 @@ public class SunCrownedHunters extends CardImpl { public SunCrownedHunters(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{R}"); - this.subtype.add("Dinosaur"); + this.subtype.add(SubType.DINOSAUR); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SunQuanLordOfWu.java b/Mage.Sets/src/mage/cards/s/SunQuanLordOfWu.java index 13f1206b836..dbd49f086ef 100644 --- a/Mage.Sets/src/mage/cards/s/SunQuanLordOfWu.java +++ b/Mage.Sets/src/mage/cards/s/SunQuanLordOfWu.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class SunQuanLordOfWu extends CardImpl { public SunQuanLordOfWu(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SunTitan.java b/Mage.Sets/src/mage/cards/s/SunTitan.java index cc7d67aca39..d485e78fc8a 100644 --- a/Mage.Sets/src/mage/cards/s/SunTitan.java +++ b/Mage.Sets/src/mage/cards/s/SunTitan.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterPermanentCard; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; @@ -55,7 +56,7 @@ public class SunTitan extends CardImpl { public SunTitan(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}{W}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SunastianFalconer.java b/Mage.Sets/src/mage/cards/s/SunastianFalconer.java index 29a4b36d1be..5074a8a20f8 100644 --- a/Mage.Sets/src/mage/cards/s/SunastianFalconer.java +++ b/Mage.Sets/src/mage/cards/s/SunastianFalconer.java @@ -35,6 +35,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class SunastianFalconer extends CardImpl { public SunastianFalconer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SunbladeElf.java b/Mage.Sets/src/mage/cards/s/SunbladeElf.java index 03f7ad28176..ec32821bcdc 100644 --- a/Mage.Sets/src/mage/cards/s/SunbladeElf.java +++ b/Mage.Sets/src/mage/cards/s/SunbladeElf.java @@ -58,8 +58,8 @@ public class SunbladeElf extends CardImpl { public SunbladeElf(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SunblastAngel.java b/Mage.Sets/src/mage/cards/s/SunblastAngel.java index 401f4af9490..253dc26bc15 100644 --- a/Mage.Sets/src/mage/cards/s/SunblastAngel.java +++ b/Mage.Sets/src/mage/cards/s/SunblastAngel.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.TappedPredicate; @@ -54,7 +55,7 @@ public class SunblastAngel extends CardImpl { public SunblastAngel (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/Sunbond.java b/Mage.Sets/src/mage/cards/s/Sunbond.java index a3f257e3b91..7e71c144ad2 100644 --- a/Mage.Sets/src/mage/cards/s/Sunbond.java +++ b/Mage.Sets/src/mage/cards/s/Sunbond.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class Sunbond extends CardImpl { public Sunbond(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/s/Suncrusher.java b/Mage.Sets/src/mage/cards/s/Suncrusher.java index 9ac2043d70f..3c5c2769dbe 100644 --- a/Mage.Sets/src/mage/cards/s/Suncrusher.java +++ b/Mage.Sets/src/mage/cards/s/Suncrusher.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.SunburstAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -52,7 +53,7 @@ public class Suncrusher extends CardImpl { public Suncrusher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{9}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SunderingTitan.java b/Mage.Sets/src/mage/cards/s/SunderingTitan.java index ac9dc94ff5a..fabc79b65ed 100644 --- a/Mage.Sets/src/mage/cards/s/SunderingTitan.java +++ b/Mage.Sets/src/mage/cards/s/SunderingTitan.java @@ -56,7 +56,7 @@ public class SunderingTitan extends CardImpl { public SunderingTitan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{8}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(7); this.toughness = new MageInt(10); diff --git a/Mage.Sets/src/mage/cards/s/SunflareShaman.java b/Mage.Sets/src/mage/cards/s/SunflareShaman.java index 3607938c052..11e58a48f31 100644 --- a/Mage.Sets/src/mage/cards/s/SunflareShaman.java +++ b/Mage.Sets/src/mage/cards/s/SunflareShaman.java @@ -56,8 +56,8 @@ public class SunflareShaman extends CardImpl { public SunflareShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/Sunforger.java b/Mage.Sets/src/mage/cards/s/Sunforger.java index f5c509baf76..cd54573746c 100644 --- a/Mage.Sets/src/mage/cards/s/Sunforger.java +++ b/Mage.Sets/src/mage/cards/s/Sunforger.java @@ -44,6 +44,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Outcome; @@ -67,7 +68,7 @@ public class Sunforger extends CardImpl { public Sunforger(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +4/+0. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(4, 0, Duration.WhileOnBattlefield))); diff --git a/Mage.Sets/src/mage/cards/s/SungracePegasus.java b/Mage.Sets/src/mage/cards/s/SungracePegasus.java index 6d6a888895a..e0b8adb96aa 100644 --- a/Mage.Sets/src/mage/cards/s/SungracePegasus.java +++ b/Mage.Sets/src/mage/cards/s/SungracePegasus.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SungracePegasus extends CardImpl { public SungracePegasus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Pegasus"); + this.subtype.add(SubType.PEGASUS); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SunhomeEnforcer.java b/Mage.Sets/src/mage/cards/s/SunhomeEnforcer.java index 6b4f72b5ca7..4876f3cab49 100644 --- a/Mage.Sets/src/mage/cards/s/SunhomeEnforcer.java +++ b/Mage.Sets/src/mage/cards/s/SunhomeEnforcer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -52,8 +53,8 @@ public class SunhomeEnforcer extends CardImpl { public SunhomeEnforcer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{W}"); - this.subtype.add("Giant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SunhomeGuildmage.java b/Mage.Sets/src/mage/cards/s/SunhomeGuildmage.java index 7771406ff19..131f4fbb7b1 100644 --- a/Mage.Sets/src/mage/cards/s/SunhomeGuildmage.java +++ b/Mage.Sets/src/mage/cards/s/SunhomeGuildmage.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.SoldierTokenWithHaste; @@ -49,8 +50,8 @@ public class SunhomeGuildmage extends CardImpl { public SunhomeGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SunkenField.java b/Mage.Sets/src/mage/cards/s/SunkenField.java index c480f2cdb54..97a38302769 100644 --- a/Mage.Sets/src/mage/cards/s/SunkenField.java +++ b/Mage.Sets/src/mage/cards/s/SunkenField.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -56,7 +57,7 @@ public class SunkenField extends CardImpl { public SunkenField(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SunkenHollow.java b/Mage.Sets/src/mage/cards/s/SunkenHollow.java index d97921888f9..96c024e540c 100644 --- a/Mage.Sets/src/mage/cards/s/SunkenHollow.java +++ b/Mage.Sets/src/mage/cards/s/SunkenHollow.java @@ -39,6 +39,7 @@ import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.filter.common.FilterLandPermanent; @@ -58,8 +59,8 @@ public class SunkenHollow extends CardImpl { public SunkenHollow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Island"); - this.subtype.add("Swamp"); + this.subtype.add(SubType.ISLAND); + this.subtype.add(SubType.SWAMP); // Sunken Hollow enters the battlefield tapped unless you control two or more basic lands. Condition controls = new InvertCondition(new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1)); diff --git a/Mage.Sets/src/mage/cards/s/SunriseSovereign.java b/Mage.Sets/src/mage/cards/s/SunriseSovereign.java index 8cf762cbf55..00fe77358e0 100644 --- a/Mage.Sets/src/mage/cards/s/SunriseSovereign.java +++ b/Mage.Sets/src/mage/cards/s/SunriseSovereign.java @@ -56,8 +56,8 @@ public class SunriseSovereign extends CardImpl { public SunriseSovereign(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SunscapeApprentice.java b/Mage.Sets/src/mage/cards/s/SunscapeApprentice.java index 81ed4ad22f8..1f09b28f899 100644 --- a/Mage.Sets/src/mage/cards/s/SunscapeApprentice.java +++ b/Mage.Sets/src/mage/cards/s/SunscapeApprentice.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -52,8 +53,8 @@ public class SunscapeApprentice extends CardImpl { public SunscapeApprentice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SunscapeBattlemage.java b/Mage.Sets/src/mage/cards/s/SunscapeBattlemage.java index a5edb2ffe96..7ff242e0629 100644 --- a/Mage.Sets/src/mage/cards/s/SunscapeBattlemage.java +++ b/Mage.Sets/src/mage/cards/s/SunscapeBattlemage.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; import mage.target.common.TargetCreaturePermanent; @@ -57,8 +58,8 @@ public class SunscapeBattlemage extends CardImpl { public SunscapeBattlemage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SunscapeFamiliar.java b/Mage.Sets/src/mage/cards/s/SunscapeFamiliar.java index 98dd6a89202..0f91253f569 100644 --- a/Mage.Sets/src/mage/cards/s/SunscapeFamiliar.java +++ b/Mage.Sets/src/mage/cards/s/SunscapeFamiliar.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; @@ -57,7 +58,7 @@ public class SunscapeFamiliar extends CardImpl { public SunscapeFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SunscapeMaster.java b/Mage.Sets/src/mage/cards/s/SunscapeMaster.java index f0a052bcf0f..ef269a7a736 100644 --- a/Mage.Sets/src/mage/cards/s/SunscapeMaster.java +++ b/Mage.Sets/src/mage/cards/s/SunscapeMaster.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -51,8 +52,8 @@ public class SunscapeMaster extends CardImpl { public SunscapeMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SunscorchRegent.java b/Mage.Sets/src/mage/cards/s/SunscorchRegent.java index 4d5c529bc67..6d07e29406e 100644 --- a/Mage.Sets/src/mage/cards/s/SunscorchRegent.java +++ b/Mage.Sets/src/mage/cards/s/SunscorchRegent.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -47,7 +48,7 @@ public class SunscorchRegent extends CardImpl { public SunscorchRegent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SunscorchedDesert.java b/Mage.Sets/src/mage/cards/s/SunscorchedDesert.java index 591e6dbca85..63d54229a8a 100644 --- a/Mage.Sets/src/mage/cards/s/SunscorchedDesert.java +++ b/Mage.Sets/src/mage/cards/s/SunscorchedDesert.java @@ -35,6 +35,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -46,7 +47,7 @@ public class SunscorchedDesert extends CardImpl { public SunscorchedDesert(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Desert"); + this.subtype.add(SubType.DESERT); // When Sunscorced Desert enters the battlefield, it deals 1 damage to target player. Ability ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(1)); diff --git a/Mage.Sets/src/mage/cards/s/SunscourgeChampion.java b/Mage.Sets/src/mage/cards/s/SunscourgeChampion.java index 1b8287d1272..0483974bfb2 100644 --- a/Mage.Sets/src/mage/cards/s/SunscourgeChampion.java +++ b/Mage.Sets/src/mage/cards/s/SunscourgeChampion.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EternalizeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -55,8 +56,8 @@ public class SunscourgeChampion extends CardImpl { public SunscourgeChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SunseedNurturer.java b/Mage.Sets/src/mage/cards/s/SunseedNurturer.java index ed019bb530e..d6e72f8d9d5 100644 --- a/Mage.Sets/src/mage/cards/s/SunseedNurturer.java +++ b/Mage.Sets/src/mage/cards/s/SunseedNurturer.java @@ -35,6 +35,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -51,9 +52,9 @@ public class SunseedNurturer extends CardImpl { public SunseedNurturer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SunspearShikari.java b/Mage.Sets/src/mage/cards/s/SunspearShikari.java index 14ed25432b2..5bee66a37a3 100644 --- a/Mage.Sets/src/mage/cards/s/SunspearShikari.java +++ b/Mage.Sets/src/mage/cards/s/SunspearShikari.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,8 +50,8 @@ public class SunspearShikari extends CardImpl { public SunspearShikari(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SunspireGatekeepers.java b/Mage.Sets/src/mage/cards/s/SunspireGatekeepers.java index cd01ed7ba38..35554b5dc92 100644 --- a/Mage.Sets/src/mage/cards/s/SunspireGatekeepers.java +++ b/Mage.Sets/src/mage/cards/s/SunspireGatekeepers.java @@ -58,8 +58,8 @@ public class SunspireGatekeepers extends CardImpl { public SunspireGatekeepers (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SunspireGriffin.java b/Mage.Sets/src/mage/cards/s/SunspireGriffin.java index 0829c67ca84..4ee147a43be 100644 --- a/Mage.Sets/src/mage/cards/s/SunspireGriffin.java +++ b/Mage.Sets/src/mage/cards/s/SunspireGriffin.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SunspireGriffin extends CardImpl { public SunspireGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SunstrikeLegionnaire.java b/Mage.Sets/src/mage/cards/s/SunstrikeLegionnaire.java index c32f1d424cf..112a1832f8c 100644 --- a/Mage.Sets/src/mage/cards/s/SunstrikeLegionnaire.java +++ b/Mage.Sets/src/mage/cards/s/SunstrikeLegionnaire.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -63,8 +64,8 @@ public class SunstrikeLegionnaire extends CardImpl { public SunstrikeLegionnaire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SuntailHawk.java b/Mage.Sets/src/mage/cards/s/SuntailHawk.java index 152fd1fa859..c8d455daf9c 100644 --- a/Mage.Sets/src/mage/cards/s/SuntailHawk.java +++ b/Mage.Sets/src/mage/cards/s/SuntailHawk.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SuntailHawk extends CardImpl { public SuntailHawk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SuntouchedMyr.java b/Mage.Sets/src/mage/cards/s/SuntouchedMyr.java index bc71193d912..8094c5be5a8 100644 --- a/Mage.Sets/src/mage/cards/s/SuntouchedMyr.java +++ b/Mage.Sets/src/mage/cards/s/SuntouchedMyr.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SunburstAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class SuntouchedMyr extends CardImpl { public SuntouchedMyr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Myr"); + this.subtype.add(SubType.MYR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/Sunweb.java b/Mage.Sets/src/mage/cards/s/Sunweb.java index 357b55a0048..2ebadddf320 100644 --- a/Mage.Sets/src/mage/cards/s/Sunweb.java +++ b/Mage.Sets/src/mage/cards/s/Sunweb.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -54,7 +55,7 @@ public class Sunweb extends CardImpl { public Sunweb(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SuperBattleDroid.java b/Mage.Sets/src/mage/cards/s/SuperBattleDroid.java index ab2123b4e0b..c31d0fd5d6c 100644 --- a/Mage.Sets/src/mage/cards/s/SuperBattleDroid.java +++ b/Mage.Sets/src/mage/cards/s/SuperBattleDroid.java @@ -1,61 +1,62 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.keyword.RepairAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class SuperBattleDroid extends CardImpl { - - public SuperBattleDroid(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}{U}"); - this.subtype.add("Droid"); - this.power = new MageInt(4); - this.toughness = new MageInt(5); - - // Repair 2 - this.addAbility(new RepairAbility(2)); - } - - public SuperBattleDroid(final SuperBattleDroid card) { - super(card); - } - - @Override - public SuperBattleDroid copy() { - return new SuperBattleDroid(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.keyword.RepairAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author Styxo + */ +public class SuperBattleDroid extends CardImpl { + + public SuperBattleDroid(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}{U}"); + this.subtype.add(SubType.DROID); + this.power = new MageInt(4); + this.toughness = new MageInt(5); + + // Repair 2 + this.addAbility(new RepairAbility(2)); + } + + public SuperBattleDroid(final SuperBattleDroid card) { + super(card); + } + + @Override + public SuperBattleDroid copy() { + return new SuperBattleDroid(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SupplyCaravan.java b/Mage.Sets/src/mage/cards/s/SupplyCaravan.java index 878cd37383d..716b0ca545d 100644 --- a/Mage.Sets/src/mage/cards/s/SupplyCaravan.java +++ b/Mage.Sets/src/mage/cards/s/SupplyCaravan.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.TappedPredicate; import mage.game.permanent.token.WarriorVigilantToken; @@ -56,7 +57,7 @@ public class SupplyCaravan extends CardImpl { public SupplyCaravan(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}"); - this.subtype.add("Camel"); + this.subtype.add(SubType.CAMEL); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/s/SupplyLineCranes.java b/Mage.Sets/src/mage/cards/s/SupplyLineCranes.java index 09bbf2ff954..12921f35d0a 100644 --- a/Mage.Sets/src/mage/cards/s/SupplyLineCranes.java +++ b/Mage.Sets/src/mage/cards/s/SupplyLineCranes.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class SupplyLineCranes extends CardImpl { public SupplyLineCranes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SuppressionBonds.java b/Mage.Sets/src/mage/cards/s/SuppressionBonds.java index 28a284f6976..c4aa188b227 100644 --- a/Mage.Sets/src/mage/cards/s/SuppressionBonds.java +++ b/Mage.Sets/src/mage/cards/s/SuppressionBonds.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class SuppressionBonds extends CardImpl { public SuppressionBonds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant nonland permanent TargetPermanent auraTarget = new TargetNonlandPermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SupremeExemplar.java b/Mage.Sets/src/mage/cards/s/SupremeExemplar.java index 42ae4f3928e..e6e5ddbb7fe 100644 --- a/Mage.Sets/src/mage/cards/s/SupremeExemplar.java +++ b/Mage.Sets/src/mage/cards/s/SupremeExemplar.java @@ -52,7 +52,7 @@ public class SupremeExemplar extends CardImpl { public SupremeExemplar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(10); this.toughness = new MageInt(10); diff --git a/Mage.Sets/src/mage/cards/s/SupremeInquisitor.java b/Mage.Sets/src/mage/cards/s/SupremeInquisitor.java index 38bed5add5c..9f586f4f529 100644 --- a/Mage.Sets/src/mage/cards/s/SupremeInquisitor.java +++ b/Mage.Sets/src/mage/cards/s/SupremeInquisitor.java @@ -67,8 +67,8 @@ public class SupremeInquisitor extends CardImpl { public SupremeInquisitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SuqAtaAssassin.java b/Mage.Sets/src/mage/cards/s/SuqAtaAssassin.java index 7c07fac2acc..499f3db3b32 100644 --- a/Mage.Sets/src/mage/cards/s/SuqAtaAssassin.java +++ b/Mage.Sets/src/mage/cards/s/SuqAtaAssassin.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class SuqAtaAssassin extends CardImpl { public SuqAtaAssassin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SuqAtaFirewalker.java b/Mage.Sets/src/mage/cards/s/SuqAtaFirewalker.java index 078191878bc..b193dabb4ed 100644 --- a/Mage.Sets/src/mage/cards/s/SuqAtaFirewalker.java +++ b/Mage.Sets/src/mage/cards/s/SuqAtaFirewalker.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterObject; @@ -59,8 +60,8 @@ public class SuqAtaFirewalker extends CardImpl { public SuqAtaFirewalker(UUID cardId, CardSetInfo cardSetInfo) { super(cardId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{U}"); - subtype.add("Human"); - subtype.add("Wizard"); + subtype.add(SubType.HUMAN); + subtype.add(SubType.WIZARD); power = new MageInt(0); toughness = new MageInt(1); color.setBlue(true); diff --git a/Mage.Sets/src/mage/cards/s/SuqAtaLancer.java b/Mage.Sets/src/mage/cards/s/SuqAtaLancer.java index a509db39f14..5743794d8d8 100644 --- a/Mage.Sets/src/mage/cards/s/SuqAtaLancer.java +++ b/Mage.Sets/src/mage/cards/s/SuqAtaLancer.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SuqAtaLancer extends CardImpl { public SuqAtaLancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SurestrikeTrident.java b/Mage.Sets/src/mage/cards/s/SurestrikeTrident.java index facc471461f..1b039ef3834 100644 --- a/Mage.Sets/src/mage/cards/s/SurestrikeTrident.java +++ b/Mage.Sets/src/mage/cards/s/SurestrikeTrident.java @@ -45,6 +45,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -57,7 +58,7 @@ public class SurestrikeTrident extends CardImpl { public SurestrikeTrident(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has first strike and "{T}, Unattach Surestrike Trident: This creature deals damage equal to its power to target player." Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT)); diff --git a/Mage.Sets/src/mage/cards/s/SurgeOfThoughtweft.java b/Mage.Sets/src/mage/cards/s/SurgeOfThoughtweft.java index fdd22cf1cbd..086977621c1 100644 --- a/Mage.Sets/src/mage/cards/s/SurgeOfThoughtweft.java +++ b/Mage.Sets/src/mage/cards/s/SurgeOfThoughtweft.java @@ -54,7 +54,7 @@ public class SurgeOfThoughtweft extends CardImpl { public SurgeOfThoughtweft(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{1}{W}"); - this.subtype.add("Kithkin"); + this.subtype.add(SubType.KITHKIN); // Creatures you control get +1/+1 until end of turn. this.getSpellAbility().addEffect(new BoostControlledEffect(1, 1, Duration.EndOfTurn)); diff --git a/Mage.Sets/src/mage/cards/s/Surgespanner.java b/Mage.Sets/src/mage/cards/s/Surgespanner.java index 69fd4479048..bb5467ee116 100644 --- a/Mage.Sets/src/mage/cards/s/Surgespanner.java +++ b/Mage.Sets/src/mage/cards/s/Surgespanner.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPermanent; /** @@ -47,8 +48,8 @@ public class Surgespanner extends CardImpl { public Surgespanner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SurgingMight.java b/Mage.Sets/src/mage/cards/s/SurgingMight.java index 6fba0096344..4de1aca15d5 100644 --- a/Mage.Sets/src/mage/cards/s/SurgingMight.java +++ b/Mage.Sets/src/mage/cards/s/SurgingMight.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.RippleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class SurgingMight extends CardImpl { public SurgingMight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/s/SurgingSentinels.java b/Mage.Sets/src/mage/cards/s/SurgingSentinels.java index 4d28b645db5..43c4f40eb81 100644 --- a/Mage.Sets/src/mage/cards/s/SurgingSentinels.java +++ b/Mage.Sets/src/mage/cards/s/SurgingSentinels.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.RippleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class SurgingSentinels extends CardImpl { public SurgingSentinels(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SurpriseManeuver.java b/Mage.Sets/src/mage/cards/s/SurpriseManeuver.java index 1e2e654074c..56e8aceeece 100644 --- a/Mage.Sets/src/mage/cards/s/SurpriseManeuver.java +++ b/Mage.Sets/src/mage/cards/s/SurpriseManeuver.java @@ -1,65 +1,65 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.abilities.effects.common.UntapTargetEffect; -import mage.abilities.effects.common.continuous.BoostOpponentsEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.target.common.TargetControlledCreaturePermanent; - -/** - * - * @author Styxo - */ -public class SurpriseManeuver extends CardImpl { - - public SurpriseManeuver(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}"); - - // Untap up to two target creatures you control. - this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent(0, 2)); - this.getSpellAbility().addEffect(new UntapTargetEffect()); - - // Creatures your opponents control get -1/-0 until end of turn. - this.getSpellAbility().addEffect(new BoostOpponentsEffect(-1, 0, Duration.EndOfTurn)); - - } - - public SurpriseManeuver(final SurpriseManeuver card) { - super(card); - } - - @Override - public SurpriseManeuver copy() { - return new SurpriseManeuver(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.abilities.effects.common.UntapTargetEffect; +import mage.abilities.effects.common.continuous.BoostOpponentsEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.target.common.TargetControlledCreaturePermanent; + +/** + * + * @author Styxo + */ +public class SurpriseManeuver extends CardImpl { + + public SurpriseManeuver(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}"); + + // Untap up to two target creatures you control. + this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent(0, 2)); + this.getSpellAbility().addEffect(new UntapTargetEffect()); + + // Creatures your opponents control get -1/-0 until end of turn. + this.getSpellAbility().addEffect(new BoostOpponentsEffect(-1, 0, Duration.EndOfTurn)); + + } + + public SurpriseManeuver(final SurpriseManeuver card) { + super(card); + } + + @Override + public SurpriseManeuver copy() { + return new SurpriseManeuver(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SurrakDragonclaw.java b/Mage.Sets/src/mage/cards/s/SurrakDragonclaw.java index 7ae24ed7eb7..9365f0a6911 100644 --- a/Mage.Sets/src/mage/cards/s/SurrakDragonclaw.java +++ b/Mage.Sets/src/mage/cards/s/SurrakDragonclaw.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class SurrakDragonclaw extends CardImpl { public SurrakDragonclaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{U}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SurrakTheHuntCaller.java b/Mage.Sets/src/mage/cards/s/SurrakTheHuntCaller.java index 82e2ab15e7f..4bdcbebf12b 100644 --- a/Mage.Sets/src/mage/cards/s/SurrakTheHuntCaller.java +++ b/Mage.Sets/src/mage/cards/s/SurrakTheHuntCaller.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.TargetController; @@ -52,8 +53,8 @@ public class SurrakTheHuntCaller extends CardImpl { public SurrakTheHuntCaller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SurrakarBanisher.java b/Mage.Sets/src/mage/cards/s/SurrakarBanisher.java index 2e63540c088..faa4e25c511 100644 --- a/Mage.Sets/src/mage/cards/s/SurrakarBanisher.java +++ b/Mage.Sets/src/mage/cards/s/SurrakarBanisher.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.TappedPredicate; import mage.target.common.TargetCreaturePermanent; @@ -53,7 +54,7 @@ public class SurrakarBanisher extends CardImpl { public SurrakarBanisher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Surrakar"); + this.subtype.add(SubType.SURRAKAR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SurrakarMarauder.java b/Mage.Sets/src/mage/cards/s/SurrakarMarauder.java index a8c37c31df8..a9dd07f390f 100644 --- a/Mage.Sets/src/mage/cards/s/SurrakarMarauder.java +++ b/Mage.Sets/src/mage/cards/s/SurrakarMarauder.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class SurrakarMarauder extends CardImpl { public SurrakarMarauder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Surrakar"); + this.subtype.add(SubType.SURRAKAR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SurrakarSpellblade.java b/Mage.Sets/src/mage/cards/s/SurrakarSpellblade.java index f618efdb319..589ed82c1b6 100644 --- a/Mage.Sets/src/mage/cards/s/SurrakarSpellblade.java +++ b/Mage.Sets/src/mage/cards/s/SurrakarSpellblade.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -58,7 +59,7 @@ public class SurrakarSpellblade extends CardImpl { public SurrakarSpellblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Surrakar"); + this.subtype.add(SubType.SURRAKAR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SurveillingSprite.java b/Mage.Sets/src/mage/cards/s/SurveillingSprite.java index d9303c3dcea..5525f979627 100644 --- a/Mage.Sets/src/mage/cards/s/SurveillingSprite.java +++ b/Mage.Sets/src/mage/cards/s/SurveillingSprite.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SurveillingSprite extends CardImpl { public SurveillingSprite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SurvivorsEncampment.java b/Mage.Sets/src/mage/cards/s/SurvivorsEncampment.java index 805d828f25d..1a2d726a6fc 100644 --- a/Mage.Sets/src/mage/cards/s/SurvivorsEncampment.java +++ b/Mage.Sets/src/mage/cards/s/SurvivorsEncampment.java @@ -35,6 +35,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.permanent.TappedPredicate; @@ -55,7 +56,7 @@ public class SurvivorsEncampment extends CardImpl { public SurvivorsEncampment(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); - this.subtype.add("Desert"); + this.subtype.add(SubType.DESERT); // {T}: Add {C} to your mana pool. this.addAbility(new ColorlessManaAbility()); diff --git a/Mage.Sets/src/mage/cards/s/SustainerOfTheRealm.java b/Mage.Sets/src/mage/cards/s/SustainerOfTheRealm.java index 724d5dcd04c..e766a8b67af 100644 --- a/Mage.Sets/src/mage/cards/s/SustainerOfTheRealm.java +++ b/Mage.Sets/src/mage/cards/s/SustainerOfTheRealm.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class SustainerOfTheRealm extends CardImpl { public SustainerOfTheRealm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SustainingSpirit.java b/Mage.Sets/src/mage/cards/s/SustainingSpirit.java index b55900a0946..08a42cbaf0c 100644 --- a/Mage.Sets/src/mage/cards/s/SustainingSpirit.java +++ b/Mage.Sets/src/mage/cards/s/SustainingSpirit.java @@ -50,8 +50,8 @@ public class SustainingSpirit extends CardImpl { public SustainingSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Angel"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ANGEL); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SuturePriest.java b/Mage.Sets/src/mage/cards/s/SuturePriest.java index a88faa982ab..58947b1a424 100644 --- a/Mage.Sets/src/mage/cards/s/SuturePriest.java +++ b/Mage.Sets/src/mage/cards/s/SuturePriest.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.game.Game; @@ -54,7 +55,7 @@ public class SuturePriest extends CardImpl { public SuturePriest(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SutureSpirit.java b/Mage.Sets/src/mage/cards/s/SutureSpirit.java index 937dd883b6d..25a1d84a935 100644 --- a/Mage.Sets/src/mage/cards/s/SutureSpirit.java +++ b/Mage.Sets/src/mage/cards/s/SutureSpirit.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class SutureSpirit extends CardImpl { public SutureSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SuturedGhoul.java b/Mage.Sets/src/mage/cards/s/SuturedGhoul.java index 71a2f9d2f38..00b76dbe102 100644 --- a/Mage.Sets/src/mage/cards/s/SuturedGhoul.java +++ b/Mage.Sets/src/mage/cards/s/SuturedGhoul.java @@ -43,6 +43,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -62,7 +63,7 @@ public class SuturedGhoul extends CardImpl { public SuturedGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SvogthosTheRestlessTomb.java b/Mage.Sets/src/mage/cards/s/SvogthosTheRestlessTomb.java index 28064d72c31..8d569f91707 100644 --- a/Mage.Sets/src/mage/cards/s/SvogthosTheRestlessTomb.java +++ b/Mage.Sets/src/mage/cards/s/SvogthosTheRestlessTomb.java @@ -40,6 +40,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -77,8 +78,8 @@ class SvogthosToken extends Token { public SvogthosToken() { super("", "black and green Plant Zombie creature with \"This creature's power and toughness are each equal to the number of creature cards in your graveyard.\""); cardType.add(CardType.CREATURE); - subtype.add("Plant"); - subtype.add("Zombie"); + subtype.add(SubType.PLANT); + subtype.add(SubType.ZOMBIE); color.setGreen(true); color.setBlack(true); power = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SvyelunitePriest.java b/Mage.Sets/src/mage/cards/s/SvyelunitePriest.java index 93c7b151df4..cdc45ef239a 100644 --- a/Mage.Sets/src/mage/cards/s/SvyelunitePriest.java +++ b/Mage.Sets/src/mage/cards/s/SvyelunitePriest.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.PhaseStep; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class SvyelunitePriest extends CardImpl { public SvyelunitePriest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SwampMosquito.java b/Mage.Sets/src/mage/cards/s/SwampMosquito.java index bddeed23b2a..dda38b6d9b7 100644 --- a/Mage.Sets/src/mage/cards/s/SwampMosquito.java +++ b/Mage.Sets/src/mage/cards/s/SwampMosquito.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class SwampMosquito extends CardImpl { public SwampMosquito(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SwansOfBrynArgoll.java b/Mage.Sets/src/mage/cards/s/SwansOfBrynArgoll.java index 5603b5c8aa1..2d87dc9523f 100644 --- a/Mage.Sets/src/mage/cards/s/SwansOfBrynArgoll.java +++ b/Mage.Sets/src/mage/cards/s/SwansOfBrynArgoll.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -57,8 +58,8 @@ public class SwansOfBrynArgoll extends CardImpl { public SwansOfBrynArgoll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W/U}{W/U}"); - this.subtype.add("Bird"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SwarmIntelligence.java b/Mage.Sets/src/mage/cards/s/SwarmIntelligence.java index e20abb16e15..b6418efb89e 100644 --- a/Mage.Sets/src/mage/cards/s/SwarmIntelligence.java +++ b/Mage.Sets/src/mage/cards/s/SwarmIntelligence.java @@ -1,60 +1,60 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.abilities.common.SpellCastControllerTriggeredAbility; -import mage.abilities.effects.common.CopyTargetSpellEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.common.FilterInstantOrSorcerySpell; - -/** - * - * @author LevelX2 - */ -public class SwarmIntelligence extends CardImpl { - - public SwarmIntelligence(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{6}{U}"); - - // Whenever you cast an instant or sorcery spell, you may copy that spell. You may choose new targets for the copy. - this.addAbility(new SpellCastControllerTriggeredAbility( - new CopyTargetSpellEffect().setText("you may copy that spell. You may choose new targets for the copy"), new FilterInstantOrSorcerySpell("an instant or sorcery spell"), true, true)); - } - - public SwarmIntelligence(final SwarmIntelligence card) { - super(card); - } - - @Override - public SwarmIntelligence copy() { - return new SwarmIntelligence(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.abilities.common.SpellCastControllerTriggeredAbility; +import mage.abilities.effects.common.CopyTargetSpellEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.common.FilterInstantOrSorcerySpell; + +/** + * + * @author LevelX2 + */ +public class SwarmIntelligence extends CardImpl { + + public SwarmIntelligence(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{6}{U}"); + + // Whenever you cast an instant or sorcery spell, you may copy that spell. You may choose new targets for the copy. + this.addAbility(new SpellCastControllerTriggeredAbility( + new CopyTargetSpellEffect().setText("you may copy that spell. You may choose new targets for the copy"), new FilterInstantOrSorcerySpell("an instant or sorcery spell"), true, true)); + } + + public SwarmIntelligence(final SwarmIntelligence card) { + super(card); + } + + @Override + public SwarmIntelligence copy() { + return new SwarmIntelligence(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SwarmOfBloodflies.java b/Mage.Sets/src/mage/cards/s/SwarmOfBloodflies.java index 80bfa5ebaf2..7cde5f8eff6 100644 --- a/Mage.Sets/src/mage/cards/s/SwarmOfBloodflies.java +++ b/Mage.Sets/src/mage/cards/s/SwarmOfBloodflies.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -47,7 +48,7 @@ public class SwarmOfBloodflies extends CardImpl { public SwarmOfBloodflies(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/s/SwarmOfRats.java b/Mage.Sets/src/mage/cards/s/SwarmOfRats.java index 5cac2ae81a1..2ca07bf926b 100644 --- a/Mage.Sets/src/mage/cards/s/SwarmOfRats.java +++ b/Mage.Sets/src/mage/cards/s/SwarmOfRats.java @@ -55,7 +55,7 @@ public class SwarmOfRats extends CardImpl { public SwarmOfRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SwarmTheSkies.java b/Mage.Sets/src/mage/cards/s/SwarmTheSkies.java index 407b4b5067b..b4c695daf26 100644 --- a/Mage.Sets/src/mage/cards/s/SwarmTheSkies.java +++ b/Mage.Sets/src/mage/cards/s/SwarmTheSkies.java @@ -1,58 +1,58 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.game.permanent.token.TIEFighterToken; - -/** - * - * @author Styxo - */ -public class SwarmTheSkies extends CardImpl { - - public SwarmTheSkies(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{B}"); - - // Create three 1/1 black Starship artifact creature tokens with Spaceflight named TIE Fighter. - this.getSpellAbility().addEffect(new CreateTokenEffect(new TIEFighterToken(), 3)); - } - - public SwarmTheSkies(final SwarmTheSkies card) { - super(card); - } - - @Override - public SwarmTheSkies copy() { - return new SwarmTheSkies(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.game.permanent.token.TIEFighterToken; + +/** + * + * @author Styxo + */ +public class SwarmTheSkies extends CardImpl { + + public SwarmTheSkies(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{B}"); + + // Create three 1/1 black Starship artifact creature tokens with Spaceflight named TIE Fighter. + this.getSpellAbility().addEffect(new CreateTokenEffect(new TIEFighterToken(), 3)); + } + + public SwarmTheSkies(final SwarmTheSkies card) { + super(card); + } + + @Override + public SwarmTheSkies copy() { + return new SwarmTheSkies(this); + } +} diff --git a/Mage.Sets/src/mage/cards/s/SwarmbornGiant.java b/Mage.Sets/src/mage/cards/s/SwarmbornGiant.java index 867b0bfd2cc..a5499529a0b 100644 --- a/Mage.Sets/src/mage/cards/s/SwarmbornGiant.java +++ b/Mage.Sets/src/mage/cards/s/SwarmbornGiant.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class SwarmbornGiant extends CardImpl { public SwarmbornGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SweatworksBrawler.java b/Mage.Sets/src/mage/cards/s/SweatworksBrawler.java index 09d02fcd567..83f9283dbe6 100644 --- a/Mage.Sets/src/mage/cards/s/SweatworksBrawler.java +++ b/Mage.Sets/src/mage/cards/s/SweatworksBrawler.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class SweatworksBrawler extends CardImpl { public SweatworksBrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SwiftSpinner.java b/Mage.Sets/src/mage/cards/s/SwiftSpinner.java index b759d8e164c..d83348de04a 100644 --- a/Mage.Sets/src/mage/cards/s/SwiftSpinner.java +++ b/Mage.Sets/src/mage/cards/s/SwiftSpinner.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SwiftSpinner extends CardImpl { public SwiftSpinner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SwiftWarkite.java b/Mage.Sets/src/mage/cards/s/SwiftWarkite.java index 6369fdbef1c..f8cfed71fbb 100644 --- a/Mage.Sets/src/mage/cards/s/SwiftWarkite.java +++ b/Mage.Sets/src/mage/cards/s/SwiftWarkite.java @@ -44,6 +44,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Outcome; @@ -67,7 +68,7 @@ public class SwiftWarkite extends CardImpl { public SwiftWarkite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SwiftfootBoots.java b/Mage.Sets/src/mage/cards/s/SwiftfootBoots.java index c9b3fd7b633..f04bc8d8caf 100644 --- a/Mage.Sets/src/mage/cards/s/SwiftfootBoots.java +++ b/Mage.Sets/src/mage/cards/s/SwiftfootBoots.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class SwiftfootBoots extends CardImpl { public SwiftfootBoots(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has hexproof and haste. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(HexproofAbility.getInstance(), AttachmentType.EQUIPMENT)); diff --git a/Mage.Sets/src/mage/cards/s/SwirlingSpriggan.java b/Mage.Sets/src/mage/cards/s/SwirlingSpriggan.java index 7f89b760570..cba68e0aa0f 100644 --- a/Mage.Sets/src/mage/cards/s/SwirlingSpriggan.java +++ b/Mage.Sets/src/mage/cards/s/SwirlingSpriggan.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BecomesColorOrColorsTargetEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -48,8 +49,8 @@ public class SwirlingSpriggan extends CardImpl { public SwirlingSpriggan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SwoopingTalon.java b/Mage.Sets/src/mage/cards/s/SwoopingTalon.java index 3a14eec1329..672aa3a034f 100644 --- a/Mage.Sets/src/mage/cards/s/SwoopingTalon.java +++ b/Mage.Sets/src/mage/cards/s/SwoopingTalon.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ProvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class SwoopingTalon extends CardImpl { public SwoopingTalon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/s/SwordDancer.java b/Mage.Sets/src/mage/cards/s/SwordDancer.java index e8c859042dd..e58938ac095 100644 --- a/Mage.Sets/src/mage/cards/s/SwordDancer.java +++ b/Mage.Sets/src/mage/cards/s/SwordDancer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetAttackingCreature; @@ -48,8 +49,8 @@ public class SwordDancer extends CardImpl { public SwordDancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SwordOfBodyAndMind.java b/Mage.Sets/src/mage/cards/s/SwordOfBodyAndMind.java index 2cd7bbca1fd..d89ebccdaeb 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfBodyAndMind.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfBodyAndMind.java @@ -45,6 +45,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -63,7 +64,7 @@ public class SwordOfBodyAndMind extends CardImpl { public SwordOfBodyAndMind(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+2 and has protection from green and from blue. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2)); diff --git a/Mage.Sets/src/mage/cards/s/SwordOfDungeonsAndDragons.java b/Mage.Sets/src/mage/cards/s/SwordOfDungeonsAndDragons.java index 91e15e90011..ab50290a067 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfDungeonsAndDragons.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfDungeonsAndDragons.java @@ -74,7 +74,7 @@ public class SwordOfDungeonsAndDragons extends CardImpl { public SwordOfDungeonsAndDragons(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+2 and has protection from Rogues and from Clerics. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2)); diff --git a/Mage.Sets/src/mage/cards/s/SwordOfFeastAndFamine.java b/Mage.Sets/src/mage/cards/s/SwordOfFeastAndFamine.java index 5543f317a7e..76ea4e143b5 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfFeastAndFamine.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfFeastAndFamine.java @@ -44,6 +44,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -61,7 +62,7 @@ public class SwordOfFeastAndFamine extends CardImpl { public SwordOfFeastAndFamine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(ProtectionAbility.from(ObjectColor.GREEN, ObjectColor.BLACK), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/s/SwordOfFireAndIce.java b/Mage.Sets/src/mage/cards/s/SwordOfFireAndIce.java index c9d7b29ba7f..2e137ff4240 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfFireAndIce.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfFireAndIce.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -59,7 +60,7 @@ public class SwordOfFireAndIce extends CardImpl { public SwordOfFireAndIce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+2 and has protection from red and from blue. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2))); diff --git a/Mage.Sets/src/mage/cards/s/SwordOfKaldra.java b/Mage.Sets/src/mage/cards/s/SwordOfKaldra.java index bf97f41c51d..1560a068d8e 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfKaldra.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfKaldra.java @@ -53,7 +53,7 @@ public class SwordOfKaldra extends CardImpl { public SwordOfKaldra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +5/+5. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(5, 5, Duration.WhileOnBattlefield))); diff --git a/Mage.Sets/src/mage/cards/s/SwordOfLightAndShadow.java b/Mage.Sets/src/mage/cards/s/SwordOfLightAndShadow.java index c00334b593d..033ee888e56 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfLightAndShadow.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfLightAndShadow.java @@ -44,6 +44,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -62,7 +63,7 @@ public class SwordOfLightAndShadow extends CardImpl { public SwordOfLightAndShadow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+2 and has protection from white and from black. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2))); diff --git a/Mage.Sets/src/mage/cards/s/SwordOfTheAnimist.java b/Mage.Sets/src/mage/cards/s/SwordOfTheAnimist.java index 2d804887ef1..0cdac1dc976 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfTheAnimist.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfTheAnimist.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class SwordOfTheAnimist extends CardImpl { public SwordOfTheAnimist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1))); diff --git a/Mage.Sets/src/mage/cards/s/SwordOfTheMeek.java b/Mage.Sets/src/mage/cards/s/SwordOfTheMeek.java index 9389361b523..a9b013b348d 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfTheMeek.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfTheMeek.java @@ -61,7 +61,7 @@ public class SwordOfTheMeek extends CardImpl { public SwordOfTheMeek(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+2. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 2, Duration.WhileOnBattlefield))); diff --git a/Mage.Sets/src/mage/cards/s/SwordOfTheParuns.java b/Mage.Sets/src/mage/cards/s/SwordOfTheParuns.java index c2f01806905..273b4deffff 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfTheParuns.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfTheParuns.java @@ -43,6 +43,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -68,7 +69,7 @@ public class SwordOfTheParuns extends CardImpl { public SwordOfTheParuns(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{4}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // As long as equipped creature is tapped, tapped creatures you control get +2/+0. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( diff --git a/Mage.Sets/src/mage/cards/s/SwordOfVengeance.java b/Mage.Sets/src/mage/cards/s/SwordOfVengeance.java index 1ce2d58252c..03d0911e5b8 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfVengeance.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfVengeance.java @@ -44,6 +44,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class SwordOfVengeance extends CardImpl { public SwordOfVengeance(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+0 and has first strike, vigilance, trample, and haste. diff --git a/Mage.Sets/src/mage/cards/s/SwordOfWarAndPeace.java b/Mage.Sets/src/mage/cards/s/SwordOfWarAndPeace.java index 089da3cadef..da7333acbd9 100644 --- a/Mage.Sets/src/mage/cards/s/SwordOfWarAndPeace.java +++ b/Mage.Sets/src/mage/cards/s/SwordOfWarAndPeace.java @@ -45,6 +45,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -63,7 +64,7 @@ public class SwordOfWarAndPeace extends CardImpl { public SwordOfWarAndPeace(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+2 and has protection from red and from white. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2)); diff --git a/Mage.Sets/src/mage/cards/s/SwordwiseCentaur.java b/Mage.Sets/src/mage/cards/s/SwordwiseCentaur.java index 8f769a02f31..e65c08a5549 100644 --- a/Mage.Sets/src/mage/cards/s/SwordwiseCentaur.java +++ b/Mage.Sets/src/mage/cards/s/SwordwiseCentaur.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class SwordwiseCentaur extends CardImpl { public SwordwiseCentaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); - this.subtype.add("Centaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CENTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SydriGalvanicGenius.java b/Mage.Sets/src/mage/cards/s/SydriGalvanicGenius.java index 0c7cd576b6f..abb6bd3e3ce 100644 --- a/Mage.Sets/src/mage/cards/s/SydriGalvanicGenius.java +++ b/Mage.Sets/src/mage/cards/s/SydriGalvanicGenius.java @@ -65,8 +65,8 @@ public class SydriGalvanicGenius extends CardImpl { public SydriGalvanicGenius(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SyggRiverCutthroat.java b/Mage.Sets/src/mage/cards/s/SyggRiverCutthroat.java index 05cc80b2036..5f3c233969c 100644 --- a/Mage.Sets/src/mage/cards/s/SyggRiverCutthroat.java +++ b/Mage.Sets/src/mage/cards/s/SyggRiverCutthroat.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.SuperType; import mage.constants.TargetController; @@ -49,8 +50,8 @@ public class SyggRiverCutthroat extends CardImpl { public SyggRiverCutthroat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U/B}{U/B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SyggRiverGuide.java b/Mage.Sets/src/mage/cards/s/SyggRiverGuide.java index 4e3a5f4bf5a..0ab153e7d14 100644 --- a/Mage.Sets/src/mage/cards/s/SyggRiverGuide.java +++ b/Mage.Sets/src/mage/cards/s/SyggRiverGuide.java @@ -57,8 +57,8 @@ public class SyggRiverGuide extends CardImpl { public SyggRiverGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SylvanAdvocate.java b/Mage.Sets/src/mage/cards/s/SylvanAdvocate.java index 6af0821ce03..a28e70c996c 100644 --- a/Mage.Sets/src/mage/cards/s/SylvanAdvocate.java +++ b/Mage.Sets/src/mage/cards/s/SylvanAdvocate.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Zone; @@ -61,9 +62,9 @@ public class SylvanAdvocate extends CardImpl { public SylvanAdvocate(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); - this.subtype.add("Ally"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SylvanBasilisk.java b/Mage.Sets/src/mage/cards/s/SylvanBasilisk.java index d1dcb455f1f..e4086db89ea 100644 --- a/Mage.Sets/src/mage/cards/s/SylvanBasilisk.java +++ b/Mage.Sets/src/mage/cards/s/SylvanBasilisk.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SylvanBasilisk extends CardImpl { public SylvanBasilisk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Basilisk"); + this.subtype.add(SubType.BASILISK); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SylvanCaryatid.java b/Mage.Sets/src/mage/cards/s/SylvanCaryatid.java index 41016d0c87e..07737efaba0 100644 --- a/Mage.Sets/src/mage/cards/s/SylvanCaryatid.java +++ b/Mage.Sets/src/mage/cards/s/SylvanCaryatid.java @@ -35,6 +35,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class SylvanCaryatid extends CardImpl { public SylvanCaryatid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Plant"); + this.subtype.add(SubType.PLANT); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SylvanMessenger.java b/Mage.Sets/src/mage/cards/s/SylvanMessenger.java index be76907c072..16526cf5ff4 100644 --- a/Mage.Sets/src/mage/cards/s/SylvanMessenger.java +++ b/Mage.Sets/src/mage/cards/s/SylvanMessenger.java @@ -54,7 +54,7 @@ public class SylvanMessenger extends CardImpl { public SylvanMessenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SylvanPrimordial.java b/Mage.Sets/src/mage/cards/s/SylvanPrimordial.java index 0465d47a9f5..70cf7fa6a28 100644 --- a/Mage.Sets/src/mage/cards/s/SylvanPrimordial.java +++ b/Mage.Sets/src/mage/cards/s/SylvanPrimordial.java @@ -60,7 +60,7 @@ public class SylvanPrimordial extends CardImpl { public SylvanPrimordial(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(6); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/s/SylvanRanger.java b/Mage.Sets/src/mage/cards/s/SylvanRanger.java index f3adf52350d..eda34ca213d 100644 --- a/Mage.Sets/src/mage/cards/s/SylvanRanger.java +++ b/Mage.Sets/src/mage/cards/s/SylvanRanger.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -47,8 +48,8 @@ public class SylvanRanger extends CardImpl { public SylvanRanger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SylvanSafekeeper.java b/Mage.Sets/src/mage/cards/s/SylvanSafekeeper.java index 4c153b7f3ed..bdf6293ea68 100644 --- a/Mage.Sets/src/mage/cards/s/SylvanSafekeeper.java +++ b/Mage.Sets/src/mage/cards/s/SylvanSafekeeper.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -51,8 +52,8 @@ public class SylvanSafekeeper extends CardImpl { public SylvanSafekeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SylvanYeti.java b/Mage.Sets/src/mage/cards/s/SylvanYeti.java index 622e4151fec..ff3d1b518a6 100644 --- a/Mage.Sets/src/mage/cards/s/SylvanYeti.java +++ b/Mage.Sets/src/mage/cards/s/SylvanYeti.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.SetPowerSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class SylvanYeti extends CardImpl { public SylvanYeti(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Yeti"); + this.subtype.add(SubType.YETI); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SylvokExplorer.java b/Mage.Sets/src/mage/cards/s/SylvokExplorer.java index 1ea87c48b0a..8cf5dd33bb5 100644 --- a/Mage.Sets/src/mage/cards/s/SylvokExplorer.java +++ b/Mage.Sets/src/mage/cards/s/SylvokExplorer.java @@ -33,6 +33,7 @@ import mage.abilities.mana.AnyColorLandsProduceManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -43,8 +44,8 @@ public class SylvokExplorer extends CardImpl { public SylvokExplorer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SylvokLifestaff.java b/Mage.Sets/src/mage/cards/s/SylvokLifestaff.java index 94acd238136..aa397775f9b 100644 --- a/Mage.Sets/src/mage/cards/s/SylvokLifestaff.java +++ b/Mage.Sets/src/mage/cards/s/SylvokLifestaff.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class SylvokLifestaff extends CardImpl { public SylvokLifestaff(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+0. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 0))); diff --git a/Mage.Sets/src/mage/cards/s/SylvokReplica.java b/Mage.Sets/src/mage/cards/s/SylvokReplica.java index c67cd560090..545355c42ab 100644 --- a/Mage.Sets/src/mage/cards/s/SylvokReplica.java +++ b/Mage.Sets/src/mage/cards/s/SylvokReplica.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class SylvokReplica extends CardImpl { public SylvokReplica (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SymbioticBeast.java b/Mage.Sets/src/mage/cards/s/SymbioticBeast.java index 3910e1685a9..3af2ddabbee 100644 --- a/Mage.Sets/src/mage/cards/s/SymbioticBeast.java +++ b/Mage.Sets/src/mage/cards/s/SymbioticBeast.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.InsectToken; /** @@ -44,8 +45,8 @@ public class SymbioticBeast extends CardImpl { public SymbioticBeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Insect"); - this.subtype.add("Beast"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SymbioticElf.java b/Mage.Sets/src/mage/cards/s/SymbioticElf.java index 5ec426c4fc2..e229ea7b172 100644 --- a/Mage.Sets/src/mage/cards/s/SymbioticElf.java +++ b/Mage.Sets/src/mage/cards/s/SymbioticElf.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.InsectToken; /** @@ -44,7 +45,7 @@ public class SymbioticElf extends CardImpl { public SymbioticElf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SymbioticWurm.java b/Mage.Sets/src/mage/cards/s/SymbioticWurm.java index 3e2fdda0a8f..dc060c6c5ea 100644 --- a/Mage.Sets/src/mage/cards/s/SymbioticWurm.java +++ b/Mage.Sets/src/mage/cards/s/SymbioticWurm.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.InsectToken; /** @@ -44,7 +45,7 @@ public class SymbioticWurm extends CardImpl { public SymbioticWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/s/SynapseSliver.java b/Mage.Sets/src/mage/cards/s/SynapseSliver.java index e664a365b7d..23e83cd4604 100644 --- a/Mage.Sets/src/mage/cards/s/SynapseSliver.java +++ b/Mage.Sets/src/mage/cards/s/SynapseSliver.java @@ -47,7 +47,7 @@ public class SynapseSliver extends CardImpl { public SynapseSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SynchronousSliver.java b/Mage.Sets/src/mage/cards/s/SynchronousSliver.java index 5de14005132..4cdeb4e1515 100644 --- a/Mage.Sets/src/mage/cards/s/SynchronousSliver.java +++ b/Mage.Sets/src/mage/cards/s/SynchronousSliver.java @@ -50,7 +50,7 @@ public class SynchronousSliver extends CardImpl { public SynchronousSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/s/SyndicOfTithes.java b/Mage.Sets/src/mage/cards/s/SyndicOfTithes.java index e356b649c02..d50e955942e 100644 --- a/Mage.Sets/src/mage/cards/s/SyndicOfTithes.java +++ b/Mage.Sets/src/mage/cards/s/SyndicOfTithes.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ExtortAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class SyndicOfTithes extends CardImpl { public SyndicOfTithes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SyndicateEnforcer.java b/Mage.Sets/src/mage/cards/s/SyndicateEnforcer.java index 1629b03858b..f00c36cd688 100644 --- a/Mage.Sets/src/mage/cards/s/SyndicateEnforcer.java +++ b/Mage.Sets/src/mage/cards/s/SyndicateEnforcer.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ExtortAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class SyndicateEnforcer extends CardImpl { public SyndicateEnforcer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SyndicateEnforcerSWS.java b/Mage.Sets/src/mage/cards/s/SyndicateEnforcerSWS.java index 677141b2a89..2f5ef91347a 100644 --- a/Mage.Sets/src/mage/cards/s/SyndicateEnforcerSWS.java +++ b/Mage.Sets/src/mage/cards/s/SyndicateEnforcerSWS.java @@ -1,118 +1,119 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.s; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.combat.CantBlockTargetEffect; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.permanent.Permanent; -import mage.target.common.TargetOpponentsCreaturePermanent; - -/** - * - * @author Styxo - */ -public class SyndicateEnforcerSWS extends CardImpl { - - public SyndicateEnforcerSWS(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Gand"); - this.subtype.add("Hunter"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - - // When {this} enters the battlefield, put a bounty counter on target creature an opponent controls - Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance())); - ability.addTarget(new TargetOpponentsCreaturePermanent()); - this.addAbility(ability); - - // Whenever a bounty counter is placed on a creature an opponents controls, that creature can't block this turn. - this.addAbility(new SyndicateEnforcerTriggeredAbility()); - } - - public SyndicateEnforcerSWS(final SyndicateEnforcerSWS card) { - super(card); - } - - @Override - public SyndicateEnforcerSWS copy() { - return new SyndicateEnforcerSWS(this); - } -} - -class SyndicateEnforcerTriggeredAbility extends TriggeredAbilityImpl { - - private static final Effect effect = new CantBlockTargetEffect(Duration.EndOfTurn); - - public SyndicateEnforcerTriggeredAbility() { - super(Zone.BATTLEFIELD, effect, false); - } - - public SyndicateEnforcerTriggeredAbility(final SyndicateEnforcerTriggeredAbility ability) { - super(ability); - } - - @Override - public SyndicateEnforcerTriggeredAbility copy() { - return new SyndicateEnforcerTriggeredAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.COUNTERS_ADDED; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - if (event.getData().equals(CounterType.BOUNTY.getName())) { - Permanent permanent = game.getPermanentOrLKIBattlefield(event.getTargetId()); - if (permanent != null) { - return true; - } - } - return false; - } - - @Override - public String getRule() { - return "Whenever a bounty counter is placed on a creature an opponents controls, that creature can't block this turn."; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.s; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.combat.CantBlockTargetEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; +import mage.target.common.TargetOpponentsCreaturePermanent; + +/** + * + * @author Styxo + */ +public class SyndicateEnforcerSWS extends CardImpl { + + public SyndicateEnforcerSWS(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); + this.subtype.add(SubType.GAND); + this.subtype.add(SubType.HUNTER); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // When {this} enters the battlefield, put a bounty counter on target creature an opponent controls + Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance())); + ability.addTarget(new TargetOpponentsCreaturePermanent()); + this.addAbility(ability); + + // Whenever a bounty counter is placed on a creature an opponents controls, that creature can't block this turn. + this.addAbility(new SyndicateEnforcerTriggeredAbility()); + } + + public SyndicateEnforcerSWS(final SyndicateEnforcerSWS card) { + super(card); + } + + @Override + public SyndicateEnforcerSWS copy() { + return new SyndicateEnforcerSWS(this); + } +} + +class SyndicateEnforcerTriggeredAbility extends TriggeredAbilityImpl { + + private static final Effect effect = new CantBlockTargetEffect(Duration.EndOfTurn); + + public SyndicateEnforcerTriggeredAbility() { + super(Zone.BATTLEFIELD, effect, false); + } + + public SyndicateEnforcerTriggeredAbility(final SyndicateEnforcerTriggeredAbility ability) { + super(ability); + } + + @Override + public SyndicateEnforcerTriggeredAbility copy() { + return new SyndicateEnforcerTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.COUNTERS_ADDED; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getData().equals(CounterType.BOUNTY.getName())) { + Permanent permanent = game.getPermanentOrLKIBattlefield(event.getTargetId()); + if (permanent != null) { + return true; + } + } + return false; + } + + @Override + public String getRule() { + return "Whenever a bounty counter is placed on a creature an opponents controls, that creature can't block this turn."; + } +} diff --git a/Mage.Sets/src/mage/cards/s/SyndicateTrafficker.java b/Mage.Sets/src/mage/cards/s/SyndicateTrafficker.java index 6d2414d79fb..092a53ed779 100644 --- a/Mage.Sets/src/mage/cards/s/SyndicateTrafficker.java +++ b/Mage.Sets/src/mage/cards/s/SyndicateTrafficker.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -53,8 +54,8 @@ public class SyndicateTrafficker extends CardImpl { public SyndicateTrafficker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Aetherborn"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.AETHERBORN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/s/SynodArtificer.java b/Mage.Sets/src/mage/cards/s/SynodArtificer.java index 10b52e4d791..98ab8fcfa59 100644 --- a/Mage.Sets/src/mage/cards/s/SynodArtificer.java +++ b/Mage.Sets/src/mage/cards/s/SynodArtificer.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -63,8 +64,8 @@ public class SynodArtificer extends CardImpl { public SynodArtificer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SynodCenturion.java b/Mage.Sets/src/mage/cards/s/SynodCenturion.java index 1b946dae5f0..95fe7c4ce99 100644 --- a/Mage.Sets/src/mage/cards/s/SynodCenturion.java +++ b/Mage.Sets/src/mage/cards/s/SynodCenturion.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -47,7 +48,7 @@ public class SynodCenturion extends CardImpl { public SynodCenturion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/s/SyphonSliver.java b/Mage.Sets/src/mage/cards/s/SyphonSliver.java index 62d6a0aa6ad..4d30235cee3 100644 --- a/Mage.Sets/src/mage/cards/s/SyphonSliver.java +++ b/Mage.Sets/src/mage/cards/s/SyphonSliver.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -47,7 +48,7 @@ public class SyphonSliver extends CardImpl { public SyphonSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/s/SzadekLordOfSecrets.java b/Mage.Sets/src/mage/cards/s/SzadekLordOfSecrets.java index b8532483d94..87393d7bc14 100644 --- a/Mage.Sets/src/mage/cards/s/SzadekLordOfSecrets.java +++ b/Mage.Sets/src/mage/cards/s/SzadekLordOfSecrets.java @@ -53,7 +53,7 @@ public class SzadekLordOfSecrets extends CardImpl { public SzadekLordOfSecrets(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TIEBomber.java b/Mage.Sets/src/mage/cards/t/TIEBomber.java index d6aa455fd9e..a25c9e9eebc 100644 --- a/Mage.Sets/src/mage/cards/t/TIEBomber.java +++ b/Mage.Sets/src/mage/cards/t/TIEBomber.java @@ -1,76 +1,77 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.condition.common.IsPhaseCondition; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.decorator.ConditionalActivatedAbility; -import mage.abilities.effects.common.continuous.LoseAbilitySourceEffect; -import mage.abilities.keyword.SpaceflightAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.TurnPhase; -import mage.constants.Zone; - -/** - * - * @author Styxo - */ -public class TIEBomber extends CardImpl { - - public TIEBomber(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Starship"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - - // Spaceflight - this.addAbility(SpaceflightAbility.getInstance()); - - // {1}: TIE Bomber loses Spaceflight until end od turn. Activate this ability only during combat. - this.addAbility(new ConditionalActivatedAbility( - Zone.BATTLEFIELD, - new LoseAbilitySourceEffect(SpaceflightAbility.getInstance(), Duration.EndOfTurn), - new GenericManaCost(1), - new IsPhaseCondition(TurnPhase.COMBAT), - "{1}: {this} loses Spaceflight until end od turn. Activate this ability only during combat.")); - } - - public TIEBomber(final TIEBomber card) { - super(card); - } - - @Override - public TIEBomber copy() { - return new TIEBomber(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.condition.common.IsPhaseCondition; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.decorator.ConditionalActivatedAbility; +import mage.abilities.effects.common.continuous.LoseAbilitySourceEffect; +import mage.abilities.keyword.SpaceflightAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.TurnPhase; +import mage.constants.Zone; + +/** + * + * @author Styxo + */ +public class TIEBomber extends CardImpl { + + public TIEBomber(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}{B}"); + this.subtype.add(SubType.STARSHIP); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // Spaceflight + this.addAbility(SpaceflightAbility.getInstance()); + + // {1}: TIE Bomber loses Spaceflight until end od turn. Activate this ability only during combat. + this.addAbility(new ConditionalActivatedAbility( + Zone.BATTLEFIELD, + new LoseAbilitySourceEffect(SpaceflightAbility.getInstance(), Duration.EndOfTurn), + new GenericManaCost(1), + new IsPhaseCondition(TurnPhase.COMBAT), + "{1}: {this} loses Spaceflight until end od turn. Activate this ability only during combat.")); + } + + public TIEBomber(final TIEBomber card) { + super(card); + } + + @Override + public TIEBomber copy() { + return new TIEBomber(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/TIEInterceptor.java b/Mage.Sets/src/mage/cards/t/TIEInterceptor.java index 7104e0aa5a6..0348a0ac05d 100644 --- a/Mage.Sets/src/mage/cards/t/TIEInterceptor.java +++ b/Mage.Sets/src/mage/cards/t/TIEInterceptor.java @@ -1,99 +1,100 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.AttacksTriggeredAbility; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.keyword.SpaceflightAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.game.Game; -import mage.players.Player; - -/** - * - * @author Styxo - */ -public class TIEInterceptor extends CardImpl { - - public TIEInterceptor(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}{B}"); - this.subtype.add("Starship"); - this.power = new MageInt(1); - this.toughness = new MageInt(1); - - // Spaceflight - this.addAbility(SpaceflightAbility.getInstance()); - - // Whenever TIE Interceptor attacks, each opponent loses 2 life. - this.addAbility(new AttacksTriggeredAbility(new TIEInterceptorEffect(), false)); - } - - public TIEInterceptor(final TIEInterceptor card) { - super(card); - } - - @Override - public TIEInterceptor copy() { - return new TIEInterceptor(this); - } -} - -class TIEInterceptorEffect extends OneShotEffect { - - TIEInterceptorEffect() { - super(Outcome.Damage); - staticText = "each opponent loses 2 life"; - } - - TIEInterceptorEffect(final TIEInterceptorEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - for (UUID opponentId : game.getOpponents(source.getControllerId())) { - Player opponent = game.getPlayer(opponentId); - if (opponent != null) { - opponent.loseLife(2, game, false); - } - } - return true; - } - - @Override - public TIEInterceptorEffect copy() { - return new TIEInterceptorEffect(this); - - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.keyword.SpaceflightAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.game.Game; +import mage.players.Player; + +/** + * + * @author Styxo + */ +public class TIEInterceptor extends CardImpl { + + public TIEInterceptor(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}{B}"); + this.subtype.add(SubType.STARSHIP); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // Spaceflight + this.addAbility(SpaceflightAbility.getInstance()); + + // Whenever TIE Interceptor attacks, each opponent loses 2 life. + this.addAbility(new AttacksTriggeredAbility(new TIEInterceptorEffect(), false)); + } + + public TIEInterceptor(final TIEInterceptor card) { + super(card); + } + + @Override + public TIEInterceptor copy() { + return new TIEInterceptor(this); + } +} + +class TIEInterceptorEffect extends OneShotEffect { + + TIEInterceptorEffect() { + super(Outcome.Damage); + staticText = "each opponent loses 2 life"; + } + + TIEInterceptorEffect(final TIEInterceptorEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + for (UUID opponentId : game.getOpponents(source.getControllerId())) { + Player opponent = game.getPlayer(opponentId); + if (opponent != null) { + opponent.loseLife(2, game, false); + } + } + return true; + } + + @Override + public TIEInterceptorEffect copy() { + return new TIEInterceptorEffect(this); + + } +} diff --git a/Mage.Sets/src/mage/cards/t/TahCropElite.java b/Mage.Sets/src/mage/cards/t/TahCropElite.java index 37a3ebf8f32..95cdff4dd57 100644 --- a/Mage.Sets/src/mage/cards/t/TahCropElite.java +++ b/Mage.Sets/src/mage/cards/t/TahCropElite.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -47,8 +48,8 @@ public class TahCropElite extends CardImpl { public TahCropElite(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TahCropSkirmisher.java b/Mage.Sets/src/mage/cards/t/TahCropSkirmisher.java index 361332c94cd..87e711c0c13 100644 --- a/Mage.Sets/src/mage/cards/t/TahCropSkirmisher.java +++ b/Mage.Sets/src/mage/cards/t/TahCropSkirmisher.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.EmbalmAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class TahCropSkirmisher extends CardImpl { public TahCropSkirmisher(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Naga"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TahngarthTalruumHero.java b/Mage.Sets/src/mage/cards/t/TahngarthTalruumHero.java index 40c5ead3e73..f397bbbfb82 100644 --- a/Mage.Sets/src/mage/cards/t/TahngarthTalruumHero.java +++ b/Mage.Sets/src/mage/cards/t/TahngarthTalruumHero.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -51,8 +52,8 @@ public class TahngarthTalruumHero extends CardImpl { public TahngarthTalruumHero(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/Taiga.java b/Mage.Sets/src/mage/cards/t/Taiga.java index cf569df60c9..86673016bae 100644 --- a/Mage.Sets/src/mage/cards/t/Taiga.java +++ b/Mage.Sets/src/mage/cards/t/Taiga.java @@ -33,6 +33,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class Taiga extends CardImpl { public Taiga(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Forest"); - this.subtype.add("Mountain"); + this.subtype.add(SubType.FOREST); + this.subtype.add(SubType.MOUNTAIN); this.addAbility(new GreenManaAbility()); this.addAbility(new RedManaAbility()); diff --git a/Mage.Sets/src/mage/cards/t/TaigamOjutaiMaster.java b/Mage.Sets/src/mage/cards/t/TaigamOjutaiMaster.java index 3439b53e31a..f502fe550ea 100644 --- a/Mage.Sets/src/mage/cards/t/TaigamOjutaiMaster.java +++ b/Mage.Sets/src/mage/cards/t/TaigamOjutaiMaster.java @@ -77,8 +77,8 @@ public class TaigamOjutaiMaster extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TaigamSidisisHand.java b/Mage.Sets/src/mage/cards/t/TaigamSidisisHand.java index a80ef013ffc..ffa0797bd35 100644 --- a/Mage.Sets/src/mage/cards/t/TaigamSidisisHand.java +++ b/Mage.Sets/src/mage/cards/t/TaigamSidisisHand.java @@ -47,6 +47,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SuperType; @@ -71,8 +72,8 @@ public class TaigamSidisisHand extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TaintedWell.java b/Mage.Sets/src/mage/cards/t/TaintedWell.java index cac1aedf92f..a70505215ce 100644 --- a/Mage.Sets/src/mage/cards/t/TaintedWell.java +++ b/Mage.Sets/src/mage/cards/t/TaintedWell.java @@ -53,7 +53,7 @@ public class TaintedWell extends CardImpl { public TaintedWell(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/t/TajNarSwordsmith.java b/Mage.Sets/src/mage/cards/t/TajNarSwordsmith.java index 2995c7424d2..1b711f43841 100644 --- a/Mage.Sets/src/mage/cards/t/TajNarSwordsmith.java +++ b/Mage.Sets/src/mage/cards/t/TajNarSwordsmith.java @@ -56,8 +56,8 @@ public class TajNarSwordsmith extends CardImpl { public TajNarSwordsmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TajicBladeOfTheLegion.java b/Mage.Sets/src/mage/cards/t/TajicBladeOfTheLegion.java index b084deed2c9..b6fceb77f61 100644 --- a/Mage.Sets/src/mage/cards/t/TajicBladeOfTheLegion.java +++ b/Mage.Sets/src/mage/cards/t/TajicBladeOfTheLegion.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; @@ -47,8 +48,8 @@ public class TajicBladeOfTheLegion extends CardImpl { public TajicBladeOfTheLegion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TajuruArcher.java b/Mage.Sets/src/mage/cards/t/TajuruArcher.java index 4ac677dbcbe..be4f7ed9f5e 100644 --- a/Mage.Sets/src/mage/cards/t/TajuruArcher.java +++ b/Mage.Sets/src/mage/cards/t/TajuruArcher.java @@ -62,9 +62,9 @@ public class TajuruArcher extends CardImpl { public TajuruArcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); - this.subtype.add("Ally"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); + this.subtype.add(SubType.ALLY); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TajuruBeastmaster.java b/Mage.Sets/src/mage/cards/t/TajuruBeastmaster.java index ed545933138..3fa8e8de55b 100644 --- a/Mage.Sets/src/mage/cards/t/TajuruBeastmaster.java +++ b/Mage.Sets/src/mage/cards/t/TajuruBeastmaster.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,9 +45,9 @@ public class TajuruBeastmaster extends CardImpl { public TajuruBeastmaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); - this.subtype.add("Ally"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ALLY); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TajuruPathwarden.java b/Mage.Sets/src/mage/cards/t/TajuruPathwarden.java index a98ac7aec36..c1e5dd906ba 100644 --- a/Mage.Sets/src/mage/cards/t/TajuruPathwarden.java +++ b/Mage.Sets/src/mage/cards/t/TajuruPathwarden.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,9 +44,9 @@ public class TajuruPathwarden extends CardImpl { public TajuruPathwarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); - this.subtype.add("Ally"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ALLY); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TajuruPreserver.java b/Mage.Sets/src/mage/cards/t/TajuruPreserver.java index 4dcfe11fb11..6b60f4583f7 100644 --- a/Mage.Sets/src/mage/cards/t/TajuruPreserver.java +++ b/Mage.Sets/src/mage/cards/t/TajuruPreserver.java @@ -49,8 +49,8 @@ public class TajuruPreserver extends CardImpl { public TajuruPreserver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TajuruStalwart.java b/Mage.Sets/src/mage/cards/t/TajuruStalwart.java index 67da1989190..04ced12c8f7 100644 --- a/Mage.Sets/src/mage/cards/t/TajuruStalwart.java +++ b/Mage.Sets/src/mage/cards/t/TajuruStalwart.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,9 +46,9 @@ public class TajuruStalwart extends CardImpl { public TajuruStalwart(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); - this.subtype.add("Ally"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); + this.subtype.add(SubType.ALLY); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TajuruWarcaller.java b/Mage.Sets/src/mage/cards/t/TajuruWarcaller.java index 91a9579da81..d09d026c16d 100644 --- a/Mage.Sets/src/mage/cards/t/TajuruWarcaller.java +++ b/Mage.Sets/src/mage/cards/t/TajuruWarcaller.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,9 +45,9 @@ public class TajuruWarcaller extends CardImpl { public TajuruWarcaller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); - this.subtype.add("Ally"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TakePossession.java b/Mage.Sets/src/mage/cards/t/TakePossession.java index 96bce9a1efb..51aff0a9bf9 100644 --- a/Mage.Sets/src/mage/cards/t/TakePossession.java +++ b/Mage.Sets/src/mage/cards/t/TakePossession.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.SplitSecondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class TakePossession extends CardImpl { public TakePossession(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{5}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Split second diff --git a/Mage.Sets/src/mage/cards/t/TakenoSamuraiGeneral.java b/Mage.Sets/src/mage/cards/t/TakenoSamuraiGeneral.java index af6141381e8..44025caedbb 100644 --- a/Mage.Sets/src/mage/cards/t/TakenoSamuraiGeneral.java +++ b/Mage.Sets/src/mage/cards/t/TakenoSamuraiGeneral.java @@ -52,8 +52,8 @@ public class TakenoSamuraiGeneral extends CardImpl { public TakenoSamuraiGeneral(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TakenosCavalry.java b/Mage.Sets/src/mage/cards/t/TakenosCavalry.java index a9242f7bdc0..2252a2955aa 100644 --- a/Mage.Sets/src/mage/cards/t/TakenosCavalry.java +++ b/Mage.Sets/src/mage/cards/t/TakenosCavalry.java @@ -57,9 +57,9 @@ public class TakenosCavalry extends CardImpl { public TakenosCavalry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Samurai"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TakenumaBleeder.java b/Mage.Sets/src/mage/cards/t/TakenumaBleeder.java index d386ef2b5cc..bc36eae66a3 100644 --- a/Mage.Sets/src/mage/cards/t/TakenumaBleeder.java +++ b/Mage.Sets/src/mage/cards/t/TakenumaBleeder.java @@ -49,8 +49,8 @@ public class TakenumaBleeder extends CardImpl { public TakenumaBleeder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Ogre"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TalarasBattalion.java b/Mage.Sets/src/mage/cards/t/TalarasBattalion.java index a32c19be7cc..c1978432846 100644 --- a/Mage.Sets/src/mage/cards/t/TalarasBattalion.java +++ b/Mage.Sets/src/mage/cards/t/TalarasBattalion.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.WatcherScope; @@ -58,8 +59,8 @@ public class TalarasBattalion extends CardImpl { public TalarasBattalion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TalasAirShip.java b/Mage.Sets/src/mage/cards/t/TalasAirShip.java index c9f230ddecb..bb77e2de315 100644 --- a/Mage.Sets/src/mage/cards/t/TalasAirShip.java +++ b/Mage.Sets/src/mage/cards/t/TalasAirShip.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class TalasAirShip extends CardImpl { public TalasAirShip(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TalasExplorer.java b/Mage.Sets/src/mage/cards/t/TalasExplorer.java index 561135924aa..e33b297913b 100644 --- a/Mage.Sets/src/mage/cards/t/TalasExplorer.java +++ b/Mage.Sets/src/mage/cards/t/TalasExplorer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetOpponent; /** @@ -46,9 +47,9 @@ public class TalasExplorer extends CardImpl { public TalasExplorer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TalasMerchant.java b/Mage.Sets/src/mage/cards/t/TalasMerchant.java index bffc6a93d6d..8339af5ac9b 100644 --- a/Mage.Sets/src/mage/cards/t/TalasMerchant.java +++ b/Mage.Sets/src/mage/cards/t/TalasMerchant.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class TalasMerchant extends CardImpl { public TalasMerchant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TalasResearcher.java b/Mage.Sets/src/mage/cards/t/TalasResearcher.java index e037f343418..5c64dfb47f0 100644 --- a/Mage.Sets/src/mage/cards/t/TalasResearcher.java +++ b/Mage.Sets/src/mage/cards/t/TalasResearcher.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,9 +48,9 @@ public class TalasResearcher extends CardImpl { public TalasResearcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TalasScout.java b/Mage.Sets/src/mage/cards/t/TalasScout.java index 9316374bdf1..eb635065f79 100644 --- a/Mage.Sets/src/mage/cards/t/TalasScout.java +++ b/Mage.Sets/src/mage/cards/t/TalasScout.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,9 +43,9 @@ public class TalasScout extends CardImpl { public TalasScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TalasWarrior.java b/Mage.Sets/src/mage/cards/t/TalasWarrior.java index 56260cf00f5..4162e1919dd 100644 --- a/Mage.Sets/src/mage/cards/t/TalasWarrior.java +++ b/Mage.Sets/src/mage/cards/t/TalasWarrior.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,9 +43,9 @@ public class TalasWarrior extends CardImpl { public TalasWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/Tallowisp.java b/Mage.Sets/src/mage/cards/t/Tallowisp.java index 4e6429fbdac..497400e4175 100644 --- a/Mage.Sets/src/mage/cards/t/Tallowisp.java +++ b/Mage.Sets/src/mage/cards/t/Tallowisp.java @@ -63,7 +63,7 @@ public class Tallowisp extends CardImpl { public Tallowisp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TalonSliver.java b/Mage.Sets/src/mage/cards/t/TalonSliver.java index b9025de54e4..4dc6d4d60a7 100644 --- a/Mage.Sets/src/mage/cards/t/TalonSliver.java +++ b/Mage.Sets/src/mage/cards/t/TalonSliver.java @@ -54,7 +54,7 @@ public class TalonSliver extends CardImpl { public TalonSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TalonTrooper.java b/Mage.Sets/src/mage/cards/t/TalonTrooper.java index 81dd1323069..c3268a95ad1 100644 --- a/Mage.Sets/src/mage/cards/t/TalonTrooper.java +++ b/Mage.Sets/src/mage/cards/t/TalonTrooper.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class TalonTrooper extends CardImpl { public TalonTrooper (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Scout"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/Talonrend.java b/Mage.Sets/src/mage/cards/t/Talonrend.java index 188dd30679d..7baf6e0086c 100644 --- a/Mage.Sets/src/mage/cards/t/Talonrend.java +++ b/Mage.Sets/src/mage/cards/t/Talonrend.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class Talonrend extends CardImpl { public Talonrend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TalonsOfFalkenrath.java b/Mage.Sets/src/mage/cards/t/TalonsOfFalkenrath.java index c9516582100..17991efb6ae 100644 --- a/Mage.Sets/src/mage/cards/t/TalonsOfFalkenrath.java +++ b/Mage.Sets/src/mage/cards/t/TalonsOfFalkenrath.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class TalonsOfFalkenrath extends CardImpl { public TalonsOfFalkenrath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/t/TalrandSkySummoner.java b/Mage.Sets/src/mage/cards/t/TalrandSkySummoner.java index 2e6cdc25c86..0d84557599e 100644 --- a/Mage.Sets/src/mage/cards/t/TalrandSkySummoner.java +++ b/Mage.Sets/src/mage/cards/t/TalrandSkySummoner.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -57,8 +58,8 @@ public class TalrandSkySummoner extends CardImpl { public TalrandSkySummoner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TalruumChampion.java b/Mage.Sets/src/mage/cards/t/TalruumChampion.java index 87b49785c0b..67af81f2827 100644 --- a/Mage.Sets/src/mage/cards/t/TalruumChampion.java +++ b/Mage.Sets/src/mage/cards/t/TalruumChampion.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,7 +47,7 @@ public class TalruumChampion extends CardImpl { public TalruumChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); - this.subtype.add("Minotaur"); + this.subtype.add(SubType.MINOTAUR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TalruumMinotaur.java b/Mage.Sets/src/mage/cards/t/TalruumMinotaur.java index ac2ecb3b287..5a9c49fdcea 100644 --- a/Mage.Sets/src/mage/cards/t/TalruumMinotaur.java +++ b/Mage.Sets/src/mage/cards/t/TalruumMinotaur.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class TalruumMinotaur extends CardImpl { public TalruumMinotaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TalruumPiper.java b/Mage.Sets/src/mage/cards/t/TalruumPiper.java index 8142e629fad..9b54d2aa2b4 100644 --- a/Mage.Sets/src/mage/cards/t/TalruumPiper.java +++ b/Mage.Sets/src/mage/cards/t/TalruumPiper.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -49,7 +50,7 @@ public class TalruumPiper extends CardImpl { public TalruumPiper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Minotaur"); + this.subtype.add(SubType.MINOTAUR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TalusPaladin.java b/Mage.Sets/src/mage/cards/t/TalusPaladin.java index 3ac75328ea7..3ac3cad8274 100644 --- a/Mage.Sets/src/mage/cards/t/TalusPaladin.java +++ b/Mage.Sets/src/mage/cards/t/TalusPaladin.java @@ -54,9 +54,9 @@ public class TalusPaladin extends CardImpl { public TalusPaladin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/Tamanoa.java b/Mage.Sets/src/mage/cards/t/Tamanoa.java index bf1a7159745..ded63063482 100644 --- a/Mage.Sets/src/mage/cards/t/Tamanoa.java +++ b/Mage.Sets/src/mage/cards/t/Tamanoa.java @@ -1,114 +1,115 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.MageInt; -import mage.MageObject; -import mage.abilities.Ability; -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.dynamicvalue.common.NumericSetToEffectValues; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.GainLifeEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.GameEvent; - -/** - * - * @author LevelX2 - */ -public class Tamanoa extends CardImpl { - - public Tamanoa(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{G}{W}"); - - this.subtype.add("Spirit"); - this.power = new MageInt(2); - this.toughness = new MageInt(4); - - // Whenever a noncreature source you control deals damage, you gain that much life. - Ability ability = new TamanoaDealsDamageTriggeredAbility(Zone.BATTLEFIELD, new GainLifeEffect(new NumericSetToEffectValues("that much", "damage")), false); - - this.addAbility(ability); - } - - public Tamanoa(final Tamanoa card) { - super(card); - } - - @Override - public Tamanoa copy() { - return new Tamanoa(this); - } -} - -class TamanoaDealsDamageTriggeredAbility extends TriggeredAbilityImpl { - - public TamanoaDealsDamageTriggeredAbility(Zone zone, Effect effect, boolean optional) { - super(zone, effect, optional); - } - - public TamanoaDealsDamageTriggeredAbility(final TamanoaDealsDamageTriggeredAbility ability) { - super(ability); - } - - @Override - public TamanoaDealsDamageTriggeredAbility copy() { - return new TamanoaDealsDamageTriggeredAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.DAMAGED_CREATURE - || event.getType() == GameEvent.EventType.DAMAGED_PLAYER - || event.getType() == GameEvent.EventType.DAMAGED_PLANESWALKER; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - MageObject eventSourceObject = game.getObject(event.getSourceId()); - if (eventSourceObject != null && !eventSourceObject.isCreature()) { - if (getControllerId().equals(game.getControllerId(event.getSourceId()))) { - this.getEffects().forEach((effect) -> { - effect.setValue("damage", event.getAmount()); - }); - return true; - } - } - return false; - } - - @Override - public String getRule() { - return "Whenever a noncreature source you control deals damage, " + super.getRule(); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.MageInt; +import mage.MageObject; +import mage.abilities.Ability; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.dynamicvalue.common.NumericSetToEffectValues; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; + +/** + * + * @author LevelX2 + */ +public class Tamanoa extends CardImpl { + + public Tamanoa(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{G}{W}"); + + this.subtype.add(SubType.SPIRIT); + this.power = new MageInt(2); + this.toughness = new MageInt(4); + + // Whenever a noncreature source you control deals damage, you gain that much life. + Ability ability = new TamanoaDealsDamageTriggeredAbility(Zone.BATTLEFIELD, new GainLifeEffect(new NumericSetToEffectValues("that much", "damage")), false); + + this.addAbility(ability); + } + + public Tamanoa(final Tamanoa card) { + super(card); + } + + @Override + public Tamanoa copy() { + return new Tamanoa(this); + } +} + +class TamanoaDealsDamageTriggeredAbility extends TriggeredAbilityImpl { + + public TamanoaDealsDamageTriggeredAbility(Zone zone, Effect effect, boolean optional) { + super(zone, effect, optional); + } + + public TamanoaDealsDamageTriggeredAbility(final TamanoaDealsDamageTriggeredAbility ability) { + super(ability); + } + + @Override + public TamanoaDealsDamageTriggeredAbility copy() { + return new TamanoaDealsDamageTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.DAMAGED_CREATURE + || event.getType() == GameEvent.EventType.DAMAGED_PLAYER + || event.getType() == GameEvent.EventType.DAMAGED_PLANESWALKER; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + MageObject eventSourceObject = game.getObject(event.getSourceId()); + if (eventSourceObject != null && !eventSourceObject.isCreature()) { + if (getControllerId().equals(game.getControllerId(event.getSourceId()))) { + this.getEffects().forEach((effect) -> { + effect.setValue("damage", event.getAmount()); + }); + return true; + } + } + return false; + } + + @Override + public String getRule() { + return "Whenever a noncreature source you control deals damage, " + super.getRule(); + } +} diff --git a/Mage.Sets/src/mage/cards/t/TamiyoFieldResearcher.java b/Mage.Sets/src/mage/cards/t/TamiyoFieldResearcher.java index 37bc1ac7e0f..7031834a5fd 100644 --- a/Mage.Sets/src/mage/cards/t/TamiyoFieldResearcher.java +++ b/Mage.Sets/src/mage/cards/t/TamiyoFieldResearcher.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.filter.FilterPermanent; @@ -75,7 +76,7 @@ public class TamiyoFieldResearcher extends CardImpl { public TamiyoFieldResearcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{G}{W}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Tamiyo"); + this.subtype.add(SubType.TAMIYO); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/t/TamiyoTheMoonSage.java b/Mage.Sets/src/mage/cards/t/TamiyoTheMoonSage.java index be9c6fa6474..3290e1d7cf0 100644 --- a/Mage.Sets/src/mage/cards/t/TamiyoTheMoonSage.java +++ b/Mage.Sets/src/mage/cards/t/TamiyoTheMoonSage.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.TappedPredicate; @@ -58,7 +59,7 @@ public class TamiyoTheMoonSage extends CardImpl { public TamiyoTheMoonSage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{U}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Tamiyo"); + this.subtype.add(SubType.TAMIYO); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/t/TanaTheBloodsower.java b/Mage.Sets/src/mage/cards/t/TanaTheBloodsower.java index 903d676127b..d2018a6252e 100644 --- a/Mage.Sets/src/mage/cards/t/TanaTheBloodsower.java +++ b/Mage.Sets/src/mage/cards/t/TanaTheBloodsower.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.game.Game; @@ -54,8 +55,8 @@ public class TanaTheBloodsower extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TandemLookout.java b/Mage.Sets/src/mage/cards/t/TandemLookout.java index 0ebc1c3d2ba..b695fbb1c5d 100644 --- a/Mage.Sets/src/mage/cards/t/TandemLookout.java +++ b/Mage.Sets/src/mage/cards/t/TandemLookout.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,8 +50,8 @@ public class TandemLookout extends CardImpl { public TandemLookout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TangleAngler.java b/Mage.Sets/src/mage/cards/t/TangleAngler.java index 0dfe48a22d0..3d493c7b5a9 100644 --- a/Mage.Sets/src/mage/cards/t/TangleAngler.java +++ b/Mage.Sets/src/mage/cards/t/TangleAngler.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class TangleAngler extends CardImpl { public TangleAngler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TangleAsp.java b/Mage.Sets/src/mage/cards/t/TangleAsp.java index 7aeb22a6ef4..e970c1cc5c5 100644 --- a/Mage.Sets/src/mage/cards/t/TangleAsp.java +++ b/Mage.Sets/src/mage/cards/t/TangleAsp.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class TangleAsp extends CardImpl { public TangleAsp(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.color.setGreen(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TangleGolem.java b/Mage.Sets/src/mage/cards/t/TangleGolem.java index 7e6eced91b6..ecb34d27426 100644 --- a/Mage.Sets/src/mage/cards/t/TangleGolem.java +++ b/Mage.Sets/src/mage/cards/t/TangleGolem.java @@ -43,7 +43,7 @@ public class TangleGolem extends CardImpl { public TangleGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{7}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TangleHulk.java b/Mage.Sets/src/mage/cards/t/TangleHulk.java index ac41c30d362..1ada3b64da0 100644 --- a/Mage.Sets/src/mage/cards/t/TangleHulk.java +++ b/Mage.Sets/src/mage/cards/t/TangleHulk.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class TangleHulk extends CardImpl { public TangleHulk (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(3); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{2}{G}"))); diff --git a/Mage.Sets/src/mage/cards/t/TangleMantis.java b/Mage.Sets/src/mage/cards/t/TangleMantis.java index f0a2a2cfd10..870f3e4fc3f 100644 --- a/Mage.Sets/src/mage/cards/t/TangleMantis.java +++ b/Mage.Sets/src/mage/cards/t/TangleMantis.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class TangleMantis extends CardImpl { public TangleMantis (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TangleSpider.java b/Mage.Sets/src/mage/cards/t/TangleSpider.java index 5bc7aae7a80..f12cf3a0ef8 100644 --- a/Mage.Sets/src/mage/cards/t/TangleSpider.java +++ b/Mage.Sets/src/mage/cards/t/TangleSpider.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -43,7 +44,7 @@ public class TangleSpider extends CardImpl { public TangleSpider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TangleclawWerewolf.java b/Mage.Sets/src/mage/cards/t/TangleclawWerewolf.java index 5adc37e6307..c0dd606b7ac 100644 --- a/Mage.Sets/src/mage/cards/t/TangleclawWerewolf.java +++ b/Mage.Sets/src/mage/cards/t/TangleclawWerewolf.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.f.FibrousEntangler; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class TangleclawWerewolf extends CardImpl { public TangleclawWerewolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Werewolf"); - this.subtype.add("Horror"); + this.subtype.add(SubType.WEREWOLF); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/Tanglewalker.java b/Mage.Sets/src/mage/cards/t/Tanglewalker.java index 3c18ca5313e..f1fef1db640 100644 --- a/Mage.Sets/src/mage/cards/t/Tanglewalker.java +++ b/Mage.Sets/src/mage/cards/t/Tanglewalker.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -58,7 +59,7 @@ public class Tanglewalker extends CardImpl { public Tanglewalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/Taniwha.java b/Mage.Sets/src/mage/cards/t/Taniwha.java index 4916ea0add8..ac9524bd133 100644 --- a/Mage.Sets/src/mage/cards/t/Taniwha.java +++ b/Mage.Sets/src/mage/cards/t/Taniwha.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.TargetController; @@ -54,7 +55,7 @@ public class Taniwha extends CardImpl { public Taniwha(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/t/TankDroid.java b/Mage.Sets/src/mage/cards/t/TankDroid.java index 2defe410b29..3c9e6c31906 100644 --- a/Mage.Sets/src/mage/cards/t/TankDroid.java +++ b/Mage.Sets/src/mage/cards/t/TankDroid.java @@ -1,72 +1,73 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.AttacksOrBlocksTriggeredAbility; -import mage.abilities.common.EntersBattlefieldOrDiesSourceTriggeredAbility; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.keyword.RepairAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.game.permanent.token.DroidToken; - -/** - * - * @author Styxo - */ -public class TankDroid extends CardImpl { - - public TankDroid(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}{W}{U}{B}"); - this.subtype.add("Droid"); - this.power = new MageInt(5); - this.toughness = new MageInt(5); - - // Whenever Tank Droid enters the battlefield, attacks, blocks or dies, create a 1/1 colorless Droid token creature. - Ability ability = new AttacksOrBlocksTriggeredAbility(new CreateTokenEffect(new DroidToken()), false); - this.addAbility(ability); - ability = new EntersBattlefieldOrDiesSourceTriggeredAbility(new CreateTokenEffect(new DroidToken()), false); - this.addAbility(ability); - - // Repair 3 - this.addAbility(new RepairAbility(3)); - } - - public TankDroid(final TankDroid card) { - super(card); - } - - @Override - public TankDroid copy() { - return new TankDroid(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.AttacksOrBlocksTriggeredAbility; +import mage.abilities.common.EntersBattlefieldOrDiesSourceTriggeredAbility; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.keyword.RepairAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.game.permanent.token.DroidToken; + +/** + * + * @author Styxo + */ +public class TankDroid extends CardImpl { + + public TankDroid(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}{W}{U}{B}"); + this.subtype.add(SubType.DROID); + this.power = new MageInt(5); + this.toughness = new MageInt(5); + + // Whenever Tank Droid enters the battlefield, attacks, blocks or dies, create a 1/1 colorless Droid token creature. + Ability ability = new AttacksOrBlocksTriggeredAbility(new CreateTokenEffect(new DroidToken()), false); + this.addAbility(ability); + ability = new EntersBattlefieldOrDiesSourceTriggeredAbility(new CreateTokenEffect(new DroidToken()), false); + this.addAbility(ability); + + // Repair 3 + this.addAbility(new RepairAbility(3)); + } + + public TankDroid(final TankDroid card) { + super(card); + } + + @Override + public TankDroid copy() { + return new TankDroid(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/TaoistHermit.java b/Mage.Sets/src/mage/cards/t/TaoistHermit.java index 1fb5b66d2ab..79fc8855e05 100644 --- a/Mage.Sets/src/mage/cards/t/TaoistHermit.java +++ b/Mage.Sets/src/mage/cards/t/TaoistHermit.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class TaoistHermit extends CardImpl { public TaoistHermit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Mystic"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MYSTIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TaoistMystic.java b/Mage.Sets/src/mage/cards/t/TaoistMystic.java index da6ac4ba694..e8d34e629ae 100644 --- a/Mage.Sets/src/mage/cards/t/TaoistMystic.java +++ b/Mage.Sets/src/mage/cards/t/TaoistMystic.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -53,8 +54,8 @@ public class TaoistMystic extends CardImpl { public TaoistMystic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Mystic"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MYSTIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TarFiend.java b/Mage.Sets/src/mage/cards/t/TarFiend.java index c219d9e7a9c..6ac8ca20a3b 100644 --- a/Mage.Sets/src/mage/cards/t/TarFiend.java +++ b/Mage.Sets/src/mage/cards/t/TarFiend.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DevourAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -48,7 +49,7 @@ public class TarFiend extends CardImpl { public TarFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TarPitWarrior.java b/Mage.Sets/src/mage/cards/t/TarPitWarrior.java index ace48505ca1..e806f29fa09 100644 --- a/Mage.Sets/src/mage/cards/t/TarPitWarrior.java +++ b/Mage.Sets/src/mage/cards/t/TarPitWarrior.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class TarPitWarrior extends CardImpl { public TarPitWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Cyclops"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CYCLOPS); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TarPitcher.java b/Mage.Sets/src/mage/cards/t/TarPitcher.java index 97453feea36..29e9c45c0ff 100644 --- a/Mage.Sets/src/mage/cards/t/TarPitcher.java +++ b/Mage.Sets/src/mage/cards/t/TarPitcher.java @@ -58,8 +58,8 @@ public class TarPitcher extends CardImpl { public TarPitcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/Tarfire.java b/Mage.Sets/src/mage/cards/t/Tarfire.java index df7f51eebc0..335c40c25e2 100644 --- a/Mage.Sets/src/mage/cards/t/Tarfire.java +++ b/Mage.Sets/src/mage/cards/t/Tarfire.java @@ -32,6 +32,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; /** @@ -42,7 +43,7 @@ public class Tarfire extends CardImpl { public Tarfire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); // Tarfire deals 2 damage to target creature or player. this.getSpellAbility().addEffect(new DamageTargetEffect(2)); diff --git a/Mage.Sets/src/mage/cards/t/TarielReckonerOfSouls.java b/Mage.Sets/src/mage/cards/t/TarielReckonerOfSouls.java index 1cde0a31b7f..254ef4b348f 100644 --- a/Mage.Sets/src/mage/cards/t/TarielReckonerOfSouls.java +++ b/Mage.Sets/src/mage/cards/t/TarielReckonerOfSouls.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.VigilanceAbility; import mage.cards.*; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class TarielReckonerOfSouls extends CardImpl { public TarielReckonerOfSouls(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/t/Tarmogoyf.java b/Mage.Sets/src/mage/cards/t/Tarmogoyf.java index ed9392855ce..9d6bbd78ec2 100644 --- a/Mage.Sets/src/mage/cards/t/Tarmogoyf.java +++ b/Mage.Sets/src/mage/cards/t/Tarmogoyf.java @@ -51,7 +51,7 @@ public class Tarmogoyf extends CardImpl { public Tarmogoyf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Lhurgoyf"); + this.subtype.add(SubType.LHURGOYF); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TaroxBladewing.java b/Mage.Sets/src/mage/cards/t/TaroxBladewing.java index 5c41e18c73b..c9021befeb1 100644 --- a/Mage.Sets/src/mage/cards/t/TaroxBladewing.java +++ b/Mage.Sets/src/mage/cards/t/TaroxBladewing.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; @@ -49,7 +50,7 @@ public class TaroxBladewing extends CardImpl { public TaroxBladewing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/Tarpan.java b/Mage.Sets/src/mage/cards/t/Tarpan.java index a03c4dd810c..8d7f515e707 100644 --- a/Mage.Sets/src/mage/cards/t/Tarpan.java +++ b/Mage.Sets/src/mage/cards/t/Tarpan.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class Tarpan extends CardImpl { public Tarpan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Horse"); + this.subtype.add(SubType.HORSE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TasigurTheGoldenFang.java b/Mage.Sets/src/mage/cards/t/TasigurTheGoldenFang.java index cb2eadfa8ee..9e1bcbcb88c 100644 --- a/Mage.Sets/src/mage/cards/t/TasigurTheGoldenFang.java +++ b/Mage.Sets/src/mage/cards/t/TasigurTheGoldenFang.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -59,8 +60,8 @@ public class TasigurTheGoldenFang extends CardImpl { public TasigurTheGoldenFang(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TaskForce.java b/Mage.Sets/src/mage/cards/t/TaskForce.java index 10c541db555..fa1a5f3e57b 100644 --- a/Mage.Sets/src/mage/cards/t/TaskForce.java +++ b/Mage.Sets/src/mage/cards/t/TaskForce.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class TaskForce extends CardImpl { public TaskForce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TasseledDromedary.java b/Mage.Sets/src/mage/cards/t/TasseledDromedary.java index aa6567caeca..fe79d662163 100644 --- a/Mage.Sets/src/mage/cards/t/TasseledDromedary.java +++ b/Mage.Sets/src/mage/cards/t/TasseledDromedary.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class TasseledDromedary extends CardImpl { public TasseledDromedary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Camel"); + this.subtype.add(SubType.CAMEL); this.power = new MageInt(0); this.toughness = new MageInt(4); } diff --git a/Mage.Sets/src/mage/cards/t/TasteForMayhem.java b/Mage.Sets/src/mage/cards/t/TasteForMayhem.java index 116843e6913..0c1ebf089c4 100644 --- a/Mage.Sets/src/mage/cards/t/TasteForMayhem.java +++ b/Mage.Sets/src/mage/cards/t/TasteForMayhem.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class TasteForMayhem extends CardImpl { public TasteForMayhem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/t/TatsumasaTheDragonsFang.java b/Mage.Sets/src/mage/cards/t/TatsumasaTheDragonsFang.java index bd1f29a50b5..c92f4911ea8 100644 --- a/Mage.Sets/src/mage/cards/t/TatsumasaTheDragonsFang.java +++ b/Mage.Sets/src/mage/cards/t/TatsumasaTheDragonsFang.java @@ -60,7 +60,7 @@ public class TatsumasaTheDragonsFang extends CardImpl { public TatsumasaTheDragonsFang(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{6}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +5/+5. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(5, 5))); diff --git a/Mage.Sets/src/mage/cards/t/TatteredDrake.java b/Mage.Sets/src/mage/cards/t/TatteredDrake.java index 3662c385f4d..e6164e288ba 100644 --- a/Mage.Sets/src/mage/cards/t/TatteredDrake.java +++ b/Mage.Sets/src/mage/cards/t/TatteredDrake.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class TatteredDrake extends CardImpl { public TatteredDrake (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Zombie"); - this.subtype.add("Drake"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TatteredHaunter.java b/Mage.Sets/src/mage/cards/t/TatteredHaunter.java index 7bf596d9cd9..a13a78ecbf6 100644 --- a/Mage.Sets/src/mage/cards/t/TatteredHaunter.java +++ b/Mage.Sets/src/mage/cards/t/TatteredHaunter.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class TatteredHaunter extends CardImpl { public TatteredHaunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TatteredMummy.java b/Mage.Sets/src/mage/cards/t/TatteredMummy.java index b96dc4a4e85..ab7908821a8 100644 --- a/Mage.Sets/src/mage/cards/t/TatteredMummy.java +++ b/Mage.Sets/src/mage/cards/t/TatteredMummy.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.LoseLifeOpponentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class TatteredMummy extends CardImpl { public TatteredMummy(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Jackal"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.JACKAL); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/Tatterkite.java b/Mage.Sets/src/mage/cards/t/Tatterkite.java index b5f27404e71..e7997380f45 100644 --- a/Mage.Sets/src/mage/cards/t/Tatterkite.java +++ b/Mage.Sets/src/mage/cards/t/Tatterkite.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class Tatterkite extends CardImpl { public Tatterkite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TattermungeDuo.java b/Mage.Sets/src/mage/cards/t/TattermungeDuo.java index 679c1c085cb..00d72aec337 100644 --- a/Mage.Sets/src/mage/cards/t/TattermungeDuo.java +++ b/Mage.Sets/src/mage/cards/t/TattermungeDuo.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,9 +58,9 @@ public class TattermungeDuo extends CardImpl { public TattermungeDuo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R/G}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TattermungeManiac.java b/Mage.Sets/src/mage/cards/t/TattermungeManiac.java index a3be975e3ea..59f514cd9fc 100644 --- a/Mage.Sets/src/mage/cards/t/TattermungeManiac.java +++ b/Mage.Sets/src/mage/cards/t/TattermungeManiac.java @@ -33,6 +33,7 @@ import mage.abilities.common.AttacksEachTurnStaticAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class TattermungeManiac extends CardImpl { public TattermungeManiac(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R/G}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TattermungeWitch.java b/Mage.Sets/src/mage/cards/t/TattermungeWitch.java index ca8e8bd1381..51d8bff460e 100644 --- a/Mage.Sets/src/mage/cards/t/TattermungeWitch.java +++ b/Mage.Sets/src/mage/cards/t/TattermungeWitch.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -57,8 +58,8 @@ public class TattermungeWitch extends CardImpl { public TattermungeWitch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R/G}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TauntingElf.java b/Mage.Sets/src/mage/cards/t/TauntingElf.java index 3e4a2452a10..7a1f29ed9c9 100644 --- a/Mage.Sets/src/mage/cards/t/TauntingElf.java +++ b/Mage.Sets/src/mage/cards/t/TauntingElf.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.MustBeBlockedByAllSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -44,7 +45,7 @@ public class TauntingElf extends CardImpl { public TauntingElf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TaureanMauler.java b/Mage.Sets/src/mage/cards/t/TaureanMauler.java index f679471d269..6d99d0e985e 100644 --- a/Mage.Sets/src/mage/cards/t/TaureanMauler.java +++ b/Mage.Sets/src/mage/cards/t/TaureanMauler.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ChangelingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,7 +46,7 @@ public class TaureanMauler extends CardImpl { public TaureanMauler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TavernSwindler.java b/Mage.Sets/src/mage/cards/t/TavernSwindler.java index e16f2d3be3c..828f5a505c8 100644 --- a/Mage.Sets/src/mage/cards/t/TavernSwindler.java +++ b/Mage.Sets/src/mage/cards/t/TavernSwindler.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -50,8 +51,8 @@ public class TavernSwindler extends CardImpl { public TavernSwindler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TeardropKami.java b/Mage.Sets/src/mage/cards/t/TeardropKami.java index d9b65cd3971..8272d554583 100644 --- a/Mage.Sets/src/mage/cards/t/TeardropKami.java +++ b/Mage.Sets/src/mage/cards/t/TeardropKami.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.MayTapOrUntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class TeardropKami extends CardImpl { public TeardropKami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TectonicFiend.java b/Mage.Sets/src/mage/cards/t/TectonicFiend.java index 0d261af0065..a016aaca9c2 100644 --- a/Mage.Sets/src/mage/cards/t/TectonicFiend.java +++ b/Mage.Sets/src/mage/cards/t/TectonicFiend.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class TectonicFiend extends CardImpl { public TectonicFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/t/TeekasDragon.java b/Mage.Sets/src/mage/cards/t/TeekasDragon.java index f0de3eaa83b..3449efd4635 100644 --- a/Mage.Sets/src/mage/cards/t/TeekasDragon.java +++ b/Mage.Sets/src/mage/cards/t/TeekasDragon.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class TeekasDragon extends CardImpl { public TeekasDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{9}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TeferiMageOfZhalfir.java b/Mage.Sets/src/mage/cards/t/TeferiMageOfZhalfir.java index fccc635fd57..a18f1963ce9 100644 --- a/Mage.Sets/src/mage/cards/t/TeferiMageOfZhalfir.java +++ b/Mage.Sets/src/mage/cards/t/TeferiMageOfZhalfir.java @@ -52,8 +52,8 @@ public class TeferiMageOfZhalfir extends CardImpl { public TeferiMageOfZhalfir(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TeferiTemporalArchmage.java b/Mage.Sets/src/mage/cards/t/TeferiTemporalArchmage.java index 79ef459215d..0fbad0c8ba1 100644 --- a/Mage.Sets/src/mage/cards/t/TeferiTemporalArchmage.java +++ b/Mage.Sets/src/mage/cards/t/TeferiTemporalArchmage.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterCard; @@ -54,7 +55,7 @@ public class TeferiTemporalArchmage extends CardImpl { public TeferiTemporalArchmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{U}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Teferi"); + this.subtype.add(SubType.TEFERI); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/t/TeferisCurse.java b/Mage.Sets/src/mage/cards/t/TeferisCurse.java index 2537a3e698f..cf09f6026cc 100644 --- a/Mage.Sets/src/mage/cards/t/TeferisCurse.java +++ b/Mage.Sets/src/mage/cards/t/TeferisCurse.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -61,7 +62,7 @@ public class TeferisCurse extends CardImpl { public TeferisCurse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact or creature TargetPermanent auraTarget = new TargetPermanent(filter); diff --git a/Mage.Sets/src/mage/cards/t/TeferisDrake.java b/Mage.Sets/src/mage/cards/t/TeferisDrake.java index 21e27c3596d..36c52ba1a2d 100644 --- a/Mage.Sets/src/mage/cards/t/TeferisDrake.java +++ b/Mage.Sets/src/mage/cards/t/TeferisDrake.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.PhasingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class TeferisDrake extends CardImpl { public TeferisDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TeferisHonorGuard.java b/Mage.Sets/src/mage/cards/t/TeferisHonorGuard.java index 353d455801b..6a6c08f230a 100644 --- a/Mage.Sets/src/mage/cards/t/TeferisHonorGuard.java +++ b/Mage.Sets/src/mage/cards/t/TeferisHonorGuard.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlankingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class TeferisHonorGuard extends CardImpl { public TeferisHonorGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/Tek.java b/Mage.Sets/src/mage/cards/t/Tek.java index 11c019e003d..aabd4f6dd2f 100644 --- a/Mage.Sets/src/mage/cards/t/Tek.java +++ b/Mage.Sets/src/mage/cards/t/Tek.java @@ -71,7 +71,7 @@ public class Tek extends CardImpl { public Tek(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TelJiladArchers.java b/Mage.Sets/src/mage/cards/t/TelJiladArchers.java index 47f86df6fd7..82be4d79019 100644 --- a/Mage.Sets/src/mage/cards/t/TelJiladArchers.java +++ b/Mage.Sets/src/mage/cards/t/TelJiladArchers.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactCard; /** @@ -44,8 +45,8 @@ public class TelJiladArchers extends CardImpl { public TelJiladArchers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TelJiladChosen.java b/Mage.Sets/src/mage/cards/t/TelJiladChosen.java index 0f808732d15..3867b4ac7f7 100644 --- a/Mage.Sets/src/mage/cards/t/TelJiladChosen.java +++ b/Mage.Sets/src/mage/cards/t/TelJiladChosen.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactCard; /** @@ -43,8 +44,8 @@ public class TelJiladChosen extends CardImpl { public TelJiladChosen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TelJiladExile.java b/Mage.Sets/src/mage/cards/t/TelJiladExile.java index 43cb2aed2d0..bf5a86e9fd1 100644 --- a/Mage.Sets/src/mage/cards/t/TelJiladExile.java +++ b/Mage.Sets/src/mage/cards/t/TelJiladExile.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class TelJiladExile extends CardImpl { public TelJiladExile(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Troll"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.TROLL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TelJiladFallen.java b/Mage.Sets/src/mage/cards/t/TelJiladFallen.java index efdecdc0cc0..c448b48a023 100644 --- a/Mage.Sets/src/mage/cards/t/TelJiladFallen.java +++ b/Mage.Sets/src/mage/cards/t/TelJiladFallen.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactCard; /** @@ -45,8 +46,8 @@ public class TelJiladFallen extends CardImpl { public TelJiladFallen (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TelJiladLifebreather.java b/Mage.Sets/src/mage/cards/t/TelJiladLifebreather.java index 1a3defb5280..e681bdb960d 100644 --- a/Mage.Sets/src/mage/cards/t/TelJiladLifebreather.java +++ b/Mage.Sets/src/mage/cards/t/TelJiladLifebreather.java @@ -58,8 +58,8 @@ public class TelJiladLifebreather extends CardImpl { } public TelJiladLifebreather(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Troll"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.TROLL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TelJiladOutrider.java b/Mage.Sets/src/mage/cards/t/TelJiladOutrider.java index c16f01db44a..0cabb9d60ff 100644 --- a/Mage.Sets/src/mage/cards/t/TelJiladOutrider.java +++ b/Mage.Sets/src/mage/cards/t/TelJiladOutrider.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactCard; /** @@ -43,8 +44,8 @@ public class TelJiladOutrider extends CardImpl { public TelJiladOutrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TelJiladWolf.java b/Mage.Sets/src/mage/cards/t/TelJiladWolf.java index d696d20a057..cea2fedd103 100644 --- a/Mage.Sets/src/mage/cards/t/TelJiladWolf.java +++ b/Mage.Sets/src/mage/cards/t/TelJiladWolf.java @@ -1,71 +1,72 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.BecomesBlockedByCreatureTriggeredAbility; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.CardTypePredicate; - -/** - * - * @author wetterlicht - */ -public class TelJiladWolf extends CardImpl { - - private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature"); - - static { - filter.add(new CardTypePredicate(CardType.ARTIFACT)); - } - - public TelJiladWolf(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Wolf"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Whenever Tel-Jilad Wolf becomes blocked by an artifact creature, Tel-Jilad Wolf gets +3/+3 until end of turn. - this.addAbility(new BecomesBlockedByCreatureTriggeredAbility(new BoostSourceEffect(3, 3, Duration.EndOfTurn), filter, false)); - } - - public TelJiladWolf(final TelJiladWolf card) { - super(card); - } - - @Override - public TelJiladWolf copy() { - return new TelJiladWolf(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.BecomesBlockedByCreatureTriggeredAbility; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.CardTypePredicate; + +/** + * + * @author wetterlicht + */ +public class TelJiladWolf extends CardImpl { + + private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("artifact creature"); + + static { + filter.add(new CardTypePredicate(CardType.ARTIFACT)); + } + + public TelJiladWolf(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); + this.subtype.add(SubType.WOLF); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Whenever Tel-Jilad Wolf becomes blocked by an artifact creature, Tel-Jilad Wolf gets +3/+3 until end of turn. + this.addAbility(new BecomesBlockedByCreatureTriggeredAbility(new BoostSourceEffect(3, 3, Duration.EndOfTurn), filter, false)); + } + + public TelJiladWolf(final TelJiladWolf card) { + super(card); + } + + @Override + public TelJiladWolf copy() { + return new TelJiladWolf(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/TelekineticSliver.java b/Mage.Sets/src/mage/cards/t/TelekineticSliver.java index d0e3858d1fc..9aa9c422fd0 100644 --- a/Mage.Sets/src/mage/cards/t/TelekineticSliver.java +++ b/Mage.Sets/src/mage/cards/t/TelekineticSliver.java @@ -54,7 +54,7 @@ public class TelekineticSliver extends CardImpl { public TelekineticSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TelepathicSpies.java b/Mage.Sets/src/mage/cards/t/TelepathicSpies.java index 1257dbae528..dddee5290b6 100644 --- a/Mage.Sets/src/mage/cards/t/TelepathicSpies.java +++ b/Mage.Sets/src/mage/cards/t/TelepathicSpies.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.LookAtTargetPlayerHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetOpponent; /** @@ -46,8 +47,8 @@ public class TelepathicSpies extends CardImpl { public TelepathicSpies(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/Telethopter.java b/Mage.Sets/src/mage/cards/t/Telethopter.java index d39e889bc3f..f97a971e45b 100644 --- a/Mage.Sets/src/mage/cards/t/Telethopter.java +++ b/Mage.Sets/src/mage/cards/t/Telethopter.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -56,7 +57,7 @@ public class Telethopter extends CardImpl { public Telethopter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Thopter"); + this.subtype.add(SubType.THOPTER); this.power = new MageInt(3); this.toughness = new MageInt(1); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn), new TapTargetCost(new TargetControlledCreaturePermanent(1, 1, filter, false)))); diff --git a/Mage.Sets/src/mage/cards/t/TellerOfTales.java b/Mage.Sets/src/mage/cards/t/TellerOfTales.java index 95f334f0cbd..cf20b96515d 100644 --- a/Mage.Sets/src/mage/cards/t/TellerOfTales.java +++ b/Mage.Sets/src/mage/cards/t/TellerOfTales.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCreaturePermanent; @@ -51,7 +52,7 @@ public class TellerOfTales extends CardImpl { public TellerOfTales(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TemmetVizierOfNaktamun.java b/Mage.Sets/src/mage/cards/t/TemmetVizierOfNaktamun.java index a0fd603e887..24fae50531a 100644 --- a/Mage.Sets/src/mage/cards/t/TemmetVizierOfNaktamun.java +++ b/Mage.Sets/src/mage/cards/t/TemmetVizierOfNaktamun.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EmbalmAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.TargetController; @@ -62,8 +63,8 @@ public class TemmetVizierOfNaktamun extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TempestDrake.java b/Mage.Sets/src/mage/cards/t/TempestDrake.java index b9a7cf4089f..32774966601 100644 --- a/Mage.Sets/src/mage/cards/t/TempestDrake.java +++ b/Mage.Sets/src/mage/cards/t/TempestDrake.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class TempestDrake extends CardImpl { public TempestDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TempestOwl.java b/Mage.Sets/src/mage/cards/t/TempestOwl.java index 383b806a833..38ac51594b1 100644 --- a/Mage.Sets/src/mage/cards/t/TempestOwl.java +++ b/Mage.Sets/src/mage/cards/t/TempestOwl.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.target.TargetPermanent; @@ -49,7 +50,7 @@ public class TempestOwl extends CardImpl { public TempestOwl(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TempleAcolyte.java b/Mage.Sets/src/mage/cards/t/TempleAcolyte.java index bf63f75baf5..610e3de6309 100644 --- a/Mage.Sets/src/mage/cards/t/TempleAcolyte.java +++ b/Mage.Sets/src/mage/cards/t/TempleAcolyte.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class TempleAcolyte extends CardImpl { public TempleAcolyte (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TempleElder.java b/Mage.Sets/src/mage/cards/t/TempleElder.java index 3993f6bab3e..008150fcdf7 100644 --- a/Mage.Sets/src/mage/cards/t/TempleElder.java +++ b/Mage.Sets/src/mage/cards/t/TempleElder.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class TempleElder extends CardImpl { public TempleElder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TempleGarden.java b/Mage.Sets/src/mage/cards/t/TempleGarden.java index 6f49300cc97..8dfadac2dd0 100644 --- a/Mage.Sets/src/mage/cards/t/TempleGarden.java +++ b/Mage.Sets/src/mage/cards/t/TempleGarden.java @@ -37,6 +37,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class TempleGarden extends CardImpl { public TempleGarden (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},null); - this.subtype.add("Forest"); - this.subtype.add("Plains"); + this.subtype.add(SubType.FOREST); + this.subtype.add(SubType.PLAINS); this.addAbility(new GreenManaAbility()); this.addAbility(new WhiteManaAbility()); this.addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new PayLifeCost(2)), "you may pay 2 life. If you don't, {this} enters the battlefield tapped")); diff --git a/Mage.Sets/src/mage/cards/t/TemporalAdept.java b/Mage.Sets/src/mage/cards/t/TemporalAdept.java index f1b730bd1bc..61aa1c1b947 100644 --- a/Mage.Sets/src/mage/cards/t/TemporalAdept.java +++ b/Mage.Sets/src/mage/cards/t/TemporalAdept.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -48,8 +49,8 @@ public class TemporalAdept extends CardImpl { public TemporalAdept(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TemporalAperture.java b/Mage.Sets/src/mage/cards/t/TemporalAperture.java index c2fac9203a4..c546181720c 100644 --- a/Mage.Sets/src/mage/cards/t/TemporalAperture.java +++ b/Mage.Sets/src/mage/cards/t/TemporalAperture.java @@ -1,158 +1,158 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.AsThoughEffectImpl; -import mage.abilities.effects.ContinuousEffect; -import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.cards.Cards; -import mage.cards.CardsImpl; -import mage.constants.AsThoughEffectType; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.game.Game; -import mage.players.Player; - -/** - * - * @author jeffwadsworth - */ -public class TemporalAperture extends CardImpl { - - public TemporalAperture(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); - - // {5}, {tap}: Shuffle your library, then reveal the top card. Until end of turn, for as long as that card remains on top of your library, play with the top card of your library revealed and you may play that card without paying its mana cost. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TemporalApertureEffect(), new ManaCostsImpl("{5}")); - ability.addCost(new TapSourceCost()); - this.addAbility(ability); - - } - - public TemporalAperture(final TemporalAperture card) { - super(card); - } - - @Override - public TemporalAperture copy() { - return new TemporalAperture(this); - } -} - -class TemporalApertureEffect extends OneShotEffect { - - public TemporalApertureEffect() { - super(Outcome.Neutral); - staticText = "Shuffle your library, then reveal the top card. Until end of turn, for as long as that card remains on top of your library, play with the top card of your library revealed and you may play that card without paying its mana cost"; - } - - public TemporalApertureEffect(final TemporalApertureEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - controller.shuffleLibrary(source, game); - Card topCard = controller.getLibrary().getFromTop(game); - Cards cards = new CardsImpl(); - if (topCard != null) { - cards.add(topCard); - controller.revealCards("Top card of " + controller.getName() + "'s library revealed", cards, game); - ContinuousEffect effect = new TemporalApertureTopCardCastEffect(topCard); - game.addEffect(effect, source); - return true; - } - } - return false; - } - - @Override - public TemporalApertureEffect copy() { - return new TemporalApertureEffect(this); - } -} - -class TemporalApertureTopCardCastEffect extends AsThoughEffectImpl { - - private final Card card; - - public TemporalApertureTopCardCastEffect(Card card) { - super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); - this.card = card; - staticText = "Until end of turn, for as long as that card is on top of your library, you may cast it without paying its mana costs"; - } - - public TemporalApertureTopCardCastEffect(final TemporalApertureTopCardCastEffect effect) { - super(effect); - this.card = effect.card; - } - - @Override - public boolean apply(Game game, Ability source) { - return true; - } - - @Override - public TemporalApertureTopCardCastEffect copy() { - return new TemporalApertureTopCardCastEffect(this); - } - - @Override - public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - if (affectedControllerId.equals(source.getControllerId())) { - Card objectCard = game.getCard(objectId); - if (objectCard != null) { - Player controller = game.getPlayer(affectedControllerId); - if (controller != null - && game.getState().getZone(objectId) == Zone.LIBRARY) { - if (controller.getLibrary().getFromTop(game).equals(card)) { - if (objectCard == card - && objectCard.getSpellAbility() != null - && objectCard.getSpellAbility().spellCanBeActivatedRegularlyNow(controller.getId(), game)) { - controller.setCastSourceIdWithAlternateMana(objectId, null, null); - return true; - } - } - } - } - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.AsThoughEffectImpl; +import mage.abilities.effects.ContinuousEffect; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.cards.Cards; +import mage.cards.CardsImpl; +import mage.constants.AsThoughEffectType; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.game.Game; +import mage.players.Player; + +/** + * + * @author jeffwadsworth + */ +public class TemporalAperture extends CardImpl { + + public TemporalAperture(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); + + // {5}, {tap}: Shuffle your library, then reveal the top card. Until end of turn, for as long as that card remains on top of your library, play with the top card of your library revealed and you may play that card without paying its mana cost. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TemporalApertureEffect(), new ManaCostsImpl("{5}")); + ability.addCost(new TapSourceCost()); + this.addAbility(ability); + + } + + public TemporalAperture(final TemporalAperture card) { + super(card); + } + + @Override + public TemporalAperture copy() { + return new TemporalAperture(this); + } +} + +class TemporalApertureEffect extends OneShotEffect { + + public TemporalApertureEffect() { + super(Outcome.Neutral); + staticText = "Shuffle your library, then reveal the top card. Until end of turn, for as long as that card remains on top of your library, play with the top card of your library revealed and you may play that card without paying its mana cost"; + } + + public TemporalApertureEffect(final TemporalApertureEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + controller.shuffleLibrary(source, game); + Card topCard = controller.getLibrary().getFromTop(game); + Cards cards = new CardsImpl(); + if (topCard != null) { + cards.add(topCard); + controller.revealCards("Top card of " + controller.getName() + "'s library revealed", cards, game); + ContinuousEffect effect = new TemporalApertureTopCardCastEffect(topCard); + game.addEffect(effect, source); + return true; + } + } + return false; + } + + @Override + public TemporalApertureEffect copy() { + return new TemporalApertureEffect(this); + } +} + +class TemporalApertureTopCardCastEffect extends AsThoughEffectImpl { + + private final Card card; + + public TemporalApertureTopCardCastEffect(Card card) { + super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, Duration.EndOfTurn, Outcome.Benefit); + this.card = card; + staticText = "Until end of turn, for as long as that card is on top of your library, you may cast it without paying its mana costs"; + } + + public TemporalApertureTopCardCastEffect(final TemporalApertureTopCardCastEffect effect) { + super(effect); + this.card = effect.card; + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } + + @Override + public TemporalApertureTopCardCastEffect copy() { + return new TemporalApertureTopCardCastEffect(this); + } + + @Override + public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { + if (affectedControllerId.equals(source.getControllerId())) { + Card objectCard = game.getCard(objectId); + if (objectCard != null) { + Player controller = game.getPlayer(affectedControllerId); + if (controller != null + && game.getState().getZone(objectId) == Zone.LIBRARY) { + if (controller.getLibrary().getFromTop(game).equals(card)) { + if (objectCard == card + && objectCard.getSpellAbility() != null + && objectCard.getSpellAbility().spellCanBeActivatedRegularlyNow(controller.getId(), game)) { + controller.setCastSourceIdWithAlternateMana(objectId, null, null); + return true; + } + } + } + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/t/TemporalIsolation.java b/Mage.Sets/src/mage/cards/t/TemporalIsolation.java index 33360e36031..e48706316da 100644 --- a/Mage.Sets/src/mage/cards/t/TemporalIsolation.java +++ b/Mage.Sets/src/mage/cards/t/TemporalIsolation.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class TemporalIsolation extends CardImpl { public TemporalIsolation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/t/TemptingLicid.java b/Mage.Sets/src/mage/cards/t/TemptingLicid.java index 9f8325c10d2..06e9d08e6b7 100644 --- a/Mage.Sets/src/mage/cards/t/TemptingLicid.java +++ b/Mage.Sets/src/mage/cards/t/TemptingLicid.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class TemptingLicid extends CardImpl { public TemptingLicid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Licid"); + this.subtype.add(SubType.LICID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TemptingWurm.java b/Mage.Sets/src/mage/cards/t/TemptingWurm.java index 483074ce704..73f608db7b6 100644 --- a/Mage.Sets/src/mage/cards/t/TemptingWurm.java +++ b/Mage.Sets/src/mage/cards/t/TemptingWurm.java @@ -39,6 +39,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -57,7 +58,7 @@ public class TemptingWurm extends CardImpl { public TemptingWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TemurCharger.java b/Mage.Sets/src/mage/cards/t/TemurCharger.java index a09f437d1f7..900ca99a552 100644 --- a/Mage.Sets/src/mage/cards/t/TemurCharger.java +++ b/Mage.Sets/src/mage/cards/t/TemurCharger.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.ColorPredicate; @@ -59,7 +60,7 @@ public class TemurCharger extends CardImpl { public TemurCharger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Horse"); + this.subtype.add(SubType.HORSE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TemurRunemark.java b/Mage.Sets/src/mage/cards/t/TemurRunemark.java index c327f6353b3..4568f1c1b9d 100644 --- a/Mage.Sets/src/mage/cards/t/TemurRunemark.java +++ b/Mage.Sets/src/mage/cards/t/TemurRunemark.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -65,7 +66,7 @@ public class TemurRunemark extends CardImpl { public TemurRunemark(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/t/TemurSabertooth.java b/Mage.Sets/src/mage/cards/t/TemurSabertooth.java index fe8496d0e65..221984bdc26 100644 --- a/Mage.Sets/src/mage/cards/t/TemurSabertooth.java +++ b/Mage.Sets/src/mage/cards/t/TemurSabertooth.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class TemurSabertooth extends CardImpl { public TemurSabertooth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TemurWarShaman.java b/Mage.Sets/src/mage/cards/t/TemurWarShaman.java index 557552eb310..ca847b372c8 100644 --- a/Mage.Sets/src/mage/cards/t/TemurWarShaman.java +++ b/Mage.Sets/src/mage/cards/t/TemurWarShaman.java @@ -37,6 +37,7 @@ import mage.abilities.effects.keyword.ManifestEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; @@ -60,8 +61,8 @@ public class TemurWarShaman extends CardImpl { public TemurWarShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TenaciousDead.java b/Mage.Sets/src/mage/cards/t/TenaciousDead.java index 917b3070ed5..deaaa1a9661 100644 --- a/Mage.Sets/src/mage/cards/t/TenaciousDead.java +++ b/Mage.Sets/src/mage/cards/t/TenaciousDead.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToBattlefieldUnderOwnerControlSourceE import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class TenaciousDead extends CardImpl { public TenaciousDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Skeleton"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.SKELETON); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TenaciousHunter.java b/Mage.Sets/src/mage/cards/t/TenaciousHunter.java index 7d29ebf809f..e12d9e982e5 100644 --- a/Mage.Sets/src/mage/cards/t/TenaciousHunter.java +++ b/Mage.Sets/src/mage/cards/t/TenaciousHunter.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.counters.CounterType; @@ -60,7 +61,7 @@ public class TenaciousHunter extends CardImpl { public TenaciousHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); - this.subtype.add("Crocodile"); + this.subtype.add(SubType.CROCODILE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TenebTheHarvester.java b/Mage.Sets/src/mage/cards/t/TenebTheHarvester.java index 72ab5aa8ced..02e7dd3b38c 100644 --- a/Mage.Sets/src/mage/cards/t/TenebTheHarvester.java +++ b/Mage.Sets/src/mage/cards/t/TenebTheHarvester.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.common.FilterCreatureCard; import mage.target.Target; @@ -52,7 +53,7 @@ public class TenebTheHarvester extends CardImpl { public TenebTheHarvester(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/t/TenementCrasher.java b/Mage.Sets/src/mage/cards/t/TenementCrasher.java index dd96608fd40..9bbdf1b6e7b 100644 --- a/Mage.Sets/src/mage/cards/t/TenementCrasher.java +++ b/Mage.Sets/src/mage/cards/t/TenementCrasher.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class TenementCrasher extends CardImpl { public TenementCrasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TenzaGodosMaul.java b/Mage.Sets/src/mage/cards/t/TenzaGodosMaul.java index de90f7b0fcd..74891f03431 100644 --- a/Mage.Sets/src/mage/cards/t/TenzaGodosMaul.java +++ b/Mage.Sets/src/mage/cards/t/TenzaGodosMaul.java @@ -67,7 +67,7 @@ public class TenzaGodosMaul extends CardImpl { public TenzaGodosMaul(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1))); diff --git a/Mage.Sets/src/mage/cards/t/Tephraderm.java b/Mage.Sets/src/mage/cards/t/Tephraderm.java index a6080eaa3a9..6aa259420d5 100644 --- a/Mage.Sets/src/mage/cards/t/Tephraderm.java +++ b/Mage.Sets/src/mage/cards/t/Tephraderm.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.filter.common.FilterCreaturePermanent; @@ -54,7 +55,7 @@ public class Tephraderm extends CardImpl { public Tephraderm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TerashisVerdict.java b/Mage.Sets/src/mage/cards/t/TerashisVerdict.java index 033200abbd3..0ab6dc4ab09 100644 --- a/Mage.Sets/src/mage/cards/t/TerashisVerdict.java +++ b/Mage.Sets/src/mage/cards/t/TerashisVerdict.java @@ -32,6 +32,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterAttackingCreature; import mage.filter.predicate.mageobject.PowerPredicate; @@ -51,7 +52,7 @@ public class TerashisVerdict extends CardImpl { public TerashisVerdict(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{W}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Destroy target attacking creature with power 3 or less. this.getSpellAbility().addEffect(new DestroyTargetEffect()); diff --git a/Mage.Sets/src/mage/cards/t/Terastodon.java b/Mage.Sets/src/mage/cards/t/Terastodon.java index 5dc9734eedb..c794d400546 100644 --- a/Mage.Sets/src/mage/cards/t/Terastodon.java +++ b/Mage.Sets/src/mage/cards/t/Terastodon.java @@ -34,6 +34,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -63,7 +64,7 @@ public class Terastodon extends CardImpl { public Terastodon(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{G}{G}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(9); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/t/TerentatekCub.java b/Mage.Sets/src/mage/cards/t/TerentatekCub.java index f582f06dbb4..0676091a2d7 100644 --- a/Mage.Sets/src/mage/cards/t/TerentatekCub.java +++ b/Mage.Sets/src/mage/cards/t/TerentatekCub.java @@ -1,86 +1,86 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.condition.common.OpponentControlsPermanentCondition; -import mage.abilities.decorator.ConditionalContinuousEffect; -import mage.abilities.effects.common.combat.AttacksIfAbleSourceEffect; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.SubtypePredicate; - -/** - * - * @author Styxo - */ -public class TerentatekCub extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Hunter or Rogue card"); - - static { - filter.add(Predicates.or(new SubtypePredicate(SubType.JEDI), new SubtypePredicate(SubType.SITH))); - } - - public TerentatekCub(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Beast"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // As long as an opponent controls a Jedi or Sith, {this} gets +1/+1 and attacks each turn if able - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( - new BoostSourceEffect(1, 1, Duration.Custom), - new OpponentControlsPermanentCondition(filter), - "As long as an opponent controls a Jedi or Sith, {this} gets +1/+1 ") - )); - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( - new AttacksIfAbleSourceEffect(Duration.Custom), - new OpponentControlsPermanentCondition(filter), - "and attacks each turn if able.") - )); - } - - public TerentatekCub(final TerentatekCub card) { - super(card); - } - - @Override - public TerentatekCub copy() { - return new TerentatekCub(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.condition.common.OpponentControlsPermanentCondition; +import mage.abilities.decorator.ConditionalContinuousEffect; +import mage.abilities.effects.common.combat.AttacksIfAbleSourceEffect; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.SubtypePredicate; + +/** + * + * @author Styxo + */ +public class TerentatekCub extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Hunter or Rogue card"); + + static { + filter.add(Predicates.or(new SubtypePredicate(SubType.JEDI), new SubtypePredicate(SubType.SITH))); + } + + public TerentatekCub(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); + this.subtype.add(SubType.BEAST); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // As long as an opponent controls a Jedi or Sith, {this} gets +1/+1 and attacks each turn if able + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( + new BoostSourceEffect(1, 1, Duration.Custom), + new OpponentControlsPermanentCondition(filter), + "As long as an opponent controls a Jedi or Sith, {this} gets +1/+1 ") + )); + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new ConditionalContinuousEffect( + new AttacksIfAbleSourceEffect(Duration.Custom), + new OpponentControlsPermanentCondition(filter), + "and attacks each turn if able.") + )); + } + + public TerentatekCub(final TerentatekCub card) { + super(card); + } + + @Override + public TerentatekCub copy() { + return new TerentatekCub(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/TerohsFaithful.java b/Mage.Sets/src/mage/cards/t/TerohsFaithful.java index 4c4b72ec26a..447ff860ff9 100644 --- a/Mage.Sets/src/mage/cards/t/TerohsFaithful.java +++ b/Mage.Sets/src/mage/cards/t/TerohsFaithful.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class TerohsFaithful extends CardImpl { public TerohsFaithful(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TerohsVanguard.java b/Mage.Sets/src/mage/cards/t/TerohsVanguard.java index cbe9367b02f..6b2acca1ec9 100644 --- a/Mage.Sets/src/mage/cards/t/TerohsVanguard.java +++ b/Mage.Sets/src/mage/cards/t/TerohsVanguard.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -55,8 +56,8 @@ public class TerohsVanguard extends CardImpl { public TerohsVanguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TerraRavager.java b/Mage.Sets/src/mage/cards/t/TerraRavager.java index 9db07e2c473..29785c5c9fb 100644 --- a/Mage.Sets/src/mage/cards/t/TerraRavager.java +++ b/Mage.Sets/src/mage/cards/t/TerraRavager.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterLandPermanent; import mage.game.Game; @@ -52,8 +53,8 @@ public class TerraRavager extends CardImpl { public TerraRavager(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.BEAST); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TerraStomper.java b/Mage.Sets/src/mage/cards/t/TerraStomper.java index e829002b730..6de4e4631ed 100644 --- a/Mage.Sets/src/mage/cards/t/TerraStomper.java +++ b/Mage.Sets/src/mage/cards/t/TerraStomper.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class TerraStomper extends CardImpl { public TerraStomper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/t/Terraformer.java b/Mage.Sets/src/mage/cards/t/Terraformer.java index 77f66d4128a..2b902ad5863 100644 --- a/Mage.Sets/src/mage/cards/t/Terraformer.java +++ b/Mage.Sets/src/mage/cards/t/Terraformer.java @@ -46,6 +46,7 @@ import mage.cards.CardSetInfo; import mage.choices.Choice; import mage.choices.ChoiceBasicLandType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -65,8 +66,8 @@ public class Terraformer extends CardImpl { public Terraformer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TerrainElemental.java b/Mage.Sets/src/mage/cards/t/TerrainElemental.java index 484e45c678e..7d58ad2020d 100644 --- a/Mage.Sets/src/mage/cards/t/TerrainElemental.java +++ b/Mage.Sets/src/mage/cards/t/TerrainElemental.java @@ -1,57 +1,58 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.MageInt; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author LevelX2 - */ -public class TerrainElemental extends CardImpl { - - public TerrainElemental(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elemental"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - } - - public TerrainElemental(final TerrainElemental card) { - super(card); - } - - @Override - public TerrainElemental copy() { - return new TerrainElemental(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.MageInt; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author LevelX2 + */ +public class TerrainElemental extends CardImpl { + + public TerrainElemental(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); + this.subtype.add(SubType.ELEMENTAL); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + } + + public TerrainElemental(final TerrainElemental card) { + super(card); + } + + @Override + public TerrainElemental copy() { + return new TerrainElemental(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/Terravore.java b/Mage.Sets/src/mage/cards/t/Terravore.java index 0fa226e5f60..3c24ef54b22 100644 --- a/Mage.Sets/src/mage/cards/t/Terravore.java +++ b/Mage.Sets/src/mage/cards/t/Terravore.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterLandCard; @@ -48,7 +49,7 @@ public class Terravore extends CardImpl { public Terravore(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Lhurgoyf"); + this.subtype.add(SubType.LHURGOYF); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/t/TerritorialBaloth.java b/Mage.Sets/src/mage/cards/t/TerritorialBaloth.java index 2ec0ddf62b8..340ba1bb5cf 100644 --- a/Mage.Sets/src/mage/cards/t/TerritorialBaloth.java +++ b/Mage.Sets/src/mage/cards/t/TerritorialBaloth.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class TerritorialBaloth extends CardImpl { public TerritorialBaloth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TerritorialGorger.java b/Mage.Sets/src/mage/cards/t/TerritorialGorger.java index 7e9674daf45..d5067d576ec 100644 --- a/Mage.Sets/src/mage/cards/t/TerritorialGorger.java +++ b/Mage.Sets/src/mage/cards/t/TerritorialGorger.java @@ -1,105 +1,106 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.Objects; -import java.util.UUID; -import mage.MageInt; -import mage.abilities.TriggeredAbilityImpl; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.abilities.keyword.TrampleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.game.Game; -import mage.game.events.GameEvent; - -/** - * - * @author LevelX2 - */ -public class TerritorialGorger extends CardImpl { - - public TerritorialGorger(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Gremlin"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Trample - this.addAbility(TrampleAbility.getInstance()); - // Whenever you get one or more {E}, Territorial Gorger gets +2/+2 until end of turn. - this.addAbility(new TerritorialGorgerTriggeredAbility()); - } - - public TerritorialGorger(final TerritorialGorger card) { - super(card); - } - - @Override - public TerritorialGorger copy() { - return new TerritorialGorger(this); - } -} - -class TerritorialGorgerTriggeredAbility extends TriggeredAbilityImpl { - - TerritorialGorgerTriggeredAbility() { - super(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), false); - } - - TerritorialGorgerTriggeredAbility(final TerritorialGorgerTriggeredAbility ability) { - super(ability); - } - - @Override - public TerritorialGorgerTriggeredAbility copy() { - return new TerritorialGorgerTriggeredAbility(this); - } - - @Override - public boolean checkEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.COUNTERS_ADDED; - } - - @Override - public boolean checkTrigger(GameEvent event, Game game) { - if (event.getData().equals(CounterType.ENERGY.getName())) { - return Objects.equals(event.getTargetId(), this.getControllerId()); - } - return false; - } - - @Override - public String getRule() { - return "Whenever you get one or more {E} (energy counters), " + super.getRule(); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.Objects; +import java.util.UUID; +import mage.MageInt; +import mage.abilities.TriggeredAbilityImpl; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.game.Game; +import mage.game.events.GameEvent; + +/** + * + * @author LevelX2 + */ +public class TerritorialGorger extends CardImpl { + + public TerritorialGorger(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); + this.subtype.add(SubType.GREMLIN); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + // Whenever you get one or more {E}, Territorial Gorger gets +2/+2 until end of turn. + this.addAbility(new TerritorialGorgerTriggeredAbility()); + } + + public TerritorialGorger(final TerritorialGorger card) { + super(card); + } + + @Override + public TerritorialGorger copy() { + return new TerritorialGorger(this); + } +} + +class TerritorialGorgerTriggeredAbility extends TriggeredAbilityImpl { + + TerritorialGorgerTriggeredAbility() { + super(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), false); + } + + TerritorialGorgerTriggeredAbility(final TerritorialGorgerTriggeredAbility ability) { + super(ability); + } + + @Override + public TerritorialGorgerTriggeredAbility copy() { + return new TerritorialGorgerTriggeredAbility(this); + } + + @Override + public boolean checkEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.COUNTERS_ADDED; + } + + @Override + public boolean checkTrigger(GameEvent event, Game game) { + if (event.getData().equals(CounterType.ENERGY.getName())) { + return Objects.equals(event.getTargetId(), this.getControllerId()); + } + return false; + } + + @Override + public String getRule() { + return "Whenever you get one or more {E} (energy counters), " + super.getRule(); + } +} diff --git a/Mage.Sets/src/mage/cards/t/TerritorialRoc.java b/Mage.Sets/src/mage/cards/t/TerritorialRoc.java index 926df9fe191..620c2914e20 100644 --- a/Mage.Sets/src/mage/cards/t/TerritorialRoc.java +++ b/Mage.Sets/src/mage/cards/t/TerritorialRoc.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class TerritorialRoc extends CardImpl { public TerritorialRoc(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TerrorOfKruinPass.java b/Mage.Sets/src/mage/cards/t/TerrorOfKruinPass.java index 5f60e62a492..3c2189926e4 100644 --- a/Mage.Sets/src/mage/cards/t/TerrorOfKruinPass.java +++ b/Mage.Sets/src/mage/cards/t/TerrorOfKruinPass.java @@ -64,7 +64,7 @@ public class TerrorOfKruinPass extends CardImpl { public TerrorOfKruinPass(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); // this card is the second face of double-faced card this.nightCard = true; diff --git a/Mage.Sets/src/mage/cards/t/TerrorOfTheFairgrounds.java b/Mage.Sets/src/mage/cards/t/TerrorOfTheFairgrounds.java index e49a8da3933..83df5c4024c 100644 --- a/Mage.Sets/src/mage/cards/t/TerrorOfTheFairgrounds.java +++ b/Mage.Sets/src/mage/cards/t/TerrorOfTheFairgrounds.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class TerrorOfTheFairgrounds extends CardImpl { public TerrorOfTheFairgrounds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Gremlin"); + this.subtype.add(SubType.GREMLIN); this.power = new MageInt(5); this.toughness = new MageInt(2); } diff --git a/Mage.Sets/src/mage/cards/t/TerrusWurm.java b/Mage.Sets/src/mage/cards/t/TerrusWurm.java index e2d2fd92903..6fe5ea9ff1e 100644 --- a/Mage.Sets/src/mage/cards/t/TerrusWurm.java +++ b/Mage.Sets/src/mage/cards/t/TerrusWurm.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ScavengeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class TerrusWurm extends CardImpl { public TerrusWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WURM); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TestamentOfFaith.java b/Mage.Sets/src/mage/cards/t/TestamentOfFaith.java index 4e864b2520e..d464947870d 100644 --- a/Mage.Sets/src/mage/cards/t/TestamentOfFaith.java +++ b/Mage.Sets/src/mage/cards/t/TestamentOfFaith.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -178,7 +179,7 @@ class TestamentOfFaithToken extends Token { TestamentOfFaithToken() { super("Wall", "X/X Wall creature with defender"); cardType.add(CardType.CREATURE); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); color.setWhite(true); this.addAbility(DefenderAbility.getInstance()); } diff --git a/Mage.Sets/src/mage/cards/t/TetheredGriffin.java b/Mage.Sets/src/mage/cards/t/TetheredGriffin.java index 2c0fd8555ed..83fc16d74ef 100644 --- a/Mage.Sets/src/mage/cards/t/TetheredGriffin.java +++ b/Mage.Sets/src/mage/cards/t/TetheredGriffin.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.StaticFilters; @@ -47,7 +48,7 @@ public class TetheredGriffin extends CardImpl { public TetheredGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TetheredSkirge.java b/Mage.Sets/src/mage/cards/t/TetheredSkirge.java index dd607454257..e8f2f12ee45 100644 --- a/Mage.Sets/src/mage/cards/t/TetheredSkirge.java +++ b/Mage.Sets/src/mage/cards/t/TetheredSkirge.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class TetheredSkirge extends CardImpl { public TetheredSkirge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TethmosHighPriest.java b/Mage.Sets/src/mage/cards/t/TethmosHighPriest.java index 104af16090c..a45d5c7a2fc 100644 --- a/Mage.Sets/src/mage/cards/t/TethmosHighPriest.java +++ b/Mage.Sets/src/mage/cards/t/TethmosHighPriest.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; @@ -55,8 +56,8 @@ public class TethmosHighPriest extends CardImpl { public TethmosHighPriest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/Tetravus.java b/Mage.Sets/src/mage/cards/t/Tetravus.java index f611eb56c0b..db694d32a15 100644 --- a/Mage.Sets/src/mage/cards/t/Tetravus.java +++ b/Mage.Sets/src/mage/cards/t/Tetravus.java @@ -61,7 +61,7 @@ public class Tetravus extends CardImpl { public Tetravus(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{6}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TetsuoUmezawa.java b/Mage.Sets/src/mage/cards/t/TetsuoUmezawa.java index beaa20f7b98..422467e9b2e 100644 --- a/Mage.Sets/src/mage/cards/t/TetsuoUmezawa.java +++ b/Mage.Sets/src/mage/cards/t/TetsuoUmezawa.java @@ -66,8 +66,8 @@ public class TetsuoUmezawa extends CardImpl { public TetsuoUmezawa(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TeysaEnvoyOfGhosts.java b/Mage.Sets/src/mage/cards/t/TeysaEnvoyOfGhosts.java index 475c825af15..5be5d74ee51 100644 --- a/Mage.Sets/src/mage/cards/t/TeysaEnvoyOfGhosts.java +++ b/Mage.Sets/src/mage/cards/t/TeysaEnvoyOfGhosts.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; @@ -56,8 +57,8 @@ public class TeysaEnvoyOfGhosts extends CardImpl { public TeysaEnvoyOfGhosts(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TeysaOrzhovScion.java b/Mage.Sets/src/mage/cards/t/TeysaOrzhovScion.java index 72267755b4a..5dcf136d095 100644 --- a/Mage.Sets/src/mage/cards/t/TeysaOrzhovScion.java +++ b/Mage.Sets/src/mage/cards/t/TeysaOrzhovScion.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.constants.Zone; @@ -69,8 +70,8 @@ public class TeysaOrzhovScion extends CardImpl { public TeysaOrzhovScion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TezzeretAgentOfBolas.java b/Mage.Sets/src/mage/cards/t/TezzeretAgentOfBolas.java index 1045ac54aa6..caf6fb786b3 100644 --- a/Mage.Sets/src/mage/cards/t/TezzeretAgentOfBolas.java +++ b/Mage.Sets/src/mage/cards/t/TezzeretAgentOfBolas.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SuperType; @@ -67,7 +68,7 @@ public class TezzeretAgentOfBolas extends CardImpl { public TezzeretAgentOfBolas(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{2}{U}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Tezzeret"); + this.subtype.add(SubType.TEZZERET); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/t/TezzeretMasterOfMetal.java b/Mage.Sets/src/mage/cards/t/TezzeretMasterOfMetal.java index 9b848991188..25ec748e6f2 100644 --- a/Mage.Sets/src/mage/cards/t/TezzeretMasterOfMetal.java +++ b/Mage.Sets/src/mage/cards/t/TezzeretMasterOfMetal.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.RevealCardsFromLibraryUntilEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -66,7 +67,7 @@ public class TezzeretMasterOfMetal extends CardImpl { public TezzeretMasterOfMetal(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{4}{U}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Tezzeret"); + this.subtype.add(SubType.TEZZERET); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/t/TezzeretTheSchemer.java b/Mage.Sets/src/mage/cards/t/TezzeretTheSchemer.java index 702ba040e5c..9f00da53f1d 100644 --- a/Mage.Sets/src/mage/cards/t/TezzeretTheSchemer.java +++ b/Mage.Sets/src/mage/cards/t/TezzeretTheSchemer.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.filter.common.FilterControlledArtifactPermanent; @@ -55,7 +56,7 @@ public class TezzeretTheSchemer extends CardImpl { public TezzeretTheSchemer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{U}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Tezzeret"); + this.subtype.add(SubType.TEZZERET); //Starting Loyalty - 5 this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/t/TezzeretTheSeeker.java b/Mage.Sets/src/mage/cards/t/TezzeretTheSeeker.java index a900b9519c7..189b9ba6d6d 100644 --- a/Mage.Sets/src/mage/cards/t/TezzeretTheSeeker.java +++ b/Mage.Sets/src/mage/cards/t/TezzeretTheSeeker.java @@ -59,7 +59,7 @@ public class TezzeretTheSeeker extends CardImpl { public TezzeretTheSeeker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{U}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Tezzeret"); + this.subtype.add(SubType.TEZZERET); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(4)); diff --git a/Mage.Sets/src/mage/cards/t/TezzeretsSimulacrum.java b/Mage.Sets/src/mage/cards/t/TezzeretsSimulacrum.java index dd373e99a3b..46e0e464da7 100644 --- a/Mage.Sets/src/mage/cards/t/TezzeretsSimulacrum.java +++ b/Mage.Sets/src/mage/cards/t/TezzeretsSimulacrum.java @@ -53,7 +53,7 @@ public class TezzeretsSimulacrum extends CardImpl { public TezzeretsSimulacrum(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TezzeretsTouch.java b/Mage.Sets/src/mage/cards/t/TezzeretsTouch.java index fafebd628c0..036a72bcc8d 100644 --- a/Mage.Sets/src/mage/cards/t/TezzeretsTouch.java +++ b/Mage.Sets/src/mage/cards/t/TezzeretsTouch.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class TezzeretsTouch extends CardImpl { public TezzeretsTouch(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact TargetPermanent auraTarget = new TargetArtifactPermanent(); diff --git a/Mage.Sets/src/mage/cards/t/ThadaAdelAcquisitor.java b/Mage.Sets/src/mage/cards/t/ThadaAdelAcquisitor.java index b270ea747eb..a81fdae044a 100644 --- a/Mage.Sets/src/mage/cards/t/ThadaAdelAcquisitor.java +++ b/Mage.Sets/src/mage/cards/t/ThadaAdelAcquisitor.java @@ -55,8 +55,8 @@ public class ThadaAdelAcquisitor extends CardImpl { public ThadaAdelAcquisitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThalakosDeceiver.java b/Mage.Sets/src/mage/cards/t/ThalakosDeceiver.java index cd8c99b9887..d45ac521d26 100644 --- a/Mage.Sets/src/mage/cards/t/ThalakosDeceiver.java +++ b/Mage.Sets/src/mage/cards/t/ThalakosDeceiver.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class ThalakosDeceiver extends CardImpl { public ThalakosDeceiver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Thalakos"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.THALAKOS); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThalakosDreamsower.java b/Mage.Sets/src/mage/cards/t/ThalakosDreamsower.java index d942620da00..65461e1e70b 100644 --- a/Mage.Sets/src/mage/cards/t/ThalakosDreamsower.java +++ b/Mage.Sets/src/mage/cards/t/ThalakosDreamsower.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -48,8 +49,8 @@ public class ThalakosDreamsower extends CardImpl { public ThalakosDreamsower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Thalakos"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.THALAKOS); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThalakosDrifters.java b/Mage.Sets/src/mage/cards/t/ThalakosDrifters.java index eb434d22782..05af3f5e0a7 100644 --- a/Mage.Sets/src/mage/cards/t/ThalakosDrifters.java +++ b/Mage.Sets/src/mage/cards/t/ThalakosDrifters.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class ThalakosDrifters extends CardImpl { public ThalakosDrifters(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Thalakos"); + this.subtype.add(SubType.THALAKOS); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/ThalakosMistfolk.java b/Mage.Sets/src/mage/cards/t/ThalakosMistfolk.java index a5fafde0016..cadf64212db 100644 --- a/Mage.Sets/src/mage/cards/t/ThalakosMistfolk.java +++ b/Mage.Sets/src/mage/cards/t/ThalakosMistfolk.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class ThalakosMistfolk extends CardImpl { public ThalakosMistfolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Thalakos"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.THALAKOS); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThalakosScout.java b/Mage.Sets/src/mage/cards/t/ThalakosScout.java index f1f8dbbd854..49c8ec00422 100644 --- a/Mage.Sets/src/mage/cards/t/ThalakosScout.java +++ b/Mage.Sets/src/mage/cards/t/ThalakosScout.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,9 +47,9 @@ public class ThalakosScout extends CardImpl { public ThalakosScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Thalakos"); - this.subtype.add("Soldier"); - this.subtype.add("Scout"); + this.subtype.add(SubType.THALAKOS); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThalakosSeer.java b/Mage.Sets/src/mage/cards/t/ThalakosSeer.java index b4ea3006273..04786202aca 100644 --- a/Mage.Sets/src/mage/cards/t/ThalakosSeer.java +++ b/Mage.Sets/src/mage/cards/t/ThalakosSeer.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class ThalakosSeer extends CardImpl { public ThalakosSeer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}"); - this.subtype.add("Thalakos"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.THALAKOS); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThalakosSentry.java b/Mage.Sets/src/mage/cards/t/ThalakosSentry.java index 1946eb5f410..b3d910630c8 100644 --- a/Mage.Sets/src/mage/cards/t/ThalakosSentry.java +++ b/Mage.Sets/src/mage/cards/t/ThalakosSentry.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class ThalakosSentry extends CardImpl { public ThalakosSentry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Thalakos"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.THALAKOS); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThaliaGuardianOfThraben.java b/Mage.Sets/src/mage/cards/t/ThaliaGuardianOfThraben.java index f28b13d7173..bbccb7e81c8 100644 --- a/Mage.Sets/src/mage/cards/t/ThaliaGuardianOfThraben.java +++ b/Mage.Sets/src/mage/cards/t/ThaliaGuardianOfThraben.java @@ -51,8 +51,8 @@ public class ThaliaGuardianOfThraben extends CardImpl { public ThaliaGuardianOfThraben(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThaliaHereticCathar.java b/Mage.Sets/src/mage/cards/t/ThaliaHereticCathar.java index 847f42b8ab3..492f39008ea 100644 --- a/Mage.Sets/src/mage/cards/t/ThaliaHereticCathar.java +++ b/Mage.Sets/src/mage/cards/t/ThaliaHereticCathar.java @@ -50,8 +50,8 @@ public class ThaliaHereticCathar extends CardImpl { public ThaliaHereticCathar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThaliasLancers.java b/Mage.Sets/src/mage/cards/t/ThaliasLancers.java index 53a6c64fee7..e46b8123d18 100644 --- a/Mage.Sets/src/mage/cards/t/ThaliasLancers.java +++ b/Mage.Sets/src/mage/cards/t/ThaliasLancers.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.SupertypePredicate; @@ -55,8 +56,8 @@ public class ThaliasLancers extends CardImpl { public ThaliasLancers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/ThaliasLieutenant.java b/Mage.Sets/src/mage/cards/t/ThaliasLieutenant.java index fc12bf64bd7..106ffcadc11 100644 --- a/Mage.Sets/src/mage/cards/t/ThaliasLieutenant.java +++ b/Mage.Sets/src/mage/cards/t/ThaliasLieutenant.java @@ -57,8 +57,8 @@ public class ThaliasLieutenant extends CardImpl { public ThaliasLieutenant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/Thallid.java b/Mage.Sets/src/mage/cards/t/Thallid.java index d7f28395370..888207c7e8a 100644 --- a/Mage.Sets/src/mage/cards/t/Thallid.java +++ b/Mage.Sets/src/mage/cards/t/Thallid.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -50,7 +51,7 @@ public class Thallid extends CardImpl { public Thallid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThallidDevourer.java b/Mage.Sets/src/mage/cards/t/ThallidDevourer.java index d18b152e980..e78284a2374 100644 --- a/Mage.Sets/src/mage/cards/t/ThallidDevourer.java +++ b/Mage.Sets/src/mage/cards/t/ThallidDevourer.java @@ -58,7 +58,7 @@ public class ThallidDevourer extends CardImpl { public ThallidDevourer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThallidGerminator.java b/Mage.Sets/src/mage/cards/t/ThallidGerminator.java index 8acd0a965b0..686b0b0e15a 100644 --- a/Mage.Sets/src/mage/cards/t/ThallidGerminator.java +++ b/Mage.Sets/src/mage/cards/t/ThallidGerminator.java @@ -60,7 +60,7 @@ public class ThallidGerminator extends CardImpl { public ThallidGerminator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThallidShellDweller.java b/Mage.Sets/src/mage/cards/t/ThallidShellDweller.java index 74de1f4a92d..b82dcdfa775 100644 --- a/Mage.Sets/src/mage/cards/t/ThallidShellDweller.java +++ b/Mage.Sets/src/mage/cards/t/ThallidShellDweller.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -51,7 +52,7 @@ public class ThallidShellDweller extends CardImpl { public ThallidShellDweller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/ThassaGodOfTheSea.java b/Mage.Sets/src/mage/cards/t/ThassaGodOfTheSea.java index 5c0c5ee6c7c..170ee99a96c 100644 --- a/Mage.Sets/src/mage/cards/t/ThassaGodOfTheSea.java +++ b/Mage.Sets/src/mage/cards/t/ThassaGodOfTheSea.java @@ -56,7 +56,7 @@ public class ThassaGodOfTheSea extends CardImpl { public ThassaGodOfTheSea(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{2}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/ThassasDevourer.java b/Mage.Sets/src/mage/cards/t/ThassasDevourer.java index 901fcd79568..b90980b1446 100644 --- a/Mage.Sets/src/mage/cards/t/ThassasDevourer.java +++ b/Mage.Sets/src/mage/cards/t/ThassasDevourer.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; /** @@ -45,7 +46,7 @@ public class ThassasDevourer extends CardImpl { public ThassasDevourer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{4}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/t/ThassasEmissary.java b/Mage.Sets/src/mage/cards/t/ThassasEmissary.java index 9a80f413c72..1a514cec804 100644 --- a/Mage.Sets/src/mage/cards/t/ThassasEmissary.java +++ b/Mage.Sets/src/mage/cards/t/ThassasEmissary.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.BestowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.DamagedEvent; @@ -53,7 +54,7 @@ public class ThassasEmissary extends CardImpl { public ThassasEmissary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{3}{U}"); - this.subtype.add("Crab"); + this.subtype.add(SubType.CRAB); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/Thaumatog.java b/Mage.Sets/src/mage/cards/t/Thaumatog.java index 81eeaaff7d3..854330fcc25 100644 --- a/Mage.Sets/src/mage/cards/t/Thaumatog.java +++ b/Mage.Sets/src/mage/cards/t/Thaumatog.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledEnchantmentPermanent; @@ -49,7 +50,7 @@ public class Thaumatog extends CardImpl { public Thaumatog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}"); - this.subtype.add("Atog"); + this.subtype.add(SubType.ATOG); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TheBattleOfEndor.java b/Mage.Sets/src/mage/cards/t/TheBattleOfEndor.java index 2fe6ccc4fed..82cd358d255 100644 --- a/Mage.Sets/src/mage/cards/t/TheBattleOfEndor.java +++ b/Mage.Sets/src/mage/cards/t/TheBattleOfEndor.java @@ -1,114 +1,114 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.dynamicvalue.common.ManacostVariableValue; -import mage.abilities.effects.Effect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.effects.common.continuous.GainAbilityAllEffect; -import mage.abilities.keyword.HasteAbility; -import mage.abilities.keyword.TrampleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.counters.CounterType; -import mage.filter.common.FilterControlledCreaturePermanent; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.game.permanent.token.EwokToken; -import mage.players.Player; - -/** - * - * @author Styxo - */ -public class TheBattleOfEndor extends CardImpl { - - public TheBattleOfEndor(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{X}{X}{G}{G}{G}"); - - // Create X 1/1 green Ewok creature tokens. - this.getSpellAbility().addEffect(new CreateTokenEffect(new EwokToken(), new ManacostVariableValue())); - - // Put X +1/+1 counters on each creature you control. - this.getSpellAbility().addEffect(new TheBattleOfEndorEffect()); - - // Creatures you control gain trample and haste until end of turn. - Effect effect = new GainAbilityAllEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent()); - effect.setText("Creatures you control gain trample"); - this.getSpellAbility().addEffect(effect); - effect = new GainAbilityAllEffect(HasteAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent()); - effect.setText("and haste until end of turn"); - this.getSpellAbility().addEffect(effect); - - } - - public TheBattleOfEndor(final TheBattleOfEndor card) { - super(card); - } - - @Override - public TheBattleOfEndor copy() { - return new TheBattleOfEndor(this); - } -} - -class TheBattleOfEndorEffect extends OneShotEffect { - - TheBattleOfEndorEffect() { - super(Outcome.Benefit); - staticText = "Put X +1/+1 counters on each creature you control"; - } - - TheBattleOfEndorEffect(TheBattleOfEndorEffect effect) { - super(effect); - } - - @Override - public TheBattleOfEndorEffect copy() { - return new TheBattleOfEndorEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - for (Permanent permanent : game.getBattlefield().getActivePermanents(new FilterControlledCreaturePermanent(), source.getControllerId(), source.getSourceId(), game)) { - permanent.addCounters(CounterType.P1P1.createInstance(source.getManaCostsToPay().getX()), source, game); - } - return true; - } - return false; - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.dynamicvalue.common.ManacostVariableValue; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continuous.GainAbilityAllEffect; +import mage.abilities.keyword.HasteAbility; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.counters.CounterType; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.game.permanent.token.EwokToken; +import mage.players.Player; + +/** + * + * @author Styxo + */ +public class TheBattleOfEndor extends CardImpl { + + public TheBattleOfEndor(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{X}{X}{G}{G}{G}"); + + // Create X 1/1 green Ewok creature tokens. + this.getSpellAbility().addEffect(new CreateTokenEffect(new EwokToken(), new ManacostVariableValue())); + + // Put X +1/+1 counters on each creature you control. + this.getSpellAbility().addEffect(new TheBattleOfEndorEffect()); + + // Creatures you control gain trample and haste until end of turn. + Effect effect = new GainAbilityAllEffect(TrampleAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent()); + effect.setText("Creatures you control gain trample"); + this.getSpellAbility().addEffect(effect); + effect = new GainAbilityAllEffect(HasteAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent()); + effect.setText("and haste until end of turn"); + this.getSpellAbility().addEffect(effect); + + } + + public TheBattleOfEndor(final TheBattleOfEndor card) { + super(card); + } + + @Override + public TheBattleOfEndor copy() { + return new TheBattleOfEndor(this); + } +} + +class TheBattleOfEndorEffect extends OneShotEffect { + + TheBattleOfEndorEffect() { + super(Outcome.Benefit); + staticText = "Put X +1/+1 counters on each creature you control"; + } + + TheBattleOfEndorEffect(TheBattleOfEndorEffect effect) { + super(effect); + } + + @Override + public TheBattleOfEndorEffect copy() { + return new TheBattleOfEndorEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + for (Permanent permanent : game.getBattlefield().getActivePermanents(new FilterControlledCreaturePermanent(), source.getControllerId(), source.getSourceId(), game)) { + permanent.addCounters(CounterType.P1P1.createInstance(source.getManaCostsToPay().getX()), source, game); + } + return true; + } + return false; + } + +} diff --git a/Mage.Sets/src/mage/cards/t/TheBattleOfGeonosis.java b/Mage.Sets/src/mage/cards/t/TheBattleOfGeonosis.java index 80359f7dbc1..4203f668cda 100644 --- a/Mage.Sets/src/mage/cards/t/TheBattleOfGeonosis.java +++ b/Mage.Sets/src/mage/cards/t/TheBattleOfGeonosis.java @@ -1,76 +1,76 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.abilities.dynamicvalue.IntPlusDynamicValue; -import mage.abilities.dynamicvalue.common.ManacostVariableValue; -import mage.abilities.dynamicvalue.common.StaticValue; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DamageAllEffect; -import mage.abilities.effects.common.DamagePlayersEffect; -import mage.abilities.effects.common.continuous.BoostControlledEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.filter.common.FilterOpponentsCreaturePermanent; - -/** - * - * @author Styxo - */ -public class TheBattleOfGeonosis extends CardImpl { - - public TheBattleOfGeonosis(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{X}{X}{R}{R}"); - - // The Battle of Geonosis deals X + 1 damage to each opponent and each creature your opponents control. - Effect effect = new DamagePlayersEffect(Outcome.Damage, new IntPlusDynamicValue(1, new ManacostVariableValue()), TargetController.OPPONENT); - effect.setText("The Battle of Geonosis deals X plus 1 damage to each opponent"); - this.getSpellAbility().addEffect(effect); - effect = new DamageAllEffect(new IntPlusDynamicValue(1, new ManacostVariableValue()), new FilterOpponentsCreaturePermanent()); - effect.setText("and each creature your opponents control"); - this.getSpellAbility().addEffect(effect); - - // Creatures you control get +X/+0 until end of turn. - this.getSpellAbility().addEffect(new BoostControlledEffect(new ManacostVariableValue(), new StaticValue(0), Duration.EndOfTurn)); - - } - - public TheBattleOfGeonosis(final TheBattleOfGeonosis card) { - super(card); - } - - @Override - public TheBattleOfGeonosis copy() { - return new TheBattleOfGeonosis(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.abilities.dynamicvalue.IntPlusDynamicValue; +import mage.abilities.dynamicvalue.common.ManacostVariableValue; +import mage.abilities.dynamicvalue.common.StaticValue; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DamageAllEffect; +import mage.abilities.effects.common.DamagePlayersEffect; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.filter.common.FilterOpponentsCreaturePermanent; + +/** + * + * @author Styxo + */ +public class TheBattleOfGeonosis extends CardImpl { + + public TheBattleOfGeonosis(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{X}{X}{R}{R}"); + + // The Battle of Geonosis deals X + 1 damage to each opponent and each creature your opponents control. + Effect effect = new DamagePlayersEffect(Outcome.Damage, new IntPlusDynamicValue(1, new ManacostVariableValue()), TargetController.OPPONENT); + effect.setText("The Battle of Geonosis deals X plus 1 damage to each opponent"); + this.getSpellAbility().addEffect(effect); + effect = new DamageAllEffect(new IntPlusDynamicValue(1, new ManacostVariableValue()), new FilterOpponentsCreaturePermanent()); + effect.setText("and each creature your opponents control"); + this.getSpellAbility().addEffect(effect); + + // Creatures you control get +X/+0 until end of turn. + this.getSpellAbility().addEffect(new BoostControlledEffect(new ManacostVariableValue(), new StaticValue(0), Duration.EndOfTurn)); + + } + + public TheBattleOfGeonosis(final TheBattleOfGeonosis card) { + super(card); + } + + @Override + public TheBattleOfGeonosis copy() { + return new TheBattleOfGeonosis(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/TheBattleOfHoth.java b/Mage.Sets/src/mage/cards/t/TheBattleOfHoth.java index 0173db66865..dccb5ba1ffb 100644 --- a/Mage.Sets/src/mage/cards/t/TheBattleOfHoth.java +++ b/Mage.Sets/src/mage/cards/t/TheBattleOfHoth.java @@ -1,59 +1,59 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.abilities.dynamicvalue.common.ManacostVariableValue; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.game.permanent.token.ATATToken; - -/** - * - * @author Styxo - */ -public class TheBattleOfHoth extends CardImpl { - - public TheBattleOfHoth(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{X}{X}{W}{W}{W}"); - - // Create X 5/5 white artifact AT-AT creature tokens wiht "When this creature dies, create two 1/1 white Trooper creature tokens." - this.getSpellAbility().addEffect(new CreateTokenEffect(new ATATToken(), new ManacostVariableValue())); - } - - public TheBattleOfHoth(final TheBattleOfHoth card) { - super(card); - } - - @Override - public TheBattleOfHoth copy() { - return new TheBattleOfHoth(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.abilities.dynamicvalue.common.ManacostVariableValue; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.game.permanent.token.ATATToken; + +/** + * + * @author Styxo + */ +public class TheBattleOfHoth extends CardImpl { + + public TheBattleOfHoth(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{X}{X}{W}{W}{W}"); + + // Create X 5/5 white artifact AT-AT creature tokens wiht "When this creature dies, create two 1/1 white Trooper creature tokens." + this.getSpellAbility().addEffect(new CreateTokenEffect(new ATATToken(), new ManacostVariableValue())); + } + + public TheBattleOfHoth(final TheBattleOfHoth card) { + super(card); + } + + @Override + public TheBattleOfHoth copy() { + return new TheBattleOfHoth(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/TheBattleOfNaboo.java b/Mage.Sets/src/mage/cards/t/TheBattleOfNaboo.java index ec335f14643..9b08a0b6489 100644 --- a/Mage.Sets/src/mage/cards/t/TheBattleOfNaboo.java +++ b/Mage.Sets/src/mage/cards/t/TheBattleOfNaboo.java @@ -1,106 +1,106 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.Effect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.ReturnToHandTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.game.Game; -import mage.players.Player; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class TheBattleOfNaboo extends CardImpl { - - public TheBattleOfNaboo(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{X}{X}{U}{U}"); - - // Return X target creatures to their owner's hands. Draw twice that many cards. - Effect effect = new ReturnToHandTargetEffect(); - effect.setText("Return X target creatures to their owner's hands"); - this.getSpellAbility().addEffect(effect); - this.getSpellAbility().addEffect(new TheBattleOfNabooEffect()); - - } - - @Override - public void adjustTargets(Ability ability, Game game) { - ability.getTargets().clear(); - ability.addTarget(new TargetCreaturePermanent(ability.getManaCostsToPay().getX())); - } - - public TheBattleOfNaboo(final TheBattleOfNaboo card) { - super(card); - } - - @Override - public TheBattleOfNaboo copy() { - return new TheBattleOfNaboo(this); - } -} - -class TheBattleOfNabooEffect extends OneShotEffect { - - public TheBattleOfNabooEffect() { - super(Outcome.DrawCard); - staticText = "Draw twice that many cards"; - } - - public TheBattleOfNabooEffect(final TheBattleOfNabooEffect effect) { - super(effect); - } - - @Override - public TheBattleOfNabooEffect copy() { - return new TheBattleOfNabooEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player player = game.getPlayer(source.getControllerId()); - if (player != null) { - int x = source.getManaCostsToPay().getX(); - if (x > 0) { - player.drawCards(2 * x, game); - } - return true; - - } - return false; - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.game.Game; +import mage.players.Player; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class TheBattleOfNaboo extends CardImpl { + + public TheBattleOfNaboo(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{X}{X}{U}{U}"); + + // Return X target creatures to their owner's hands. Draw twice that many cards. + Effect effect = new ReturnToHandTargetEffect(); + effect.setText("Return X target creatures to their owner's hands"); + this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addEffect(new TheBattleOfNabooEffect()); + + } + + @Override + public void adjustTargets(Ability ability, Game game) { + ability.getTargets().clear(); + ability.addTarget(new TargetCreaturePermanent(ability.getManaCostsToPay().getX())); + } + + public TheBattleOfNaboo(final TheBattleOfNaboo card) { + super(card); + } + + @Override + public TheBattleOfNaboo copy() { + return new TheBattleOfNaboo(this); + } +} + +class TheBattleOfNabooEffect extends OneShotEffect { + + public TheBattleOfNabooEffect() { + super(Outcome.DrawCard); + staticText = "Draw twice that many cards"; + } + + public TheBattleOfNabooEffect(final TheBattleOfNabooEffect effect) { + super(effect); + } + + @Override + public TheBattleOfNabooEffect copy() { + return new TheBattleOfNabooEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getControllerId()); + if (player != null) { + int x = source.getManaCostsToPay().getX(); + if (x > 0) { + player.drawCards(2 * x, game); + } + return true; + + } + return false; + } + +} diff --git a/Mage.Sets/src/mage/cards/t/TheBrute.java b/Mage.Sets/src/mage/cards/t/TheBrute.java index faae590e24e..fa8b14576a4 100644 --- a/Mage.Sets/src/mage/cards/t/TheBrute.java +++ b/Mage.Sets/src/mage/cards/t/TheBrute.java @@ -1,78 +1,79 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.AttachEffect; -import mage.abilities.effects.common.RegenerateAttachedEffect; -import mage.abilities.effects.common.continuous.BoostEnchantedEffect; -import mage.abilities.keyword.EnchantAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.AttachmentType; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Derpthemeus - */ -public class TheBrute extends CardImpl { - - public TheBrute(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); - - // Enchant creature - TargetCreaturePermanent auraTarget = new TargetCreaturePermanent(); - this.getSpellAbility().addTarget(auraTarget); - this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); - EnchantAbility ability = new EnchantAbility(auraTarget.getTargetName()); - this.addAbility(ability); - - // Enchanted creature gets +1/+0. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 0))); - - // {R}{R}{R}: Regenerate enchanted creature. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateAttachedEffect(AttachmentType.AURA), new ManaCostsImpl("{R}{R}{R}"))); - } - - public TheBrute(final TheBrute card) { - super(card); - } - - @Override - public TheBrute copy() { - return new TheBrute(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.AttachEffect; +import mage.abilities.effects.common.RegenerateAttachedEffect; +import mage.abilities.effects.common.continuous.BoostEnchantedEffect; +import mage.abilities.keyword.EnchantAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AttachmentType; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Derpthemeus + */ +public class TheBrute extends CardImpl { + + public TheBrute(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); + this.subtype.add(SubType.AURA); + + // Enchant creature + TargetCreaturePermanent auraTarget = new TargetCreaturePermanent(); + this.getSpellAbility().addTarget(auraTarget); + this.getSpellAbility().addEffect(new AttachEffect(Outcome.BoostCreature)); + EnchantAbility ability = new EnchantAbility(auraTarget.getTargetName()); + this.addAbility(ability); + + // Enchanted creature gets +1/+0. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(1, 0))); + + // {R}{R}{R}: Regenerate enchanted creature. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateAttachedEffect(AttachmentType.AURA), new ManaCostsImpl("{R}{R}{R}"))); + } + + public TheBrute(final TheBrute card) { + super(card); + } + + @Override + public TheBrute copy() { + return new TheBrute(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/TheDeathStar.java b/Mage.Sets/src/mage/cards/t/TheDeathStar.java index e61d0eb37ae..7303af7297d 100644 --- a/Mage.Sets/src/mage/cards/t/TheDeathStar.java +++ b/Mage.Sets/src/mage/cards/t/TheDeathStar.java @@ -1,91 +1,91 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.RemoveCountersSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DestroyTargetEffect; -import mage.abilities.effects.common.LoseGameTargetPlayerEffect; -import mage.abilities.effects.common.counter.AddCountersSourceEffect; -import mage.abilities.mana.ColorlessManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SuperType; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.target.TargetPermanent; -import mage.target.TargetPlayer; - -/** - * - * @author Styxo - */ -public class TheDeathStar extends CardImpl { - - public TheDeathStar(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - addSuperType(SuperType.LEGENDARY); - - // {T}: Add {C} to your mana pool. - this.addAbility(new ColorlessManaAbility()); - - // {2},{T}: Put a charge counter on The Death Star. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), new GenericManaCost(2)); - ability.addCost(new TapSourceCost()); - this.addAbility(ability); - - // {T}, Remove three charge counters from The Death Star: Destroy target permanent. - ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapSourceCost()); - ability.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(3))); - ability.addTarget(new TargetPermanent()); - this.addAbility(ability); - - // {T}, Remove ten charge counters from The Death Star: Destroy target player. - Effect effect = new LoseGameTargetPlayerEffect(); - effect.setText("Destroy target player"); - ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); - ability.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(10))); - ability.addTarget(new TargetPlayer()); - this.addAbility(ability); - } - - public TheDeathStar(final TheDeathStar card) { - super(card); - } - - @Override - public TheDeathStar copy() { - return new TheDeathStar(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.RemoveCountersSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.effects.common.LoseGameTargetPlayerEffect; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.mana.ColorlessManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SuperType; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.target.TargetPermanent; +import mage.target.TargetPlayer; + +/** + * + * @author Styxo + */ +public class TheDeathStar extends CardImpl { + + public TheDeathStar(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.LAND},""); + addSuperType(SuperType.LEGENDARY); + + // {T}: Add {C} to your mana pool. + this.addAbility(new ColorlessManaAbility()); + + // {2},{T}: Put a charge counter on The Death Star. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance()), new GenericManaCost(2)); + ability.addCost(new TapSourceCost()); + this.addAbility(ability); + + // {T}, Remove three charge counters from The Death Star: Destroy target permanent. + ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapSourceCost()); + ability.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(3))); + ability.addTarget(new TargetPermanent()); + this.addAbility(ability); + + // {T}, Remove ten charge counters from The Death Star: Destroy target player. + Effect effect = new LoseGameTargetPlayerEffect(); + effect.setText("Destroy target player"); + ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); + ability.addCost(new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(10))); + ability.addTarget(new TargetPlayer()); + this.addAbility(ability); + } + + public TheDeathStar(final TheDeathStar card) { + super(card); + } + + @Override + public TheDeathStar copy() { + return new TheDeathStar(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/TheGitrogMonster.java b/Mage.Sets/src/mage/cards/t/TheGitrogMonster.java index 8f999f1bc69..42d2668ad5d 100644 --- a/Mage.Sets/src/mage/cards/t/TheGitrogMonster.java +++ b/Mage.Sets/src/mage/cards/t/TheGitrogMonster.java @@ -57,8 +57,8 @@ public class TheGitrogMonster extends CardImpl { public TheGitrogMonster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Frog"); - this.subtype.add("Horror"); + this.subtype.add(SubType.FROG); + this.subtype.add(SubType.HORROR); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/t/TheLadyOfTheMountain.java b/Mage.Sets/src/mage/cards/t/TheLadyOfTheMountain.java index 712c0855ffa..11906d11c80 100644 --- a/Mage.Sets/src/mage/cards/t/TheLadyOfTheMountain.java +++ b/Mage.Sets/src/mage/cards/t/TheLadyOfTheMountain.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -43,7 +44,7 @@ public class TheLadyOfTheMountain extends CardImpl { public TheLadyOfTheMountain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TheLocustGod.java b/Mage.Sets/src/mage/cards/t/TheLocustGod.java index d7d5994bf45..593b85c5bb6 100644 --- a/Mage.Sets/src/mage/cards/t/TheLocustGod.java +++ b/Mage.Sets/src/mage/cards/t/TheLocustGod.java @@ -45,6 +45,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -62,7 +63,7 @@ public class TheLocustGod extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TheMimeoplasm.java b/Mage.Sets/src/mage/cards/t/TheMimeoplasm.java index e9d0598607e..3f5777c83b6 100644 --- a/Mage.Sets/src/mage/cards/t/TheMimeoplasm.java +++ b/Mage.Sets/src/mage/cards/t/TheMimeoplasm.java @@ -54,7 +54,7 @@ public class TheMimeoplasm extends CardImpl { public TheMimeoplasm(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Ooze"); + this.subtype.add(SubType.OOZE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/t/TheScarabGod.java b/Mage.Sets/src/mage/cards/t/TheScarabGod.java index d5b5fd1c26e..7d76558f635 100644 --- a/Mage.Sets/src/mage/cards/t/TheScarabGod.java +++ b/Mage.Sets/src/mage/cards/t/TheScarabGod.java @@ -69,7 +69,7 @@ public class TheScarabGod extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TheScorpionGod.java b/Mage.Sets/src/mage/cards/t/TheScorpionGod.java index 7334c529afe..d089f6707da 100644 --- a/Mage.Sets/src/mage/cards/t/TheScorpionGod.java +++ b/Mage.Sets/src/mage/cards/t/TheScorpionGod.java @@ -45,6 +45,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -75,7 +76,7 @@ public class TheScorpionGod extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TheUnspeakable.java b/Mage.Sets/src/mage/cards/t/TheUnspeakable.java index be5c5952493..f7775e76951 100644 --- a/Mage.Sets/src/mage/cards/t/TheUnspeakable.java +++ b/Mage.Sets/src/mage/cards/t/TheUnspeakable.java @@ -58,7 +58,7 @@ public class TheUnspeakable extends CardImpl { public TheUnspeakable(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{U}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(6); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/t/TheUrDragon.java b/Mage.Sets/src/mage/cards/t/TheUrDragon.java index 8a894a982f7..f0a501a17a8 100644 --- a/Mage.Sets/src/mage/cards/t/TheUrDragon.java +++ b/Mage.Sets/src/mage/cards/t/TheUrDragon.java @@ -73,8 +73,8 @@ public class TheUrDragon extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}{U}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.DRAGON); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(10); this.toughness = new MageInt(10); diff --git a/Mage.Sets/src/mage/cards/t/TheWretched.java b/Mage.Sets/src/mage/cards/t/TheWretched.java index 69d0aec48e4..bfeef38c446 100644 --- a/Mage.Sets/src/mage/cards/t/TheWretched.java +++ b/Mage.Sets/src/mage/cards/t/TheWretched.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.game.Game; @@ -69,7 +70,7 @@ public class TheWretched extends CardImpl { public TheWretched(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/ThelonOfHavenwood.java b/Mage.Sets/src/mage/cards/t/ThelonOfHavenwood.java index a53e6f7b20b..7aed667114b 100644 --- a/Mage.Sets/src/mage/cards/t/ThelonOfHavenwood.java +++ b/Mage.Sets/src/mage/cards/t/ThelonOfHavenwood.java @@ -64,8 +64,8 @@ public class ThelonOfHavenwood extends CardImpl { public ThelonOfHavenwood(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TheloniteDruid.java b/Mage.Sets/src/mage/cards/t/TheloniteDruid.java index 4d75d0f1045..cd2aea0a5a6 100644 --- a/Mage.Sets/src/mage/cards/t/TheloniteDruid.java +++ b/Mage.Sets/src/mage/cards/t/TheloniteDruid.java @@ -58,9 +58,9 @@ public class TheloniteDruid extends CardImpl { public TheloniteDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TheloniteHermit.java b/Mage.Sets/src/mage/cards/t/TheloniteHermit.java index 15f212b46f5..2b692414072 100644 --- a/Mage.Sets/src/mage/cards/t/TheloniteHermit.java +++ b/Mage.Sets/src/mage/cards/t/TheloniteHermit.java @@ -59,8 +59,8 @@ public class TheloniteHermit extends CardImpl { public TheloniteHermit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TheloniteMonk.java b/Mage.Sets/src/mage/cards/t/TheloniteMonk.java index 68d54206f89..08ff9e37bd3 100644 --- a/Mage.Sets/src/mage/cards/t/TheloniteMonk.java +++ b/Mage.Sets/src/mage/cards/t/TheloniteMonk.java @@ -61,9 +61,9 @@ public class TheloniteMonk extends CardImpl { public TheloniteMonk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Insect"); - this.subtype.add("Monk"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.MONK); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThermalGlider.java b/Mage.Sets/src/mage/cards/t/ThermalGlider.java index e38577cf83c..d8d16112f22 100644 --- a/Mage.Sets/src/mage/cards/t/ThermalGlider.java +++ b/Mage.Sets/src/mage/cards/t/ThermalGlider.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class ThermalGlider extends CardImpl { public ThermalGlider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.REBEL); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThermalNavigator.java b/Mage.Sets/src/mage/cards/t/ThermalNavigator.java index 3e847a7dc87..82741ea9697 100644 --- a/Mage.Sets/src/mage/cards/t/ThermalNavigator.java +++ b/Mage.Sets/src/mage/cards/t/ThermalNavigator.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledArtifactPermanent; @@ -49,7 +50,7 @@ public class ThermalNavigator extends CardImpl { public ThermalNavigator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThermoAlchemist.java b/Mage.Sets/src/mage/cards/t/ThermoAlchemist.java index 53533cb3d45..294a63d9767 100644 --- a/Mage.Sets/src/mage/cards/t/ThermoAlchemist.java +++ b/Mage.Sets/src/mage/cards/t/ThermoAlchemist.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterInstantOrSorcerySpell; @@ -51,8 +52,8 @@ public class ThermoAlchemist extends CardImpl { public ThermoAlchemist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/Thermopod.java b/Mage.Sets/src/mage/cards/t/Thermopod.java index 81d1734908e..f183a4f159b 100644 --- a/Mage.Sets/src/mage/cards/t/Thermopod.java +++ b/Mage.Sets/src/mage/cards/t/Thermopod.java @@ -39,6 +39,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class Thermopod extends CardImpl { public Thermopod(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); addSuperType(SuperType.SNOW); - this.subtype.add("Slug"); + this.subtype.add(SubType.SLUG); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/ThicketBasilisk.java b/Mage.Sets/src/mage/cards/t/ThicketBasilisk.java index e1e41a11ce0..bb6ce444037 100644 --- a/Mage.Sets/src/mage/cards/t/ThicketBasilisk.java +++ b/Mage.Sets/src/mage/cards/t/ThicketBasilisk.java @@ -56,7 +56,7 @@ public class ThicketBasilisk extends CardImpl { public ThicketBasilisk(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{G}"); - this.subtype.add("Basilisk"); + this.subtype.add(SubType.BASILISK); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/ThicketElemental.java b/Mage.Sets/src/mage/cards/t/ThicketElemental.java index 077e5fad0ae..4fc5b898f2b 100644 --- a/Mage.Sets/src/mage/cards/t/ThicketElemental.java +++ b/Mage.Sets/src/mage/cards/t/ThicketElemental.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -49,7 +50,7 @@ public class ThicketElemental extends CardImpl { public ThicketElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/ThiefOfBlood.java b/Mage.Sets/src/mage/cards/t/ThiefOfBlood.java index a5522f915b1..f561458951c 100644 --- a/Mage.Sets/src/mage/cards/t/ThiefOfBlood.java +++ b/Mage.Sets/src/mage/cards/t/ThiefOfBlood.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.Counter; import mage.counters.CounterType; @@ -55,7 +56,7 @@ public class ThiefOfBlood extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); this.power = new MageInt(1); this.toughness = new MageInt(1); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); // Flying this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/t/ThiefOfHope.java b/Mage.Sets/src/mage/cards/t/ThiefOfHope.java index 74b8879009a..82fc3e4d841 100644 --- a/Mage.Sets/src/mage/cards/t/ThiefOfHope.java +++ b/Mage.Sets/src/mage/cards/t/ThiefOfHope.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetOpponent; @@ -48,7 +49,7 @@ public class ThiefOfHope extends CardImpl { public ThiefOfHope(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThievesFortune.java b/Mage.Sets/src/mage/cards/t/ThievesFortune.java index b9c916fcbe9..8b681bcd61b 100644 --- a/Mage.Sets/src/mage/cards/t/ThievesFortune.java +++ b/Mage.Sets/src/mage/cards/t/ThievesFortune.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProwlAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; @@ -45,7 +46,7 @@ public class ThievesFortune extends CardImpl { public ThievesFortune(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{2}{U}"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.ROGUE); // Prowl {U} diff --git a/Mage.Sets/src/mage/cards/t/ThievingMagpie.java b/Mage.Sets/src/mage/cards/t/ThievingMagpie.java index e7783b4d1fd..6e3fb62bbe7 100644 --- a/Mage.Sets/src/mage/cards/t/ThievingMagpie.java +++ b/Mage.Sets/src/mage/cards/t/ThievingMagpie.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class ThievingMagpie extends CardImpl { public ThievingMagpie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/ThievingSprite.java b/Mage.Sets/src/mage/cards/t/ThievingSprite.java index b385ecb7464..61ca6f17b1f 100644 --- a/Mage.Sets/src/mage/cards/t/ThievingSprite.java +++ b/Mage.Sets/src/mage/cards/t/ThievingSprite.java @@ -59,8 +59,8 @@ public class ThievingSprite extends CardImpl { public ThievingSprite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThingFromTheDeep.java b/Mage.Sets/src/mage/cards/t/ThingFromTheDeep.java index 77aac5dc4d0..5d1b1757654 100644 --- a/Mage.Sets/src/mage/cards/t/ThingFromTheDeep.java +++ b/Mage.Sets/src/mage/cards/t/ThingFromTheDeep.java @@ -55,7 +55,7 @@ public class ThingFromTheDeep extends CardImpl { public ThingFromTheDeep(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{U}{U}{U}"); - this.subtype.add("Leviathan"); + this.subtype.add(SubType.LEVIATHAN); this.power = new MageInt(9); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/t/ThingInTheIce.java b/Mage.Sets/src/mage/cards/t/ThingInTheIce.java index 62be342649c..358ef478056 100644 --- a/Mage.Sets/src/mage/cards/t/ThingInTheIce.java +++ b/Mage.Sets/src/mage/cards/t/ThingInTheIce.java @@ -44,6 +44,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.a.AwokenHorror; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -65,7 +66,7 @@ public class ThingInTheIce extends CardImpl { public ThingInTheIce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/Thirst.java b/Mage.Sets/src/mage/cards/t/Thirst.java index 7c5226e5427..bd03d8418b0 100644 --- a/Mage.Sets/src/mage/cards/t/Thirst.java +++ b/Mage.Sets/src/mage/cards/t/Thirst.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class Thirst extends CardImpl { public Thirst(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/t/ThirstingAxe.java b/Mage.Sets/src/mage/cards/t/ThirstingAxe.java index aaa56cac5fa..e7e68c417e2 100644 --- a/Mage.Sets/src/mage/cards/t/ThirstingAxe.java +++ b/Mage.Sets/src/mage/cards/t/ThirstingAxe.java @@ -62,7 +62,7 @@ public class ThirstingAxe extends CardImpl { public ThirstingAxe(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +4/+0. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(4, 0))); diff --git a/Mage.Sets/src/mage/cards/t/ThistledownDuo.java b/Mage.Sets/src/mage/cards/t/ThistledownDuo.java index a8b80cf61f9..e3d3ab34e21 100644 --- a/Mage.Sets/src/mage/cards/t/ThistledownDuo.java +++ b/Mage.Sets/src/mage/cards/t/ThistledownDuo.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,9 +58,9 @@ public class ThistledownDuo extends CardImpl { public ThistledownDuo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W/U}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThistledownLiege.java b/Mage.Sets/src/mage/cards/t/ThistledownLiege.java index 83555a43192..38f2016b6c0 100644 --- a/Mage.Sets/src/mage/cards/t/ThistledownLiege.java +++ b/Mage.Sets/src/mage/cards/t/ThistledownLiege.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -57,8 +58,8 @@ public class ThistledownLiege extends CardImpl { public ThistledownLiege(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W/U}{W/U}{W/U}"); - this.subtype.add("Kithkin"); - this.subtype.add("Knight"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/ThopterArrest.java b/Mage.Sets/src/mage/cards/t/ThopterArrest.java index 45d028f70e5..c3123d4ed03 100644 --- a/Mage.Sets/src/mage/cards/t/ThopterArrest.java +++ b/Mage.Sets/src/mage/cards/t/ThopterArrest.java @@ -1,80 +1,80 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.common.delayed.OnLeaveReturnExiledToBattlefieldAbility; -import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; -import mage.abilities.effects.common.ExileUntilSourceLeavesEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.TargetController; -import mage.filter.FilterPermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.CardTypePredicate; -import mage.filter.predicate.permanent.ControllerPredicate; -import mage.target.TargetPermanent; - -/** - * - * @author Styxo - */ -public class ThopterArrest extends CardImpl { - - private final static FilterPermanent filter = new FilterPermanent("artifact or creature"); - - static { - filter.add(Predicates.or( - new CardTypePredicate(CardType.ARTIFACT), - new CardTypePredicate(CardType.CREATURE) - )); - filter.add(new ControllerPredicate(TargetController.OPPONENT)); - } - - public ThopterArrest(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}"); - - // When Thopter Arrest enters the battlefield, exile target artifact or creature an opponent controls until Thopter Arrest leaves the battlefield. - Ability ability = new EntersBattlefieldTriggeredAbility(new ExileUntilSourceLeavesEffect(filter.getMessage())); - ability.addTarget(new TargetPermanent(filter)); - ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new OnLeaveReturnExiledToBattlefieldAbility())); - this.addAbility(ability); - } - - public ThopterArrest(final ThopterArrest card) { - super(card); - } - - @Override - public ThopterArrest copy() { - return new ThopterArrest(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.delayed.OnLeaveReturnExiledToBattlefieldAbility; +import mage.abilities.effects.common.CreateDelayedTriggeredAbilityEffect; +import mage.abilities.effects.common.ExileUntilSourceLeavesEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.TargetController; +import mage.filter.FilterPermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.target.TargetPermanent; + +/** + * + * @author Styxo + */ +public class ThopterArrest extends CardImpl { + + private final static FilterPermanent filter = new FilterPermanent("artifact or creature"); + + static { + filter.add(Predicates.or( + new CardTypePredicate(CardType.ARTIFACT), + new CardTypePredicate(CardType.CREATURE) + )); + filter.add(new ControllerPredicate(TargetController.OPPONENT)); + } + + public ThopterArrest(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}"); + + // When Thopter Arrest enters the battlefield, exile target artifact or creature an opponent controls until Thopter Arrest leaves the battlefield. + Ability ability = new EntersBattlefieldTriggeredAbility(new ExileUntilSourceLeavesEffect(filter.getMessage())); + ability.addTarget(new TargetPermanent(filter)); + ability.addEffect(new CreateDelayedTriggeredAbilityEffect(new OnLeaveReturnExiledToBattlefieldAbility())); + this.addAbility(ability); + } + + public ThopterArrest(final ThopterArrest card) { + super(card); + } + + @Override + public ThopterArrest copy() { + return new ThopterArrest(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/ThopterAssembly.java b/Mage.Sets/src/mage/cards/t/ThopterAssembly.java index f0b00a98ba5..aa917d2bffa 100644 --- a/Mage.Sets/src/mage/cards/t/ThopterAssembly.java +++ b/Mage.Sets/src/mage/cards/t/ThopterAssembly.java @@ -54,7 +54,7 @@ public class ThopterAssembly extends CardImpl { public ThopterAssembly(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Thopter"); + this.subtype.add(SubType.THOPTER); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/ThopterEngineer.java b/Mage.Sets/src/mage/cards/t/ThopterEngineer.java index 8e14a3b6a4f..8933a977889 100644 --- a/Mage.Sets/src/mage/cards/t/ThopterEngineer.java +++ b/Mage.Sets/src/mage/cards/t/ThopterEngineer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -57,8 +58,8 @@ public class ThopterEngineer extends CardImpl { public ThopterEngineer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/ThopterSquadron.java b/Mage.Sets/src/mage/cards/t/ThopterSquadron.java index c8fe651f26f..237a157631c 100644 --- a/Mage.Sets/src/mage/cards/t/ThopterSquadron.java +++ b/Mage.Sets/src/mage/cards/t/ThopterSquadron.java @@ -66,7 +66,7 @@ public class ThopterSquadron extends CardImpl { public ThopterSquadron(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Thopter"); + this.subtype.add(SubType.THOPTER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/t/ThornElemental.java b/Mage.Sets/src/mage/cards/t/ThornElemental.java index c5ff80f9cf5..c13135a1a8b 100644 --- a/Mage.Sets/src/mage/cards/t/ThornElemental.java +++ b/Mage.Sets/src/mage/cards/t/ThornElemental.java @@ -33,6 +33,7 @@ import mage.abilities.common.DamageAsThoughNotBlockedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ThornElemental extends CardImpl { public ThornElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/t/ThornOfTheBlackRose.java b/Mage.Sets/src/mage/cards/t/ThornOfTheBlackRose.java index 763659b513a..675607a2ac6 100644 --- a/Mage.Sets/src/mage/cards/t/ThornOfTheBlackRose.java +++ b/Mage.Sets/src/mage/cards/t/ThornOfTheBlackRose.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class ThornOfTheBlackRose extends CardImpl { public ThornOfTheBlackRose(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}"); - this.subtype.add("Human"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/ThornThallid.java b/Mage.Sets/src/mage/cards/t/ThornThallid.java index e266a28a8db..7a6c9ee6cbc 100644 --- a/Mage.Sets/src/mage/cards/t/ThornThallid.java +++ b/Mage.Sets/src/mage/cards/t/ThornThallid.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -51,7 +52,7 @@ public class ThornThallid extends CardImpl { public ThornThallid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThornThrashViashino.java b/Mage.Sets/src/mage/cards/t/ThornThrashViashino.java index f4e9b60eab8..865d6f25d71 100644 --- a/Mage.Sets/src/mage/cards/t/ThornThrashViashino.java +++ b/Mage.Sets/src/mage/cards/t/ThornThrashViashino.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,8 +50,8 @@ public class ThornThrashViashino extends CardImpl { public ThornThrashViashino(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Viashino"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThornbiteStaff.java b/Mage.Sets/src/mage/cards/t/ThornbiteStaff.java index 70c7baf0b7b..fe5f2b88279 100644 --- a/Mage.Sets/src/mage/cards/t/ThornbiteStaff.java +++ b/Mage.Sets/src/mage/cards/t/ThornbiteStaff.java @@ -62,8 +62,8 @@ public class ThornbiteStaff extends CardImpl { public ThornbiteStaff(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ARTIFACT},"{2}"); - this.subtype.add("Shaman"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.SHAMAN); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has "{2}, {T}: This creature deals 1 damage to target creature or player" and "Whenever a creature dies, untap this creature." Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new GenericManaCost(2)); diff --git a/Mage.Sets/src/mage/cards/t/ThornbowArcher.java b/Mage.Sets/src/mage/cards/t/ThornbowArcher.java index fe7febfb6eb..e35d21e5cef 100644 --- a/Mage.Sets/src/mage/cards/t/ThornbowArcher.java +++ b/Mage.Sets/src/mage/cards/t/ThornbowArcher.java @@ -50,8 +50,8 @@ public class ThornbowArcher extends CardImpl { public ThornbowArcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThorncasterSliver.java b/Mage.Sets/src/mage/cards/t/ThorncasterSliver.java index da21831f892..8a92e0610a5 100644 --- a/Mage.Sets/src/mage/cards/t/ThorncasterSliver.java +++ b/Mage.Sets/src/mage/cards/t/ThorncasterSliver.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -50,7 +51,7 @@ public class ThorncasterSliver extends CardImpl { public ThorncasterSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThornedMoloch.java b/Mage.Sets/src/mage/cards/t/ThornedMoloch.java index 54275a0f47a..1ee0ca00652 100644 --- a/Mage.Sets/src/mage/cards/t/ThornedMoloch.java +++ b/Mage.Sets/src/mage/cards/t/ThornedMoloch.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,7 +50,7 @@ public class ThornedMoloch extends CardImpl { public ThornedMoloch(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThornhideWolves.java b/Mage.Sets/src/mage/cards/t/ThornhideWolves.java index 52c808d4e0e..0c84c4ff2e0 100644 --- a/Mage.Sets/src/mage/cards/t/ThornhideWolves.java +++ b/Mage.Sets/src/mage/cards/t/ThornhideWolves.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class ThornhideWolves extends CardImpl { public ThornhideWolves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(4); this.toughness = new MageInt(5); } diff --git a/Mage.Sets/src/mage/cards/t/Thornling.java b/Mage.Sets/src/mage/cards/t/Thornling.java index 6e1664ad93e..b3c5a95a023 100644 --- a/Mage.Sets/src/mage/cards/t/Thornling.java +++ b/Mage.Sets/src/mage/cards/t/Thornling.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -53,8 +54,8 @@ public class Thornling extends CardImpl { public Thornling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elemental"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(4); this.toughness = new MageInt(4); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(HasteAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{G}"))); diff --git a/Mage.Sets/src/mage/cards/t/ThornscapeApprentice.java b/Mage.Sets/src/mage/cards/t/ThornscapeApprentice.java index bc578e13442..fb4e34ba449 100644 --- a/Mage.Sets/src/mage/cards/t/ThornscapeApprentice.java +++ b/Mage.Sets/src/mage/cards/t/ThornscapeApprentice.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class ThornscapeApprentice extends CardImpl { public ThornscapeApprentice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThornscapeBattlemage.java b/Mage.Sets/src/mage/cards/t/ThornscapeBattlemage.java index 61a8ba6c529..71493e17482 100644 --- a/Mage.Sets/src/mage/cards/t/ThornscapeBattlemage.java +++ b/Mage.Sets/src/mage/cards/t/ThornscapeBattlemage.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetArtifactPermanent; import mage.target.common.TargetCreatureOrPlayer; @@ -50,8 +51,8 @@ public class ThornscapeBattlemage extends CardImpl { public ThornscapeBattlemage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThornscapeFamiliar.java b/Mage.Sets/src/mage/cards/t/ThornscapeFamiliar.java index fa3669b6089..3df10759e9b 100644 --- a/Mage.Sets/src/mage/cards/t/ThornscapeFamiliar.java +++ b/Mage.Sets/src/mage/cards/t/ThornscapeFamiliar.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; @@ -56,7 +57,7 @@ public class ThornscapeFamiliar extends CardImpl { public ThornscapeFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThornscapeMaster.java b/Mage.Sets/src/mage/cards/t/ThornscapeMaster.java index ffe2400fd0a..cafa06f7f2b 100644 --- a/Mage.Sets/src/mage/cards/t/ThornscapeMaster.java +++ b/Mage.Sets/src/mage/cards/t/ThornscapeMaster.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.GainProtectionFromColorTargetEff import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -52,8 +53,8 @@ public class ThornscapeMaster extends CardImpl { public ThornscapeMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThorntoothWitch.java b/Mage.Sets/src/mage/cards/t/ThorntoothWitch.java index d51f93b879b..8e152b18c2d 100644 --- a/Mage.Sets/src/mage/cards/t/ThorntoothWitch.java +++ b/Mage.Sets/src/mage/cards/t/ThorntoothWitch.java @@ -55,8 +55,8 @@ public class ThorntoothWitch extends CardImpl { public ThorntoothWitch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Treefolk"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/ThornwatchScarecrow.java b/Mage.Sets/src/mage/cards/t/ThornwatchScarecrow.java index 2f5d2a9487e..2ab3592f71c 100644 --- a/Mage.Sets/src/mage/cards/t/ThornwatchScarecrow.java +++ b/Mage.Sets/src/mage/cards/t/ThornwatchScarecrow.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -64,7 +65,7 @@ public class ThornwatchScarecrow extends CardImpl { public ThornwatchScarecrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/ThornwealdArcher.java b/Mage.Sets/src/mage/cards/t/ThornwealdArcher.java index ed4685ce1ad..9ec1f39d7d1 100644 --- a/Mage.Sets/src/mage/cards/t/ThornwealdArcher.java +++ b/Mage.Sets/src/mage/cards/t/ThornwealdArcher.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ThornwealdArcher extends CardImpl { public ThornwealdArcher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThornwindFaeries.java b/Mage.Sets/src/mage/cards/t/ThornwindFaeries.java index d660de34622..e36c84270c6 100644 --- a/Mage.Sets/src/mage/cards/t/ThornwindFaeries.java +++ b/Mage.Sets/src/mage/cards/t/ThornwindFaeries.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,7 +49,7 @@ public class ThornwindFaeries extends CardImpl { public ThornwindFaeries(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThoseWhoServe.java b/Mage.Sets/src/mage/cards/t/ThoseWhoServe.java index fc16c575f9f..a7691066882 100644 --- a/Mage.Sets/src/mage/cards/t/ThoseWhoServe.java +++ b/Mage.Sets/src/mage/cards/t/ThoseWhoServe.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ThoseWhoServe extends CardImpl { public ThoseWhoServe(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(4); } diff --git a/Mage.Sets/src/mage/cards/t/ThoughtCourier.java b/Mage.Sets/src/mage/cards/t/ThoughtCourier.java index 41860289789..6be807acd9d 100644 --- a/Mage.Sets/src/mage/cards/t/ThoughtCourier.java +++ b/Mage.Sets/src/mage/cards/t/ThoughtCourier.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class ThoughtCourier extends CardImpl { public ThoughtCourier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThoughtDevourer.java b/Mage.Sets/src/mage/cards/t/ThoughtDevourer.java index b091d093bf0..57f6f253409 100644 --- a/Mage.Sets/src/mage/cards/t/ThoughtDevourer.java +++ b/Mage.Sets/src/mage/cards/t/ThoughtDevourer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class ThoughtDevourer extends CardImpl { public ThoughtDevourer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/ThoughtEater.java b/Mage.Sets/src/mage/cards/t/ThoughtEater.java index 85986c7aae2..f706372796e 100644 --- a/Mage.Sets/src/mage/cards/t/ThoughtEater.java +++ b/Mage.Sets/src/mage/cards/t/ThoughtEater.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class ThoughtEater extends CardImpl { public ThoughtEater(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThoughtGorger.java b/Mage.Sets/src/mage/cards/t/ThoughtGorger.java index 7b8264b25d0..f5eeed502e0 100644 --- a/Mage.Sets/src/mage/cards/t/ThoughtGorger.java +++ b/Mage.Sets/src/mage/cards/t/ThoughtGorger.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -52,7 +53,7 @@ public class ThoughtGorger extends CardImpl { public ThoughtGorger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThoughtHarvester.java b/Mage.Sets/src/mage/cards/t/ThoughtHarvester.java index dcff4142853..0f642ff5006 100644 --- a/Mage.Sets/src/mage/cards/t/ThoughtHarvester.java +++ b/Mage.Sets/src/mage/cards/t/ThoughtHarvester.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorlessPredicate; import mage.target.common.TargetOpponent; @@ -55,8 +56,8 @@ public class ThoughtHarvester extends CardImpl { public ThoughtHarvester(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/ThoughtKnotSeer.java b/Mage.Sets/src/mage/cards/t/ThoughtKnotSeer.java index 88eec52c62c..9e05e34d138 100644 --- a/Mage.Sets/src/mage/cards/t/ThoughtKnotSeer.java +++ b/Mage.Sets/src/mage/cards/t/ThoughtKnotSeer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ExileCardYouChooseTargetOpponentEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetOpponent; @@ -48,7 +49,7 @@ public class ThoughtKnotSeer extends CardImpl { public ThoughtKnotSeer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{C}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/ThoughtNibbler.java b/Mage.Sets/src/mage/cards/t/ThoughtNibbler.java index 69f3de4da76..2c005196954 100644 --- a/Mage.Sets/src/mage/cards/t/ThoughtNibbler.java +++ b/Mage.Sets/src/mage/cards/t/ThoughtNibbler.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class ThoughtNibbler extends CardImpl { public ThoughtNibbler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThoughtcutterAgent.java b/Mage.Sets/src/mage/cards/t/ThoughtcutterAgent.java index a6e37087c3b..15814283e2d 100644 --- a/Mage.Sets/src/mage/cards/t/ThoughtcutterAgent.java +++ b/Mage.Sets/src/mage/cards/t/ThoughtcutterAgent.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.RevealHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -51,8 +52,8 @@ public class ThoughtcutterAgent extends CardImpl { public ThoughtcutterAgent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{U}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThoughtpickerWitch.java b/Mage.Sets/src/mage/cards/t/ThoughtpickerWitch.java index 44345b03202..7a0f37f19f5 100644 --- a/Mage.Sets/src/mage/cards/t/ThoughtpickerWitch.java +++ b/Mage.Sets/src/mage/cards/t/ThoughtpickerWitch.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -59,8 +60,8 @@ public class ThoughtpickerWitch extends CardImpl { public ThoughtpickerWitch(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThoughtrenderLamia.java b/Mage.Sets/src/mage/cards/t/ThoughtrenderLamia.java index 1a64ee3d25d..d0038752590 100644 --- a/Mage.Sets/src/mage/cards/t/ThoughtrenderLamia.java +++ b/Mage.Sets/src/mage/cards/t/ThoughtrenderLamia.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.discard.DiscardEachPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -44,7 +45,7 @@ public class ThoughtrenderLamia extends CardImpl { public ThoughtrenderLamia(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Lamia"); + this.subtype.add(SubType.LAMIA); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/ThoughtweftTrio.java b/Mage.Sets/src/mage/cards/t/ThoughtweftTrio.java index 6ef008351b1..33b040b88ed 100644 --- a/Mage.Sets/src/mage/cards/t/ThoughtweftTrio.java +++ b/Mage.Sets/src/mage/cards/t/ThoughtweftTrio.java @@ -48,8 +48,8 @@ public class ThoughtweftTrio extends CardImpl { public ThoughtweftTrio(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/ThousandWinds.java b/Mage.Sets/src/mage/cards/t/ThousandWinds.java index a554cbd6bc5..3be5ca6a3a9 100644 --- a/Mage.Sets/src/mage/cards/t/ThousandWinds.java +++ b/Mage.Sets/src/mage/cards/t/ThousandWinds.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; import mage.filter.predicate.permanent.TappedPredicate; @@ -56,7 +57,7 @@ public class ThousandWinds extends CardImpl { public ThousandWinds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/t/ThousandleggedKami.java b/Mage.Sets/src/mage/cards/t/ThousandleggedKami.java index 6871cf14b2b..4496bf72f90 100644 --- a/Mage.Sets/src/mage/cards/t/ThousandleggedKami.java +++ b/Mage.Sets/src/mage/cards/t/ThousandleggedKami.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -42,7 +43,7 @@ public class ThousandleggedKami extends CardImpl { public ThousandleggedKami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/t/ThrabenDoomsayer.java b/Mage.Sets/src/mage/cards/t/ThrabenDoomsayer.java index 1ec37dcd2d3..3b6090dfdb0 100644 --- a/Mage.Sets/src/mage/cards/t/ThrabenDoomsayer.java +++ b/Mage.Sets/src/mage/cards/t/ThrabenDoomsayer.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.HumanToken; @@ -51,8 +52,8 @@ public class ThrabenDoomsayer extends CardImpl { public ThrabenDoomsayer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThrabenFoulbloods.java b/Mage.Sets/src/mage/cards/t/ThrabenFoulbloods.java index 71853d213d9..6a552635417 100644 --- a/Mage.Sets/src/mage/cards/t/ThrabenFoulbloods.java +++ b/Mage.Sets/src/mage/cards/t/ThrabenFoulbloods.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class ThrabenFoulbloods extends CardImpl { public ThrabenFoulbloods(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Hound"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.HOUND); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThrabenGargoyle.java b/Mage.Sets/src/mage/cards/t/ThrabenGargoyle.java index 049f357441b..b073b2d1f16 100644 --- a/Mage.Sets/src/mage/cards/t/ThrabenGargoyle.java +++ b/Mage.Sets/src/mage/cards/t/ThrabenGargoyle.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.s.StonewingAntagonizer; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,7 +49,7 @@ public class ThrabenGargoyle extends CardImpl { public ThrabenGargoyle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); - this.subtype.add("Gargoyle"); + this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThrabenHeretic.java b/Mage.Sets/src/mage/cards/t/ThrabenHeretic.java index 7b41a398ecb..fedec1f91a5 100644 --- a/Mage.Sets/src/mage/cards/t/ThrabenHeretic.java +++ b/Mage.Sets/src/mage/cards/t/ThrabenHeretic.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInGraveyard; @@ -48,8 +49,8 @@ public class ThrabenHeretic extends CardImpl { public ThrabenHeretic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThrabenInspector.java b/Mage.Sets/src/mage/cards/t/ThrabenInspector.java index 6556faa18ba..68fa5385183 100644 --- a/Mage.Sets/src/mage/cards/t/ThrabenInspector.java +++ b/Mage.Sets/src/mage/cards/t/ThrabenInspector.java @@ -34,6 +34,7 @@ import mage.abilities.effects.keyword.InvestigateEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ThrabenInspector extends CardImpl { public ThrabenInspector(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThrabenMilitia.java b/Mage.Sets/src/mage/cards/t/ThrabenMilitia.java index 65bbf0a02a5..3bd7c80b977 100644 --- a/Mage.Sets/src/mage/cards/t/ThrabenMilitia.java +++ b/Mage.Sets/src/mage/cards/t/ThrabenMilitia.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author nantuko @@ -41,8 +42,8 @@ public class ThrabenMilitia extends CardImpl { public ThrabenMilitia(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.color.setWhite(true); // this card is the second face of double-faced card diff --git a/Mage.Sets/src/mage/cards/t/ThrabenPurebloods.java b/Mage.Sets/src/mage/cards/t/ThrabenPurebloods.java index c91cd75042b..0b68a8e6cfb 100644 --- a/Mage.Sets/src/mage/cards/t/ThrabenPurebloods.java +++ b/Mage.Sets/src/mage/cards/t/ThrabenPurebloods.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class ThrabenPurebloods extends CardImpl { public ThrabenPurebloods(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/ThrabenSentry.java b/Mage.Sets/src/mage/cards/t/ThrabenSentry.java index 66970d95afa..335871c0318 100644 --- a/Mage.Sets/src/mage/cards/t/ThrabenSentry.java +++ b/Mage.Sets/src/mage/cards/t/ThrabenSentry.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -52,8 +53,8 @@ public class ThrabenSentry extends CardImpl { public ThrabenSentry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.transformable = true; this.secondSideCardClazz = ThrabenMilitia.class; diff --git a/Mage.Sets/src/mage/cards/t/ThrabenStandardBearer.java b/Mage.Sets/src/mage/cards/t/ThrabenStandardBearer.java index 4b03de45d17..20fdeab5cd6 100644 --- a/Mage.Sets/src/mage/cards/t/ThrabenStandardBearer.java +++ b/Mage.Sets/src/mage/cards/t/ThrabenStandardBearer.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.HumanSoldierToken; @@ -49,8 +50,8 @@ public class ThrabenStandardBearer extends CardImpl { public ThrabenStandardBearer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThrabenValiant.java b/Mage.Sets/src/mage/cards/t/ThrabenValiant.java index 5dfa5210d3f..57081a6d5d7 100644 --- a/Mage.Sets/src/mage/cards/t/ThrabenValiant.java +++ b/Mage.Sets/src/mage/cards/t/ThrabenValiant.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class ThrabenValiant extends CardImpl { public ThrabenValiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/Thragtusk.java b/Mage.Sets/src/mage/cards/t/Thragtusk.java index c05b10b0270..767ea0a573e 100644 --- a/Mage.Sets/src/mage/cards/t/Thragtusk.java +++ b/Mage.Sets/src/mage/cards/t/Thragtusk.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.BeastToken; /** @@ -46,7 +47,7 @@ public class Thragtusk extends CardImpl { public Thragtusk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/ThranGolem.java b/Mage.Sets/src/mage/cards/t/ThranGolem.java index a1b4a0eea08..960e9b234cd 100644 --- a/Mage.Sets/src/mage/cards/t/ThranGolem.java +++ b/Mage.Sets/src/mage/cards/t/ThranGolem.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class ThranGolem extends CardImpl { public ThranGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/ThranWarMachine.java b/Mage.Sets/src/mage/cards/t/ThranWarMachine.java index f65ac74b1da..fce2deacf72 100644 --- a/Mage.Sets/src/mage/cards/t/ThranWarMachine.java +++ b/Mage.Sets/src/mage/cards/t/ThranWarMachine.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class ThranWarMachine extends CardImpl { public ThranWarMachine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/ThrashingMossdog.java b/Mage.Sets/src/mage/cards/t/ThrashingMossdog.java index 07b55b01334..152d22e5f13 100644 --- a/Mage.Sets/src/mage/cards/t/ThrashingMossdog.java +++ b/Mage.Sets/src/mage/cards/t/ThrashingMossdog.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ScavengeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,8 +48,8 @@ public class ThrashingMossdog extends CardImpl { public ThrashingMossdog (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Hound"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.HOUND); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/ThrashingWumpus.java b/Mage.Sets/src/mage/cards/t/ThrashingWumpus.java index 380fa25ecdb..67669af6459 100644 --- a/Mage.Sets/src/mage/cards/t/ThrashingWumpus.java +++ b/Mage.Sets/src/mage/cards/t/ThrashingWumpus.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageEverythingEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class ThrashingWumpus extends CardImpl { public ThrashingWumpus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/ThrasiosTritonHero.java b/Mage.Sets/src/mage/cards/t/ThrasiosTritonHero.java index e335bc118cb..97c3102cedf 100644 --- a/Mage.Sets/src/mage/cards/t/ThrasiosTritonHero.java +++ b/Mage.Sets/src/mage/cards/t/ThrasiosTritonHero.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class ThrasiosTritonHero extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/Thraximundar.java b/Mage.Sets/src/mage/cards/t/Thraximundar.java index c1a2fe868b4..13f653e2c87 100644 --- a/Mage.Sets/src/mage/cards/t/Thraximundar.java +++ b/Mage.Sets/src/mage/cards/t/Thraximundar.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.counters.CounterType; @@ -57,8 +58,8 @@ public class Thraximundar extends CardImpl { public Thraximundar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/t/ThreadsOfDisloyalty.java b/Mage.Sets/src/mage/cards/t/ThreadsOfDisloyalty.java index d3f7d52d4f9..2f8847271b5 100644 --- a/Mage.Sets/src/mage/cards/t/ThreadsOfDisloyalty.java +++ b/Mage.Sets/src/mage/cards/t/ThreadsOfDisloyalty.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class ThreadsOfDisloyalty extends CardImpl { public ThreadsOfDisloyalty(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature with converted mana cost 2 or less TargetPermanent auraTarget = new TargetCreaturePermanent(filter); diff --git a/Mage.Sets/src/mage/cards/t/ThreeWishes.java b/Mage.Sets/src/mage/cards/t/ThreeWishes.java index 4ce11513cae..67f6b3e5210 100644 --- a/Mage.Sets/src/mage/cards/t/ThreeWishes.java +++ b/Mage.Sets/src/mage/cards/t/ThreeWishes.java @@ -1,220 +1,220 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.Set; -import java.util.UUID; -import mage.MageObject; -import mage.abilities.Ability; -import mage.abilities.DelayedTriggeredAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.common.delayed.AtTheBeginOfYourNextUpkeepDelayedTriggeredAbility; -import mage.abilities.effects.AsThoughEffectImpl; -import mage.abilities.effects.ContinuousEffect; -import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.AsThoughEffectType; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.game.ExileZone; -import mage.game.Game; -import mage.players.Player; -import mage.target.targetpointer.FixedTarget; -import mage.util.CardUtil; - -/** - * - * @author jeffwadsworth - */ -public class ThreeWishes extends CardImpl { - - public ThreeWishes(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}{U}"); - - // Exile the top three cards of your library face down. You may look at those cards for as long as they remain exiled. Until your next turn, you may play those cards. At the beginning of your next upkeep, put any of those cards you didn't play into your graveyard. - this.getSpellAbility().addEffect(new ThreeWishesExileEffect()); - this.addAbility(new SimpleStaticAbility(Zone.ALL, new ThreeWishesLookAtCardEffect())); - - } - - public ThreeWishes(final ThreeWishes card) { - super(card); - } - - @Override - public ThreeWishes copy() { - return new ThreeWishes(this); - } -} - -class ThreeWishesExileEffect extends OneShotEffect { - - public ThreeWishesExileEffect() { - super(Outcome.DrawCard); - staticText = "Exile the top three cards of your library face down. Until your next turn, you may play those cards. At the beginning of your next upkeep, put any of those cards you didn't play into your graveyard"; - } - - public ThreeWishesExileEffect(final ThreeWishesExileEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - UUID exileId = CardUtil.getExileZoneId(game, source.getSourceId(), 0); - Set topThreeCards = controller.getLibrary().getTopCards(game, 3); - for (Card card : topThreeCards) { - if (controller.moveCardsToExile(card, source, game, true, exileId, "Three Wishes")) { - card.setFaceDown(true, game); - ContinuousEffect effect = new ThreeWishesPlayFromExileEffect(); - effect.setTargetPointer(new FixedTarget(card.getId())); - game.addEffect(effect, source); - } - } - DelayedTriggeredAbility delayed = new AtTheBeginOfYourNextUpkeepDelayedTriggeredAbility(new ThreeWishesPutIntoGraveyardEffect()); - game.addDelayedTriggeredAbility(delayed, source); - return true; - } - return false; - } - - @Override - public ThreeWishesExileEffect copy() { - return new ThreeWishesExileEffect(this); - } -} - -class ThreeWishesPutIntoGraveyardEffect extends OneShotEffect { - - public ThreeWishesPutIntoGraveyardEffect() { - super(Outcome.Neutral); - staticText = "At the beginning of your next upkeep, put any of those cards you didn't play into your graveyard"; - } - - public ThreeWishesPutIntoGraveyardEffect(final ThreeWishesPutIntoGraveyardEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - UUID exileId = CardUtil.getExileZoneId(game, source.getSourceId(), 0); - Set cardsInExile = game.getExile().getExileZone(exileId).getCards(game); - if (cardsInExile != null) { - controller.moveCardsToGraveyardWithInfo(cardsInExile, source, game, Zone.EXILED); - return true; - } - } - return false; - } - - @Override - public ThreeWishesPutIntoGraveyardEffect copy() { - return new ThreeWishesPutIntoGraveyardEffect(this); - } -} - -class ThreeWishesLookAtCardEffect extends AsThoughEffectImpl { - - public ThreeWishesLookAtCardEffect() { - super(AsThoughEffectType.LOOK_AT_FACE_DOWN, Duration.Custom, Outcome.Benefit); - staticText = "You may look at cards exiled with {this} as long as they remain exiled"; - } - - public ThreeWishesLookAtCardEffect(final ThreeWishesLookAtCardEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - return true; - } - - @Override - public ThreeWishesLookAtCardEffect copy() { - return new ThreeWishesLookAtCardEffect(this); - } - - @Override - public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - if (affectedControllerId.equals(source.getControllerId())) { - Card card = game.getCard(objectId); - if (card != null) { - MageObject sourceObject = game.getObject(source.getSourceId()); - if (sourceObject == null) { - return false; - } - UUID exileId = CardUtil.getExileZoneId(game, source.getSourceId(), 0); - ExileZone exile = game.getExile().getExileZone(exileId); - return exile != null - && exile.contains(card.getId()); - } - } - return false; - } -} - -class ThreeWishesPlayFromExileEffect extends AsThoughEffectImpl { - - ThreeWishesPlayFromExileEffect() { - super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, Duration.UntilYourNextTurn, Outcome.Benefit); - staticText = "Until your next turn, you may play those cards"; - } - - ThreeWishesPlayFromExileEffect(final ThreeWishesPlayFromExileEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - return true; - } - - @Override - public ThreeWishesPlayFromExileEffect copy() { - return new ThreeWishesPlayFromExileEffect(this); - } - - @Override - public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { - UUID exileId = CardUtil.getExileZoneId(game, source.getSourceId(), 0); - ExileZone exile = game.getExile().getExileZone(exileId); - return exile != null - && getTargetPointer().getFirst(game, source) != null - && getTargetPointer().getFirst(game, source).equals(sourceId) - && source.getControllerId().equals(affectedControllerId) - && game.getState().getZone(sourceId) == Zone.EXILED - && exile.contains(sourceId); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.Set; +import java.util.UUID; +import mage.MageObject; +import mage.abilities.Ability; +import mage.abilities.DelayedTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.common.delayed.AtTheBeginOfYourNextUpkeepDelayedTriggeredAbility; +import mage.abilities.effects.AsThoughEffectImpl; +import mage.abilities.effects.ContinuousEffect; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AsThoughEffectType; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.game.ExileZone; +import mage.game.Game; +import mage.players.Player; +import mage.target.targetpointer.FixedTarget; +import mage.util.CardUtil; + +/** + * + * @author jeffwadsworth + */ +public class ThreeWishes extends CardImpl { + + public ThreeWishes(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{U}{U}"); + + // Exile the top three cards of your library face down. You may look at those cards for as long as they remain exiled. Until your next turn, you may play those cards. At the beginning of your next upkeep, put any of those cards you didn't play into your graveyard. + this.getSpellAbility().addEffect(new ThreeWishesExileEffect()); + this.addAbility(new SimpleStaticAbility(Zone.ALL, new ThreeWishesLookAtCardEffect())); + + } + + public ThreeWishes(final ThreeWishes card) { + super(card); + } + + @Override + public ThreeWishes copy() { + return new ThreeWishes(this); + } +} + +class ThreeWishesExileEffect extends OneShotEffect { + + public ThreeWishesExileEffect() { + super(Outcome.DrawCard); + staticText = "Exile the top three cards of your library face down. Until your next turn, you may play those cards. At the beginning of your next upkeep, put any of those cards you didn't play into your graveyard"; + } + + public ThreeWishesExileEffect(final ThreeWishesExileEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + UUID exileId = CardUtil.getExileZoneId(game, source.getSourceId(), 0); + Set topThreeCards = controller.getLibrary().getTopCards(game, 3); + for (Card card : topThreeCards) { + if (controller.moveCardsToExile(card, source, game, true, exileId, "Three Wishes")) { + card.setFaceDown(true, game); + ContinuousEffect effect = new ThreeWishesPlayFromExileEffect(); + effect.setTargetPointer(new FixedTarget(card.getId())); + game.addEffect(effect, source); + } + } + DelayedTriggeredAbility delayed = new AtTheBeginOfYourNextUpkeepDelayedTriggeredAbility(new ThreeWishesPutIntoGraveyardEffect()); + game.addDelayedTriggeredAbility(delayed, source); + return true; + } + return false; + } + + @Override + public ThreeWishesExileEffect copy() { + return new ThreeWishesExileEffect(this); + } +} + +class ThreeWishesPutIntoGraveyardEffect extends OneShotEffect { + + public ThreeWishesPutIntoGraveyardEffect() { + super(Outcome.Neutral); + staticText = "At the beginning of your next upkeep, put any of those cards you didn't play into your graveyard"; + } + + public ThreeWishesPutIntoGraveyardEffect(final ThreeWishesPutIntoGraveyardEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + UUID exileId = CardUtil.getExileZoneId(game, source.getSourceId(), 0); + Set cardsInExile = game.getExile().getExileZone(exileId).getCards(game); + if (cardsInExile != null) { + controller.moveCardsToGraveyardWithInfo(cardsInExile, source, game, Zone.EXILED); + return true; + } + } + return false; + } + + @Override + public ThreeWishesPutIntoGraveyardEffect copy() { + return new ThreeWishesPutIntoGraveyardEffect(this); + } +} + +class ThreeWishesLookAtCardEffect extends AsThoughEffectImpl { + + public ThreeWishesLookAtCardEffect() { + super(AsThoughEffectType.LOOK_AT_FACE_DOWN, Duration.Custom, Outcome.Benefit); + staticText = "You may look at cards exiled with {this} as long as they remain exiled"; + } + + public ThreeWishesLookAtCardEffect(final ThreeWishesLookAtCardEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } + + @Override + public ThreeWishesLookAtCardEffect copy() { + return new ThreeWishesLookAtCardEffect(this); + } + + @Override + public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { + if (affectedControllerId.equals(source.getControllerId())) { + Card card = game.getCard(objectId); + if (card != null) { + MageObject sourceObject = game.getObject(source.getSourceId()); + if (sourceObject == null) { + return false; + } + UUID exileId = CardUtil.getExileZoneId(game, source.getSourceId(), 0); + ExileZone exile = game.getExile().getExileZone(exileId); + return exile != null + && exile.contains(card.getId()); + } + } + return false; + } +} + +class ThreeWishesPlayFromExileEffect extends AsThoughEffectImpl { + + ThreeWishesPlayFromExileEffect() { + super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, Duration.UntilYourNextTurn, Outcome.Benefit); + staticText = "Until your next turn, you may play those cards"; + } + + ThreeWishesPlayFromExileEffect(final ThreeWishesPlayFromExileEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } + + @Override + public ThreeWishesPlayFromExileEffect copy() { + return new ThreeWishesPlayFromExileEffect(this); + } + + @Override + public boolean applies(UUID sourceId, Ability source, UUID affectedControllerId, Game game) { + UUID exileId = CardUtil.getExileZoneId(game, source.getSourceId(), 0); + ExileZone exile = game.getExile().getExileZone(exileId); + return exile != null + && getTargetPointer().getFirst(game, source) != null + && getTargetPointer().getFirst(game, source).equals(sourceId) + && source.getControllerId().equals(affectedControllerId) + && game.getState().getZone(sourceId) == Zone.EXILED + && exile.contains(sourceId); + } +} diff --git a/Mage.Sets/src/mage/cards/t/ThresherLizard.java b/Mage.Sets/src/mage/cards/t/ThresherLizard.java index 180d3dc3a4b..430012a7107 100644 --- a/Mage.Sets/src/mage/cards/t/ThresherLizard.java +++ b/Mage.Sets/src/mage/cards/t/ThresherLizard.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class ThresherLizard extends CardImpl { public ThresherLizard(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThrillKillAssassin.java b/Mage.Sets/src/mage/cards/t/ThrillKillAssassin.java index 4e6c3961f83..d463ffead8a 100644 --- a/Mage.Sets/src/mage/cards/t/ThrillKillAssassin.java +++ b/Mage.Sets/src/mage/cards/t/ThrillKillAssassin.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.UnleashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ThrillKillAssassin extends CardImpl { public ThrillKillAssassin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThrissNantukoPrimus.java b/Mage.Sets/src/mage/cards/t/ThrissNantukoPrimus.java index 9e4bb84eb71..7d77ec138a4 100644 --- a/Mage.Sets/src/mage/cards/t/ThrissNantukoPrimus.java +++ b/Mage.Sets/src/mage/cards/t/ThrissNantukoPrimus.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class ThrissNantukoPrimus extends CardImpl { public ThrissNantukoPrimus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Insect"); - this.subtype.add("Druid"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.DRUID); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/ThrivingGrubs.java b/Mage.Sets/src/mage/cards/t/ThrivingGrubs.java index 548f6044479..18999206064 100644 --- a/Mage.Sets/src/mage/cards/t/ThrivingGrubs.java +++ b/Mage.Sets/src/mage/cards/t/ThrivingGrubs.java @@ -1,71 +1,72 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.AttacksTriggeredAbility; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.costs.common.PayEnergyCost; -import mage.abilities.effects.common.DoIfCostPaid; -import mage.abilities.effects.common.counter.AddCountersSourceEffect; -import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.counters.CounterType; - -/** - * - * @author LevelX2 - */ -public class ThrivingGrubs extends CardImpl { - - public ThrivingGrubs(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Gremlin"); - this.power = new MageInt(2); - this.toughness = new MageInt(1); - - // When Thriving Grubs enters the battlefield, you get {E}{E}. - this.addAbility(new EntersBattlefieldTriggeredAbility(new GetEnergyCountersControllerEffect(2), false)); - - // Whenever Thriving Grubs attacks, you may pay {E}{E}. If you do, put a +1/+1 counter on it. - this.addAbility(new AttacksTriggeredAbility(new DoIfCostPaid(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new PayEnergyCost(2)), false, - "Whenever {this} attacks you may pay {E}{E}. If you do, put a +1/+1 counter on it.")); - } - - public ThrivingGrubs(final ThrivingGrubs card) { - super(card); - } - - @Override - public ThrivingGrubs copy() { - return new ThrivingGrubs(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.costs.common.PayEnergyCost; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.counters.CounterType; + +/** + * + * @author LevelX2 + */ +public class ThrivingGrubs extends CardImpl { + + public ThrivingGrubs(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); + this.subtype.add(SubType.GREMLIN); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // When Thriving Grubs enters the battlefield, you get {E}{E}. + this.addAbility(new EntersBattlefieldTriggeredAbility(new GetEnergyCountersControllerEffect(2), false)); + + // Whenever Thriving Grubs attacks, you may pay {E}{E}. If you do, put a +1/+1 counter on it. + this.addAbility(new AttacksTriggeredAbility(new DoIfCostPaid(new AddCountersSourceEffect(CounterType.P1P1.createInstance()), new PayEnergyCost(2)), false, + "Whenever {this} attacks you may pay {E}{E}. If you do, put a +1/+1 counter on it.")); + } + + public ThrivingGrubs(final ThrivingGrubs card) { + super(card); + } + + @Override + public ThrivingGrubs copy() { + return new ThrivingGrubs(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/ThrivingIbex.java b/Mage.Sets/src/mage/cards/t/ThrivingIbex.java index 57c82aa6e4c..9b1172100fc 100644 --- a/Mage.Sets/src/mage/cards/t/ThrivingIbex.java +++ b/Mage.Sets/src/mage/cards/t/ThrivingIbex.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -48,7 +49,7 @@ public class ThrivingIbex extends CardImpl { public ThrivingIbex(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Goat"); + this.subtype.add(SubType.GOAT); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/ThrivingRats.java b/Mage.Sets/src/mage/cards/t/ThrivingRats.java index b399cbbe001..01ab4372331 100644 --- a/Mage.Sets/src/mage/cards/t/ThrivingRats.java +++ b/Mage.Sets/src/mage/cards/t/ThrivingRats.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -48,7 +49,7 @@ public class ThrivingRats extends CardImpl { public ThrivingRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThrivingRhino.java b/Mage.Sets/src/mage/cards/t/ThrivingRhino.java index b7057a0c03b..8d469140c85 100644 --- a/Mage.Sets/src/mage/cards/t/ThrivingRhino.java +++ b/Mage.Sets/src/mage/cards/t/ThrivingRhino.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -48,7 +49,7 @@ public class ThrivingRhino extends CardImpl { public ThrivingRhino(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Rhino"); + this.subtype.add(SubType.RHINO); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/ThrivingTurtle.java b/Mage.Sets/src/mage/cards/t/ThrivingTurtle.java index f2eaaf90ad4..d3935448fac 100644 --- a/Mage.Sets/src/mage/cards/t/ThrivingTurtle.java +++ b/Mage.Sets/src/mage/cards/t/ThrivingTurtle.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -48,7 +49,7 @@ public class ThrivingTurtle extends CardImpl { public ThrivingTurtle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Turtle"); + this.subtype.add(SubType.TURTLE); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/ThroatSlitter.java b/Mage.Sets/src/mage/cards/t/ThroatSlitter.java index 887b7624aea..a34785d4d3b 100644 --- a/Mage.Sets/src/mage/cards/t/ThroatSlitter.java +++ b/Mage.Sets/src/mage/cards/t/ThroatSlitter.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.NinjutsuAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -56,8 +57,8 @@ public class ThroatSlitter extends CardImpl { public ThroatSlitter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Rat"); - this.subtype.add("Ninja"); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.NINJA); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThromokTheInsatiable.java b/Mage.Sets/src/mage/cards/t/ThromokTheInsatiable.java index ade004327f3..f3cd1fd3841 100644 --- a/Mage.Sets/src/mage/cards/t/ThromokTheInsatiable.java +++ b/Mage.Sets/src/mage/cards/t/ThromokTheInsatiable.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.DevourAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -45,7 +46,7 @@ public class ThromokTheInsatiable extends CardImpl { public ThromokTheInsatiable(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Hellion"); + this.subtype.add(SubType.HELLION); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/t/ThroneOfTheGodPharaoh.java b/Mage.Sets/src/mage/cards/t/ThroneOfTheGodPharaoh.java index 35a918525ce..58a2f658d1f 100644 --- a/Mage.Sets/src/mage/cards/t/ThroneOfTheGodPharaoh.java +++ b/Mage.Sets/src/mage/cards/t/ThroneOfTheGodPharaoh.java @@ -1,72 +1,72 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.abilities.common.BeginningOfEndStepTriggeredAbility; -import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.effects.common.LoseLifeOpponentsEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SuperType; -import mage.constants.TargetController; -import mage.filter.FilterPermanent; -import mage.filter.common.FilterControlledCreaturePermanent; -import mage.filter.predicate.permanent.TappedPredicate; - -/** - * - * @author Styxo - */ -public class ThroneOfTheGodPharaoh extends CardImpl { - - private static final FilterPermanent filter = new FilterControlledCreaturePermanent("tapped creature you control"); - - static { - filter.add(new TappedPredicate()); - } - - public ThroneOfTheGodPharaoh(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); - - addSuperType(SuperType.LEGENDARY); - - // At the beginning of your end step, each opponent loses life equal to the number of tapped creatures you control. - this.addAbility(new BeginningOfEndStepTriggeredAbility(new LoseLifeOpponentsEffect(new PermanentsOnBattlefieldCount(filter)), TargetController.YOU, false)); - } - - public ThroneOfTheGodPharaoh(final ThroneOfTheGodPharaoh card) { - super(card); - } - - @Override - public ThroneOfTheGodPharaoh copy() { - return new ThroneOfTheGodPharaoh(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.abilities.common.BeginningOfEndStepTriggeredAbility; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.common.LoseLifeOpponentsEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SuperType; +import mage.constants.TargetController; +import mage.filter.FilterPermanent; +import mage.filter.common.FilterControlledCreaturePermanent; +import mage.filter.predicate.permanent.TappedPredicate; + +/** + * + * @author Styxo + */ +public class ThroneOfTheGodPharaoh extends CardImpl { + + private static final FilterPermanent filter = new FilterControlledCreaturePermanent("tapped creature you control"); + + static { + filter.add(new TappedPredicate()); + } + + public ThroneOfTheGodPharaoh(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); + + addSuperType(SuperType.LEGENDARY); + + // At the beginning of your end step, each opponent loses life equal to the number of tapped creatures you control. + this.addAbility(new BeginningOfEndStepTriggeredAbility(new LoseLifeOpponentsEffect(new PermanentsOnBattlefieldCount(filter)), TargetController.YOU, false)); + } + + public ThroneOfTheGodPharaoh(final ThroneOfTheGodPharaoh card) { + super(card); + } + + @Override + public ThroneOfTheGodPharaoh copy() { + return new ThroneOfTheGodPharaoh(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/ThroneWarden.java b/Mage.Sets/src/mage/cards/t/ThroneWarden.java index 6d64464a9f9..ffaaf0957be 100644 --- a/Mage.Sets/src/mage/cards/t/ThroneWarden.java +++ b/Mage.Sets/src/mage/cards/t/ThroneWarden.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -48,8 +49,8 @@ public class ThroneWarden extends CardImpl { public ThroneWarden(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThroughTheBreach.java b/Mage.Sets/src/mage/cards/t/ThroughTheBreach.java index 714e4d80c45..579d9fe66b8 100644 --- a/Mage.Sets/src/mage/cards/t/ThroughTheBreach.java +++ b/Mage.Sets/src/mage/cards/t/ThroughTheBreach.java @@ -42,6 +42,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class ThroughTheBreach extends CardImpl { public ThroughTheBreach(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{4}{R}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // You may put a creature card from your hand onto the battlefield. That creature gains haste. Sacrifice that creature at the beginning of the next end step. this.getSpellAbility().addEffect(new ThroughTheBreachEffect()); diff --git a/Mage.Sets/src/mage/cards/t/ThrowingKnife.java b/Mage.Sets/src/mage/cards/t/ThrowingKnife.java index 34cb7996656..2bf4ca5f6ef 100644 --- a/Mage.Sets/src/mage/cards/t/ThrowingKnife.java +++ b/Mage.Sets/src/mage/cards/t/ThrowingKnife.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -53,7 +54,7 @@ public class ThrowingKnife extends CardImpl { public ThrowingKnife(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+0. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 0))); diff --git a/Mage.Sets/src/mage/cards/t/ThrullChampion.java b/Mage.Sets/src/mage/cards/t/ThrullChampion.java index 61d8eb83a1b..a55a78d39be 100644 --- a/Mage.Sets/src/mage/cards/t/ThrullChampion.java +++ b/Mage.Sets/src/mage/cards/t/ThrullChampion.java @@ -61,7 +61,7 @@ public class ThrullChampion extends CardImpl { public ThrullChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Thrull"); + this.subtype.add(SubType.THRULL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThrullParasite.java b/Mage.Sets/src/mage/cards/t/ThrullParasite.java index d34fbf122f0..66409b89651 100644 --- a/Mage.Sets/src/mage/cards/t/ThrullParasite.java +++ b/Mage.Sets/src/mage/cards/t/ThrullParasite.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ExtortAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetNonlandPermanent; @@ -49,7 +50,7 @@ public class ThrullParasite extends CardImpl { public ThrullParasite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Thrull"); + this.subtype.add(SubType.THRULL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThrullRetainer.java b/Mage.Sets/src/mage/cards/t/ThrullRetainer.java index 6adaeb011d5..00e1002bc74 100644 --- a/Mage.Sets/src/mage/cards/t/ThrullRetainer.java +++ b/Mage.Sets/src/mage/cards/t/ThrullRetainer.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class ThrullRetainer extends CardImpl { public ThrullRetainer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/t/ThrullSurgeon.java b/Mage.Sets/src/mage/cards/t/ThrullSurgeon.java index f1eb1e7d6b2..6d1fc047154 100644 --- a/Mage.Sets/src/mage/cards/t/ThrullSurgeon.java +++ b/Mage.Sets/src/mage/cards/t/ThrullSurgeon.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -55,7 +56,7 @@ public class ThrullSurgeon extends CardImpl { public ThrullSurgeon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Thrull"); + this.subtype.add(SubType.THRULL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/Thrummingbird.java b/Mage.Sets/src/mage/cards/t/Thrummingbird.java index 7f97247fce1..d45910ee290 100644 --- a/Mage.Sets/src/mage/cards/t/Thrummingbird.java +++ b/Mage.Sets/src/mage/cards/t/Thrummingbird.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki, nantuko, North @@ -44,8 +45,8 @@ public class Thrummingbird extends CardImpl { public Thrummingbird(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Horror"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThrunTheLastTroll.java b/Mage.Sets/src/mage/cards/t/ThrunTheLastTroll.java index f8f1e40f737..7daa4393d8f 100644 --- a/Mage.Sets/src/mage/cards/t/ThrunTheLastTroll.java +++ b/Mage.Sets/src/mage/cards/t/ThrunTheLastTroll.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class ThrunTheLastTroll extends CardImpl { public ThrunTheLastTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Troll"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.TROLL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/ThunderBrute.java b/Mage.Sets/src/mage/cards/t/ThunderBrute.java index 4df282e2fda..bdfab986d12 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderBrute.java +++ b/Mage.Sets/src/mage/cards/t/ThunderBrute.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TributeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -50,7 +51,7 @@ public class ThunderBrute extends CardImpl { public ThunderBrute(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Cyclops"); + this.subtype.add(SubType.CYCLOPS); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/ThunderDragon.java b/Mage.Sets/src/mage/cards/t/ThunderDragon.java index 876a24593c0..00068fed6c9 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderDragon.java +++ b/Mage.Sets/src/mage/cards/t/ThunderDragon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -54,7 +55,7 @@ public class ThunderDragon extends CardImpl { public ThunderDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/ThunderSpirit.java b/Mage.Sets/src/mage/cards/t/ThunderSpirit.java index 4ce500a9972..adbddea4b4f 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderSpirit.java +++ b/Mage.Sets/src/mage/cards/t/ThunderSpirit.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ThunderSpirit extends CardImpl { public ThunderSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Elemental"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThunderThrashElder.java b/Mage.Sets/src/mage/cards/t/ThunderThrashElder.java index da9e771e429..002de62a160 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderThrashElder.java +++ b/Mage.Sets/src/mage/cards/t/ThunderThrashElder.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.DevourAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ThunderThrashElder extends CardImpl { public ThunderThrashElder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Viashino"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThunderTotem.java b/Mage.Sets/src/mage/cards/t/ThunderTotem.java index 44b0456b5ea..78f1abe540b 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderTotem.java +++ b/Mage.Sets/src/mage/cards/t/ThunderTotem.java @@ -38,6 +38,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -76,7 +77,7 @@ private static class ThunderTotemToken extends Token { cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); color.setWhite(true); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); power = new MageInt(2); toughness = new MageInt(2); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/t/ThunderWall.java b/Mage.Sets/src/mage/cards/t/ThunderWall.java index f02bc5b8f95..4c358cef38f 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderWall.java +++ b/Mage.Sets/src/mage/cards/t/ThunderWall.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class ThunderWall extends CardImpl { public ThunderWall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/Thunderblust.java b/Mage.Sets/src/mage/cards/t/Thunderblust.java index 9b30b9aa952..b19583cc8d1 100644 --- a/Mage.Sets/src/mage/cards/t/Thunderblust.java +++ b/Mage.Sets/src/mage/cards/t/Thunderblust.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -53,7 +54,7 @@ public class Thunderblust extends CardImpl { public Thunderblust(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(7); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThunderbreakRegent.java b/Mage.Sets/src/mage/cards/t/ThunderbreakRegent.java index adf38c535d3..b751837ded5 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderbreakRegent.java +++ b/Mage.Sets/src/mage/cards/t/ThunderbreakRegent.java @@ -54,7 +54,7 @@ public class ThunderbreakRegent extends CardImpl { public ThunderbreakRegent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/ThunderclapWyvern.java b/Mage.Sets/src/mage/cards/t/ThunderclapWyvern.java index 7c66d9f9261..a3eb20740a6 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderclapWyvern.java +++ b/Mage.Sets/src/mage/cards/t/ThunderclapWyvern.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -56,7 +57,7 @@ public class ThunderclapWyvern extends CardImpl { public ThunderclapWyvern(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/ThundercloudElemental.java b/Mage.Sets/src/mage/cards/t/ThundercloudElemental.java index d981b50600b..337097a8332 100644 --- a/Mage.Sets/src/mage/cards/t/ThundercloudElemental.java +++ b/Mage.Sets/src/mage/cards/t/ThundercloudElemental.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Zone; @@ -61,7 +62,7 @@ public class ThundercloudElemental extends CardImpl { public ThundercloudElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{U}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/ThundercloudShaman.java b/Mage.Sets/src/mage/cards/t/ThundercloudShaman.java index 24e140fe2c2..fe3b8590c0a 100644 --- a/Mage.Sets/src/mage/cards/t/ThundercloudShaman.java +++ b/Mage.Sets/src/mage/cards/t/ThundercloudShaman.java @@ -59,8 +59,8 @@ public class ThundercloudShaman extends CardImpl { public ThundercloudShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/ThunderfootBaloth.java b/Mage.Sets/src/mage/cards/t/ThunderfootBaloth.java index d809fef36f2..bbbec4aa90b 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderfootBaloth.java +++ b/Mage.Sets/src/mage/cards/t/ThunderfootBaloth.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterControlledCreaturePermanent; @@ -49,7 +50,7 @@ public class ThunderfootBaloth extends CardImpl { public ThunderfootBaloth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/ThunderingGiant.java b/Mage.Sets/src/mage/cards/t/ThunderingGiant.java index 016a353c8c3..3db5ba223c0 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderingGiant.java +++ b/Mage.Sets/src/mage/cards/t/ThunderingGiant.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ThunderingGiant extends CardImpl { public ThunderingGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/ThunderingTanadon.java b/Mage.Sets/src/mage/cards/t/ThunderingTanadon.java index c42ea44bbc6..030a3ad1cfc 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderingTanadon.java +++ b/Mage.Sets/src/mage/cards/t/ThunderingTanadon.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ThunderingTanadon extends CardImpl { public ThunderingTanadon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}{G/P}{G/P}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/ThunderingWurm.java b/Mage.Sets/src/mage/cards/t/ThunderingWurm.java index e28d9ff26ba..b4180c92c67 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderingWurm.java +++ b/Mage.Sets/src/mage/cards/t/ThunderingWurm.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterLandCard; /** @@ -46,7 +47,7 @@ public class ThunderingWurm extends CardImpl { public ThunderingWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/Thundermare.java b/Mage.Sets/src/mage/cards/t/Thundermare.java index 96d802962b1..45ed4058b97 100644 --- a/Mage.Sets/src/mage/cards/t/Thundermare.java +++ b/Mage.Sets/src/mage/cards/t/Thundermare.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -52,8 +53,8 @@ public class Thundermare extends CardImpl { public Thundermare(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Horse"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.HORSE); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/ThundermawHellkite.java b/Mage.Sets/src/mage/cards/t/ThundermawHellkite.java index 4ee31dfbbda..07bc483ef31 100644 --- a/Mage.Sets/src/mage/cards/t/ThundermawHellkite.java +++ b/Mage.Sets/src/mage/cards/t/ThundermawHellkite.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -61,7 +62,7 @@ public class ThundermawHellkite extends CardImpl { public ThundermawHellkite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/ThunderousMight.java b/Mage.Sets/src/mage/cards/t/ThunderousMight.java index 31dd1b480ca..4ccc37d2965 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderousMight.java +++ b/Mage.Sets/src/mage/cards/t/ThunderousMight.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Outcome; @@ -53,7 +54,7 @@ public class ThunderousMight extends CardImpl { public ThunderousMight(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/t/ThunderscapeApprentice.java b/Mage.Sets/src/mage/cards/t/ThunderscapeApprentice.java index cd67b60a252..212c322ed1e 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderscapeApprentice.java +++ b/Mage.Sets/src/mage/cards/t/ThunderscapeApprentice.java @@ -49,8 +49,8 @@ public class ThunderscapeApprentice extends CardImpl { public ThunderscapeApprentice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThunderscapeBattlemage.java b/Mage.Sets/src/mage/cards/t/ThunderscapeBattlemage.java index 28f8f81e4de..3d4ca987891 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderscapeBattlemage.java +++ b/Mage.Sets/src/mage/cards/t/ThunderscapeBattlemage.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPlayer; import mage.target.common.TargetEnchantmentPermanent; @@ -50,8 +51,8 @@ public class ThunderscapeBattlemage extends CardImpl { public ThunderscapeBattlemage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThunderscapeFamiliar.java b/Mage.Sets/src/mage/cards/t/ThunderscapeFamiliar.java index d3dba532065..c23d59f7ddd 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderscapeFamiliar.java +++ b/Mage.Sets/src/mage/cards/t/ThunderscapeFamiliar.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; @@ -57,7 +58,7 @@ public class ThunderscapeFamiliar extends CardImpl { public ThunderscapeFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ThunderscapeMaster.java b/Mage.Sets/src/mage/cards/t/ThunderscapeMaster.java index 9216958ddb2..b6f623d1f20 100644 --- a/Mage.Sets/src/mage/cards/t/ThunderscapeMaster.java +++ b/Mage.Sets/src/mage/cards/t/ThunderscapeMaster.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -51,8 +52,8 @@ public class ThunderscapeMaster extends CardImpl { public ThunderscapeMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ThundersongTrumpeter.java b/Mage.Sets/src/mage/cards/t/ThundersongTrumpeter.java index 2d9d71bfb0d..408bb96c4b7 100644 --- a/Mage.Sets/src/mage/cards/t/ThundersongTrumpeter.java +++ b/Mage.Sets/src/mage/cards/t/ThundersongTrumpeter.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.CantAttackBlockTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class ThundersongTrumpeter extends CardImpl { public ThundersongTrumpeter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TibaltTheFiendBlooded.java b/Mage.Sets/src/mage/cards/t/TibaltTheFiendBlooded.java index 7eef24fe266..15a47fdcfa1 100644 --- a/Mage.Sets/src/mage/cards/t/TibaltTheFiendBlooded.java +++ b/Mage.Sets/src/mage/cards/t/TibaltTheFiendBlooded.java @@ -46,6 +46,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -67,7 +68,7 @@ public class TibaltTheFiendBlooded extends CardImpl { public TibaltTheFiendBlooded(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{R}{R}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Tibalt"); + this.subtype.add(SubType.TIBALT); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(2)); diff --git a/Mage.Sets/src/mage/cards/t/TiborAndLumia.java b/Mage.Sets/src/mage/cards/t/TiborAndLumia.java index ebca40d9fa1..a1f9937ffee 100644 --- a/Mage.Sets/src/mage/cards/t/TiborAndLumia.java +++ b/Mage.Sets/src/mage/cards/t/TiborAndLumia.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.filter.FilterSpell; @@ -66,8 +67,8 @@ public class TiborAndLumia extends CardImpl { public TiborAndLumia(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TickingGnomes.java b/Mage.Sets/src/mage/cards/t/TickingGnomes.java index cbd40e1acd8..e7699c17e4e 100644 --- a/Mage.Sets/src/mage/cards/t/TickingGnomes.java +++ b/Mage.Sets/src/mage/cards/t/TickingGnomes.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,7 +49,7 @@ public class TickingGnomes extends CardImpl { public TickingGnomes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Gnome"); + this.subtype.add(SubType.GNOME); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TidalCourier.java b/Mage.Sets/src/mage/cards/t/TidalCourier.java index 0434d0d773d..289ebab72d5 100644 --- a/Mage.Sets/src/mage/cards/t/TidalCourier.java +++ b/Mage.Sets/src/mage/cards/t/TidalCourier.java @@ -58,7 +58,7 @@ public class TidalCourier extends CardImpl { public TidalCourier(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TidalForce.java b/Mage.Sets/src/mage/cards/t/TidalForce.java index 45fb6dcb64a..5d78700e4a0 100644 --- a/Mage.Sets/src/mage/cards/t/TidalForce.java +++ b/Mage.Sets/src/mage/cards/t/TidalForce.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.MayTapOrUntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.target.TargetPermanent; @@ -46,7 +47,7 @@ public class TidalForce extends CardImpl { public TidalForce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/t/TidalKraken.java b/Mage.Sets/src/mage/cards/t/TidalKraken.java index 845ee941359..e0e7177e731 100644 --- a/Mage.Sets/src/mage/cards/t/TidalKraken.java +++ b/Mage.Sets/src/mage/cards/t/TidalKraken.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class TidalKraken extends CardImpl { public TidalKraken(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}{U}"); - this.subtype.add("Kraken"); + this.subtype.add(SubType.KRAKEN); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/t/TidalVisionary.java b/Mage.Sets/src/mage/cards/t/TidalVisionary.java index af1aa451e2b..d575930d607 100644 --- a/Mage.Sets/src/mage/cards/t/TidalVisionary.java +++ b/Mage.Sets/src/mage/cards/t/TidalVisionary.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BecomesColorTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class TidalVisionary extends CardImpl { public TidalVisionary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TidalWarrior.java b/Mage.Sets/src/mage/cards/t/TidalWarrior.java index df631624317..0030bfd7592 100644 --- a/Mage.Sets/src/mage/cards/t/TidalWarrior.java +++ b/Mage.Sets/src/mage/cards/t/TidalWarrior.java @@ -51,8 +51,8 @@ public class TidalWarrior extends CardImpl { public TidalWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TideDrifter.java b/Mage.Sets/src/mage/cards/t/TideDrifter.java index 6e80d4f15ab..368c126fb55 100644 --- a/Mage.Sets/src/mage/cards/t/TideDrifter.java +++ b/Mage.Sets/src/mage/cards/t/TideDrifter.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -54,8 +55,8 @@ public class TideDrifter extends CardImpl { public TideDrifter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TidebinderMage.java b/Mage.Sets/src/mage/cards/t/TidebinderMage.java index 850ef1b87fd..d084f053f81 100644 --- a/Mage.Sets/src/mage/cards/t/TidebinderMage.java +++ b/Mage.Sets/src/mage/cards/t/TidebinderMage.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.TapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.PhaseStep; @@ -69,8 +70,8 @@ public class TidebinderMage extends CardImpl { public TidebinderMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TideforceElemental.java b/Mage.Sets/src/mage/cards/t/TideforceElemental.java index faa2152378a..4e5bfe67ae1 100644 --- a/Mage.Sets/src/mage/cards/t/TideforceElemental.java +++ b/Mage.Sets/src/mage/cards/t/TideforceElemental.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.UntapSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -59,7 +60,7 @@ public class TideforceElemental extends CardImpl { public TideforceElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TidehollowSculler.java b/Mage.Sets/src/mage/cards/t/TidehollowSculler.java index 8e932e9482a..d4c306bddf6 100644 --- a/Mage.Sets/src/mage/cards/t/TidehollowSculler.java +++ b/Mage.Sets/src/mage/cards/t/TidehollowSculler.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterNonlandCard; @@ -58,7 +59,7 @@ public class TidehollowSculler extends CardImpl { public TidehollowSculler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{W}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TidehollowStrix.java b/Mage.Sets/src/mage/cards/t/TidehollowStrix.java index e470b2c80cb..19174c6551a 100644 --- a/Mage.Sets/src/mage/cards/t/TidehollowStrix.java +++ b/Mage.Sets/src/mage/cards/t/TidehollowStrix.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class TidehollowStrix extends CardImpl { public TidehollowStrix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{U}{B}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TideshaperMystic.java b/Mage.Sets/src/mage/cards/t/TideshaperMystic.java index d8d2c39e391..0d1818c00f1 100644 --- a/Mage.Sets/src/mage/cards/t/TideshaperMystic.java +++ b/Mage.Sets/src/mage/cards/t/TideshaperMystic.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BecomesBasicLandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetLandPermanent; @@ -49,8 +50,8 @@ public class TideshaperMystic extends CardImpl { public TideshaperMystic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TidespoutTyrant.java b/Mage.Sets/src/mage/cards/t/TidespoutTyrant.java index 40b1c01c036..507e7b4c30a 100644 --- a/Mage.Sets/src/mage/cards/t/TidespoutTyrant.java +++ b/Mage.Sets/src/mage/cards/t/TidespoutTyrant.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPermanent; /** @@ -46,7 +47,7 @@ public class TidespoutTyrant extends CardImpl { public TidespoutTyrant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}{U}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/Tidewalker.java b/Mage.Sets/src/mage/cards/t/Tidewalker.java index fd4d0721203..a54eb398a5a 100644 --- a/Mage.Sets/src/mage/cards/t/Tidewalker.java +++ b/Mage.Sets/src/mage/cards/t/Tidewalker.java @@ -61,7 +61,7 @@ public class Tidewalker extends CardImpl { public Tidewalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/t/TidewaterMinion.java b/Mage.Sets/src/mage/cards/t/TidewaterMinion.java index 6565703288d..5b25090760c 100644 --- a/Mage.Sets/src/mage/cards/t/TidewaterMinion.java +++ b/Mage.Sets/src/mage/cards/t/TidewaterMinion.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,8 +52,8 @@ public class TidewaterMinion extends CardImpl { public TidewaterMinion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Elemental"); - this.subtype.add("Minion"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.MINION); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TigerClaws.java b/Mage.Sets/src/mage/cards/t/TigerClaws.java index 41c74fc9fa7..9cd3b475735 100644 --- a/Mage.Sets/src/mage/cards/t/TigerClaws.java +++ b/Mage.Sets/src/mage/cards/t/TigerClaws.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -54,7 +55,7 @@ public class TigerClaws extends CardImpl { public TigerClaws(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/t/TighteningCoils.java b/Mage.Sets/src/mage/cards/t/TighteningCoils.java index 69cde8867f8..1cd8eb2fdbb 100644 --- a/Mage.Sets/src/mage/cards/t/TighteningCoils.java +++ b/Mage.Sets/src/mage/cards/t/TighteningCoils.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class TighteningCoils extends CardImpl { public TighteningCoils(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/t/TillingTreefolk.java b/Mage.Sets/src/mage/cards/t/TillingTreefolk.java index 3e91d8c0cb8..cb4114b50fa 100644 --- a/Mage.Sets/src/mage/cards/t/TillingTreefolk.java +++ b/Mage.Sets/src/mage/cards/t/TillingTreefolk.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterLandCard; import mage.target.common.TargetCardInYourGraveyard; @@ -47,8 +48,8 @@ public class TillingTreefolk extends CardImpl { public TillingTreefolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Druid"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TilonallisSkinshifter.java b/Mage.Sets/src/mage/cards/t/TilonallisSkinshifter.java index dd30193bd34..546ca340dc6 100644 --- a/Mage.Sets/src/mage/cards/t/TilonallisSkinshifter.java +++ b/Mage.Sets/src/mage/cards/t/TilonallisSkinshifter.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SuperType; @@ -66,8 +67,8 @@ public class TilonallisSkinshifter extends CardImpl { public TilonallisSkinshifter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TimberProtector.java b/Mage.Sets/src/mage/cards/t/TimberProtector.java index f3ca34e3129..6c9ffb02945 100644 --- a/Mage.Sets/src/mage/cards/t/TimberProtector.java +++ b/Mage.Sets/src/mage/cards/t/TimberProtector.java @@ -65,8 +65,8 @@ public class TimberProtector extends CardImpl { public TimberProtector(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/t/TimberShredder.java b/Mage.Sets/src/mage/cards/t/TimberShredder.java index c2aeba46886..71218727c98 100644 --- a/Mage.Sets/src/mage/cards/t/TimberShredder.java +++ b/Mage.Sets/src/mage/cards/t/TimberShredder.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -49,7 +50,7 @@ public class TimberShredder extends CardImpl { public TimberShredder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(4); this.toughness = new MageInt(2); this.color.setGreen(true); diff --git a/Mage.Sets/src/mage/cards/t/TimberlandGuide.java b/Mage.Sets/src/mage/cards/t/TimberlandGuide.java index 5326b458162..297da468ea6 100644 --- a/Mage.Sets/src/mage/cards/t/TimberlandGuide.java +++ b/Mage.Sets/src/mage/cards/t/TimberlandGuide.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -46,8 +47,8 @@ public class TimberlandGuide extends CardImpl { public TimberlandGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/Timbermare.java b/Mage.Sets/src/mage/cards/t/Timbermare.java index 5146f42dfe4..8861cb4ef9e 100644 --- a/Mage.Sets/src/mage/cards/t/Timbermare.java +++ b/Mage.Sets/src/mage/cards/t/Timbermare.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -53,8 +54,8 @@ public class Timbermare extends CardImpl { public Timbermare(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elemental"); - this.subtype.add("Horse"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.HORSE); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TimbermawLarva.java b/Mage.Sets/src/mage/cards/t/TimbermawLarva.java index 0b47853fb00..f99c64d6b01 100644 --- a/Mage.Sets/src/mage/cards/t/TimbermawLarva.java +++ b/Mage.Sets/src/mage/cards/t/TimbermawLarva.java @@ -58,7 +58,7 @@ public class TimbermawLarva extends CardImpl { public TimbermawLarva(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TimberpackWolf.java b/Mage.Sets/src/mage/cards/t/TimberpackWolf.java index b3c19e4ce93..0143d5544fb 100644 --- a/Mage.Sets/src/mage/cards/t/TimberpackWolf.java +++ b/Mage.Sets/src/mage/cards/t/TimberpackWolf.java @@ -56,7 +56,7 @@ public class TimberpackWolf extends CardImpl { public TimberpackWolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TimberwatchElf.java b/Mage.Sets/src/mage/cards/t/TimberwatchElf.java index cdcbc47bbd8..56259652bb8 100644 --- a/Mage.Sets/src/mage/cards/t/TimberwatchElf.java +++ b/Mage.Sets/src/mage/cards/t/TimberwatchElf.java @@ -58,7 +58,7 @@ public class TimberwatchElf extends CardImpl { public TimberwatchElf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TimeToReflect.java b/Mage.Sets/src/mage/cards/t/TimeToReflect.java index 9b62af37b35..10114d5b0fb 100644 --- a/Mage.Sets/src/mage/cards/t/TimeToReflect.java +++ b/Mage.Sets/src/mage/cards/t/TimeToReflect.java @@ -1,137 +1,137 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import mage.MageObjectReference; -import mage.abilities.Ability; -import mage.abilities.SpellAbility; -import mage.abilities.effects.common.ExileTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.constants.WatcherScope; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.permanent.PermanentIdPredicate; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.permanent.Permanent; -import mage.target.TargetPermanent; -import mage.target.common.TargetCreaturePermanent; -import mage.watchers.Watcher; - -import java.util.*; - -/** - * @author jeffwadsworth - */ -public class TimeToReflect extends CardImpl { - - public TimeToReflect(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}"); - - // Exile target creature that blocked or was blocked by a Zombie this turn. - this.getSpellAbility().addEffect(new ExileTargetEffect()); - this.getSpellAbility().addTarget(new TargetPermanent(new FilterCreaturePermanent("creature that blocked or was blocked by a Zombie this turn."))); - this.getSpellAbility().addWatcher(new BlockedOrWasBlockedByAZombieWatcher()); - - } - - @Override - public void adjustTargets(Ability ability, Game game) { - if (ability instanceof SpellAbility) { - List creaturesThatBlockedOrWereBlockedByAZombie = new ArrayList<>(); - FilterCreaturePermanent filter = new FilterCreaturePermanent("creature that blocked or was blocked by a Zombie this turn.").copy(); - BlockedOrWasBlockedByAZombieWatcher watcher = (BlockedOrWasBlockedByAZombieWatcher) game.getState().getWatchers().get(BlockedOrWasBlockedByAZombieWatcher.class.getSimpleName()); - if (watcher != null) { - for (MageObjectReference mor : watcher.getBlockedThisTurnCreatures()) { - Permanent permanent = mor.getPermanent(game); - if (permanent != null) { - creaturesThatBlockedOrWereBlockedByAZombie.add(new PermanentIdPredicate(permanent.getId())); - } - } - } - filter.add(Predicates.or(creaturesThatBlockedOrWereBlockedByAZombie)); - ability.getTargets().clear(); - ability.addTarget(new TargetCreaturePermanent(filter)); - } - } - - public TimeToReflect(final TimeToReflect card) { - super(card); - } - - @Override - public TimeToReflect copy() { - return new TimeToReflect(this); - } -} - -class BlockedOrWasBlockedByAZombieWatcher extends Watcher { - - private final Set blockedOrWasBlockedByAZombieWatcher; - - public BlockedOrWasBlockedByAZombieWatcher() { - super(BlockedOrWasBlockedByAZombieWatcher.class.getSimpleName(), WatcherScope.GAME); - blockedOrWasBlockedByAZombieWatcher = new HashSet<>(); - } - - public BlockedOrWasBlockedByAZombieWatcher(final BlockedOrWasBlockedByAZombieWatcher watcher) { - super(watcher); - blockedOrWasBlockedByAZombieWatcher = new HashSet<>(watcher.blockedOrWasBlockedByAZombieWatcher); - } - - @Override - public BlockedOrWasBlockedByAZombieWatcher copy() { - return new BlockedOrWasBlockedByAZombieWatcher(this); - } - - @Override - public void watch(GameEvent event, Game game) { - if (event.getType() == GameEvent.EventType.BLOCKER_DECLARED) { - if (game.getPermanent(event.getTargetId()).hasSubtype(SubType.ZOMBIE, game)) { - this.blockedOrWasBlockedByAZombieWatcher.add(new MageObjectReference(event.getSourceId(), game)); - } - if (game.getPermanent(event.getSourceId()).hasSubtype(SubType.ZOMBIE, game)) { - this.blockedOrWasBlockedByAZombieWatcher.add(new MageObjectReference(event.getTargetId(), game)); - } - } - } - - public Set getBlockedThisTurnCreatures() { - return this.blockedOrWasBlockedByAZombieWatcher; - } - - @Override - public void reset() { - super.reset(); - blockedOrWasBlockedByAZombieWatcher.clear(); - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import mage.MageObjectReference; +import mage.abilities.Ability; +import mage.abilities.SpellAbility; +import mage.abilities.effects.common.ExileTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.WatcherScope; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.permanent.PermanentIdPredicate; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.permanent.Permanent; +import mage.target.TargetPermanent; +import mage.target.common.TargetCreaturePermanent; +import mage.watchers.Watcher; + +import java.util.*; + +/** + * @author jeffwadsworth + */ +public class TimeToReflect extends CardImpl { + + public TimeToReflect(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{W}"); + + // Exile target creature that blocked or was blocked by a Zombie this turn. + this.getSpellAbility().addEffect(new ExileTargetEffect()); + this.getSpellAbility().addTarget(new TargetPermanent(new FilterCreaturePermanent("creature that blocked or was blocked by a Zombie this turn."))); + this.getSpellAbility().addWatcher(new BlockedOrWasBlockedByAZombieWatcher()); + + } + + @Override + public void adjustTargets(Ability ability, Game game) { + if (ability instanceof SpellAbility) { + List creaturesThatBlockedOrWereBlockedByAZombie = new ArrayList<>(); + FilterCreaturePermanent filter = new FilterCreaturePermanent("creature that blocked or was blocked by a Zombie this turn.").copy(); + BlockedOrWasBlockedByAZombieWatcher watcher = (BlockedOrWasBlockedByAZombieWatcher) game.getState().getWatchers().get(BlockedOrWasBlockedByAZombieWatcher.class.getSimpleName()); + if (watcher != null) { + for (MageObjectReference mor : watcher.getBlockedThisTurnCreatures()) { + Permanent permanent = mor.getPermanent(game); + if (permanent != null) { + creaturesThatBlockedOrWereBlockedByAZombie.add(new PermanentIdPredicate(permanent.getId())); + } + } + } + filter.add(Predicates.or(creaturesThatBlockedOrWereBlockedByAZombie)); + ability.getTargets().clear(); + ability.addTarget(new TargetCreaturePermanent(filter)); + } + } + + public TimeToReflect(final TimeToReflect card) { + super(card); + } + + @Override + public TimeToReflect copy() { + return new TimeToReflect(this); + } +} + +class BlockedOrWasBlockedByAZombieWatcher extends Watcher { + + private final Set blockedOrWasBlockedByAZombieWatcher; + + public BlockedOrWasBlockedByAZombieWatcher() { + super(BlockedOrWasBlockedByAZombieWatcher.class.getSimpleName(), WatcherScope.GAME); + blockedOrWasBlockedByAZombieWatcher = new HashSet<>(); + } + + public BlockedOrWasBlockedByAZombieWatcher(final BlockedOrWasBlockedByAZombieWatcher watcher) { + super(watcher); + blockedOrWasBlockedByAZombieWatcher = new HashSet<>(watcher.blockedOrWasBlockedByAZombieWatcher); + } + + @Override + public BlockedOrWasBlockedByAZombieWatcher copy() { + return new BlockedOrWasBlockedByAZombieWatcher(this); + } + + @Override + public void watch(GameEvent event, Game game) { + if (event.getType() == GameEvent.EventType.BLOCKER_DECLARED) { + if (game.getPermanent(event.getTargetId()).hasSubtype(SubType.ZOMBIE, game)) { + this.blockedOrWasBlockedByAZombieWatcher.add(new MageObjectReference(event.getSourceId(), game)); + } + if (game.getPermanent(event.getSourceId()).hasSubtype(SubType.ZOMBIE, game)) { + this.blockedOrWasBlockedByAZombieWatcher.add(new MageObjectReference(event.getTargetId(), game)); + } + } + } + + public Set getBlockedThisTurnCreatures() { + return this.blockedOrWasBlockedByAZombieWatcher; + } + + @Override + public void reset() { + super.reset(); + blockedOrWasBlockedByAZombieWatcher.clear(); + } + +} diff --git a/Mage.Sets/src/mage/cards/t/TimelyHordemate.java b/Mage.Sets/src/mage/cards/t/TimelyHordemate.java index 49521684301..657ceaaf602 100644 --- a/Mage.Sets/src/mage/cards/t/TimelyHordemate.java +++ b/Mage.Sets/src/mage/cards/t/TimelyHordemate.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.common.FilterCreatureCard; import mage.filter.predicate.mageobject.ConvertedManaCostPredicate; @@ -57,8 +58,8 @@ public class TimelyHordemate extends CardImpl { public TimelyHordemate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TinStreetHooligan.java b/Mage.Sets/src/mage/cards/t/TinStreetHooligan.java index 8208da87978..a4261b94b12 100644 --- a/Mage.Sets/src/mage/cards/t/TinStreetHooligan.java +++ b/Mage.Sets/src/mage/cards/t/TinStreetHooligan.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.target.common.TargetArtifactPermanent; import mage.watchers.common.ManaSpentToCastWatcher; @@ -49,8 +50,8 @@ public class TinStreetHooligan extends CardImpl { public TinStreetHooligan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TinStreetMarket.java b/Mage.Sets/src/mage/cards/t/TinStreetMarket.java index e042946fbbe..fc3d546f3e8 100644 --- a/Mage.Sets/src/mage/cards/t/TinStreetMarket.java +++ b/Mage.Sets/src/mage/cards/t/TinStreetMarket.java @@ -52,7 +52,7 @@ public class TinStreetMarket extends CardImpl { public TinStreetMarket(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/t/TinderWall.java b/Mage.Sets/src/mage/cards/t/TinderWall.java index b4639cb4798..5dd64d2e846 100644 --- a/Mage.Sets/src/mage/cards/t/TinderWall.java +++ b/Mage.Sets/src/mage/cards/t/TinderWall.java @@ -42,6 +42,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.WatcherScope; import mage.constants.Zone; import mage.filter.common.FilterAttackingCreature; @@ -59,8 +60,8 @@ public class TinderWall extends CardImpl { public TinderWall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Plant"); - this.subtype.add("Wall"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TineShrike.java b/Mage.Sets/src/mage/cards/t/TineShrike.java index 55b557d9c74..63b10634869 100644 --- a/Mage.Sets/src/mage/cards/t/TineShrike.java +++ b/Mage.Sets/src/mage/cards/t/TineShrike.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class TineShrike extends CardImpl { public TineShrike (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TirelessMissionaries.java b/Mage.Sets/src/mage/cards/t/TirelessMissionaries.java index 9f2e52e7225..ca5ea8d6bd2 100644 --- a/Mage.Sets/src/mage/cards/t/TirelessMissionaries.java +++ b/Mage.Sets/src/mage/cards/t/TirelessMissionaries.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class TirelessMissionaries extends CardImpl { public TirelessMissionaries(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TirelessTracker.java b/Mage.Sets/src/mage/cards/t/TirelessTracker.java index 865316682ee..8cb54bfba58 100644 --- a/Mage.Sets/src/mage/cards/t/TirelessTracker.java +++ b/Mage.Sets/src/mage/cards/t/TirelessTracker.java @@ -60,8 +60,8 @@ public class TirelessTracker extends CardImpl { public TirelessTracker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TirelessTribe.java b/Mage.Sets/src/mage/cards/t/TirelessTribe.java index 5bbeee8eebf..6709b375ffe 100644 --- a/Mage.Sets/src/mage/cards/t/TirelessTribe.java +++ b/Mage.Sets/src/mage/cards/t/TirelessTribe.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCardInHand; @@ -47,8 +48,8 @@ public class TirelessTribe extends CardImpl { public TirelessTribe(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TishanaVoiceOfThunder.java b/Mage.Sets/src/mage/cards/t/TishanaVoiceOfThunder.java index 6e9bfe44af2..01f56f31d9a 100644 --- a/Mage.Sets/src/mage/cards/t/TishanaVoiceOfThunder.java +++ b/Mage.Sets/src/mage/cards/t/TishanaVoiceOfThunder.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class TishanaVoiceOfThunder extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Merfolk"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/t/TishanasWayfinder.java b/Mage.Sets/src/mage/cards/t/TishanasWayfinder.java index b7517d114d7..e1f3c533f4c 100644 --- a/Mage.Sets/src/mage/cards/t/TishanasWayfinder.java +++ b/Mage.Sets/src/mage/cards/t/TishanasWayfinder.java @@ -34,6 +34,7 @@ import mage.abilities.effects.keyword.ExploreSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class TishanasWayfinder extends CardImpl { public TishanasWayfinder(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Merfolk"); - this.subtype.add("Scout"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TitanOfEternalFire.java b/Mage.Sets/src/mage/cards/t/TitanOfEternalFire.java index 24381fad891..3d7fde8cef5 100644 --- a/Mage.Sets/src/mage/cards/t/TitanOfEternalFire.java +++ b/Mage.Sets/src/mage/cards/t/TitanOfEternalFire.java @@ -54,7 +54,7 @@ public class TitanOfEternalFire extends CardImpl { public TitanOfEternalFire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/t/TitaniaProtectorOfArgoth.java b/Mage.Sets/src/mage/cards/t/TitaniaProtectorOfArgoth.java index 73abc5d9f2c..04dd6a11959 100644 --- a/Mage.Sets/src/mage/cards/t/TitaniaProtectorOfArgoth.java +++ b/Mage.Sets/src/mage/cards/t/TitaniaProtectorOfArgoth.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToBattlefieldTargetEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.TargetController; import mage.filter.common.FilterLandCard; @@ -60,7 +61,7 @@ public class TitaniaProtectorOfArgoth extends CardImpl { public TitaniaProtectorOfArgoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TitaniasChosen.java b/Mage.Sets/src/mage/cards/t/TitaniasChosen.java index c93c3a5b64e..f44b87061e9 100644 --- a/Mage.Sets/src/mage/cards/t/TitaniasChosen.java +++ b/Mage.Sets/src/mage/cards/t/TitaniasChosen.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -50,8 +51,8 @@ public class TitaniasChosen extends CardImpl { public TitaniasChosen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Archer"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TitanicBulvox.java b/Mage.Sets/src/mage/cards/t/TitanicBulvox.java index 71a4da04963..8124548e733 100644 --- a/Mage.Sets/src/mage/cards/t/TitanicBulvox.java +++ b/Mage.Sets/src/mage/cards/t/TitanicBulvox.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class TitanicBulvox extends CardImpl { public TitanicBulvox(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(7); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TitaniumGolem.java b/Mage.Sets/src/mage/cards/t/TitaniumGolem.java index b7c4f38b32c..f65c242ce64 100644 --- a/Mage.Sets/src/mage/cards/t/TitaniumGolem.java +++ b/Mage.Sets/src/mage/cards/t/TitaniumGolem.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class TitaniumGolem extends CardImpl { public TitaniumGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(3); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{1}{W}"))); diff --git a/Mage.Sets/src/mage/cards/t/TitheDrinker.java b/Mage.Sets/src/mage/cards/t/TitheDrinker.java index a29ee3c21a0..579f5828b87 100644 --- a/Mage.Sets/src/mage/cards/t/TitheDrinker.java +++ b/Mage.Sets/src/mage/cards/t/TitheDrinker.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class TitheDrinker extends CardImpl { public TitheDrinker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TivadarOfThorn.java b/Mage.Sets/src/mage/cards/t/TivadarOfThorn.java index 6136d36b5c4..7cc5bafaa18 100644 --- a/Mage.Sets/src/mage/cards/t/TivadarOfThorn.java +++ b/Mage.Sets/src/mage/cards/t/TivadarOfThorn.java @@ -60,8 +60,8 @@ public class TivadarOfThorn extends CardImpl { public TivadarOfThorn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TobiasAndrion.java b/Mage.Sets/src/mage/cards/t/TobiasAndrion.java index e5b1fef0a1f..8d7024c26ca 100644 --- a/Mage.Sets/src/mage/cards/t/TobiasAndrion.java +++ b/Mage.Sets/src/mage/cards/t/TobiasAndrion.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -43,8 +44,8 @@ public class TobiasAndrion extends CardImpl { public TobiasAndrion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TocatliHonorGuard.java b/Mage.Sets/src/mage/cards/t/TocatliHonorGuard.java index 8b27b08b49b..d15c16695c4 100644 --- a/Mage.Sets/src/mage/cards/t/TocatliHonorGuard.java +++ b/Mage.Sets/src/mage/cards/t/TocatliHonorGuard.java @@ -33,6 +33,7 @@ import mage.abilities.common.SimpleStaticAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -44,8 +45,8 @@ public class TocatliHonorGuard extends CardImpl { public TocatliHonorGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TolarianDrake.java b/Mage.Sets/src/mage/cards/t/TolarianDrake.java index 1f24791e528..709f008ee65 100644 --- a/Mage.Sets/src/mage/cards/t/TolarianDrake.java +++ b/Mage.Sets/src/mage/cards/t/TolarianDrake.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.PhasingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class TolarianDrake extends CardImpl { public TolarianDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TolarianEmissary.java b/Mage.Sets/src/mage/cards/t/TolarianEmissary.java index dc4fe6c4b65..e6e7522ffba 100644 --- a/Mage.Sets/src/mage/cards/t/TolarianEmissary.java +++ b/Mage.Sets/src/mage/cards/t/TolarianEmissary.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetEnchantmentPermanent; /** @@ -50,8 +51,8 @@ public class TolarianEmissary extends CardImpl { public TolarianEmissary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TolarianEntrancer.java b/Mage.Sets/src/mage/cards/t/TolarianEntrancer.java index bb41aa353ee..18442185d74 100644 --- a/Mage.Sets/src/mage/cards/t/TolarianEntrancer.java +++ b/Mage.Sets/src/mage/cards/t/TolarianEntrancer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.game.Game; import mage.game.events.GameEvent; @@ -49,8 +50,8 @@ public class TolarianEntrancer extends CardImpl { public TolarianEntrancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TolarianSentinel.java b/Mage.Sets/src/mage/cards/t/TolarianSentinel.java index a81be729422..aaf5bc57509 100644 --- a/Mage.Sets/src/mage/cards/t/TolarianSentinel.java +++ b/Mage.Sets/src/mage/cards/t/TolarianSentinel.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.common.TargetControlledPermanent; @@ -52,8 +53,8 @@ public class TolarianSentinel extends CardImpl { public TolarianSentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TolarianSerpent.java b/Mage.Sets/src/mage/cards/t/TolarianSerpent.java index 89bfb5149f2..7c2b44f50a1 100644 --- a/Mage.Sets/src/mage/cards/t/TolarianSerpent.java +++ b/Mage.Sets/src/mage/cards/t/TolarianSerpent.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.events.GameEvent.EventType; /** @@ -44,7 +45,7 @@ public class TolarianSerpent extends CardImpl { public TolarianSerpent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/t/TolsimirWolfblood.java b/Mage.Sets/src/mage/cards/t/TolsimirWolfblood.java index c2bc07fb265..5ab737a5507 100644 --- a/Mage.Sets/src/mage/cards/t/TolsimirWolfblood.java +++ b/Mage.Sets/src/mage/cards/t/TolsimirWolfblood.java @@ -62,8 +62,8 @@ public class TolsimirWolfblood extends CardImpl { public TolsimirWolfblood(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/Tombstalker.java b/Mage.Sets/src/mage/cards/t/Tombstalker.java index 78f4ed29e60..5dd605a4039 100644 --- a/Mage.Sets/src/mage/cards/t/Tombstalker.java +++ b/Mage.Sets/src/mage/cards/t/Tombstalker.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class Tombstalker extends CardImpl { public Tombstalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TomorrowAzamisFamiliar.java b/Mage.Sets/src/mage/cards/t/TomorrowAzamisFamiliar.java index 8d3cc796180..3571012f722 100644 --- a/Mage.Sets/src/mage/cards/t/TomorrowAzamisFamiliar.java +++ b/Mage.Sets/src/mage/cards/t/TomorrowAzamisFamiliar.java @@ -50,7 +50,7 @@ public class TomorrowAzamisFamiliar extends CardImpl { public TomorrowAzamisFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TonicPeddler.java b/Mage.Sets/src/mage/cards/t/TonicPeddler.java index a9921ae0031..a6b8d485798 100644 --- a/Mage.Sets/src/mage/cards/t/TonicPeddler.java +++ b/Mage.Sets/src/mage/cards/t/TonicPeddler.java @@ -1,73 +1,74 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.DiscardCardCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.GainLifeTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.target.TargetPlayer; - -/** - * - * @author Derpthemeus - */ -public class TonicPeddler extends CardImpl { - - public TonicPeddler(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); - this.power = new MageInt(1); - this.toughness = new MageInt(1); - - // {W}, {tap}, Discard a card: Target player gains 3 life. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeTargetEffect(3), new ManaCostsImpl("{W}")); - ability.addCost(new TapSourceCost()); - ability.addCost(new DiscardCardCost()); - ability.addTarget(new TargetPlayer()); - this.addAbility(ability); - } - - public TonicPeddler(final TonicPeddler card) { - super(card); - } - - @Override - public TonicPeddler copy() { - return new TonicPeddler(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.DiscardCardCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.GainLifeTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.target.TargetPlayer; + +/** + * + * @author Derpthemeus + */ +public class TonicPeddler extends CardImpl { + + public TonicPeddler(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // {W}, {tap}, Discard a card: Target player gains 3 life. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeTargetEffect(3), new ManaCostsImpl("{W}")); + ability.addCost(new TapSourceCost()); + ability.addCost(new DiscardCardCost()); + ability.addTarget(new TargetPlayer()); + this.addAbility(ability); + } + + public TonicPeddler(final TonicPeddler card) { + super(card); + } + + @Override + public TonicPeddler copy() { + return new TonicPeddler(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/ToolcraftExemplar.java b/Mage.Sets/src/mage/cards/t/ToolcraftExemplar.java index e234930dad6..77351b77928 100644 --- a/Mage.Sets/src/mage/cards/t/ToolcraftExemplar.java +++ b/Mage.Sets/src/mage/cards/t/ToolcraftExemplar.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.TargetController; @@ -55,8 +56,8 @@ public class ToolcraftExemplar extends CardImpl { public ToolcraftExemplar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Dwarf"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ToothCollector.java b/Mage.Sets/src/mage/cards/t/ToothCollector.java index 252305be152..caaa8507ba6 100644 --- a/Mage.Sets/src/mage/cards/t/ToothCollector.java +++ b/Mage.Sets/src/mage/cards/t/ToothCollector.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -64,8 +65,8 @@ public class ToothCollector extends CardImpl { public ToothCollector(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TopanAscetic.java b/Mage.Sets/src/mage/cards/t/TopanAscetic.java index 1f5ec347533..53a69f4c100 100644 --- a/Mage.Sets/src/mage/cards/t/TopanAscetic.java +++ b/Mage.Sets/src/mage/cards/t/TopanAscetic.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -56,8 +57,8 @@ public class TopanAscetic extends CardImpl { public TopanAscetic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TopanFreeblade.java b/Mage.Sets/src/mage/cards/t/TopanFreeblade.java index 79af58fbce9..30c983453ee 100644 --- a/Mage.Sets/src/mage/cards/t/TopanFreeblade.java +++ b/Mage.Sets/src/mage/cards/t/TopanFreeblade.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class TopanFreeblade extends CardImpl { public TopanFreeblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/Topplegeist.java b/Mage.Sets/src/mage/cards/t/Topplegeist.java index 94df6fe4700..ff82f44fdc1 100644 --- a/Mage.Sets/src/mage/cards/t/Topplegeist.java +++ b/Mage.Sets/src/mage/cards/t/Topplegeist.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -64,7 +65,7 @@ public class Topplegeist extends CardImpl { public Topplegeist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TorGiant.java b/Mage.Sets/src/mage/cards/t/TorGiant.java index 590a9a8eed4..60ae59a74fe 100644 --- a/Mage.Sets/src/mage/cards/t/TorGiant.java +++ b/Mage.Sets/src/mage/cards/t/TorGiant.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class TorGiant extends CardImpl { public TorGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TorWauki.java b/Mage.Sets/src/mage/cards/t/TorWauki.java index a9e6f80de7d..e1d19b64473 100644 --- a/Mage.Sets/src/mage/cards/t/TorWauki.java +++ b/Mage.Sets/src/mage/cards/t/TorWauki.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.target.common.TargetAttackingOrBlockingCreature; @@ -49,8 +50,8 @@ public class TorWauki extends CardImpl { public TorWauki(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TorchDrake.java b/Mage.Sets/src/mage/cards/t/TorchDrake.java index ccf70066a29..7c054eb6e3b 100644 --- a/Mage.Sets/src/mage/cards/t/TorchDrake.java +++ b/Mage.Sets/src/mage/cards/t/TorchDrake.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class TorchDrake extends CardImpl { public TorchDrake (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TorchFiend.java b/Mage.Sets/src/mage/cards/t/TorchFiend.java index cf97eddeee6..d5c3c51cb2d 100644 --- a/Mage.Sets/src/mage/cards/t/TorchFiend.java +++ b/Mage.Sets/src/mage/cards/t/TorchFiend.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.common.TargetArtifactPermanent; @@ -49,7 +50,7 @@ public class TorchFiend extends CardImpl { public TorchFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TorchGauntlet.java b/Mage.Sets/src/mage/cards/t/TorchGauntlet.java index 08145376260..227e862c08f 100644 --- a/Mage.Sets/src/mage/cards/t/TorchGauntlet.java +++ b/Mage.Sets/src/mage/cards/t/TorchGauntlet.java @@ -1,66 +1,67 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.common.continuous.BoostEquippedEffect; -import mage.abilities.keyword.EquipAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; - -/** - * - * @author emerald000 - */ -public class TorchGauntlet extends CardImpl { - - public TorchGauntlet(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); - - // Equipped creature gets +2/+0. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 0))); - - // Equip {2} - this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2))); - } - - public TorchGauntlet(final TorchGauntlet card) { - super(card); - } - - @Override - public TorchGauntlet copy() { - return new TorchGauntlet(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.common.continuous.BoostEquippedEffect; +import mage.abilities.keyword.EquipAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.constants.Zone; + +/** + * + * @author emerald000 + */ +public class TorchGauntlet extends CardImpl { + + public TorchGauntlet(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); + this.subtype.add(SubType.EQUIPMENT); + + // Equipped creature gets +2/+0. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 0))); + + // Equip {2} + this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(2))); + } + + public TorchGauntlet(final TorchGauntlet card) { + super(card); + } + + @Override + public TorchGauntlet copy() { + return new TorchGauntlet(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/TorchSlinger.java b/Mage.Sets/src/mage/cards/t/TorchSlinger.java index d7cc455883e..6ea39f1baa8 100644 --- a/Mage.Sets/src/mage/cards/t/TorchSlinger.java +++ b/Mage.Sets/src/mage/cards/t/TorchSlinger.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -47,8 +48,8 @@ public class TorchSlinger extends CardImpl { public TorchSlinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/Torchling.java b/Mage.Sets/src/mage/cards/t/Torchling.java index a92dd494f5d..9f82bbaefa1 100644 --- a/Mage.Sets/src/mage/cards/t/Torchling.java +++ b/Mage.Sets/src/mage/cards/t/Torchling.java @@ -43,6 +43,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -62,7 +63,7 @@ public class Torchling extends CardImpl { public Torchling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/ToriiWatchward.java b/Mage.Sets/src/mage/cards/t/ToriiWatchward.java index 12b6af7f4b2..cb0c3a45cc5 100644 --- a/Mage.Sets/src/mage/cards/t/ToriiWatchward.java +++ b/Mage.Sets/src/mage/cards/t/ToriiWatchward.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class ToriiWatchward extends CardImpl { public ToriiWatchward(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/Torment.java b/Mage.Sets/src/mage/cards/t/Torment.java index a1957f3f8f4..aa378c142a3 100644 --- a/Mage.Sets/src/mage/cards/t/Torment.java +++ b/Mage.Sets/src/mage/cards/t/Torment.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class Torment extends CardImpl { public Torment(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/t/TormentedAngel.java b/Mage.Sets/src/mage/cards/t/TormentedAngel.java index d4d844872c8..aa997d61612 100644 --- a/Mage.Sets/src/mage/cards/t/TormentedAngel.java +++ b/Mage.Sets/src/mage/cards/t/TormentedAngel.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class TormentedAngel extends CardImpl { public TormentedAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TormentedHero.java b/Mage.Sets/src/mage/cards/t/TormentedHero.java index 94c06b97e41..cf3eb734574 100644 --- a/Mage.Sets/src/mage/cards/t/TormentedHero.java +++ b/Mage.Sets/src/mage/cards/t/TormentedHero.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; @@ -47,8 +48,8 @@ public class TormentedHero extends CardImpl { public TormentedHero(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TormentedPariah.java b/Mage.Sets/src/mage/cards/t/TormentedPariah.java index 6702b9dd878..d89da23dd03 100644 --- a/Mage.Sets/src/mage/cards/t/TormentedPariah.java +++ b/Mage.Sets/src/mage/cards/t/TormentedPariah.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.r.RampagingWerewolf; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,9 +49,9 @@ public class TormentedPariah extends CardImpl { public TormentedPariah(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.WEREWOLF); this.transformable = true; this.secondSideCardClazz = RampagingWerewolf.class; diff --git a/Mage.Sets/src/mage/cards/t/TormentedSoul.java b/Mage.Sets/src/mage/cards/t/TormentedSoul.java index 0cf3047fec1..c8d3e32b7c8 100644 --- a/Mage.Sets/src/mage/cards/t/TormentedSoul.java +++ b/Mage.Sets/src/mage/cards/t/TormentedSoul.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -43,7 +44,7 @@ public class TormentedSoul extends CardImpl { public TormentedSoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TormentorExarch.java b/Mage.Sets/src/mage/cards/t/TormentorExarch.java index ac3c0ddac7f..b7fbfb69547 100644 --- a/Mage.Sets/src/mage/cards/t/TormentorExarch.java +++ b/Mage.Sets/src/mage/cards/t/TormentorExarch.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class TormentorExarch extends CardImpl { public TormentorExarch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TormentorsTrident.java b/Mage.Sets/src/mage/cards/t/TormentorsTrident.java index 78070e20386..ed44f1a4c97 100644 --- a/Mage.Sets/src/mage/cards/t/TormentorsTrident.java +++ b/Mage.Sets/src/mage/cards/t/TormentorsTrident.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class TormentorsTrident extends CardImpl { public TormentorsTrident(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +3/+0 and attacks each turn if able. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 0)); diff --git a/Mage.Sets/src/mage/cards/t/TornadoElemental.java b/Mage.Sets/src/mage/cards/t/TornadoElemental.java index d2ffbba3af6..7a7b96c9f00 100644 --- a/Mage.Sets/src/mage/cards/t/TornadoElemental.java +++ b/Mage.Sets/src/mage/cards/t/TornadoElemental.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -53,7 +54,7 @@ public class TornadoElemental extends CardImpl { public TornadoElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/t/TorpidMoloch.java b/Mage.Sets/src/mage/cards/t/TorpidMoloch.java index d569b1899eb..6ce131c9956 100644 --- a/Mage.Sets/src/mage/cards/t/TorpidMoloch.java +++ b/Mage.Sets/src/mage/cards/t/TorpidMoloch.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -49,7 +50,7 @@ public class TorpidMoloch extends CardImpl { public TorpidMoloch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TorporDust.java b/Mage.Sets/src/mage/cards/t/TorporDust.java index 49fdd3c77d6..d41ca22c144 100644 --- a/Mage.Sets/src/mage/cards/t/TorporDust.java +++ b/Mage.Sets/src/mage/cards/t/TorporDust.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class TorporDust extends CardImpl { public TorporDust(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U/B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/t/TorrentElemental.java b/Mage.Sets/src/mage/cards/t/TorrentElemental.java index 663a072c60a..21d31406fb1 100644 --- a/Mage.Sets/src/mage/cards/t/TorrentElemental.java +++ b/Mage.Sets/src/mage/cards/t/TorrentElemental.java @@ -41,6 +41,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SetTargetPointer; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class TorrentElemental extends CardImpl { public TorrentElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TorrentOfStone.java b/Mage.Sets/src/mage/cards/t/TorrentOfStone.java index 332f427b9d8..bad2a55ea19 100644 --- a/Mage.Sets/src/mage/cards/t/TorrentOfStone.java +++ b/Mage.Sets/src/mage/cards/t/TorrentOfStone.java @@ -53,7 +53,7 @@ public class TorrentOfStone extends CardImpl { public TorrentOfStone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{3}{R}"); - this.subtype.add("Arcane"); + this.subtype.add(SubType.ARCANE); // Torrent of Stone deals 4 damage to target creature. diff --git a/Mage.Sets/src/mage/cards/t/TorrentialGearhulk.java b/Mage.Sets/src/mage/cards/t/TorrentialGearhulk.java index c0a86a5e3e0..838bf4f9ad9 100644 --- a/Mage.Sets/src/mage/cards/t/TorrentialGearhulk.java +++ b/Mage.Sets/src/mage/cards/t/TorrentialGearhulk.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -66,7 +67,7 @@ public class TorrentialGearhulk extends CardImpl { public TorrentialGearhulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}{U}{U}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/t/TorstenVonUrsus.java b/Mage.Sets/src/mage/cards/t/TorstenVonUrsus.java index 17d23591d4b..63871252f19 100644 --- a/Mage.Sets/src/mage/cards/t/TorstenVonUrsus.java +++ b/Mage.Sets/src/mage/cards/t/TorstenVonUrsus.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -43,8 +44,8 @@ public class TorstenVonUrsus extends CardImpl { public TorstenVonUrsus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/Torture.java b/Mage.Sets/src/mage/cards/t/Torture.java index 23df04bb715..b9dc1d60daa 100644 --- a/Mage.Sets/src/mage/cards/t/Torture.java +++ b/Mage.Sets/src/mage/cards/t/Torture.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -54,7 +55,7 @@ public class Torture extends CardImpl { public Torture(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/t/ToshiroUmezawa.java b/Mage.Sets/src/mage/cards/t/ToshiroUmezawa.java index f9feb132a48..c3210c1224f 100644 --- a/Mage.Sets/src/mage/cards/t/ToshiroUmezawa.java +++ b/Mage.Sets/src/mage/cards/t/ToshiroUmezawa.java @@ -67,8 +67,8 @@ public class ToshiroUmezawa extends CardImpl { public ToshiroUmezawa(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Samurai"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SAMURAI); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TotemGuideHartebeest.java b/Mage.Sets/src/mage/cards/t/TotemGuideHartebeest.java index 855ff9bba7e..f38bca4339f 100644 --- a/Mage.Sets/src/mage/cards/t/TotemGuideHartebeest.java +++ b/Mage.Sets/src/mage/cards/t/TotemGuideHartebeest.java @@ -55,7 +55,7 @@ public class TotemGuideHartebeest extends CardImpl { public TotemGuideHartebeest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Antelope"); + this.subtype.add(SubType.ANTELOPE); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TotemSpeaker.java b/Mage.Sets/src/mage/cards/t/TotemSpeaker.java index 4c235262a68..78a71a2b8de 100644 --- a/Mage.Sets/src/mage/cards/t/TotemSpeaker.java +++ b/Mage.Sets/src/mage/cards/t/TotemSpeaker.java @@ -53,8 +53,8 @@ public class TotemSpeaker extends CardImpl { public TotemSpeaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TovolarsMagehunter.java b/Mage.Sets/src/mage/cards/t/TovolarsMagehunter.java index abe6a092383..1074d413caa 100644 --- a/Mage.Sets/src/mage/cards/t/TovolarsMagehunter.java +++ b/Mage.Sets/src/mage/cards/t/TovolarsMagehunter.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.game.Game; @@ -55,7 +56,7 @@ public class TovolarsMagehunter extends CardImpl { public TovolarsMagehunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.color.setRed(true); this.power = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TowerDrake.java b/Mage.Sets/src/mage/cards/t/TowerDrake.java index 155b00e07cd..7dac64c70a7 100644 --- a/Mage.Sets/src/mage/cards/t/TowerDrake.java +++ b/Mage.Sets/src/mage/cards/t/TowerDrake.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class TowerDrake extends CardImpl { public TowerDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TowerGargoyle.java b/Mage.Sets/src/mage/cards/t/TowerGargoyle.java index 98d5cafb92f..489c625a702 100644 --- a/Mage.Sets/src/mage/cards/t/TowerGargoyle.java +++ b/Mage.Sets/src/mage/cards/t/TowerGargoyle.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class TowerGargoyle extends CardImpl { public TowerGargoyle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{W}{U}{B}"); - this.subtype.add("Gargoyle"); + this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TowerGeist.java b/Mage.Sets/src/mage/cards/t/TowerGeist.java index bfbee3f6c22..a0078dad888 100644 --- a/Mage.Sets/src/mage/cards/t/TowerGeist.java +++ b/Mage.Sets/src/mage/cards/t/TowerGeist.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; @@ -49,7 +50,7 @@ public class TowerGeist extends CardImpl { public TowerGeist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ToweringBaloth.java b/Mage.Sets/src/mage/cards/t/ToweringBaloth.java index a95c4c06aef..fc396080ec9 100644 --- a/Mage.Sets/src/mage/cards/t/ToweringBaloth.java +++ b/Mage.Sets/src/mage/cards/t/ToweringBaloth.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class ToweringBaloth extends CardImpl { public ToweringBaloth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(7); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/t/ToweringIndrik.java b/Mage.Sets/src/mage/cards/t/ToweringIndrik.java index 85ed80335b2..ac8f477ccc1 100644 --- a/Mage.Sets/src/mage/cards/t/ToweringIndrik.java +++ b/Mage.Sets/src/mage/cards/t/ToweringIndrik.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ToweringIndrik extends CardImpl { public ToweringIndrik(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/ToweringThunderfist.java b/Mage.Sets/src/mage/cards/t/ToweringThunderfist.java index cba3c2a77f0..5e5fed1d7f9 100644 --- a/Mage.Sets/src/mage/cards/t/ToweringThunderfist.java +++ b/Mage.Sets/src/mage/cards/t/ToweringThunderfist.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class ToweringThunderfist extends CardImpl { public ToweringThunderfist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TownGossipmonger.java b/Mage.Sets/src/mage/cards/t/TownGossipmonger.java index 41cb7b4252e..0cae0e29735 100644 --- a/Mage.Sets/src/mage/cards/t/TownGossipmonger.java +++ b/Mage.Sets/src/mage/cards/t/TownGossipmonger.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.i.IncitedRabble; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -59,7 +60,7 @@ public class TownGossipmonger extends CardImpl { public TownGossipmonger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TownSentry.java b/Mage.Sets/src/mage/cards/t/TownSentry.java index df94f22b80c..f708353bfd7 100644 --- a/Mage.Sets/src/mage/cards/t/TownSentry.java +++ b/Mage.Sets/src/mage/cards/t/TownSentry.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,8 +45,8 @@ public class TownSentry extends CardImpl { public TownSentry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/ToxicIguanar.java b/Mage.Sets/src/mage/cards/t/ToxicIguanar.java index b417be54dc9..20ff4b5c986 100644 --- a/Mage.Sets/src/mage/cards/t/ToxicIguanar.java +++ b/Mage.Sets/src/mage/cards/t/ToxicIguanar.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -57,7 +58,7 @@ public class ToxicIguanar extends CardImpl { public ToxicIguanar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ToxicNim.java b/Mage.Sets/src/mage/cards/t/ToxicNim.java index 2aebffb9fdb..d25d6b278ea 100644 --- a/Mage.Sets/src/mage/cards/t/ToxicNim.java +++ b/Mage.Sets/src/mage/cards/t/ToxicNim.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class ToxicNim extends CardImpl { public ToxicNim(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/ToxinSliver.java b/Mage.Sets/src/mage/cards/t/ToxinSliver.java index 23a5b17bad0..36cfe08f38b 100644 --- a/Mage.Sets/src/mage/cards/t/ToxinSliver.java +++ b/Mage.Sets/src/mage/cards/t/ToxinSliver.java @@ -46,7 +46,7 @@ public class ToxinSliver extends CardImpl { public ToxinSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TraceOfAbundance.java b/Mage.Sets/src/mage/cards/t/TraceOfAbundance.java index 91f17e9cae6..9c9462bd04a 100644 --- a/Mage.Sets/src/mage/cards/t/TraceOfAbundance.java +++ b/Mage.Sets/src/mage/cards/t/TraceOfAbundance.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class TraceOfAbundance extends CardImpl { public TraceOfAbundance(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{R/W}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/t/Tracker.java b/Mage.Sets/src/mage/cards/t/Tracker.java index c84d112c24d..a4578a5d02e 100644 --- a/Mage.Sets/src/mage/cards/t/Tracker.java +++ b/Mage.Sets/src/mage/cards/t/Tracker.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageEachOtherEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class Tracker extends CardImpl { public Tracker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TradeFederationBattleship.java b/Mage.Sets/src/mage/cards/t/TradeFederationBattleship.java index 61c3a10a8b8..74df0cd5da7 100644 --- a/Mage.Sets/src/mage/cards/t/TradeFederationBattleship.java +++ b/Mage.Sets/src/mage/cards/t/TradeFederationBattleship.java @@ -1,84 +1,84 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.effects.common.continuous.BoostControlledEffect; -import mage.abilities.keyword.SpaceflightAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.game.permanent.token.DroidToken; - -/** - * - * @author Styxo - */ -public class TradeFederationBattleship extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Droid creatures"); - - static { - filter.add(new SubtypePredicate(SubType.DROID)); - } - - public TradeFederationBattleship(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}{W}{U}{B}"); - this.subtype.add("Starship"); - this.power = new MageInt(0); - this.toughness = new MageInt(6); - - // Spaceflight - this.addAbility(SpaceflightAbility.getInstance()); - - // Droid creatures you control get +1/+1 - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, false))); - - // {T}: Create two 1/1 colorless Droid artifact token cretures. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new DroidToken(), 2), new TapSourceCost())); - } - - public TradeFederationBattleship(final TradeFederationBattleship card) { - super(card); - } - - @Override - public TradeFederationBattleship copy() { - return new TradeFederationBattleship(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.continuous.BoostControlledEffect; +import mage.abilities.keyword.SpaceflightAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.permanent.token.DroidToken; + +/** + * + * @author Styxo + */ +public class TradeFederationBattleship extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Droid creatures"); + + static { + filter.add(new SubtypePredicate(SubType.DROID)); + } + + public TradeFederationBattleship(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}{W}{U}{B}"); + this.subtype.add(SubType.STARSHIP); + this.power = new MageInt(0); + this.toughness = new MageInt(6); + + // Spaceflight + this.addAbility(SpaceflightAbility.getInstance()); + + // Droid creatures you control get +1/+1 + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostControlledEffect(1, 1, Duration.WhileOnBattlefield, filter, false))); + + // {T}: Create two 1/1 colorless Droid artifact token cretures. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new DroidToken(), 2), new TapSourceCost())); + } + + public TradeFederationBattleship(final TradeFederationBattleship card) { + super(card); + } + + @Override + public TradeFederationBattleship copy() { + return new TradeFederationBattleship(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/TradeSecrets.java b/Mage.Sets/src/mage/cards/t/TradeSecrets.java index f9c8212811e..63398332cd5 100644 --- a/Mage.Sets/src/mage/cards/t/TradeSecrets.java +++ b/Mage.Sets/src/mage/cards/t/TradeSecrets.java @@ -1,104 +1,104 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DrawCardSourceControllerEffect; -import mage.abilities.effects.common.DrawCardTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.game.Game; -import mage.players.Player; -import mage.target.common.TargetOpponent; - -/** - * - * @author jeffwadsworth - */ -public class TradeSecrets extends CardImpl { - - public TradeSecrets(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{U}{U}"); - - // Target opponent draws two cards, then you draw up to four cards. That opponent may repeat this process as many times as he or she chooses. - this.getSpellAbility().addTarget(new TargetOpponent()); - this.getSpellAbility().addEffect(new TradeSecretsEffect()); - - } - - public TradeSecrets(final TradeSecrets card) { - super(card); - } - - @Override - public TradeSecrets copy() { - return new TradeSecrets(this); - } -} - -class TradeSecretsEffect extends OneShotEffect { - - public TradeSecretsEffect() { - super(Outcome.DrawCard); - this.staticText = "Target opponent draws two cards, then you draw up to four cards. That opponent may repeat this process as many times as he or she chooses"; - } - - public TradeSecretsEffect(final TradeSecretsEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - String message = "Do you want to draw two cards and allow the spellcaster to draw up to four cards again?"; - String message2 = "How many cards do you want to draw?"; - Player controller = game.getPlayer(source.getControllerId()); - Player targetOpponent = game.getPlayer(source.getFirstTarget()); - if (controller != null - && targetOpponent != null) { - new DrawCardTargetEffect(2).apply(game, source);//The drawcard method would not work immediately - int amountOfCardsToDraw = controller.getAmount(0, 4, message2, game); - new DrawCardSourceControllerEffect(amountOfCardsToDraw).apply(game, source); - while (targetOpponent.chooseUse(Outcome.AIDontUseIt, message, source, game)) { - new DrawCardTargetEffect(2).apply(game, source); - amountOfCardsToDraw = controller.getAmount(0, 4, message2, game); - new DrawCardSourceControllerEffect(amountOfCardsToDraw).apply(game, source); - } - return true; - } - return false; - } - - @Override - public TradeSecretsEffect copy() { - return new TradeSecretsEffect(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DrawCardSourceControllerEffect; +import mage.abilities.effects.common.DrawCardTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.game.Game; +import mage.players.Player; +import mage.target.common.TargetOpponent; + +/** + * + * @author jeffwadsworth + */ +public class TradeSecrets extends CardImpl { + + public TradeSecrets(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{U}{U}"); + + // Target opponent draws two cards, then you draw up to four cards. That opponent may repeat this process as many times as he or she chooses. + this.getSpellAbility().addTarget(new TargetOpponent()); + this.getSpellAbility().addEffect(new TradeSecretsEffect()); + + } + + public TradeSecrets(final TradeSecrets card) { + super(card); + } + + @Override + public TradeSecrets copy() { + return new TradeSecrets(this); + } +} + +class TradeSecretsEffect extends OneShotEffect { + + public TradeSecretsEffect() { + super(Outcome.DrawCard); + this.staticText = "Target opponent draws two cards, then you draw up to four cards. That opponent may repeat this process as many times as he or she chooses"; + } + + public TradeSecretsEffect(final TradeSecretsEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + String message = "Do you want to draw two cards and allow the spellcaster to draw up to four cards again?"; + String message2 = "How many cards do you want to draw?"; + Player controller = game.getPlayer(source.getControllerId()); + Player targetOpponent = game.getPlayer(source.getFirstTarget()); + if (controller != null + && targetOpponent != null) { + new DrawCardTargetEffect(2).apply(game, source);//The drawcard method would not work immediately + int amountOfCardsToDraw = controller.getAmount(0, 4, message2, game); + new DrawCardSourceControllerEffect(amountOfCardsToDraw).apply(game, source); + while (targetOpponent.chooseUse(Outcome.AIDontUseIt, message, source, game)) { + new DrawCardTargetEffect(2).apply(game, source); + amountOfCardsToDraw = controller.getAmount(0, 4, message2, game); + new DrawCardSourceControllerEffect(amountOfCardsToDraw).apply(game, source); + } + return true; + } + return false; + } + + @Override + public TradeSecretsEffect copy() { + return new TradeSecretsEffect(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/TradewindRider.java b/Mage.Sets/src/mage/cards/t/TradewindRider.java index ae67e05afd6..294e5cf5d20 100644 --- a/Mage.Sets/src/mage/cards/t/TradewindRider.java +++ b/Mage.Sets/src/mage/cards/t/TradewindRider.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.Predicates; @@ -58,7 +59,7 @@ public class TradewindRider extends CardImpl { public TradewindRider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TragicPoet.java b/Mage.Sets/src/mage/cards/t/TragicPoet.java index 6cabcdf861c..f497812b751 100644 --- a/Mage.Sets/src/mage/cards/t/TragicPoet.java +++ b/Mage.Sets/src/mage/cards/t/TragicPoet.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -56,7 +57,7 @@ public class TragicPoet extends CardImpl { public TragicPoet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TrailblazersBoots.java b/Mage.Sets/src/mage/cards/t/TrailblazersBoots.java index 7eb7ac3497e..f21e5308e72 100644 --- a/Mage.Sets/src/mage/cards/t/TrailblazersBoots.java +++ b/Mage.Sets/src/mage/cards/t/TrailblazersBoots.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; @@ -49,7 +50,7 @@ public class TrailblazersBoots extends CardImpl { public TrailblazersBoots(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has nonbasic landwalk. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(new LandwalkAbility(FilterLandPermanent.nonbasicLand()), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/t/TrainedArmodon.java b/Mage.Sets/src/mage/cards/t/TrainedArmodon.java index 262d1bc4084..a6890a872f2 100644 --- a/Mage.Sets/src/mage/cards/t/TrainedArmodon.java +++ b/Mage.Sets/src/mage/cards/t/TrainedArmodon.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class TrainedArmodon extends CardImpl { public TrainedArmodon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TrainedCaracal.java b/Mage.Sets/src/mage/cards/t/TrainedCaracal.java index 640a615cc6d..2b5317a920e 100644 --- a/Mage.Sets/src/mage/cards/t/TrainedCaracal.java +++ b/Mage.Sets/src/mage/cards/t/TrainedCaracal.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class TrainedCaracal extends CardImpl { public TrainedCaracal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TrainedCheetah.java b/Mage.Sets/src/mage/cards/t/TrainedCheetah.java index 70416016d88..91e4a0c161d 100644 --- a/Mage.Sets/src/mage/cards/t/TrainedCheetah.java +++ b/Mage.Sets/src/mage/cards/t/TrainedCheetah.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class TrainedCheetah extends CardImpl { public TrainedCheetah(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TrainedCondor.java b/Mage.Sets/src/mage/cards/t/TrainedCondor.java index 0f84b9da68a..752421c37ef 100644 --- a/Mage.Sets/src/mage/cards/t/TrainedCondor.java +++ b/Mage.Sets/src/mage/cards/t/TrainedCondor.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -55,7 +56,7 @@ public class TrainedCondor extends CardImpl { } public TrainedCondor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TrainedJackal.java b/Mage.Sets/src/mage/cards/t/TrainedJackal.java index 524f689f774..22ee00a8003 100644 --- a/Mage.Sets/src/mage/cards/t/TrainedJackal.java +++ b/Mage.Sets/src/mage/cards/t/TrainedJackal.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class TrainedJackal extends CardImpl { public TrainedJackal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Jackal"); + this.subtype.add(SubType.JACKAL); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TrainedOrgg.java b/Mage.Sets/src/mage/cards/t/TrainedOrgg.java index c4597131bd5..83910d6e95f 100644 --- a/Mage.Sets/src/mage/cards/t/TrainedOrgg.java +++ b/Mage.Sets/src/mage/cards/t/TrainedOrgg.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class TrainedOrgg extends CardImpl { public TrainedOrgg(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{R}"); - this.subtype.add("Orgg"); + this.subtype.add(SubType.ORGG); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/t/TrainingDrone.java b/Mage.Sets/src/mage/cards/t/TrainingDrone.java index 74d061266ee..1eba6e00b84 100644 --- a/Mage.Sets/src/mage/cards/t/TrainingDrone.java +++ b/Mage.Sets/src/mage/cards/t/TrainingDrone.java @@ -36,6 +36,7 @@ import mage.abilities.effects.RestrictionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -49,7 +50,7 @@ public class TrainingDrone extends CardImpl { public TrainingDrone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Drone"); + this.subtype.add(SubType.DRONE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TranscendentMaster.java b/Mage.Sets/src/mage/cards/t/TranscendentMaster.java index a6c9b1b2563..f29386cec36 100644 --- a/Mage.Sets/src/mage/cards/t/TranscendentMaster.java +++ b/Mage.Sets/src/mage/cards/t/TranscendentMaster.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardSetInfo; import mage.cards.LevelerCard; import mage.constants.CardType; +import mage.constants.SubType; /** * @author North, noxx @@ -48,9 +49,9 @@ public class TranscendentMaster extends LevelerCard { public TranscendentMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.AVATAR); this.color.setWhite(true); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TransguildCourier.java b/Mage.Sets/src/mage/cards/t/TransguildCourier.java index b34a645728b..6d7d7e3f072 100644 --- a/Mage.Sets/src/mage/cards/t/TransguildCourier.java +++ b/Mage.Sets/src/mage/cards/t/TransguildCourier.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class TransguildCourier extends CardImpl { public TransguildCourier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/Transluminant.java b/Mage.Sets/src/mage/cards/t/Transluminant.java index 3ecb922f6de..0df5d56d1de 100644 --- a/Mage.Sets/src/mage/cards/t/Transluminant.java +++ b/Mage.Sets/src/mage/cards/t/Transluminant.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.SpiritWhiteToken; @@ -50,8 +51,8 @@ public class Transluminant extends CardImpl { public Transluminant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Dryad"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.DRYAD); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TransmogrifyingLicid.java b/Mage.Sets/src/mage/cards/t/TransmogrifyingLicid.java index 1feb65a7838..df9673e6a7a 100644 --- a/Mage.Sets/src/mage/cards/t/TransmogrifyingLicid.java +++ b/Mage.Sets/src/mage/cards/t/TransmogrifyingLicid.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class TransmogrifyingLicid extends CardImpl { public TransmogrifyingLicid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Licid"); + this.subtype.add(SubType.LICID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TrapDigger.java b/Mage.Sets/src/mage/cards/t/TrapDigger.java index e5753f06ab5..77199d64906 100644 --- a/Mage.Sets/src/mage/cards/t/TrapDigger.java +++ b/Mage.Sets/src/mage/cards/t/TrapDigger.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterAttackingCreature; @@ -66,8 +67,8 @@ public class TrapDigger extends CardImpl { public TrapDigger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TrapjawKelpie.java b/Mage.Sets/src/mage/cards/t/TrapjawKelpie.java index 6963698e459..24d3508ad70 100644 --- a/Mage.Sets/src/mage/cards/t/TrapjawKelpie.java +++ b/Mage.Sets/src/mage/cards/t/TrapjawKelpie.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.PersistAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class TrapjawKelpie extends CardImpl { public TrapjawKelpie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G/U}{G/U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TraprootKami.java b/Mage.Sets/src/mage/cards/t/TraprootKami.java index 05d620135ce..119adc57481 100644 --- a/Mage.Sets/src/mage/cards/t/TraprootKami.java +++ b/Mage.Sets/src/mage/cards/t/TraprootKami.java @@ -57,7 +57,7 @@ public class TraprootKami extends CardImpl { public TraprootKami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/t/TravelersCloak.java b/Mage.Sets/src/mage/cards/t/TravelersCloak.java index 16aac5d06a4..79b2ee29c52 100644 --- a/Mage.Sets/src/mage/cards/t/TravelersCloak.java +++ b/Mage.Sets/src/mage/cards/t/TravelersCloak.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterLandPermanent; @@ -58,7 +59,7 @@ public class TravelersCloak extends CardImpl { public TravelersCloak(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/t/TravelingPhilosopher.java b/Mage.Sets/src/mage/cards/t/TravelingPhilosopher.java index 376d6081865..455709b42fe 100644 --- a/Mage.Sets/src/mage/cards/t/TravelingPhilosopher.java +++ b/Mage.Sets/src/mage/cards/t/TravelingPhilosopher.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class TravelingPhilosopher extends CardImpl { public TravelingPhilosopher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TreacherousPitDweller.java b/Mage.Sets/src/mage/cards/t/TreacherousPitDweller.java index 47bddf430a1..aeb1ccac8f9 100644 --- a/Mage.Sets/src/mage/cards/t/TreacherousPitDweller.java +++ b/Mage.Sets/src/mage/cards/t/TreacherousPitDweller.java @@ -50,7 +50,7 @@ public class TreacherousPitDweller extends CardImpl { public TreacherousPitDweller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/Treachery.java b/Mage.Sets/src/mage/cards/t/Treachery.java index bc2a2bdc966..4fcb9dce56a 100644 --- a/Mage.Sets/src/mage/cards/t/Treachery.java +++ b/Mage.Sets/src/mage/cards/t/Treachery.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class Treachery extends CardImpl { public Treachery(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/t/TreasonousOgre.java b/Mage.Sets/src/mage/cards/t/TreasonousOgre.java index ee29d734656..196becbb49d 100644 --- a/Mage.Sets/src/mage/cards/t/TreasonousOgre.java +++ b/Mage.Sets/src/mage/cards/t/TreasonousOgre.java @@ -36,6 +36,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class TreasonousOgre extends CardImpl { public TreasonousOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TreasureHunter.java b/Mage.Sets/src/mage/cards/t/TreasureHunter.java index b7f07f4532a..3c8bf660389 100644 --- a/Mage.Sets/src/mage/cards/t/TreasureHunter.java +++ b/Mage.Sets/src/mage/cards/t/TreasureHunter.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactCard; import mage.target.common.TargetCardInYourGraveyard; @@ -46,7 +47,7 @@ public class TreasureHunter extends CardImpl { public TreasureHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TreasureKeeper.java b/Mage.Sets/src/mage/cards/t/TreasureKeeper.java index 8d3487f2066..97cbadded90 100644 --- a/Mage.Sets/src/mage/cards/t/TreasureKeeper.java +++ b/Mage.Sets/src/mage/cards/t/TreasureKeeper.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.players.Player; @@ -51,7 +52,7 @@ public class TreasureKeeper extends CardImpl { public TreasureKeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TreasureMage.java b/Mage.Sets/src/mage/cards/t/TreasureMage.java index 61e0d819ef4..26a15a79ce5 100644 --- a/Mage.Sets/src/mage/cards/t/TreasureMage.java +++ b/Mage.Sets/src/mage/cards/t/TreasureMage.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -57,8 +58,8 @@ public class TreasureMage extends CardImpl { public TreasureMage (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TreasuryThrull.java b/Mage.Sets/src/mage/cards/t/TreasuryThrull.java index 327f889e32b..f024c077eac 100644 --- a/Mage.Sets/src/mage/cards/t/TreasuryThrull.java +++ b/Mage.Sets/src/mage/cards/t/TreasuryThrull.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ExtortAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -56,7 +57,7 @@ public class TreasuryThrull extends CardImpl { public TreasuryThrull(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{B}"); - this.subtype.add("Thrull"); + this.subtype.add(SubType.THRULL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TreeMonkey.java b/Mage.Sets/src/mage/cards/t/TreeMonkey.java index 7042b408b31..070a6dab0ca 100644 --- a/Mage.Sets/src/mage/cards/t/TreeMonkey.java +++ b/Mage.Sets/src/mage/cards/t/TreeMonkey.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class TreeMonkey extends CardImpl { public TreeMonkey(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Monkey"); + this.subtype.add(SubType.MONKEY); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TreeOfPerdition.java b/Mage.Sets/src/mage/cards/t/TreeOfPerdition.java index 7aff6910863..640ae40c31c 100644 --- a/Mage.Sets/src/mage/cards/t/TreeOfPerdition.java +++ b/Mage.Sets/src/mage/cards/t/TreeOfPerdition.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -52,7 +53,7 @@ public class TreeOfPerdition extends CardImpl { public TreeOfPerdition(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Plant"); + this.subtype.add(SubType.PLANT); this.power = new MageInt(0); this.toughness = new MageInt(13); diff --git a/Mage.Sets/src/mage/cards/t/TreeOfRedemption.java b/Mage.Sets/src/mage/cards/t/TreeOfRedemption.java index c268f3f1af8..cd2322bd200 100644 --- a/Mage.Sets/src/mage/cards/t/TreeOfRedemption.java +++ b/Mage.Sets/src/mage/cards/t/TreeOfRedemption.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SubLayer; @@ -54,7 +55,7 @@ public class TreeOfRedemption extends CardImpl { public TreeOfRedemption(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Plant"); + this.subtype.add(SubType.PLANT); this.power = new MageInt(0); this.toughness = new MageInt(13); diff --git a/Mage.Sets/src/mage/cards/t/TreefolkHarbinger.java b/Mage.Sets/src/mage/cards/t/TreefolkHarbinger.java index 3a6a537f5c7..8267ece2175 100644 --- a/Mage.Sets/src/mage/cards/t/TreefolkHarbinger.java +++ b/Mage.Sets/src/mage/cards/t/TreefolkHarbinger.java @@ -53,8 +53,8 @@ public class TreefolkHarbinger extends CardImpl { public TreefolkHarbinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Druid"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.DRUID); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TreefolkHealer.java b/Mage.Sets/src/mage/cards/t/TreefolkHealer.java index c7ef8ac7107..0218d22751d 100644 --- a/Mage.Sets/src/mage/cards/t/TreefolkHealer.java +++ b/Mage.Sets/src/mage/cards/t/TreefolkHealer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -49,8 +50,8 @@ public class TreefolkHealer extends CardImpl { public TreefolkHealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TreefolkMystic.java b/Mage.Sets/src/mage/cards/t/TreefolkMystic.java index 9c7e6e630b7..9efeedb5b31 100644 --- a/Mage.Sets/src/mage/cards/t/TreefolkMystic.java +++ b/Mage.Sets/src/mage/cards/t/TreefolkMystic.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -49,7 +50,7 @@ public class TreefolkMystic extends CardImpl { public TreefolkMystic(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TreefolkSeedlings.java b/Mage.Sets/src/mage/cards/t/TreefolkSeedlings.java index 856c61609b7..8ecb4564aa1 100644 --- a/Mage.Sets/src/mage/cards/t/TreefolkSeedlings.java +++ b/Mage.Sets/src/mage/cards/t/TreefolkSeedlings.java @@ -55,7 +55,7 @@ public class TreefolkSeedlings extends CardImpl { public TreefolkSeedlings(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(2); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/t/TreespringLorian.java b/Mage.Sets/src/mage/cards/t/TreespringLorian.java index d91370ae83a..c4dcd457bd3 100644 --- a/Mage.Sets/src/mage/cards/t/TreespringLorian.java +++ b/Mage.Sets/src/mage/cards/t/TreespringLorian.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class TreespringLorian extends CardImpl { public TreespringLorian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TreetopBracers.java b/Mage.Sets/src/mage/cards/t/TreetopBracers.java index 888356cff65..cfd90f702ff 100644 --- a/Mage.Sets/src/mage/cards/t/TreetopBracers.java +++ b/Mage.Sets/src/mage/cards/t/TreetopBracers.java @@ -53,7 +53,7 @@ public class TreetopBracers extends CardImpl { public TreetopBracers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/t/TreetopRangers.java b/Mage.Sets/src/mage/cards/t/TreetopRangers.java index f32b966b78b..b00d1c348b3 100644 --- a/Mage.Sets/src/mage/cards/t/TreetopRangers.java +++ b/Mage.Sets/src/mage/cards/t/TreetopRangers.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -55,7 +56,7 @@ public class TreetopRangers extends CardImpl { public TreetopRangers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TreetopScout.java b/Mage.Sets/src/mage/cards/t/TreetopScout.java index 5f1ac49040e..b5bfd9e0783 100644 --- a/Mage.Sets/src/mage/cards/t/TreetopScout.java +++ b/Mage.Sets/src/mage/cards/t/TreetopScout.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; @@ -55,8 +56,8 @@ public class TreetopScout extends CardImpl { public TreetopScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TreetopSentinel.java b/Mage.Sets/src/mage/cards/t/TreetopSentinel.java index b3c1a41188b..9622c1a7fb3 100644 --- a/Mage.Sets/src/mage/cards/t/TreetopSentinel.java +++ b/Mage.Sets/src/mage/cards/t/TreetopSentinel.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class TreetopSentinel extends CardImpl { public TreetopSentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TreetopVillage.java b/Mage.Sets/src/mage/cards/t/TreetopVillage.java index 191ac4b0184..9dede10e44d 100644 --- a/Mage.Sets/src/mage/cards/t/TreetopVillage.java +++ b/Mage.Sets/src/mage/cards/t/TreetopVillage.java @@ -38,6 +38,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -69,7 +70,7 @@ class ApeToken extends Token { ApeToken() { super("Ape", "3/3 green Ape creature with trample"); cardType.add(CardType.CREATURE); - this.subtype.add("Ape"); + this.subtype.add(SubType.APE); color.setGreen(true); power = new MageInt(3); toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TrenchGorger.java b/Mage.Sets/src/mage/cards/t/TrenchGorger.java index 07e34ff8bc0..2c1f68ae666 100644 --- a/Mage.Sets/src/mage/cards/t/TrenchGorger.java +++ b/Mage.Sets/src/mage/cards/t/TrenchGorger.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SubLayer; @@ -55,7 +56,7 @@ public class TrenchGorger extends CardImpl { public TrenchGorger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{U}{U}"); - this.subtype.add("Leviathan"); + this.subtype.add(SubType.LEVIATHAN); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/t/TrenchWurm.java b/Mage.Sets/src/mage/cards/t/TrenchWurm.java index 0dc9f539236..2a0bee2726b 100644 --- a/Mage.Sets/src/mage/cards/t/TrenchWurm.java +++ b/Mage.Sets/src/mage/cards/t/TrenchWurm.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetNonBasicLandPermanent; @@ -48,7 +49,7 @@ public class TrenchWurm extends CardImpl { public TrenchWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TrenchingSteed.java b/Mage.Sets/src/mage/cards/t/TrenchingSteed.java index 6d1063a15cd..f0caa3b5f00 100644 --- a/Mage.Sets/src/mage/cards/t/TrenchingSteed.java +++ b/Mage.Sets/src/mage/cards/t/TrenchingSteed.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -48,8 +49,8 @@ public class TrenchingSteed extends CardImpl { public TrenchingSteed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Horse"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HORSE); + this.subtype.add(SubType.REBEL); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TrepanationBlade.java b/Mage.Sets/src/mage/cards/t/TrepanationBlade.java index 14d1a5dc8d6..220c92ec2bd 100644 --- a/Mage.Sets/src/mage/cards/t/TrepanationBlade.java +++ b/Mage.Sets/src/mage/cards/t/TrepanationBlade.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -57,7 +58,7 @@ public class TrepanationBlade extends CardImpl { public TrepanationBlade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Whenever equipped creature attacks, defending player reveals cards from the top of his or her library until he or she reveals a land card. // The creature gets +1/+0 until end of turn for each card revealed this way. That player puts the revealed cards into his or her graveyard. diff --git a/Mage.Sets/src/mage/cards/t/TrespasserIlVec.java b/Mage.Sets/src/mage/cards/t/TrespasserIlVec.java index 0c239e0b776..cf9eae8cfbe 100644 --- a/Mage.Sets/src/mage/cards/t/TrespasserIlVec.java +++ b/Mage.Sets/src/mage/cards/t/TrespasserIlVec.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ShadowAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class TrespasserIlVec extends CardImpl { public TrespasserIlVec(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TrespassingSouleater.java b/Mage.Sets/src/mage/cards/t/TrespassingSouleater.java index d02d31bb646..fad1352e838 100644 --- a/Mage.Sets/src/mage/cards/t/TrespassingSouleater.java +++ b/Mage.Sets/src/mage/cards/t/TrespassingSouleater.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class TrespassingSouleater extends CardImpl { public TrespassingSouleater(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TrestleTroll.java b/Mage.Sets/src/mage/cards/t/TrestleTroll.java index 74d3dea9f36..4342af83a69 100644 --- a/Mage.Sets/src/mage/cards/t/TrestleTroll.java +++ b/Mage.Sets/src/mage/cards/t/TrestleTroll.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class TrestleTroll extends CardImpl { public TrestleTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{G}"); - this.subtype.add("Troll"); + this.subtype.add(SubType.TROLL); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TrevaTheRenewer.java b/Mage.Sets/src/mage/cards/t/TrevaTheRenewer.java index 946d569532e..70884572c6c 100644 --- a/Mage.Sets/src/mage/cards/t/TrevaTheRenewer.java +++ b/Mage.Sets/src/mage/cards/t/TrevaTheRenewer.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.choices.ChoiceColor; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.FilterPermanent; @@ -56,7 +57,7 @@ public class TrevaTheRenewer extends CardImpl { public TrevaTheRenewer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{W}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/t/TrevasAttendant.java b/Mage.Sets/src/mage/cards/t/TrevasAttendant.java index 4eff62ab95d..5ecdd6365fe 100644 --- a/Mage.Sets/src/mage/cards/t/TrevasAttendant.java +++ b/Mage.Sets/src/mage/cards/t/TrevasAttendant.java @@ -37,6 +37,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class TrevasAttendant extends CardImpl { public TrevasAttendant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TriFighter.java b/Mage.Sets/src/mage/cards/t/TriFighter.java index 60d3559d9e7..d2cf8c20b7b 100644 --- a/Mage.Sets/src/mage/cards/t/TriFighter.java +++ b/Mage.Sets/src/mage/cards/t/TriFighter.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.SpaceflightAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class TriFighter extends CardImpl { public TriFighter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{1}{U/B}{U/B}"); - this.subtype.add("Droid"); - this.subtype.add("Starship"); + this.subtype.add(SubType.DROID); + this.subtype.add(SubType.STARSHIP); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TriadOfFates.java b/Mage.Sets/src/mage/cards/t/TriadOfFates.java index 8c71adc9efc..fcaf65e1771 100644 --- a/Mage.Sets/src/mage/cards/t/TriadOfFates.java +++ b/Mage.Sets/src/mage/cards/t/TriadOfFates.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -71,8 +72,8 @@ public class TriadOfFates extends CardImpl { public TriadOfFates(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TribalForcemage.java b/Mage.Sets/src/mage/cards/t/TribalForcemage.java index ee7b59a03be..5cce4b77ba2 100644 --- a/Mage.Sets/src/mage/cards/t/TribalForcemage.java +++ b/Mage.Sets/src/mage/cards/t/TribalForcemage.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.filter.common.FilterCreaturePermanent; @@ -53,8 +54,8 @@ public class TribalForcemage extends CardImpl { public TribalForcemage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TricksOfTheTrade.java b/Mage.Sets/src/mage/cards/t/TricksOfTheTrade.java index e44fd2dc264..1318fd54167 100644 --- a/Mage.Sets/src/mage/cards/t/TricksOfTheTrade.java +++ b/Mage.Sets/src/mage/cards/t/TricksOfTheTrade.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class TricksOfTheTrade extends CardImpl { public TricksOfTheTrade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/t/TricksterMage.java b/Mage.Sets/src/mage/cards/t/TricksterMage.java index debf11e89af..66dfca106d3 100644 --- a/Mage.Sets/src/mage/cards/t/TricksterMage.java +++ b/Mage.Sets/src/mage/cards/t/TricksterMage.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.MayTapOrUntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -61,8 +62,8 @@ public class TricksterMage extends CardImpl { public TricksterMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TriclopeanSight.java b/Mage.Sets/src/mage/cards/t/TriclopeanSight.java index 03d523f6fa9..614afb3dc3f 100644 --- a/Mage.Sets/src/mage/cards/t/TriclopeanSight.java +++ b/Mage.Sets/src/mage/cards/t/TriclopeanSight.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class TriclopeanSight extends CardImpl { public TriclopeanSight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/t/TrinketMage.java b/Mage.Sets/src/mage/cards/t/TrinketMage.java index 0e63af2b2c5..445e8a0cfa9 100644 --- a/Mage.Sets/src/mage/cards/t/TrinketMage.java +++ b/Mage.Sets/src/mage/cards/t/TrinketMage.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -56,8 +57,8 @@ public class TrinketMage extends CardImpl { public TrinketMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/Triskelavus.java b/Mage.Sets/src/mage/cards/t/Triskelavus.java index b6e26f800f9..b0d4434443c 100644 --- a/Mage.Sets/src/mage/cards/t/Triskelavus.java +++ b/Mage.Sets/src/mage/cards/t/Triskelavus.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.permanent.token.TriskelaviteToken; @@ -52,7 +53,7 @@ public class Triskelavus extends CardImpl { public Triskelavus(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{7}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/Triskelion.java b/Mage.Sets/src/mage/cards/t/Triskelion.java index 963bb774215..c4a08429294 100644 --- a/Mage.Sets/src/mage/cards/t/Triskelion.java +++ b/Mage.Sets/src/mage/cards/t/Triskelion.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreatureOrPlayer; @@ -50,7 +51,7 @@ public class Triskelion extends CardImpl { public Triskelion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TritonCavalry.java b/Mage.Sets/src/mage/cards/t/TritonCavalry.java index 351e1c2b663..9083c39f842 100644 --- a/Mage.Sets/src/mage/cards/t/TritonCavalry.java +++ b/Mage.Sets/src/mage/cards/t/TritonCavalry.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetEnchantmentPermanent; /** @@ -45,8 +46,8 @@ public class TritonCavalry extends CardImpl { public TritonCavalry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TritonFortuneHunter.java b/Mage.Sets/src/mage/cards/t/TritonFortuneHunter.java index df5154469d1..44ac3fd7738 100644 --- a/Mage.Sets/src/mage/cards/t/TritonFortuneHunter.java +++ b/Mage.Sets/src/mage/cards/t/TritonFortuneHunter.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class TritonFortuneHunter extends CardImpl { public TritonFortuneHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TritonShorestalker.java b/Mage.Sets/src/mage/cards/t/TritonShorestalker.java index 1737515530b..e07ddb00cbf 100644 --- a/Mage.Sets/src/mage/cards/t/TritonShorestalker.java +++ b/Mage.Sets/src/mage/cards/t/TritonShorestalker.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class TritonShorestalker extends CardImpl { public TritonShorestalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TritonShorethief.java b/Mage.Sets/src/mage/cards/t/TritonShorethief.java index 73c7cb34f8b..44df23eaff7 100644 --- a/Mage.Sets/src/mage/cards/t/TritonShorethief.java +++ b/Mage.Sets/src/mage/cards/t/TritonShorethief.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class TritonShorethief extends CardImpl { public TritonShorethief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TrokinHighGuard.java b/Mage.Sets/src/mage/cards/t/TrokinHighGuard.java index 8d9fc92290b..a3bf8d04261 100644 --- a/Mage.Sets/src/mage/cards/t/TrokinHighGuard.java +++ b/Mage.Sets/src/mage/cards/t/TrokinHighGuard.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class TrokinHighGuard extends CardImpl { public TrokinHighGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TrollAscetic.java b/Mage.Sets/src/mage/cards/t/TrollAscetic.java index 67283f7e4ac..1c56a2181ee 100644 --- a/Mage.Sets/src/mage/cards/t/TrollAscetic.java +++ b/Mage.Sets/src/mage/cards/t/TrollAscetic.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ import mage.constants.Zone; public class TrollAscetic extends CardImpl { public TrollAscetic (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Troll"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.TROLL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/Trollhide.java b/Mage.Sets/src/mage/cards/t/Trollhide.java index 7b106f9744a..081b51422f4 100644 --- a/Mage.Sets/src/mage/cards/t/Trollhide.java +++ b/Mage.Sets/src/mage/cards/t/Trollhide.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class Trollhide extends CardImpl { public Trollhide (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/t/TrollsOfTelJilad.java b/Mage.Sets/src/mage/cards/t/TrollsOfTelJilad.java index 6e1898cadb2..daf186b6d85 100644 --- a/Mage.Sets/src/mage/cards/t/TrollsOfTelJilad.java +++ b/Mage.Sets/src/mage/cards/t/TrollsOfTelJilad.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.RegenerateTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -56,8 +57,8 @@ public class TrollsOfTelJilad extends CardImpl { public TrollsOfTelJilad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Troll"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.TROLL); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/t/Tromokratis.java b/Mage.Sets/src/mage/cards/t/Tromokratis.java index 5973dc684b5..833ef6ae32f 100644 --- a/Mage.Sets/src/mage/cards/t/Tromokratis.java +++ b/Mage.Sets/src/mage/cards/t/Tromokratis.java @@ -59,7 +59,7 @@ public class Tromokratis extends CardImpl { public Tromokratis(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Kraken"); + this.subtype.add(SubType.KRAKEN); this.power = new MageInt(8); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/t/TrooperArmor.java b/Mage.Sets/src/mage/cards/t/TrooperArmor.java index c39d32e2002..151ddae836e 100644 --- a/Mage.Sets/src/mage/cards/t/TrooperArmor.java +++ b/Mage.Sets/src/mage/cards/t/TrooperArmor.java @@ -48,7 +48,7 @@ public class TrooperArmor extends CardImpl { public TrooperArmor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equiped creature gets +1/+1 and is a Trooper in addition to its other types. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1))); diff --git a/Mage.Sets/src/mage/cards/t/TrooperCommando.java b/Mage.Sets/src/mage/cards/t/TrooperCommando.java index e51ec8322a8..7493dc45c6c 100644 --- a/Mage.Sets/src/mage/cards/t/TrooperCommando.java +++ b/Mage.Sets/src/mage/cards/t/TrooperCommando.java @@ -1,76 +1,76 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; -import mage.abilities.keyword.TrampleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; - -/** - * - * @author Styxo - */ -public class TrooperCommando extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Trooper creatures"); - - static { - filter.add(new SubtypePredicate(SubType.TROOPER)); - } - - public TrooperCommando(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Trooper"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // Trooper creatures you control have trample. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield, filter, false))); - - } - - public TrooperCommando(final TrooperCommando card) { - super(card); - } - - @Override - public TrooperCommando copy() { - return new TrooperCommando(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.continuous.GainAbilityControlledEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; + +/** + * + * @author Styxo + */ +public class TrooperCommando extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("Trooper creatures"); + + static { + filter.add(new SubtypePredicate(SubType.TROOPER)); + } + + public TrooperCommando(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.TROOPER); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Trooper creatures you control have trample. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.WhileOnBattlefield, filter, false))); + + } + + public TrooperCommando(final TrooperCommando card) { + super(card); + } + + @Override + public TrooperCommando copy() { + return new TrooperCommando(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/TrophyMage.java b/Mage.Sets/src/mage/cards/t/TrophyMage.java index 37b4059a9b4..671218e2927 100644 --- a/Mage.Sets/src/mage/cards/t/TrophyMage.java +++ b/Mage.Sets/src/mage/cards/t/TrophyMage.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -56,8 +57,8 @@ public class TrophyMage extends CardImpl { public TrophyMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TropicalIsland.java b/Mage.Sets/src/mage/cards/t/TropicalIsland.java index f173c7cc654..fad4468002e 100644 --- a/Mage.Sets/src/mage/cards/t/TropicalIsland.java +++ b/Mage.Sets/src/mage/cards/t/TropicalIsland.java @@ -33,6 +33,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class TropicalIsland extends CardImpl { public TropicalIsland(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Forest"); - this.subtype.add("Island"); + this.subtype.add(SubType.FOREST); + this.subtype.add(SubType.ISLAND); this.addAbility(new GreenManaAbility()); this.addAbility(new BlueManaAbility()); diff --git a/Mage.Sets/src/mage/cards/t/TrostaniSelesnyasVoice.java b/Mage.Sets/src/mage/cards/t/TrostaniSelesnyasVoice.java index ef9df9429b8..8d6b30221cc 100644 --- a/Mage.Sets/src/mage/cards/t/TrostaniSelesnyasVoice.java +++ b/Mage.Sets/src/mage/cards/t/TrostaniSelesnyasVoice.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.PopulateEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -60,7 +61,7 @@ public class TrostaniSelesnyasVoice extends CardImpl { public TrostaniSelesnyasVoice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TrostanisSummoner.java b/Mage.Sets/src/mage/cards/t/TrostanisSummoner.java index 13e5b66f41f..6b3cf809bd1 100644 --- a/Mage.Sets/src/mage/cards/t/TrostanisSummoner.java +++ b/Mage.Sets/src/mage/cards/t/TrostanisSummoner.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.CentaurToken; import mage.game.permanent.token.KnightToken; import mage.game.permanent.token.RhinoToken; @@ -47,8 +48,8 @@ public class TrostanisSummoner extends CardImpl { public TrostanisSummoner(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{G}{W}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TroubledHealer.java b/Mage.Sets/src/mage/cards/t/TroubledHealer.java index b4b31da0bca..734c5b38ed0 100644 --- a/Mage.Sets/src/mage/cards/t/TroubledHealer.java +++ b/Mage.Sets/src/mage/cards/t/TroubledHealer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventDamageToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -50,8 +51,8 @@ public class TroubledHealer extends CardImpl { public TroubledHealer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TroublesomeSpirit.java b/Mage.Sets/src/mage/cards/t/TroublesomeSpirit.java index 45a33beb6b3..2dba0b5bb85 100644 --- a/Mage.Sets/src/mage/cards/t/TroublesomeSpirit.java +++ b/Mage.Sets/src/mage/cards/t/TroublesomeSpirit.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterControlledLandPermanent; @@ -46,7 +47,7 @@ public class TroublesomeSpirit extends CardImpl { public TroublesomeSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TrueBeliever.java b/Mage.Sets/src/mage/cards/t/TrueBeliever.java index 5b13f8771fb..cda27648afb 100644 --- a/Mage.Sets/src/mage/cards/t/TrueBeliever.java +++ b/Mage.Sets/src/mage/cards/t/TrueBeliever.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,8 +47,8 @@ public class TrueBeliever extends CardImpl { public TrueBeliever(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TrueFaithCenser.java b/Mage.Sets/src/mage/cards/t/TrueFaithCenser.java index d825a716f58..5983639b0fb 100644 --- a/Mage.Sets/src/mage/cards/t/TrueFaithCenser.java +++ b/Mage.Sets/src/mage/cards/t/TrueFaithCenser.java @@ -52,7 +52,7 @@ public class TrueFaithCenser extends CardImpl { public TrueFaithCenser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+1 and has vigilance. Effect effect = new BoostEquippedEffect(1, 1); diff --git a/Mage.Sets/src/mage/cards/t/TrueNameNemesis.java b/Mage.Sets/src/mage/cards/t/TrueNameNemesis.java index 62fbf1af53c..87910900716 100644 --- a/Mage.Sets/src/mage/cards/t/TrueNameNemesis.java +++ b/Mage.Sets/src/mage/cards/t/TrueNameNemesis.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.FilterCard; import mage.game.Game; @@ -62,8 +63,8 @@ public class TrueNameNemesis extends CardImpl { public TrueNameNemesis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TruefirePaladin.java b/Mage.Sets/src/mage/cards/t/TruefirePaladin.java index 8420c37bcb7..d982339f6c2 100644 --- a/Mage.Sets/src/mage/cards/t/TruefirePaladin.java +++ b/Mage.Sets/src/mage/cards/t/TruefirePaladin.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class TruefirePaladin extends CardImpl { public TruefirePaladin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TrueheartDuelist.java b/Mage.Sets/src/mage/cards/t/TrueheartDuelist.java index 8831695224d..1363601a05c 100644 --- a/Mage.Sets/src/mage/cards/t/TrueheartDuelist.java +++ b/Mage.Sets/src/mage/cards/t/TrueheartDuelist.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EmbalmAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class TrueheartDuelist extends CardImpl { public TrueheartDuelist(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TrueheartTwins.java b/Mage.Sets/src/mage/cards/t/TrueheartTwins.java index 1eca9ca7544..48f9d779e2c 100644 --- a/Mage.Sets/src/mage/cards/t/TrueheartTwins.java +++ b/Mage.Sets/src/mage/cards/t/TrueheartTwins.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ExertAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,8 +47,8 @@ public class TrueheartTwins extends CardImpl { public TrueheartTwins(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}"); - this.subtype.add("Jackal"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.JACKAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TrumpetingArmodon.java b/Mage.Sets/src/mage/cards/t/TrumpetingArmodon.java index f5fa3608f16..ea2b1c1963b 100644 --- a/Mage.Sets/src/mage/cards/t/TrumpetingArmodon.java +++ b/Mage.Sets/src/mage/cards/t/TrumpetingArmodon.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.combat.MustBeBlockedByTargetSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class TrumpetingArmodon extends CardImpl { public TrumpetingArmodon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TrustedAdvisor.java b/Mage.Sets/src/mage/cards/t/TrustedAdvisor.java index 76b35c18cf1..660348d5a14 100644 --- a/Mage.Sets/src/mage/cards/t/TrustedAdvisor.java +++ b/Mage.Sets/src/mage/cards/t/TrustedAdvisor.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.MaximumHandSizeControllerEffect. import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -58,8 +59,8 @@ public class TrustedAdvisor extends CardImpl { public TrustedAdvisor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TrustedForcemage.java b/Mage.Sets/src/mage/cards/t/TrustedForcemage.java index dff862b5cbc..84042e4132c 100644 --- a/Mage.Sets/src/mage/cards/t/TrustedForcemage.java +++ b/Mage.Sets/src/mage/cards/t/TrustedForcemage.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class TrustedForcemage extends CardImpl { public TrustedForcemage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TrustyCompanion.java b/Mage.Sets/src/mage/cards/t/TrustyCompanion.java index 7175f803213..eb0dac2a8dc 100644 --- a/Mage.Sets/src/mage/cards/t/TrustyCompanion.java +++ b/Mage.Sets/src/mage/cards/t/TrustyCompanion.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class TrustyCompanion extends CardImpl { public TrustyCompanion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Hyena"); + this.subtype.add(SubType.HYENA); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TrustyMachete.java b/Mage.Sets/src/mage/cards/t/TrustyMachete.java index 3f64f88a0f9..0214ef2718c 100644 --- a/Mage.Sets/src/mage/cards/t/TrustyMachete.java +++ b/Mage.Sets/src/mage/cards/t/TrustyMachete.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class TrustyMachete extends CardImpl { public TrustyMachete(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 1))); this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2))); diff --git a/Mage.Sets/src/mage/cards/t/TrygonPredator.java b/Mage.Sets/src/mage/cards/t/TrygonPredator.java index e51615b0efb..bff517bdc8e 100644 --- a/Mage.Sets/src/mage/cards/t/TrygonPredator.java +++ b/Mage.Sets/src/mage/cards/t/TrygonPredator.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -55,7 +56,7 @@ public class TrygonPredator extends CardImpl { public TrygonPredator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{U}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TsaboTavoc.java b/Mage.Sets/src/mage/cards/t/TsaboTavoc.java index ea03b0901bd..767dff8a80a 100644 --- a/Mage.Sets/src/mage/cards/t/TsaboTavoc.java +++ b/Mage.Sets/src/mage/cards/t/TsaboTavoc.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -62,7 +63,7 @@ public class TsaboTavoc extends CardImpl { public TsaboTavoc(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(7); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TsabosAssassin.java b/Mage.Sets/src/mage/cards/t/TsabosAssassin.java index 6a6ae1deb4f..8467c89e373 100644 --- a/Mage.Sets/src/mage/cards/t/TsabosAssassin.java +++ b/Mage.Sets/src/mage/cards/t/TsabosAssassin.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,8 +57,8 @@ public class TsabosAssassin extends CardImpl { public TsabosAssassin(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TukatongueThallid.java b/Mage.Sets/src/mage/cards/t/TukatongueThallid.java index 87babd0afb3..ae7dfc96f8a 100644 --- a/Mage.Sets/src/mage/cards/t/TukatongueThallid.java +++ b/Mage.Sets/src/mage/cards/t/TukatongueThallid.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.SaprolingToken; /** @@ -46,7 +47,7 @@ public class TukatongueThallid extends CardImpl { public TukatongueThallid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TuknirDeathlock.java b/Mage.Sets/src/mage/cards/t/TuknirDeathlock.java index f8ddf2d13a6..e37ab94ea77 100644 --- a/Mage.Sets/src/mage/cards/t/TuknirDeathlock.java +++ b/Mage.Sets/src/mage/cards/t/TuknirDeathlock.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -52,8 +53,8 @@ public class TuknirDeathlock extends CardImpl { public TuknirDeathlock(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{R}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TuktukGrunts.java b/Mage.Sets/src/mage/cards/t/TuktukGrunts.java index ee666b8af46..6b3ee249547 100644 --- a/Mage.Sets/src/mage/cards/t/TuktukGrunts.java +++ b/Mage.Sets/src/mage/cards/t/TuktukGrunts.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,9 +46,9 @@ public class TuktukGrunts extends CardImpl { public TuktukGrunts(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); - this.subtype.add("Ally"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TuktukScrapper.java b/Mage.Sets/src/mage/cards/t/TuktukScrapper.java index d995608cfb2..d536e6eb2c0 100644 --- a/Mage.Sets/src/mage/cards/t/TuktukScrapper.java +++ b/Mage.Sets/src/mage/cards/t/TuktukScrapper.java @@ -54,9 +54,9 @@ public class TuktukScrapper extends CardImpl { public TuktukScrapper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Artificer"); - this.subtype.add("Ally"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ARTIFICER); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TuktukTheExplorer.java b/Mage.Sets/src/mage/cards/t/TuktukTheExplorer.java index 22459beb08b..8e7819c96ce 100644 --- a/Mage.Sets/src/mage/cards/t/TuktukTheExplorer.java +++ b/Mage.Sets/src/mage/cards/t/TuktukTheExplorer.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.game.permanent.token.TuktukTheReturnedToken; @@ -47,7 +48,7 @@ public class TuktukTheExplorer extends CardImpl { public TuktukTheExplorer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/Tundra.java b/Mage.Sets/src/mage/cards/t/Tundra.java index a9bf2428936..099a1d0c88e 100644 --- a/Mage.Sets/src/mage/cards/t/Tundra.java +++ b/Mage.Sets/src/mage/cards/t/Tundra.java @@ -33,6 +33,7 @@ import mage.abilities.mana.WhiteManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class Tundra extends CardImpl { public Tundra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Plains"); - this.subtype.add("Island"); + this.subtype.add(SubType.PLAINS); + this.subtype.add(SubType.ISLAND); this.addAbility(new WhiteManaAbility()); this.addAbility(new BlueManaAbility()); diff --git a/Mage.Sets/src/mage/cards/t/TundraKavu.java b/Mage.Sets/src/mage/cards/t/TundraKavu.java index c16924d507f..dbb3f5b62a6 100644 --- a/Mage.Sets/src/mage/cards/t/TundraKavu.java +++ b/Mage.Sets/src/mage/cards/t/TundraKavu.java @@ -55,7 +55,7 @@ public class TundraKavu extends CardImpl { public TundraKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TundraWolves.java b/Mage.Sets/src/mage/cards/t/TundraWolves.java index 52d1190789f..13d1ca92f6b 100644 --- a/Mage.Sets/src/mage/cards/t/TundraWolves.java +++ b/Mage.Sets/src/mage/cards/t/TundraWolves.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class TundraWolves extends CardImpl { public TundraWolves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TunnelIgnus.java b/Mage.Sets/src/mage/cards/t/TunnelIgnus.java index 99bd337a04f..e69aaefbfe9 100644 --- a/Mage.Sets/src/mage/cards/t/TunnelIgnus.java +++ b/Mage.Sets/src/mage/cards/t/TunnelIgnus.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.WatcherScope; import mage.constants.Zone; import mage.game.Game; @@ -54,7 +55,7 @@ public class TunnelIgnus extends CardImpl { public TunnelIgnus(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TunnelerWurm.java b/Mage.Sets/src/mage/cards/t/TunnelerWurm.java index 6756b4594d0..bfa86edbd28 100644 --- a/Mage.Sets/src/mage/cards/t/TunnelerWurm.java +++ b/Mage.Sets/src/mage/cards/t/TunnelerWurm.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class TunnelerWurm extends CardImpl { public TunnelerWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/t/TunnelingGeopede.java b/Mage.Sets/src/mage/cards/t/TunnelingGeopede.java index e0ba72e21cf..647a7770184 100644 --- a/Mage.Sets/src/mage/cards/t/TunnelingGeopede.java +++ b/Mage.Sets/src/mage/cards/t/TunnelingGeopede.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DamagePlayersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -44,7 +45,7 @@ public class TunnelingGeopede extends CardImpl { public TunnelingGeopede(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TurnBurn.java b/Mage.Sets/src/mage/cards/t/TurnBurn.java index e90dec11338..de2d0b8f55b 100644 --- a/Mage.Sets/src/mage/cards/t/TurnBurn.java +++ b/Mage.Sets/src/mage/cards/t/TurnBurn.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect; import mage.cards.CardSetInfo; import mage.cards.SplitCard; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SpellAbilityType; import mage.game.permanent.token.Token; @@ -81,7 +82,7 @@ public class TurnBurn extends SplitCard { super("Weird", "a red Weird with base power and toughness 0/1"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Weird"); + subtype.add(SubType.WEIRD); power = new MageInt(0); toughness = new MageInt(1); } diff --git a/Mage.Sets/src/mage/cards/t/TurntimberBasilisk.java b/Mage.Sets/src/mage/cards/t/TurntimberBasilisk.java index 9ac2ff5c711..0a48b2df319 100644 --- a/Mage.Sets/src/mage/cards/t/TurntimberBasilisk.java +++ b/Mage.Sets/src/mage/cards/t/TurntimberBasilisk.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -45,7 +46,7 @@ public class TurntimberBasilisk extends CardImpl { public TurntimberBasilisk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Basilisk"); + this.subtype.add(SubType.BASILISK); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TurntimberRanger.java b/Mage.Sets/src/mage/cards/t/TurntimberRanger.java index 13a07193818..7f6a8d7821b 100644 --- a/Mage.Sets/src/mage/cards/t/TurntimberRanger.java +++ b/Mage.Sets/src/mage/cards/t/TurntimberRanger.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.game.permanent.token.WolfToken; @@ -47,9 +48,9 @@ public class TurntimberRanger extends CardImpl { public TurntimberRanger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); - this.subtype.add("Ally"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TurtleshellChangeling.java b/Mage.Sets/src/mage/cards/t/TurtleshellChangeling.java index 22c58fb1b72..82cb93808f2 100644 --- a/Mage.Sets/src/mage/cards/t/TurtleshellChangeling.java +++ b/Mage.Sets/src/mage/cards/t/TurtleshellChangeling.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ChangelingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class TurtleshellChangeling extends CardImpl { public TurtleshellChangeling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TuskedColossodon.java b/Mage.Sets/src/mage/cards/t/TuskedColossodon.java index a83ccdcf839..8a9890e92c5 100644 --- a/Mage.Sets/src/mage/cards/t/TuskedColossodon.java +++ b/Mage.Sets/src/mage/cards/t/TuskedColossodon.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class TuskedColossodon extends CardImpl { public TuskedColossodon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TuskguardCaptain.java b/Mage.Sets/src/mage/cards/t/TuskguardCaptain.java index 021cce5dc82..d7ae88a911e 100644 --- a/Mage.Sets/src/mage/cards/t/TuskguardCaptain.java +++ b/Mage.Sets/src/mage/cards/t/TuskguardCaptain.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -64,8 +65,8 @@ public class TuskguardCaptain extends CardImpl { public TuskguardCaptain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TwilekSeductress.java b/Mage.Sets/src/mage/cards/t/TwilekSeductress.java index 901d7ad14d0..279fd2cfd32 100644 --- a/Mage.Sets/src/mage/cards/t/TwilekSeductress.java +++ b/Mage.Sets/src/mage/cards/t/TwilekSeductress.java @@ -1,71 +1,72 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.BecomesBlockedByCreatureTriggeredAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.combat.MustBeBlockedByAtLeastOneSourceEffect; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.counters.CounterType; - -/** - * - * @author Styxo - */ -public class TwilekSeductress extends CardImpl { - - public TwilekSeductress(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Twi'lek"); - this.subtype.add("Rogue"); - this.power = new MageInt(2); - this.toughness = new MageInt(1); - - // {this} must be blocked it if able. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MustBeBlockedByAtLeastOneSourceEffect(Duration.WhileOnBattlefield))); - - // Whenever {this} becomes blocked by a creature, put a bounty counter on that creature - this.addAbility(new BecomesBlockedByCreatureTriggeredAbility(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance()), false)); - } - - public TwilekSeductress(final TwilekSeductress card) { - super(card); - } - - @Override - public TwilekSeductress copy() { - return new TwilekSeductress(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.BecomesBlockedByCreatureTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.combat.MustBeBlockedByAtLeastOneSourceEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.counters.CounterType; + +/** + * + * @author Styxo + */ +public class TwilekSeductress extends CardImpl { + + public TwilekSeductress(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); + this.subtype.add(SubType.TWILEK); + this.subtype.add(SubType.ROGUE); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // {this} must be blocked it if able. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new MustBeBlockedByAtLeastOneSourceEffect(Duration.WhileOnBattlefield))); + + // Whenever {this} becomes blocked by a creature, put a bounty counter on that creature + this.addAbility(new BecomesBlockedByCreatureTriggeredAbility(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance()), false)); + } + + public TwilekSeductress(final TwilekSeductress card) { + super(card); + } + + @Override + public TwilekSeductress copy() { + return new TwilekSeductress(this); + } +} diff --git a/Mage.Sets/src/mage/cards/t/TwilightDrover.java b/Mage.Sets/src/mage/cards/t/TwilightDrover.java index 3e6b6dfd173..27981436b45 100644 --- a/Mage.Sets/src/mage/cards/t/TwilightDrover.java +++ b/Mage.Sets/src/mage/cards/t/TwilightDrover.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -59,7 +60,7 @@ public class TwilightDrover extends CardImpl { public TwilightDrover(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TwilightShepherd.java b/Mage.Sets/src/mage/cards/t/TwilightShepherd.java index b4fbd281d92..fbdcaf79659 100644 --- a/Mage.Sets/src/mage/cards/t/TwilightShepherd.java +++ b/Mage.Sets/src/mage/cards/t/TwilightShepherd.java @@ -43,6 +43,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -58,7 +59,7 @@ public class TwilightShepherd extends CardImpl { public TwilightShepherd(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TwinbladeSlasher.java b/Mage.Sets/src/mage/cards/t/TwinbladeSlasher.java index d3533421726..ff9e6517c02 100644 --- a/Mage.Sets/src/mage/cards/t/TwinbladeSlasher.java +++ b/Mage.Sets/src/mage/cards/t/TwinbladeSlasher.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class TwinbladeSlasher extends CardImpl { public TwinbladeSlasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TwinningGlass.java b/Mage.Sets/src/mage/cards/t/TwinningGlass.java index a0645cd652c..687ecc7ab79 100644 --- a/Mage.Sets/src/mage/cards/t/TwinningGlass.java +++ b/Mage.Sets/src/mage/cards/t/TwinningGlass.java @@ -1,131 +1,131 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.List; -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.FilterCard; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.CardTypePredicate; -import mage.filter.predicate.mageobject.NamePredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.game.stack.Spell; -import mage.players.Player; -import mage.target.common.TargetCardInHand; -import mage.watchers.common.SpellsCastWatcher; - -/** - * - * @author jeffwadsworth - */ -public class TwinningGlass extends CardImpl { - - public TwinningGlass(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); - - // {1}, {tap}: You may cast a nonland card from your hand without paying its mana cost if it has the same name as a spell that was cast this turn. - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TwinningGlassEffect(), new ManaCostsImpl("{1}")); - ability.addWatcher(new SpellsCastWatcher()); - ability.addCost(new TapSourceCost()); - this.addAbility(ability); - - } - - public TwinningGlass(final TwinningGlass card) { - super(card); - } - - @Override - public TwinningGlass copy() { - return new TwinningGlass(this); - } -} - -class TwinningGlassEffect extends OneShotEffect { - - public TwinningGlassEffect() { - super(Outcome.PutCardInPlay); - this.staticText = "You may cast a nonland card from your hand without paying its mana cost if it has the same name as a spell that was cast this turn"; - } - - public TwinningGlassEffect(final TwinningGlassEffect effect) { - super(effect); - } - - @Override - public TwinningGlassEffect copy() { - return new TwinningGlassEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - FilterCard filterCard = new FilterCard(); - filterCard.add(Predicates.not(new CardTypePredicate(CardType.LAND))); - Permanent twinningGlass = game.getPermanent(source.getSourceId()); - Player controller = game.getPlayer(source.getControllerId()); - SpellsCastWatcher watcher = (SpellsCastWatcher) game.getState().getWatchers().get(SpellsCastWatcher.class.getSimpleName()); - if (twinningGlass == null) { - twinningGlass = (Permanent) game.getLastKnownInformation(source.getSourceId(), Zone.BATTLEFIELD); - } - if (twinningGlass != null - && controller != null - && watcher != null) { - for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) { - List spells = watcher.getSpellsCastThisTurn(playerId); - if (spells != null - && !spells.isEmpty()) { - for (Spell spell : spells) { - filterCard.add(new NamePredicate(spell.getName())); - } - } - } - TargetCardInHand target = new TargetCardInHand(0, 1, filterCard); - if (controller.choose(Outcome.Benefit, controller.getHand(), target, game)) { - Card chosenCard = game.getCard(target.getFirstTarget()); - if (chosenCard != null) { - if (controller.chooseUse(outcome, "Cast the card without paying mana cost?", source, game)) { - return controller.cast(chosenCard.getSpellAbility(), game, true); - } - } - } - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.List; +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.OneShotEffect; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.filter.predicate.mageobject.NamePredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.game.stack.Spell; +import mage.players.Player; +import mage.target.common.TargetCardInHand; +import mage.watchers.common.SpellsCastWatcher; + +/** + * + * @author jeffwadsworth + */ +public class TwinningGlass extends CardImpl { + + public TwinningGlass(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{4}"); + + // {1}, {tap}: You may cast a nonland card from your hand without paying its mana cost if it has the same name as a spell that was cast this turn. + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new TwinningGlassEffect(), new ManaCostsImpl("{1}")); + ability.addWatcher(new SpellsCastWatcher()); + ability.addCost(new TapSourceCost()); + this.addAbility(ability); + + } + + public TwinningGlass(final TwinningGlass card) { + super(card); + } + + @Override + public TwinningGlass copy() { + return new TwinningGlass(this); + } +} + +class TwinningGlassEffect extends OneShotEffect { + + public TwinningGlassEffect() { + super(Outcome.PutCardInPlay); + this.staticText = "You may cast a nonland card from your hand without paying its mana cost if it has the same name as a spell that was cast this turn"; + } + + public TwinningGlassEffect(final TwinningGlassEffect effect) { + super(effect); + } + + @Override + public TwinningGlassEffect copy() { + return new TwinningGlassEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + FilterCard filterCard = new FilterCard(); + filterCard.add(Predicates.not(new CardTypePredicate(CardType.LAND))); + Permanent twinningGlass = game.getPermanent(source.getSourceId()); + Player controller = game.getPlayer(source.getControllerId()); + SpellsCastWatcher watcher = (SpellsCastWatcher) game.getState().getWatchers().get(SpellsCastWatcher.class.getSimpleName()); + if (twinningGlass == null) { + twinningGlass = (Permanent) game.getLastKnownInformation(source.getSourceId(), Zone.BATTLEFIELD); + } + if (twinningGlass != null + && controller != null + && watcher != null) { + for (UUID playerId : game.getState().getPlayersInRange(controller.getId(), game)) { + List spells = watcher.getSpellsCastThisTurn(playerId); + if (spells != null + && !spells.isEmpty()) { + for (Spell spell : spells) { + filterCard.add(new NamePredicate(spell.getName())); + } + } + } + TargetCardInHand target = new TargetCardInHand(0, 1, filterCard); + if (controller.choose(Outcome.Benefit, controller.getHand(), target, game)) { + Card chosenCard = game.getCard(target.getFirstTarget()); + if (chosenCard != null) { + if (controller.chooseUse(outcome, "Cast the card without paying mana cost?", source, game)) { + return controller.cast(chosenCard.getSpellAbility(), game, true); + } + } + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/t/TwinsOfMaurerEstate.java b/Mage.Sets/src/mage/cards/t/TwinsOfMaurerEstate.java index 6ae4482f05a..b5676b5dc9b 100644 --- a/Mage.Sets/src/mage/cards/t/TwinsOfMaurerEstate.java +++ b/Mage.Sets/src/mage/cards/t/TwinsOfMaurerEstate.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MadnessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class TwinsOfMaurerEstate extends CardImpl { public TwinsOfMaurerEstate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/t/TwistedAbomination.java b/Mage.Sets/src/mage/cards/t/TwistedAbomination.java index ef305679492..b92a422eb97 100644 --- a/Mage.Sets/src/mage/cards/t/TwistedAbomination.java +++ b/Mage.Sets/src/mage/cards/t/TwistedAbomination.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SwampcyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class TwistedAbomination extends CardImpl { public TwistedAbomination(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/t/TwistedExperiment.java b/Mage.Sets/src/mage/cards/t/TwistedExperiment.java index 4077e593043..fc8f6544081 100644 --- a/Mage.Sets/src/mage/cards/t/TwistedExperiment.java +++ b/Mage.Sets/src/mage/cards/t/TwistedExperiment.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class TwistedExperiment extends CardImpl { public TwistedExperiment(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature // Enchanted creature gets +3/-1. diff --git a/Mage.Sets/src/mage/cards/t/TwistedJustice.java b/Mage.Sets/src/mage/cards/t/TwistedJustice.java index 56f81639137..236cbe2021f 100644 --- a/Mage.Sets/src/mage/cards/t/TwistedJustice.java +++ b/Mage.Sets/src/mage/cards/t/TwistedJustice.java @@ -1,112 +1,112 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.t; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.CardTypePredicate; -import mage.filter.predicate.permanent.ControllerPredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.TargetPlayer; -import mage.target.common.TargetControlledPermanent; - -/** - * - * @author LevelX2 - */ -public class TwistedJustice extends CardImpl { - - public TwistedJustice(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{U}{B}"); - - // Target player sacrifices a creature. You draw cards equal to that creature's power. - this.getSpellAbility().addEffect(new TwistedJusticeEffect()); - this.getSpellAbility().addTarget(new TargetPlayer()); - } - - public TwistedJustice(final TwistedJustice card) { - super(card); - } - - @Override - public TwistedJustice copy() { - return new TwistedJustice(this); - } -} - -class TwistedJusticeEffect extends OneShotEffect { - - TwistedJusticeEffect() { - super(Outcome.Sacrifice); - staticText = "Target player sacrifices a creature. You draw cards equal to that creature's power"; - } - - TwistedJusticeEffect(TwistedJusticeEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Player player = game.getPlayer(source.getTargets().getFirstTarget()); - Player controller = game.getPlayer(source.getControllerId()); - - FilterControlledPermanent filter = new FilterControlledPermanent("creature"); - filter.add(new CardTypePredicate(CardType.CREATURE)); - filter.add(new ControllerPredicate(TargetController.YOU)); - TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, true); - - //A spell or ability could have removed the only legal target this player - //had, if thats the case this ability should fizzle. - if (target.canChoose(player.getId(), game)) { - player.choose(Outcome.Sacrifice, target, source.getSourceId(), game); - - Permanent permanent = game.getPermanent(target.getFirstTarget()); - if (permanent != null) { - permanent.sacrifice(source.getSourceId(), game); - controller.drawCards(permanent.getPower().getValue(), game); - } - return true; - } - return false; - } - - @Override - public TwistedJusticeEffect copy() { - return new TwistedJusticeEffect(this); - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.t; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.filter.predicate.permanent.ControllerPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.TargetPlayer; +import mage.target.common.TargetControlledPermanent; + +/** + * + * @author LevelX2 + */ +public class TwistedJustice extends CardImpl { + + public TwistedJustice(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{4}{U}{B}"); + + // Target player sacrifices a creature. You draw cards equal to that creature's power. + this.getSpellAbility().addEffect(new TwistedJusticeEffect()); + this.getSpellAbility().addTarget(new TargetPlayer()); + } + + public TwistedJustice(final TwistedJustice card) { + super(card); + } + + @Override + public TwistedJustice copy() { + return new TwistedJustice(this); + } +} + +class TwistedJusticeEffect extends OneShotEffect { + + TwistedJusticeEffect() { + super(Outcome.Sacrifice); + staticText = "Target player sacrifices a creature. You draw cards equal to that creature's power"; + } + + TwistedJusticeEffect(TwistedJusticeEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(source.getTargets().getFirstTarget()); + Player controller = game.getPlayer(source.getControllerId()); + + FilterControlledPermanent filter = new FilterControlledPermanent("creature"); + filter.add(new CardTypePredicate(CardType.CREATURE)); + filter.add(new ControllerPredicate(TargetController.YOU)); + TargetControlledPermanent target = new TargetControlledPermanent(1, 1, filter, true); + + //A spell or ability could have removed the only legal target this player + //had, if thats the case this ability should fizzle. + if (target.canChoose(player.getId(), game)) { + player.choose(Outcome.Sacrifice, target, source.getSourceId(), game); + + Permanent permanent = game.getPermanent(target.getFirstTarget()); + if (permanent != null) { + permanent.sacrifice(source.getSourceId(), game); + controller.drawCards(permanent.getPower().getValue(), game); + } + return true; + } + return false; + } + + @Override + public TwistedJusticeEffect copy() { + return new TwistedJusticeEffect(this); + } + +} diff --git a/Mage.Sets/src/mage/cards/t/TwoHeadedCerberus.java b/Mage.Sets/src/mage/cards/t/TwoHeadedCerberus.java index 27d2c35d586..a79854eb858 100644 --- a/Mage.Sets/src/mage/cards/t/TwoHeadedCerberus.java +++ b/Mage.Sets/src/mage/cards/t/TwoHeadedCerberus.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class TwoHeadedCerberus extends CardImpl { public TwoHeadedCerberus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TwoHeadedDragon.java b/Mage.Sets/src/mage/cards/t/TwoHeadedDragon.java index 7fb79169e80..53828c92d99 100644 --- a/Mage.Sets/src/mage/cards/t/TwoHeadedDragon.java +++ b/Mage.Sets/src/mage/cards/t/TwoHeadedDragon.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class TwoHeadedDragon extends CardImpl { public TwoHeadedDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TwoHeadedGiantOfForiys.java b/Mage.Sets/src/mage/cards/t/TwoHeadedGiantOfForiys.java index 24741d6362b..b616779a7ed 100644 --- a/Mage.Sets/src/mage/cards/t/TwoHeadedGiantOfForiys.java +++ b/Mage.Sets/src/mage/cards/t/TwoHeadedGiantOfForiys.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class TwoHeadedGiantOfForiys extends CardImpl { public TwoHeadedGiantOfForiys(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TwoHeadedSliver.java b/Mage.Sets/src/mage/cards/t/TwoHeadedSliver.java index b5d5ab6e888..d2bf0bbdeaf 100644 --- a/Mage.Sets/src/mage/cards/t/TwoHeadedSliver.java +++ b/Mage.Sets/src/mage/cards/t/TwoHeadedSliver.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -48,7 +49,7 @@ public class TwoHeadedSliver extends CardImpl { public TwoHeadedSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TymaretTheMurderKing.java b/Mage.Sets/src/mage/cards/t/TymaretTheMurderKing.java index 38677db217c..e2b4986194d 100644 --- a/Mage.Sets/src/mage/cards/t/TymaretTheMurderKing.java +++ b/Mage.Sets/src/mage/cards/t/TymaretTheMurderKing.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnSourceFromGraveyardToHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -54,8 +55,8 @@ public class TymaretTheMurderKing extends CardImpl { public TymaretTheMurderKing(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Zombie"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TymnaTheWeaver.java b/Mage.Sets/src/mage/cards/t/TymnaTheWeaver.java index 1ed1d1883d2..443428f24ec 100644 --- a/Mage.Sets/src/mage/cards/t/TymnaTheWeaver.java +++ b/Mage.Sets/src/mage/cards/t/TymnaTheWeaver.java @@ -57,8 +57,8 @@ public class TymnaTheWeaver extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/t/TyphoidRats.java b/Mage.Sets/src/mage/cards/t/TyphoidRats.java index 7c0a0c7b4bd..9b8497ed3f0 100644 --- a/Mage.Sets/src/mage/cards/t/TyphoidRats.java +++ b/Mage.Sets/src/mage/cards/t/TyphoidRats.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class TyphoidRats extends CardImpl { public TyphoidRats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Rat"); + this.subtype.add(SubType.RAT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/t/TyrantOfDiscord.java b/Mage.Sets/src/mage/cards/t/TyrantOfDiscord.java index 1efb884dfd5..f6982524876 100644 --- a/Mage.Sets/src/mage/cards/t/TyrantOfDiscord.java +++ b/Mage.Sets/src/mage/cards/t/TyrantOfDiscord.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.FilterPermanent; import mage.game.Game; @@ -49,7 +50,7 @@ public class TyrantOfDiscord extends CardImpl { public TyrantOfDiscord(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/t/TyrantOfValakut.java b/Mage.Sets/src/mage/cards/t/TyrantOfValakut.java index 49028b6ced4..056bda04cdf 100644 --- a/Mage.Sets/src/mage/cards/t/TyrantOfValakut.java +++ b/Mage.Sets/src/mage/cards/t/TyrantOfValakut.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.SurgeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; /** @@ -48,7 +49,7 @@ public class TyrantOfValakut extends CardImpl { public TyrantOfValakut(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/t/TyrantsFamiliar.java b/Mage.Sets/src/mage/cards/t/TyrantsFamiliar.java index bebf4f97660..b6c126cbc3c 100644 --- a/Mage.Sets/src/mage/cards/t/TyrantsFamiliar.java +++ b/Mage.Sets/src/mage/cards/t/TyrantsFamiliar.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerIdPredicate; import mage.game.Game; @@ -55,7 +56,7 @@ public class TyrantsFamiliar extends CardImpl { public TyrantsFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/u/UbulSarGatekeepers.java b/Mage.Sets/src/mage/cards/u/UbulSarGatekeepers.java index d7e6477fb13..e0ff6926942 100644 --- a/Mage.Sets/src/mage/cards/u/UbulSarGatekeepers.java +++ b/Mage.Sets/src/mage/cards/u/UbulSarGatekeepers.java @@ -60,8 +60,8 @@ public class UbulSarGatekeepers extends CardImpl { public UbulSarGatekeepers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/u/UginTheSpiritDragon.java b/Mage.Sets/src/mage/cards/u/UginTheSpiritDragon.java index 28f190a8a77..f7b0098981a 100644 --- a/Mage.Sets/src/mage/cards/u/UginTheSpiritDragon.java +++ b/Mage.Sets/src/mage/cards/u/UginTheSpiritDragon.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.SuperType; @@ -65,7 +66,7 @@ public class UginTheSpiritDragon extends CardImpl { public UginTheSpiritDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.PLANESWALKER},"{8}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Ugin"); + this.subtype.add(SubType.UGIN); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(7)); diff --git a/Mage.Sets/src/mage/cards/u/UginsConstruct.java b/Mage.Sets/src/mage/cards/u/UginsConstruct.java index 860b4f5bec3..a6cfd556c26 100644 --- a/Mage.Sets/src/mage/cards/u/UginsConstruct.java +++ b/Mage.Sets/src/mage/cards/u/UginsConstruct.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.SacrificeControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorlessPredicate; @@ -52,7 +53,7 @@ public class UginsConstruct extends CardImpl { public UginsConstruct(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/u/UgnaughtScrapWorker.java b/Mage.Sets/src/mage/cards/u/UgnaughtScrapWorker.java index 6a9cf171e84..39ece83b9cf 100644 --- a/Mage.Sets/src/mage/cards/u/UgnaughtScrapWorker.java +++ b/Mage.Sets/src/mage/cards/u/UgnaughtScrapWorker.java @@ -1,73 +1,73 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.u; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.FilterCard; -import mage.filter.predicate.mageobject.SubtypePredicate; - -/** - * - * @author Styxo - */ -public class UgnaughtScrapWorker extends CardImpl { - - private static final FilterCard filter = new FilterCard("Droid spells"); - - static { - filter.add(new SubtypePredicate(SubType.DROID)); - } - - public UgnaughtScrapWorker(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Ugnaught"); - this.subtype.add("Artificier"); - this.power = new MageInt(1); - this.toughness = new MageInt(2); - - // Droid spell cost {1} less to cast. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter, 1))); - } - - public UgnaughtScrapWorker(final UgnaughtScrapWorker card) { - super(card); - } - - @Override - public UgnaughtScrapWorker copy() { - return new UgnaughtScrapWorker(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.u; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.cost.SpellsCostReductionControllerEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.predicate.mageobject.SubtypePredicate; + +/** + * + * @author Styxo + */ +public class UgnaughtScrapWorker extends CardImpl { + + private static final FilterCard filter = new FilterCard("Droid spells"); + + static { + filter.add(new SubtypePredicate(SubType.DROID)); + } + + public UgnaughtScrapWorker(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); + this.subtype.add(SubType.UGNAUGHT); + this.subtype.add(SubType.ARTIFICIER); + this.power = new MageInt(1); + this.toughness = new MageInt(2); + + // Droid spell cost {1} less to cast. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SpellsCostReductionControllerEffect(filter, 1))); + } + + public UgnaughtScrapWorker(final UgnaughtScrapWorker card) { + super(card); + } + + @Override + public UgnaughtScrapWorker copy() { + return new UgnaughtScrapWorker(this); + } +} diff --git a/Mage.Sets/src/mage/cards/u/UktabiDrake.java b/Mage.Sets/src/mage/cards/u/UktabiDrake.java index a5056541296..8231e389c10 100644 --- a/Mage.Sets/src/mage/cards/u/UktabiDrake.java +++ b/Mage.Sets/src/mage/cards/u/UktabiDrake.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class UktabiDrake extends CardImpl { public UktabiDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UktabiEfreet.java b/Mage.Sets/src/mage/cards/u/UktabiEfreet.java index cb19cd594e9..fa741a4401f 100644 --- a/Mage.Sets/src/mage/cards/u/UktabiEfreet.java +++ b/Mage.Sets/src/mage/cards/u/UktabiEfreet.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.CumulativeUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class UktabiEfreet extends CardImpl { public UktabiEfreet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Efreet"); + this.subtype.add(SubType.EFREET); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/u/UktabiOrangutan.java b/Mage.Sets/src/mage/cards/u/UktabiOrangutan.java index 04fe84db6f3..1e0b583b43e 100644 --- a/Mage.Sets/src/mage/cards/u/UktabiOrangutan.java +++ b/Mage.Sets/src/mage/cards/u/UktabiOrangutan.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetArtifactPermanent; /** @@ -45,7 +46,7 @@ public class UktabiOrangutan extends CardImpl { public UktabiOrangutan(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Ape"); + this.subtype.add(SubType.APE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UktabiWildcats.java b/Mage.Sets/src/mage/cards/u/UktabiWildcats.java index 5ae906fe8de..bcda8883663 100644 --- a/Mage.Sets/src/mage/cards/u/UktabiWildcats.java +++ b/Mage.Sets/src/mage/cards/u/UktabiWildcats.java @@ -63,7 +63,7 @@ public class UktabiWildcats extends CardImpl { public UktabiWildcats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/u/UkudCobra.java b/Mage.Sets/src/mage/cards/u/UkudCobra.java index fef2cf5d115..a7bf5b2d804 100644 --- a/Mage.Sets/src/mage/cards/u/UkudCobra.java +++ b/Mage.Sets/src/mage/cards/u/UkudCobra.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class UkudCobra extends CardImpl { public UkudCobra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/u/UlamogTheCeaselessHunger.java b/Mage.Sets/src/mage/cards/u/UlamogTheCeaselessHunger.java index 7cee467cd03..2cb969233e1 100644 --- a/Mage.Sets/src/mage/cards/u/UlamogTheCeaselessHunger.java +++ b/Mage.Sets/src/mage/cards/u/UlamogTheCeaselessHunger.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -61,7 +62,7 @@ public class UlamogTheCeaselessHunger extends CardImpl { public UlamogTheCeaselessHunger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{10}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(10); this.toughness = new MageInt(10); diff --git a/Mage.Sets/src/mage/cards/u/UlamogTheInfiniteGyre.java b/Mage.Sets/src/mage/cards/u/UlamogTheInfiniteGyre.java index 14bac2fa1b2..fd9464bf377 100644 --- a/Mage.Sets/src/mage/cards/u/UlamogTheInfiniteGyre.java +++ b/Mage.Sets/src/mage/cards/u/UlamogTheInfiniteGyre.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.target.TargetPermanent; @@ -51,7 +52,7 @@ public class UlamogTheInfiniteGyre extends CardImpl { public UlamogTheInfiniteGyre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{11}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(10); this.toughness = new MageInt(10); diff --git a/Mage.Sets/src/mage/cards/u/UlamogsCrusher.java b/Mage.Sets/src/mage/cards/u/UlamogsCrusher.java index e9043d7846e..a1f0770bf8a 100644 --- a/Mage.Sets/src/mage/cards/u/UlamogsCrusher.java +++ b/Mage.Sets/src/mage/cards/u/UlamogsCrusher.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.AnnihilatorAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class UlamogsCrusher extends CardImpl { public UlamogsCrusher (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{8}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(8); this.toughness = new MageInt(8); this.addAbility(new AnnihilatorAbility(2)); diff --git a/Mage.Sets/src/mage/cards/u/UlamogsDespoiler.java b/Mage.Sets/src/mage/cards/u/UlamogsDespoiler.java index 3e9543a1cf8..6ceab0409e4 100644 --- a/Mage.Sets/src/mage/cards/u/UlamogsDespoiler.java +++ b/Mage.Sets/src/mage/cards/u/UlamogsDespoiler.java @@ -38,6 +38,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class UlamogsDespoiler extends CardImpl { public UlamogsDespoiler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Processor"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.PROCESSOR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/u/UlamogsNullifier.java b/Mage.Sets/src/mage/cards/u/UlamogsNullifier.java index e311ed2f098..accf3183fd5 100644 --- a/Mage.Sets/src/mage/cards/u/UlamogsNullifier.java +++ b/Mage.Sets/src/mage/cards/u/UlamogsNullifier.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class UlamogsNullifier extends CardImpl { public UlamogsNullifier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Processor"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.PROCESSOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/u/UlamogsReclaimer.java b/Mage.Sets/src/mage/cards/u/UlamogsReclaimer.java index 0d2a648480f..f6c63e38e05 100644 --- a/Mage.Sets/src/mage/cards/u/UlamogsReclaimer.java +++ b/Mage.Sets/src/mage/cards/u/UlamogsReclaimer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterInstantOrSorceryCard; import mage.target.common.TargetCardInYourGraveyard; @@ -49,8 +50,8 @@ public class UlamogsReclaimer extends CardImpl { public UlamogsReclaimer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Processor"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.PROCESSOR); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/u/UlashtTheHateSeed.java b/Mage.Sets/src/mage/cards/u/UlashtTheHateSeed.java index acdf82c9f54..57c30404a73 100644 --- a/Mage.Sets/src/mage/cards/u/UlashtTheHateSeed.java +++ b/Mage.Sets/src/mage/cards/u/UlashtTheHateSeed.java @@ -43,6 +43,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -65,8 +66,8 @@ public class UlashtTheHateSeed extends CardImpl { public UlashtTheHateSeed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Hellion"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HELLION); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/u/UlrichOfTheKrallenhorde.java b/Mage.Sets/src/mage/cards/u/UlrichOfTheKrallenhorde.java index 1ee74cdffa9..ceb5d59f368 100644 --- a/Mage.Sets/src/mage/cards/u/UlrichOfTheKrallenhorde.java +++ b/Mage.Sets/src/mage/cards/u/UlrichOfTheKrallenhorde.java @@ -54,8 +54,8 @@ public class UlrichOfTheKrallenhorde extends CardImpl { public UlrichOfTheKrallenhorde(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/u/UlrichUncontestedAlpha.java b/Mage.Sets/src/mage/cards/u/UlrichUncontestedAlpha.java index 5547033a3f6..fe2e0ac1800 100644 --- a/Mage.Sets/src/mage/cards/u/UlrichUncontestedAlpha.java +++ b/Mage.Sets/src/mage/cards/u/UlrichUncontestedAlpha.java @@ -59,7 +59,7 @@ public class UlrichUncontestedAlpha extends CardImpl { public UlrichUncontestedAlpha(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(6); this.toughness = new MageInt(6); this.color.setRed(true); diff --git a/Mage.Sets/src/mage/cards/u/UlrichsKindred.java b/Mage.Sets/src/mage/cards/u/UlrichsKindred.java index 7b6d46e9b0d..3eee0040b42 100644 --- a/Mage.Sets/src/mage/cards/u/UlrichsKindred.java +++ b/Mage.Sets/src/mage/cards/u/UlrichsKindred.java @@ -61,7 +61,7 @@ public class UlrichsKindred extends CardImpl { public UlrichsKindred(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UlvenwaldAbomination.java b/Mage.Sets/src/mage/cards/u/UlvenwaldAbomination.java index 7bc8bf675e8..9cfb0739657 100644 --- a/Mage.Sets/src/mage/cards/u/UlvenwaldAbomination.java +++ b/Mage.Sets/src/mage/cards/u/UlvenwaldAbomination.java @@ -35,6 +35,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class UlvenwaldAbomination extends CardImpl { public UlvenwaldAbomination(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Eldrazi"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/u/UlvenwaldBear.java b/Mage.Sets/src/mage/cards/u/UlvenwaldBear.java index 63fd38e8cd7..711fd79afde 100644 --- a/Mage.Sets/src/mage/cards/u/UlvenwaldBear.java +++ b/Mage.Sets/src/mage/cards/u/UlvenwaldBear.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class UlvenwaldBear extends CardImpl { public UlvenwaldBear(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Bear"); + this.subtype.add(SubType.BEAR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UlvenwaldCaptive.java b/Mage.Sets/src/mage/cards/u/UlvenwaldCaptive.java index 7526e52238a..e5495cdf8b4 100644 --- a/Mage.Sets/src/mage/cards/u/UlvenwaldCaptive.java +++ b/Mage.Sets/src/mage/cards/u/UlvenwaldCaptive.java @@ -38,6 +38,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -48,8 +49,8 @@ public class UlvenwaldCaptive extends CardImpl { public UlvenwaldCaptive(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Werewolf"); - this.subtype.add("Horror"); + this.subtype.add(SubType.WEREWOLF); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UlvenwaldHydra.java b/Mage.Sets/src/mage/cards/u/UlvenwaldHydra.java index b217370f383..d3b9abe424a 100644 --- a/Mage.Sets/src/mage/cards/u/UlvenwaldHydra.java +++ b/Mage.Sets/src/mage/cards/u/UlvenwaldHydra.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class UlvenwaldHydra extends CardImpl { public UlvenwaldHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/u/UlvenwaldMystics.java b/Mage.Sets/src/mage/cards/u/UlvenwaldMystics.java index 33bef67cec0..09e7612a376 100644 --- a/Mage.Sets/src/mage/cards/u/UlvenwaldMystics.java +++ b/Mage.Sets/src/mage/cards/u/UlvenwaldMystics.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -47,9 +48,9 @@ public class UlvenwaldMystics extends CardImpl { public UlvenwaldMystics(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); + this.subtype.add(SubType.WEREWOLF); this.transformable = true; this.secondSideCardClazz = UlvenwaldPrimordials.class; diff --git a/Mage.Sets/src/mage/cards/u/UlvenwaldObserver.java b/Mage.Sets/src/mage/cards/u/UlvenwaldObserver.java index c698987845f..5f9a619573c 100644 --- a/Mage.Sets/src/mage/cards/u/UlvenwaldObserver.java +++ b/Mage.Sets/src/mage/cards/u/UlvenwaldObserver.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -55,7 +56,7 @@ public class UlvenwaldObserver extends CardImpl { public UlvenwaldObserver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/u/UlvenwaldPrimordials.java b/Mage.Sets/src/mage/cards/u/UlvenwaldPrimordials.java index 7c63ac10216..617d573676e 100644 --- a/Mage.Sets/src/mage/cards/u/UlvenwaldPrimordials.java +++ b/Mage.Sets/src/mage/cards/u/UlvenwaldPrimordials.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class UlvenwaldPrimordials extends CardImpl { public UlvenwaldPrimordials(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.color.setGreen(true); // this card is the second face of double-faced card diff --git a/Mage.Sets/src/mage/cards/u/UlvenwaldTracker.java b/Mage.Sets/src/mage/cards/u/UlvenwaldTracker.java index 17cdcd8b403..a2609221481 100644 --- a/Mage.Sets/src/mage/cards/u/UlvenwaldTracker.java +++ b/Mage.Sets/src/mage/cards/u/UlvenwaldTracker.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.FightTargetsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AnotherTargetPredicate; @@ -52,8 +53,8 @@ public class UlvenwaldTracker extends CardImpl { public UlvenwaldTracker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UmaraEntangler.java b/Mage.Sets/src/mage/cards/u/UmaraEntangler.java index 5a819ac011e..345a2296002 100644 --- a/Mage.Sets/src/mage/cards/u/UmaraEntangler.java +++ b/Mage.Sets/src/mage/cards/u/UmaraEntangler.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,9 +43,9 @@ public class UmaraEntangler extends CardImpl { public UmaraEntangler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); - this.subtype.add("Ally"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); + this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UmaraRaptor.java b/Mage.Sets/src/mage/cards/u/UmaraRaptor.java index be6047f3fa4..278b5468cab 100644 --- a/Mage.Sets/src/mage/cards/u/UmaraRaptor.java +++ b/Mage.Sets/src/mage/cards/u/UmaraRaptor.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,8 +46,8 @@ public class UmaraRaptor extends CardImpl { public UmaraRaptor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Ally"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.ALLY); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UmbraMystic.java b/Mage.Sets/src/mage/cards/u/UmbraMystic.java index 2cc1f0474bc..69f8b71562d 100644 --- a/Mage.Sets/src/mage/cards/u/UmbraMystic.java +++ b/Mage.Sets/src/mage/cards/u/UmbraMystic.java @@ -59,8 +59,8 @@ public class UmbraMystic extends CardImpl { public UmbraMystic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UmbraStalker.java b/Mage.Sets/src/mage/cards/u/UmbraStalker.java index b394535d8be..b0ae34b5ac8 100644 --- a/Mage.Sets/src/mage/cards/u/UmbraStalker.java +++ b/Mage.Sets/src/mage/cards/u/UmbraStalker.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -52,7 +53,7 @@ public class UmbraStalker extends CardImpl { public UmbraStalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}{B}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/u/UmbralMantle.java b/Mage.Sets/src/mage/cards/u/UmbralMantle.java index f5eefac18bf..a24dd15751a 100644 --- a/Mage.Sets/src/mage/cards/u/UmbralMantle.java +++ b/Mage.Sets/src/mage/cards/u/UmbralMantle.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class UmbralMantle extends CardImpl { public UmbralMantle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has "{3}, {untap}: This creature gets +2/+2 until end of turn." Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 2, Duration.EndOfTurn), new ManaCostsImpl("{3}")); diff --git a/Mage.Sets/src/mage/cards/u/UmezawasJitte.java b/Mage.Sets/src/mage/cards/u/UmezawasJitte.java index 26b4acc053e..014c2f77a57 100644 --- a/Mage.Sets/src/mage/cards/u/UmezawasJitte.java +++ b/Mage.Sets/src/mage/cards/u/UmezawasJitte.java @@ -58,7 +58,7 @@ public class UmezawasJitte extends CardImpl { public UmezawasJitte(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Whenever equipped creature deals combat damage, put two charge counters on Umezawa's Jitte. this.addAbility(new UmezawasJitteAbility()); diff --git a/Mage.Sets/src/mage/cards/u/UnblinkingBleb.java b/Mage.Sets/src/mage/cards/u/UnblinkingBleb.java index 0910a953524..d3d846b11c9 100644 --- a/Mage.Sets/src/mage/cards/u/UnblinkingBleb.java +++ b/Mage.Sets/src/mage/cards/u/UnblinkingBleb.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; /** @@ -46,7 +47,7 @@ public class UnblinkingBleb extends CardImpl { public UnblinkingBleb(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/u/UnbreathingHorde.java b/Mage.Sets/src/mage/cards/u/UnbreathingHorde.java index d094681865b..d3021b76d8d 100644 --- a/Mage.Sets/src/mage/cards/u/UnbreathingHorde.java +++ b/Mage.Sets/src/mage/cards/u/UnbreathingHorde.java @@ -54,7 +54,7 @@ public class UnbreathingHorde extends CardImpl { public UnbreathingHorde(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/u/UnbridledGrowth.java b/Mage.Sets/src/mage/cards/u/UnbridledGrowth.java index 57dc533a690..989d0cb9c94 100644 --- a/Mage.Sets/src/mage/cards/u/UnbridledGrowth.java +++ b/Mage.Sets/src/mage/cards/u/UnbridledGrowth.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -57,7 +58,7 @@ public class UnbridledGrowth extends CardImpl { public UnbridledGrowth(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/u/UncleIstvan.java b/Mage.Sets/src/mage/cards/u/UncleIstvan.java index 8fa144759e7..8013328b3ca 100644 --- a/Mage.Sets/src/mage/cards/u/UncleIstvan.java +++ b/Mage.Sets/src/mage/cards/u/UncleIstvan.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PreventAllDamageToSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -49,7 +50,7 @@ public class UncleIstvan extends CardImpl { public UncleIstvan(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{B}{B}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/u/UncontrollableAnger.java b/Mage.Sets/src/mage/cards/u/UncontrollableAnger.java index 6db1adbab67..b06e9590438 100644 --- a/Mage.Sets/src/mage/cards/u/UncontrollableAnger.java +++ b/Mage.Sets/src/mage/cards/u/UncontrollableAnger.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class UncontrollableAnger extends CardImpl { public UncontrollableAnger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Flash (You may cast this spell any time you could cast an instant.) this.addAbility(FlashAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/u/UncontrolledInfestation.java b/Mage.Sets/src/mage/cards/u/UncontrolledInfestation.java index 0bf14b43c9f..548052076f6 100644 --- a/Mage.Sets/src/mage/cards/u/UncontrolledInfestation.java +++ b/Mage.Sets/src/mage/cards/u/UncontrolledInfestation.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.target.TargetPermanent; import mage.target.common.TargetNonBasicLandPermanent; @@ -47,7 +48,7 @@ import mage.target.common.TargetNonBasicLandPermanent; public class UncontrolledInfestation extends CardImpl { public UncontrolledInfestation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant nonbasic land TargetPermanent auraTarget = new TargetNonBasicLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/u/UndeadAlchemist.java b/Mage.Sets/src/mage/cards/u/UndeadAlchemist.java index 67b8b9b11b2..cc269fa6499 100644 --- a/Mage.Sets/src/mage/cards/u/UndeadAlchemist.java +++ b/Mage.Sets/src/mage/cards/u/UndeadAlchemist.java @@ -57,7 +57,7 @@ public class UndeadAlchemist extends CardImpl { public UndeadAlchemist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UndeadExecutioner.java b/Mage.Sets/src/mage/cards/u/UndeadExecutioner.java index c16de1fc142..0764437866d 100644 --- a/Mage.Sets/src/mage/cards/u/UndeadExecutioner.java +++ b/Mage.Sets/src/mage/cards/u/UndeadExecutioner.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class UndeadExecutioner extends CardImpl { public UndeadExecutioner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UndeadGladiator.java b/Mage.Sets/src/mage/cards/u/UndeadGladiator.java index b7b3c895123..03bfc2defba 100644 --- a/Mage.Sets/src/mage/cards/u/UndeadGladiator.java +++ b/Mage.Sets/src/mage/cards/u/UndeadGladiator.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.PhaseStep; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class UndeadGladiator extends CardImpl { public UndeadGladiator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Barbarian"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.BARBARIAN); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UndeadLeotau.java b/Mage.Sets/src/mage/cards/u/UndeadLeotau.java index f55de82071f..eca1df7fb9d 100644 --- a/Mage.Sets/src/mage/cards/u/UndeadLeotau.java +++ b/Mage.Sets/src/mage/cards/u/UndeadLeotau.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class UndeadLeotau extends CardImpl { public UndeadLeotau (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Cat"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/u/UndeadMinotaur.java b/Mage.Sets/src/mage/cards/u/UndeadMinotaur.java index 2bbb90d8f0d..d15efaf1d23 100644 --- a/Mage.Sets/src/mage/cards/u/UndeadMinotaur.java +++ b/Mage.Sets/src/mage/cards/u/UndeadMinotaur.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class UndeadMinotaur extends CardImpl { public UndeadMinotaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Minotaur"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.MINOTAUR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/u/UndeadServant.java b/Mage.Sets/src/mage/cards/u/UndeadServant.java index f81ebc483d0..ca627024b0d 100644 --- a/Mage.Sets/src/mage/cards/u/UndeadServant.java +++ b/Mage.Sets/src/mage/cards/u/UndeadServant.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.NamePredicate; import mage.game.permanent.token.ZombieToken; @@ -53,7 +54,7 @@ public class UndeadServant extends CardImpl { public UndeadServant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UndeadSlayer.java b/Mage.Sets/src/mage/cards/u/UndeadSlayer.java index 068e142f661..fcd27c7a3fa 100644 --- a/Mage.Sets/src/mage/cards/u/UndeadSlayer.java +++ b/Mage.Sets/src/mage/cards/u/UndeadSlayer.java @@ -62,8 +62,8 @@ public class UndeadSlayer extends CardImpl { public UndeadSlayer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UndeadWarchief.java b/Mage.Sets/src/mage/cards/u/UndeadWarchief.java index 260a1776e39..a050ca12088 100644 --- a/Mage.Sets/src/mage/cards/u/UndeadWarchief.java +++ b/Mage.Sets/src/mage/cards/u/UndeadWarchief.java @@ -58,7 +58,7 @@ public class UndeadWarchief extends CardImpl { public UndeadWarchief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UndercityInformer.java b/Mage.Sets/src/mage/cards/u/UndercityInformer.java index fdf79893be8..64ef22c7239 100644 --- a/Mage.Sets/src/mage/cards/u/UndercityInformer.java +++ b/Mage.Sets/src/mage/cards/u/UndercityInformer.java @@ -41,6 +41,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -57,8 +58,8 @@ public class UndercityInformer extends CardImpl { public UndercityInformer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UndercityShade.java b/Mage.Sets/src/mage/cards/u/UndercityShade.java index 892c9c3fb5d..2b833efc8e1 100644 --- a/Mage.Sets/src/mage/cards/u/UndercityShade.java +++ b/Mage.Sets/src/mage/cards/u/UndercityShade.java @@ -45,7 +45,7 @@ public class UndercityShade extends CardImpl { public UndercityShade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Shade"); + this.subtype.add(SubType.SHADE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UndercityTroll.java b/Mage.Sets/src/mage/cards/u/UndercityTroll.java index d99a0ae22ef..73b561007fd 100644 --- a/Mage.Sets/src/mage/cards/u/UndercityTroll.java +++ b/Mage.Sets/src/mage/cards/u/UndercityTroll.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.RenownAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class UndercityTroll extends CardImpl { public UndercityTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Troll"); + this.subtype.add(SubType.TROLL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UndergroundSea.java b/Mage.Sets/src/mage/cards/u/UndergroundSea.java index cfe0860dba7..e21847aa444 100644 --- a/Mage.Sets/src/mage/cards/u/UndergroundSea.java +++ b/Mage.Sets/src/mage/cards/u/UndergroundSea.java @@ -33,6 +33,7 @@ import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class UndergroundSea extends CardImpl { public UndergroundSea(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Island"); - this.subtype.add("Swamp"); + this.subtype.add(SubType.ISLAND); + this.subtype.add(SubType.SWAMP); this.addAbility(new BlueManaAbility()); this.addAbility(new BlackManaAbility()); diff --git a/Mage.Sets/src/mage/cards/u/UndergrowthChampion.java b/Mage.Sets/src/mage/cards/u/UndergrowthChampion.java index 6dccc83490e..7520747ad87 100644 --- a/Mage.Sets/src/mage/cards/u/UndergrowthChampion.java +++ b/Mage.Sets/src/mage/cards/u/UndergrowthChampion.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.PhaseStep; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class UndergrowthChampion extends CardImpl { public UndergrowthChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UndergrowthScavenger.java b/Mage.Sets/src/mage/cards/u/UndergrowthScavenger.java index 77dad32d022..8dc2251f0da 100644 --- a/Mage.Sets/src/mage/cards/u/UndergrowthScavenger.java +++ b/Mage.Sets/src/mage/cards/u/UndergrowthScavenger.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.common.FilterCreatureCard; @@ -47,8 +48,8 @@ public class UndergrowthScavenger extends CardImpl { public UndergrowthScavenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Fungus"); - this.subtype.add("Horror"); + this.subtype.add(SubType.FUNGUS); + this.subtype.add(SubType.HORROR); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/u/Undertaker.java b/Mage.Sets/src/mage/cards/u/Undertaker.java index da51957a3e8..dd5b276a062 100644 --- a/Mage.Sets/src/mage/cards/u/Undertaker.java +++ b/Mage.Sets/src/mage/cards/u/Undertaker.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInYourGraveyard; @@ -52,8 +53,8 @@ public class Undertaker extends CardImpl { public Undertaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UnderworldCerberus.java b/Mage.Sets/src/mage/cards/u/UnderworldCerberus.java index 4a025cb51de..7fe7b0a3f31 100644 --- a/Mage.Sets/src/mage/cards/u/UnderworldCerberus.java +++ b/Mage.Sets/src/mage/cards/u/UnderworldCerberus.java @@ -40,6 +40,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class UnderworldCerberus extends CardImpl { public UnderworldCerberus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{R}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/u/UnderworldCoinsmith.java b/Mage.Sets/src/mage/cards/u/UnderworldCoinsmith.java index f0fa95e0e21..8c8f6d70087 100644 --- a/Mage.Sets/src/mage/cards/u/UnderworldCoinsmith.java +++ b/Mage.Sets/src/mage/cards/u/UnderworldCoinsmith.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.LoseLifeOpponentsEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,8 +50,8 @@ public class UnderworldCoinsmith extends CardImpl { public UnderworldCoinsmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{W}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UnderworldConnections.java b/Mage.Sets/src/mage/cards/u/UnderworldConnections.java index b767e048860..e1c28b23462 100644 --- a/Mage.Sets/src/mage/cards/u/UnderworldConnections.java +++ b/Mage.Sets/src/mage/cards/u/UnderworldConnections.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class UnderworldConnections extends CardImpl { public UnderworldConnections (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); this.color.setBlack(true); // Enchant land diff --git a/Mage.Sets/src/mage/cards/u/UndyingBeast.java b/Mage.Sets/src/mage/cards/u/UndyingBeast.java index bae103fb5ea..74748e6fd3e 100644 --- a/Mage.Sets/src/mage/cards/u/UndyingBeast.java +++ b/Mage.Sets/src/mage/cards/u/UndyingBeast.java @@ -36,6 +36,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -49,7 +50,7 @@ public class UndyingBeast extends CardImpl { public UndyingBeast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UndyingRage.java b/Mage.Sets/src/mage/cards/u/UndyingRage.java index c317afc30bd..6b02621fa14 100644 --- a/Mage.Sets/src/mage/cards/u/UndyingRage.java +++ b/Mage.Sets/src/mage/cards/u/UndyingRage.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class UndyingRage extends CardImpl { public UndyingRage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/u/UneshCriosphinxSovereign.java b/Mage.Sets/src/mage/cards/u/UneshCriosphinxSovereign.java index 13e7a6f0259..4764b10aa44 100644 --- a/Mage.Sets/src/mage/cards/u/UneshCriosphinxSovereign.java +++ b/Mage.Sets/src/mage/cards/u/UneshCriosphinxSovereign.java @@ -75,7 +75,7 @@ public class UneshCriosphinxSovereign extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/u/UnflinchingCourage.java b/Mage.Sets/src/mage/cards/u/UnflinchingCourage.java index b7616963be3..6b443fa376b 100644 --- a/Mage.Sets/src/mage/cards/u/UnflinchingCourage.java +++ b/Mage.Sets/src/mage/cards/u/UnflinchingCourage.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class UnflinchingCourage extends CardImpl { public UnflinchingCourage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/u/Unforge.java b/Mage.Sets/src/mage/cards/u/Unforge.java index 14fee63ca92..183bc779f06 100644 --- a/Mage.Sets/src/mage/cards/u/Unforge.java +++ b/Mage.Sets/src/mage/cards/u/Unforge.java @@ -1,109 +1,109 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.u; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.Effect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.DestroyTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.SubType; -import mage.filter.common.FilterArtifactPermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.target.common.TargetArtifactPermanent; - -/** - * - * @author wetterlicht - */ -public class Unforge extends CardImpl { - - private static FilterArtifactPermanent filter = new FilterArtifactPermanent("equipment"); - - static{ - filter.add(new SubtypePredicate(SubType.EQUIPMENT)); - } - - public Unforge(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}"); - - // Destroy target Equipment. If that Equipment was attached to a creature, Unforge deals 2 damage to that creature. - getSpellAbility().addTarget(new TargetArtifactPermanent(filter)); - getSpellAbility().addEffect(new DestroyTargetEffect()); - getSpellAbility().addEffect(new UnforgeEffect()); - } - - public Unforge(final Unforge card) { - super(card); - } - - @Override - public Unforge copy() { - return new Unforge(this); - } - -} - -class UnforgeEffect extends OneShotEffect{ - - public UnforgeEffect(){ - super(Outcome.Damage); - staticText = "If that Equipment was attached to a creature, Unforge deals 2 damage to that creature."; - } - - public UnforgeEffect(final UnforgeEffect effect){ - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Permanent equipment = game.getPermanentOrLKIBattlefield(this.getTargetPointer().getFirst(game, source)); - if(equipment != null){ - Permanent creature = game.getPermanent(equipment.getAttachedTo()); - if(creature != null){ - creature.damage(2, source.getId(), game, false, true); - return true; - } - } - - return false; - } - - @Override - public Effect copy() { - return new UnforgeEffect(this); - } - - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.u; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.SubType; +import mage.filter.common.FilterArtifactPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.target.common.TargetArtifactPermanent; + +/** + * + * @author wetterlicht + */ +public class Unforge extends CardImpl { + + private static FilterArtifactPermanent filter = new FilterArtifactPermanent("equipment"); + + static{ + filter.add(new SubtypePredicate(SubType.EQUIPMENT)); + } + + public Unforge(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}"); + + // Destroy target Equipment. If that Equipment was attached to a creature, Unforge deals 2 damage to that creature. + getSpellAbility().addTarget(new TargetArtifactPermanent(filter)); + getSpellAbility().addEffect(new DestroyTargetEffect()); + getSpellAbility().addEffect(new UnforgeEffect()); + } + + public Unforge(final Unforge card) { + super(card); + } + + @Override + public Unforge copy() { + return new Unforge(this); + } + +} + +class UnforgeEffect extends OneShotEffect{ + + public UnforgeEffect(){ + super(Outcome.Damage); + staticText = "If that Equipment was attached to a creature, Unforge deals 2 damage to that creature."; + } + + public UnforgeEffect(final UnforgeEffect effect){ + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Permanent equipment = game.getPermanentOrLKIBattlefield(this.getTargetPointer().getFirst(game, source)); + if(equipment != null){ + Permanent creature = game.getPermanent(equipment.getAttachedTo()); + if(creature != null){ + creature.damage(2, source.getId(), game, false, true); + return true; + } + } + + return false; + } + + @Override + public Effect copy() { + return new UnforgeEffect(this); + } + + +} diff --git a/Mage.Sets/src/mage/cards/u/UnhallowedCathar.java b/Mage.Sets/src/mage/cards/u/UnhallowedCathar.java index 8d206b58dbf..d310449e63e 100644 --- a/Mage.Sets/src/mage/cards/u/UnhallowedCathar.java +++ b/Mage.Sets/src/mage/cards/u/UnhallowedCathar.java @@ -33,6 +33,7 @@ import mage.abilities.common.CantBlockAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class UnhallowedCathar extends CardImpl { public UnhallowedCathar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Zombie"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.SOLDIER); this.color.setBlack(true); // this card is the second face of double-faced card diff --git a/Mage.Sets/src/mage/cards/u/UnhallowedPact.java b/Mage.Sets/src/mage/cards/u/UnhallowedPact.java index f32b2062d66..cc0041ae487 100644 --- a/Mage.Sets/src/mage/cards/u/UnhallowedPact.java +++ b/Mage.Sets/src/mage/cards/u/UnhallowedPact.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; @@ -47,7 +48,7 @@ public class UnhallowedPact extends CardImpl { public UnhallowedPact(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/u/UnholyFiend.java b/Mage.Sets/src/mage/cards/u/UnholyFiend.java index 029fb070087..9aeb8249eb1 100644 --- a/Mage.Sets/src/mage/cards/u/UnholyFiend.java +++ b/Mage.Sets/src/mage/cards/u/UnholyFiend.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class UnholyFiend extends CardImpl { public UnholyFiend(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.color.setBlack(true); diff --git a/Mage.Sets/src/mage/cards/u/UnholyStrength.java b/Mage.Sets/src/mage/cards/u/UnholyStrength.java index 0d27b146e8c..c58dab0eb05 100644 --- a/Mage.Sets/src/mage/cards/u/UnholyStrength.java +++ b/Mage.Sets/src/mage/cards/u/UnholyStrength.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class UnholyStrength extends CardImpl { public UnholyStrength(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/u/UnimpededTrespasser.java b/Mage.Sets/src/mage/cards/u/UnimpededTrespasser.java index d594e3c8ec3..368a932264d 100644 --- a/Mage.Sets/src/mage/cards/u/UnimpededTrespasser.java +++ b/Mage.Sets/src/mage/cards/u/UnimpededTrespasser.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.CantBeBlockedSourceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class UnimpededTrespasser extends CardImpl { public UnimpededTrespasser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); this.color.setBlue(true); diff --git a/Mage.Sets/src/mage/cards/u/UninvitedGeist.java b/Mage.Sets/src/mage/cards/u/UninvitedGeist.java index 4f0c9ab12c6..4dd1c9776e1 100644 --- a/Mage.Sets/src/mage/cards/u/UninvitedGeist.java +++ b/Mage.Sets/src/mage/cards/u/UninvitedGeist.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class UninvitedGeist extends CardImpl { public UninvitedGeist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UnityOfTheDroids.java b/Mage.Sets/src/mage/cards/u/UnityOfTheDroids.java index a06ee27ddd7..9933be7216b 100644 --- a/Mage.Sets/src/mage/cards/u/UnityOfTheDroids.java +++ b/Mage.Sets/src/mage/cards/u/UnityOfTheDroids.java @@ -1,89 +1,89 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.u; - -import java.util.UUID; -import mage.abilities.Mode; -import mage.abilities.dynamicvalue.common.StaticValue; -import mage.abilities.effects.common.DestroyTargetEffect; -import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; -import mage.abilities.effects.common.PreventDamageToTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; -import mage.filter.FilterCard; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.Predicates; -import mage.filter.predicate.mageobject.CardTypePredicate; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class UnityOfTheDroids extends CardImpl { - - private static final FilterCreaturePermanent artifactCreatureFilter = new FilterCreaturePermanent("artifact creature"); - private static final FilterCreaturePermanent nonArtifactCreatureFilter = new FilterCreaturePermanent("nonartifact creature"); - - static { - artifactCreatureFilter.add(new CardTypePredicate(CardType.ARTIFACT)); - nonArtifactCreatureFilter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT))); - - } - - public UnityOfTheDroids(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{W}{U}{B}"); - - // Choose one - Prevent all damage that would be dealt to target artifact creature this turn. - this.getSpellAbility().addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn)); - this.getSpellAbility().addTarget(new TargetCreaturePermanent(artifactCreatureFilter)); - - // Look at the top four cards of your library. Put one of them into your hand and the rest into your graveyard. - Mode mode = new Mode(); - mode.getEffects().add(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1), new FilterCard(), Zone.GRAVEYARD, false, false)); - this.getSpellAbility().addMode(mode); - - // Destroy target nonartifact creature. - mode = new Mode(); - mode.getEffects().add(new DestroyTargetEffect()); - mode.getTargets().add(new TargetCreaturePermanent(nonArtifactCreatureFilter)); - this.getSpellAbility().addMode(mode); - } - - public UnityOfTheDroids(final UnityOfTheDroids card) { - super(card); - } - - @Override - public UnityOfTheDroids copy() { - return new UnityOfTheDroids(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.u; + +import java.util.UUID; +import mage.abilities.Mode; +import mage.abilities.dynamicvalue.common.StaticValue; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; +import mage.abilities.effects.common.PreventDamageToTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.Predicates; +import mage.filter.predicate.mageobject.CardTypePredicate; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class UnityOfTheDroids extends CardImpl { + + private static final FilterCreaturePermanent artifactCreatureFilter = new FilterCreaturePermanent("artifact creature"); + private static final FilterCreaturePermanent nonArtifactCreatureFilter = new FilterCreaturePermanent("nonartifact creature"); + + static { + artifactCreatureFilter.add(new CardTypePredicate(CardType.ARTIFACT)); + nonArtifactCreatureFilter.add(Predicates.not(new CardTypePredicate(CardType.ARTIFACT))); + + } + + public UnityOfTheDroids(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{W}{U}{B}"); + + // Choose one - Prevent all damage that would be dealt to target artifact creature this turn. + this.getSpellAbility().addEffect(new PreventDamageToTargetEffect(Duration.EndOfTurn)); + this.getSpellAbility().addTarget(new TargetCreaturePermanent(artifactCreatureFilter)); + + // Look at the top four cards of your library. Put one of them into your hand and the rest into your graveyard. + Mode mode = new Mode(); + mode.getEffects().add(new LookLibraryAndPickControllerEffect(new StaticValue(4), false, new StaticValue(1), new FilterCard(), Zone.GRAVEYARD, false, false)); + this.getSpellAbility().addMode(mode); + + // Destroy target nonartifact creature. + mode = new Mode(); + mode.getEffects().add(new DestroyTargetEffect()); + mode.getTargets().add(new TargetCreaturePermanent(nonArtifactCreatureFilter)); + this.getSpellAbility().addMode(mode); + } + + public UnityOfTheDroids(final UnityOfTheDroids card) { + super(card); + } + + @Override + public UnityOfTheDroids copy() { + return new UnityOfTheDroids(this); + } +} diff --git a/Mage.Sets/src/mage/cards/u/UnlicensedDisintegration.java b/Mage.Sets/src/mage/cards/u/UnlicensedDisintegration.java index 18d0e11c1f9..585b1883580 100644 --- a/Mage.Sets/src/mage/cards/u/UnlicensedDisintegration.java +++ b/Mage.Sets/src/mage/cards/u/UnlicensedDisintegration.java @@ -1,68 +1,68 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.u; - -import java.util.UUID; -import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; -import mage.abilities.decorator.ConditionalOneShotEffect; -import mage.abilities.effects.common.DamageTargetControllerEffect; -import mage.abilities.effects.common.DestroyTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.common.FilterControlledArtifactPermanent; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author emerald000 - */ -public class UnlicensedDisintegration extends CardImpl { - - public UnlicensedDisintegration(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{B}{R}"); - - // Destroy target creature. If you control an artifact, Unlicensed Disintegration deals 3 damage to that creature's controller. - this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - this.getSpellAbility().addEffect(new DestroyTargetEffect()); - this.getSpellAbility().addEffect(new ConditionalOneShotEffect( - new DamageTargetControllerEffect(3), - new PermanentsOnTheBattlefieldCondition(new FilterControlledArtifactPermanent()), - "If you control an artifact, Unlicensed Disintegration deals 3 damage to that creature's controller")); - - } - - public UnlicensedDisintegration(final UnlicensedDisintegration card) { - super(card); - } - - @Override - public UnlicensedDisintegration copy() { - return new UnlicensedDisintegration(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.u; + +import java.util.UUID; +import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition; +import mage.abilities.decorator.ConditionalOneShotEffect; +import mage.abilities.effects.common.DamageTargetControllerEffect; +import mage.abilities.effects.common.DestroyTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.common.FilterControlledArtifactPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author emerald000 + */ +public class UnlicensedDisintegration extends CardImpl { + + public UnlicensedDisintegration(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{B}{R}"); + + // Destroy target creature. If you control an artifact, Unlicensed Disintegration deals 3 damage to that creature's controller. + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + this.getSpellAbility().addEffect(new DestroyTargetEffect()); + this.getSpellAbility().addEffect(new ConditionalOneShotEffect( + new DamageTargetControllerEffect(3), + new PermanentsOnTheBattlefieldCondition(new FilterControlledArtifactPermanent()), + "If you control an artifact, Unlicensed Disintegration deals 3 damage to that creature's controller")); + + } + + public UnlicensedDisintegration(final UnlicensedDisintegration card) { + super(card); + } + + @Override + public UnlicensedDisintegration copy() { + return new UnlicensedDisintegration(this); + } +} diff --git a/Mage.Sets/src/mage/cards/u/UnquenchableThirst.java b/Mage.Sets/src/mage/cards/u/UnquenchableThirst.java index 9933f0606a4..238565428e0 100644 --- a/Mage.Sets/src/mage/cards/u/UnquenchableThirst.java +++ b/Mage.Sets/src/mage/cards/u/UnquenchableThirst.java @@ -68,7 +68,7 @@ public class UnquenchableThirst extends CardImpl { public UnquenchableThirst(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/u/UnquestionedAuthority.java b/Mage.Sets/src/mage/cards/u/UnquestionedAuthority.java index ada9351e22e..6a7408a02e2 100644 --- a/Mage.Sets/src/mage/cards/u/UnquestionedAuthority.java +++ b/Mage.Sets/src/mage/cards/u/UnquestionedAuthority.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; @@ -54,7 +55,7 @@ public class UnquestionedAuthority extends CardImpl { public UnquestionedAuthority(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/u/UnravelingMummy.java b/Mage.Sets/src/mage/cards/u/UnravelingMummy.java index fb6e4ececab..5534479a5c1 100644 --- a/Mage.Sets/src/mage/cards/u/UnravelingMummy.java +++ b/Mage.Sets/src/mage/cards/u/UnravelingMummy.java @@ -1,94 +1,94 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.u; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; -import mage.abilities.keyword.DeathtouchAbility; -import mage.abilities.keyword.LifelinkAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.filter.predicate.permanent.AttackingPredicate; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author LevelX2 - */ -public class UnravelingMummy extends CardImpl { - - private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking Zombie"); - - static { - filter.add(new AttackingPredicate()); - filter.add(new SubtypePredicate(SubType.ZOMBIE)); - } - - public UnravelingMummy(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{B}"); - - this.subtype.add("Zombie"); - this.power = new MageInt(2); - this.toughness = new MageInt(3); - - // {1}{W}: Target attacking Zombie gains lifelink until end of turn. - Effect effect = new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn); - effect.setText("Target attacking Zombie gains lifelink until end of turn."); - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{1}{W}")); - ability.addTarget(new TargetCreaturePermanent(filter)); - this.addAbility(ability); - - // {1}{B}: Target attacking Zombie gains deathtouch until end of turn. - effect = new GainAbilityTargetEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn); - effect.setText("Target attacking Zombie gains deathtouch until end of turn. (Any amount of damage it deals to a creature is enough to destroy it.)"); - ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{1}{B}")); - ability.addTarget(new TargetCreaturePermanent(filter)); - this.addAbility(ability); - - } - - public UnravelingMummy(final UnravelingMummy card) { - super(card); - } - - @Override - public UnravelingMummy copy() { - return new UnravelingMummy(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.u; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.DeathtouchAbility; +import mage.abilities.keyword.LifelinkAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.predicate.permanent.AttackingPredicate; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class UnravelingMummy extends CardImpl { + + private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("attacking Zombie"); + + static { + filter.add(new AttackingPredicate()); + filter.add(new SubtypePredicate(SubType.ZOMBIE)); + } + + public UnravelingMummy(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}{B}"); + + this.subtype.add(SubType.ZOMBIE); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // {1}{W}: Target attacking Zombie gains lifelink until end of turn. + Effect effect = new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn); + effect.setText("Target attacking Zombie gains lifelink until end of turn."); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{1}{W}")); + ability.addTarget(new TargetCreaturePermanent(filter)); + this.addAbility(ability); + + // {1}{B}: Target attacking Zombie gains deathtouch until end of turn. + effect = new GainAbilityTargetEffect(DeathtouchAbility.getInstance(), Duration.EndOfTurn); + effect.setText("Target attacking Zombie gains deathtouch until end of turn. (Any amount of damage it deals to a creature is enough to destroy it.)"); + ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{1}{B}")); + ability.addTarget(new TargetCreaturePermanent(filter)); + this.addAbility(ability); + + } + + public UnravelingMummy(final UnravelingMummy card) { + super(card); + } + + @Override + public UnravelingMummy copy() { + return new UnravelingMummy(this); + } +} diff --git a/Mage.Sets/src/mage/cards/u/UnrulyMob.java b/Mage.Sets/src/mage/cards/u/UnrulyMob.java index 1af9832b211..9159439a2fc 100644 --- a/Mage.Sets/src/mage/cards/u/UnrulyMob.java +++ b/Mage.Sets/src/mage/cards/u/UnrulyMob.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -55,7 +56,7 @@ public class UnrulyMob extends CardImpl { public UnrulyMob(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UnrulySureshot.java b/Mage.Sets/src/mage/cards/u/UnrulySureshot.java index 5a07035f0db..8c6bb4cbacf 100644 --- a/Mage.Sets/src/mage/cards/u/UnrulySureshot.java +++ b/Mage.Sets/src/mage/cards/u/UnrulySureshot.java @@ -1,86 +1,87 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.u; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.DamageTargetEffect; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.CounterPredicate; -import mage.target.common.TargetCreaturePermanent; -import mage.target.common.TargetOpponentsCreaturePermanent; - -/** - * - * @author Styxo - */ -public class UnrulySureshot extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with a bounty counter on it"); - - static { - filter.add(new CounterPredicate(CounterType.BOUNTY)); - } - - public UnrulySureshot(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Human"); - this.subtype.add("Hunter"); - this.power = new MageInt(4); - this.toughness = new MageInt(4); - - // When Unruly Sureshot enters the battlefield, put a bounty counter on target creature an opponent controls. - Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance())); - ability.addTarget(new TargetOpponentsCreaturePermanent()); - this.addAbility(ability); - - // {3}{R}: Unruly Sureshot deals 2 damage to target creature with a bounty counter on it. - ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{3}{R}")); - ability.addTarget(new TargetCreaturePermanent(filter)); - this.addAbility(ability); - } - - public UnrulySureshot(final UnrulySureshot card) { - super(card); - } - - @Override - public UnrulySureshot copy() { - return new UnrulySureshot(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.u; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.CounterPredicate; +import mage.target.common.TargetCreaturePermanent; +import mage.target.common.TargetOpponentsCreaturePermanent; + +/** + * + * @author Styxo + */ +public class UnrulySureshot extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with a bounty counter on it"); + + static { + filter.add(new CounterPredicate(CounterType.BOUNTY)); + } + + public UnrulySureshot(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.HUNTER); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // When Unruly Sureshot enters the battlefield, put a bounty counter on target creature an opponent controls. + Ability ability = new EntersBattlefieldTriggeredAbility(new AddCountersTargetEffect(CounterType.BOUNTY.createInstance())); + ability.addTarget(new TargetOpponentsCreaturePermanent()); + this.addAbility(ability); + + // {3}{R}: Unruly Sureshot deals 2 damage to target creature with a bounty counter on it. + ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(2), new ManaCostsImpl("{3}{R}")); + ability.addTarget(new TargetCreaturePermanent(filter)); + this.addAbility(ability); + } + + public UnrulySureshot(final UnrulySureshot card) { + super(card); + } + + @Override + public UnrulySureshot copy() { + return new UnrulySureshot(this); + } +} diff --git a/Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java b/Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java index 56d3a648863..9359dea5e00 100644 --- a/Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java +++ b/Mage.Sets/src/mage/cards/u/UnscytheKillerOfKings.java @@ -62,7 +62,7 @@ public class UnscytheKillerOfKings extends CardImpl { public UnscytheKillerOfKings(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{U}{B}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +3/+3 and has first strike. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 3))); diff --git a/Mage.Sets/src/mage/cards/u/UnseenWalker.java b/Mage.Sets/src/mage/cards/u/UnseenWalker.java index aeeeafbd871..11369e918fb 100644 --- a/Mage.Sets/src/mage/cards/u/UnseenWalker.java +++ b/Mage.Sets/src/mage/cards/u/UnseenWalker.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class UnseenWalker extends CardImpl { public UnseenWalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UnstableHulk.java b/Mage.Sets/src/mage/cards/u/UnstableHulk.java index bdafdcbfef3..8ee88befbc3 100644 --- a/Mage.Sets/src/mage/cards/u/UnstableHulk.java +++ b/Mage.Sets/src/mage/cards/u/UnstableHulk.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -51,8 +52,8 @@ public class UnstableHulk extends CardImpl { public UnstableHulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UnstableMutation.java b/Mage.Sets/src/mage/cards/u/UnstableMutation.java index dfbab172f62..e80aad5dbae 100644 --- a/Mage.Sets/src/mage/cards/u/UnstableMutation.java +++ b/Mage.Sets/src/mage/cards/u/UnstableMutation.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class UnstableMutation extends CardImpl { public UnstableMutation(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/u/UnstableShapeshifter.java b/Mage.Sets/src/mage/cards/u/UnstableShapeshifter.java index b5b04e1791c..f5bee08e2e8 100644 --- a/Mage.Sets/src/mage/cards/u/UnstableShapeshifter.java +++ b/Mage.Sets/src/mage/cards/u/UnstableShapeshifter.java @@ -36,6 +36,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import static mage.cards.u.UnstableShapeshifter.filterAnotherCreature; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.SetTargetPointer; @@ -60,7 +61,7 @@ public class UnstableShapeshifter extends CardImpl { public UnstableShapeshifter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UnstoppableAsh.java b/Mage.Sets/src/mage/cards/u/UnstoppableAsh.java index a7d0acdd2fe..1dd622a934f 100644 --- a/Mage.Sets/src/mage/cards/u/UnstoppableAsh.java +++ b/Mage.Sets/src/mage/cards/u/UnstoppableAsh.java @@ -59,8 +59,8 @@ public class UnstoppableAsh extends CardImpl { public UnstoppableAsh(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/u/UntamedHunger.java b/Mage.Sets/src/mage/cards/u/UntamedHunger.java index f916875b726..3e442a8d324 100644 --- a/Mage.Sets/src/mage/cards/u/UntamedHunger.java +++ b/Mage.Sets/src/mage/cards/u/UntamedHunger.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -53,7 +54,7 @@ public class UntamedHunger extends CardImpl { public UntamedHunger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/u/UnwaveringInitiate.java b/Mage.Sets/src/mage/cards/u/UnwaveringInitiate.java index 7d14535e8c9..a85d24b8d97 100644 --- a/Mage.Sets/src/mage/cards/u/UnwaveringInitiate.java +++ b/Mage.Sets/src/mage/cards/u/UnwaveringInitiate.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class UnwaveringInitiate extends CardImpl { public UnwaveringInitiate(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UnworthyDead.java b/Mage.Sets/src/mage/cards/u/UnworthyDead.java index 987b2d561d5..5e4339eaf9d 100644 --- a/Mage.Sets/src/mage/cards/u/UnworthyDead.java +++ b/Mage.Sets/src/mage/cards/u/UnworthyDead.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class UnworthyDead extends CardImpl { public UnworthyDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UnyaroBees.java b/Mage.Sets/src/mage/cards/u/UnyaroBees.java index 1647245fc81..0f1f58ae3a0 100644 --- a/Mage.Sets/src/mage/cards/u/UnyaroBees.java +++ b/Mage.Sets/src/mage/cards/u/UnyaroBees.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -51,7 +52,7 @@ public class UnyaroBees extends CardImpl { public UnyaroBees(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UnyaroGriffin.java b/Mage.Sets/src/mage/cards/u/UnyaroGriffin.java index ee806310f9b..cb59b65d46b 100644 --- a/Mage.Sets/src/mage/cards/u/UnyaroGriffin.java +++ b/Mage.Sets/src/mage/cards/u/UnyaroGriffin.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.predicate.Predicates; @@ -61,7 +62,7 @@ public class UnyaroGriffin extends CardImpl { public UnyaroGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UnyieldingKrumar.java b/Mage.Sets/src/mage/cards/u/UnyieldingKrumar.java index 5ecdb62db9c..dfc55c8f8f4 100644 --- a/Mage.Sets/src/mage/cards/u/UnyieldingKrumar.java +++ b/Mage.Sets/src/mage/cards/u/UnyieldingKrumar.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class UnyieldingKrumar extends CardImpl { public UnyieldingKrumar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Orc"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/u/UpdraftElemental.java b/Mage.Sets/src/mage/cards/u/UpdraftElemental.java index 5d1a7674868..81f37e25b0b 100644 --- a/Mage.Sets/src/mage/cards/u/UpdraftElemental.java +++ b/Mage.Sets/src/mage/cards/u/UpdraftElemental.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class UpdraftElemental extends CardImpl { public UpdraftElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/u/UrabraskTheHidden.java b/Mage.Sets/src/mage/cards/u/UrabraskTheHidden.java index c7922ad098e..671791e7c7b 100644 --- a/Mage.Sets/src/mage/cards/u/UrabraskTheHidden.java +++ b/Mage.Sets/src/mage/cards/u/UrabraskTheHidden.java @@ -53,7 +53,7 @@ public class UrabraskTheHidden extends CardImpl { public UrabraskTheHidden(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Praetor"); + this.subtype.add(SubType.PRAETOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/u/UrbanBurgeoning.java b/Mage.Sets/src/mage/cards/u/UrbanBurgeoning.java index f33758431bf..edd2f4421ea 100644 --- a/Mage.Sets/src/mage/cards/u/UrbanBurgeoning.java +++ b/Mage.Sets/src/mage/cards/u/UrbanBurgeoning.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -60,7 +61,7 @@ public class UrbanBurgeoning extends CardImpl { public UrbanBurgeoning(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/u/UrbisProtector.java b/Mage.Sets/src/mage/cards/u/UrbisProtector.java index 183267ded84..6c5ca19fb9b 100644 --- a/Mage.Sets/src/mage/cards/u/UrbisProtector.java +++ b/Mage.Sets/src/mage/cards/u/UrbisProtector.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.AngelToken; /** @@ -44,8 +45,8 @@ public class UrbisProtector extends CardImpl { public UrbisProtector(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UrborgDrake.java b/Mage.Sets/src/mage/cards/u/UrborgDrake.java index 82fdda9ac8d..5a525d19b63 100644 --- a/Mage.Sets/src/mage/cards/u/UrborgDrake.java +++ b/Mage.Sets/src/mage/cards/u/UrborgDrake.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class UrborgDrake extends CardImpl { public UrborgDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{B}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/u/UrborgElf.java b/Mage.Sets/src/mage/cards/u/UrborgElf.java index e5b20c4d3a5..6be266b82fb 100644 --- a/Mage.Sets/src/mage/cards/u/UrborgElf.java +++ b/Mage.Sets/src/mage/cards/u/UrborgElf.java @@ -35,6 +35,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class UrborgElf extends CardImpl { public UrborgElf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UrborgEmissary.java b/Mage.Sets/src/mage/cards/u/UrborgEmissary.java index 0324c4f4c58..f8690f1e8a4 100644 --- a/Mage.Sets/src/mage/cards/u/UrborgEmissary.java +++ b/Mage.Sets/src/mage/cards/u/UrborgEmissary.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetPermanent; /** @@ -49,8 +50,8 @@ public class UrborgEmissary extends CardImpl { public UrborgEmissary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UrborgMindsucker.java b/Mage.Sets/src/mage/cards/u/UrborgMindsucker.java index 5227c7942d1..e828d870f45 100644 --- a/Mage.Sets/src/mage/cards/u/UrborgMindsucker.java +++ b/Mage.Sets/src/mage/cards/u/UrborgMindsucker.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetOpponent; @@ -48,7 +49,7 @@ public class UrborgMindsucker extends CardImpl { public UrborgMindsucker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UrborgPhantom.java b/Mage.Sets/src/mage/cards/u/UrborgPhantom.java index c5b0fe7eb2d..f800c151c5d 100644 --- a/Mage.Sets/src/mage/cards/u/UrborgPhantom.java +++ b/Mage.Sets/src/mage/cards/u/UrborgPhantom.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.PreventCombatDamageToSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class UrborgPhantom extends CardImpl { public UrborgPhantom(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Spirit"); - this.subtype.add("Minion"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.MINION); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UrborgShambler.java b/Mage.Sets/src/mage/cards/u/UrborgShambler.java index f224fa006b8..b58e6190ddf 100644 --- a/Mage.Sets/src/mage/cards/u/UrborgShambler.java +++ b/Mage.Sets/src/mage/cards/u/UrborgShambler.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -55,7 +56,7 @@ public class UrborgShambler extends CardImpl { public UrborgShambler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/u/UrborgSkeleton.java b/Mage.Sets/src/mage/cards/u/UrborgSkeleton.java index bb5745876a5..8a00564be41 100644 --- a/Mage.Sets/src/mage/cards/u/UrborgSkeleton.java +++ b/Mage.Sets/src/mage/cards/u/UrborgSkeleton.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -53,7 +54,7 @@ public class UrborgSkeleton extends CardImpl { public UrborgSkeleton(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/u/UrborgSyphonMage.java b/Mage.Sets/src/mage/cards/u/UrborgSyphonMage.java index b236b4db6ab..d50fc8fbc55 100644 --- a/Mage.Sets/src/mage/cards/u/UrborgSyphonMage.java +++ b/Mage.Sets/src/mage/cards/u/UrborgSyphonMage.java @@ -39,6 +39,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -52,8 +53,8 @@ public class UrborgSyphonMage extends CardImpl { public UrborgSyphonMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UrilTheMiststalker.java b/Mage.Sets/src/mage/cards/u/UrilTheMiststalker.java index c056fb09433..84c61b2e805 100644 --- a/Mage.Sets/src/mage/cards/u/UrilTheMiststalker.java +++ b/Mage.Sets/src/mage/cards/u/UrilTheMiststalker.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class UrilTheMiststalker extends CardImpl { public UrilTheMiststalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{G}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/u/Ursapine.java b/Mage.Sets/src/mage/cards/u/Ursapine.java index d82e647fe78..f1ef4d30983 100644 --- a/Mage.Sets/src/mage/cards/u/Ursapine.java +++ b/Mage.Sets/src/mage/cards/u/Ursapine.java @@ -46,7 +46,7 @@ public class Ursapine extends CardImpl { public Ursapine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/u/UrsineFylgja.java b/Mage.Sets/src/mage/cards/u/UrsineFylgja.java index d578fcccf51..b6f0f976bdc 100644 --- a/Mage.Sets/src/mage/cards/u/UrsineFylgja.java +++ b/Mage.Sets/src/mage/cards/u/UrsineFylgja.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -51,8 +52,8 @@ public class UrsineFylgja extends CardImpl { public UrsineFylgja(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Spirit"); - this.subtype.add("Bear"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.BEAR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/u/UthdenTroll.java b/Mage.Sets/src/mage/cards/u/UthdenTroll.java index fcf19ceadd6..c9e7f9dcc5d 100644 --- a/Mage.Sets/src/mage/cards/u/UthdenTroll.java +++ b/Mage.Sets/src/mage/cards/u/UthdenTroll.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class UthdenTroll extends CardImpl { public UthdenTroll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Troll"); + this.subtype.add(SubType.TROLL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UtopiaMycon.java b/Mage.Sets/src/mage/cards/u/UtopiaMycon.java index f519df1ec8e..80b84f33ef8 100644 --- a/Mage.Sets/src/mage/cards/u/UtopiaMycon.java +++ b/Mage.Sets/src/mage/cards/u/UtopiaMycon.java @@ -64,7 +64,7 @@ public class UtopiaMycon extends CardImpl { public UtopiaMycon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UtopiaSprawl.java b/Mage.Sets/src/mage/cards/u/UtopiaSprawl.java index 7aaf46d503c..dcbba8453dd 100644 --- a/Mage.Sets/src/mage/cards/u/UtopiaSprawl.java +++ b/Mage.Sets/src/mage/cards/u/UtopiaSprawl.java @@ -59,7 +59,7 @@ public class UtopiaSprawl extends CardImpl { public UtopiaSprawl(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant Forest TargetPermanent auraTarget = new TargetLandPermanent(filter); diff --git a/Mage.Sets/src/mage/cards/u/UtopiaTree.java b/Mage.Sets/src/mage/cards/u/UtopiaTree.java index 5821339a413..ba19ade67f2 100644 --- a/Mage.Sets/src/mage/cards/u/UtopiaTree.java +++ b/Mage.Sets/src/mage/cards/u/UtopiaTree.java @@ -33,6 +33,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class UtopiaTree extends CardImpl { public UtopiaTree(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Plant"); + this.subtype.add(SubType.PLANT); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UtopiaVow.java b/Mage.Sets/src/mage/cards/u/UtopiaVow.java index 177c0d6e630..1187bbc9cf2 100644 --- a/Mage.Sets/src/mage/cards/u/UtopiaVow.java +++ b/Mage.Sets/src/mage/cards/u/UtopiaVow.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class UtopiaVow extends CardImpl { public UtopiaVow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/u/UtvaraHellkite.java b/Mage.Sets/src/mage/cards/u/UtvaraHellkite.java index 3a24c082596..981cc36eaa0 100644 --- a/Mage.Sets/src/mage/cards/u/UtvaraHellkite.java +++ b/Mage.Sets/src/mage/cards/u/UtvaraHellkite.java @@ -54,7 +54,7 @@ public class UtvaraHellkite extends CardImpl { public UtvaraHellkite(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/u/UtvaraScalper.java b/Mage.Sets/src/mage/cards/u/UtvaraScalper.java index d647063729d..a67db6617c4 100644 --- a/Mage.Sets/src/mage/cards/u/UtvaraScalper.java +++ b/Mage.Sets/src/mage/cards/u/UtvaraScalper.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class UtvaraScalper extends CardImpl { public UtvaraScalper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Scout"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/u/UyoSilentProphet.java b/Mage.Sets/src/mage/cards/u/UyoSilentProphet.java index 0c41138b4f8..560f9dd34f2 100644 --- a/Mage.Sets/src/mage/cards/u/UyoSilentProphet.java +++ b/Mage.Sets/src/mage/cards/u/UyoSilentProphet.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -54,8 +55,8 @@ public class UyoSilentProphet extends CardImpl { public UyoSilentProphet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Moonfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MOONFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VWing.java b/Mage.Sets/src/mage/cards/v/VWing.java index ea3f8c44305..8a0969587cd 100644 --- a/Mage.Sets/src/mage/cards/v/VWing.java +++ b/Mage.Sets/src/mage/cards/v/VWing.java @@ -1,65 +1,66 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.v; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.keyword.HasteAbility; -import mage.abilities.keyword.SpaceflightAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class VWing extends CardImpl { - - public VWing(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{R}"); - this.subtype.add("Starship"); - this.power = new MageInt(1); - this.toughness = new MageInt(2); - - // Haste - this.addAbility(HasteAbility.getInstance()); - - // Spaceflight - this.addAbility(SpaceflightAbility.getInstance()); - } - - public VWing(final VWing card) { - super(card); - } - - @Override - public VWing copy() { - return new VWing(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.v; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.keyword.HasteAbility; +import mage.abilities.keyword.SpaceflightAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author Styxo + */ +public class VWing extends CardImpl { + + public VWing(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{R}"); + this.subtype.add(SubType.STARSHIP); + this.power = new MageInt(1); + this.toughness = new MageInt(2); + + // Haste + this.addAbility(HasteAbility.getInstance()); + + // Spaceflight + this.addAbility(SpaceflightAbility.getInstance()); + } + + public VWing(final VWing card) { + super(card); + } + + @Override + public VWing copy() { + return new VWing(this); + } +} diff --git a/Mage.Sets/src/mage/cards/v/VaevictisAsmadi.java b/Mage.Sets/src/mage/cards/v/VaevictisAsmadi.java index 0b09a40226b..11d9c7861c6 100644 --- a/Mage.Sets/src/mage/cards/v/VaevictisAsmadi.java +++ b/Mage.Sets/src/mage/cards/v/VaevictisAsmadi.java @@ -48,8 +48,8 @@ public class VaevictisAsmadi extends CardImpl { public VaevictisAsmadi(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}{R}{R}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elder"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.ELDER); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/v/VagrantPlowbeasts.java b/Mage.Sets/src/mage/cards/v/VagrantPlowbeasts.java index 5daaa9a76ac..c6d7e21d391 100644 --- a/Mage.Sets/src/mage/cards/v/VagrantPlowbeasts.java +++ b/Mage.Sets/src/mage/cards/v/VagrantPlowbeasts.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -55,7 +56,7 @@ public class VagrantPlowbeasts extends CardImpl { public VagrantPlowbeasts(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{W}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/v/ValakutFireboar.java b/Mage.Sets/src/mage/cards/v/ValakutFireboar.java index 6995589a354..310e597435c 100644 --- a/Mage.Sets/src/mage/cards/v/ValakutFireboar.java +++ b/Mage.Sets/src/mage/cards/v/ValakutFireboar.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.SwitchPowerToughnessSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,8 +45,8 @@ public class ValakutFireboar extends CardImpl { public ValakutFireboar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Boar"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.BOAR); this.power = new MageInt(1); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/v/ValakutInvoker.java b/Mage.Sets/src/mage/cards/v/ValakutInvoker.java index d978be2e2eb..19dd41cc379 100644 --- a/Mage.Sets/src/mage/cards/v/ValakutInvoker.java +++ b/Mage.Sets/src/mage/cards/v/ValakutInvoker.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -47,8 +48,8 @@ public class ValakutInvoker extends CardImpl { public ValakutInvoker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/ValakutPredator.java b/Mage.Sets/src/mage/cards/v/ValakutPredator.java index e2e773d97e4..6e0fdb4e642 100644 --- a/Mage.Sets/src/mage/cards/v/ValakutPredator.java +++ b/Mage.Sets/src/mage/cards/v/ValakutPredator.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class ValakutPredator extends CardImpl { public ValakutPredator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/ValeronOutlander.java b/Mage.Sets/src/mage/cards/v/ValeronOutlander.java index 17c3f4032a8..fa8b0857b2b 100644 --- a/Mage.Sets/src/mage/cards/v/ValeronOutlander.java +++ b/Mage.Sets/src/mage/cards/v/ValeronOutlander.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class ValeronOutlander extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); this.addAbility(ProtectionAbility.from(ObjectColor.BLACK)); diff --git a/Mage.Sets/src/mage/cards/v/ValeronWardens.java b/Mage.Sets/src/mage/cards/v/ValeronWardens.java index 66b8b9ce308..dc6f811dc55 100644 --- a/Mage.Sets/src/mage/cards/v/ValeronWardens.java +++ b/Mage.Sets/src/mage/cards/v/ValeronWardens.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.RenownAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -49,8 +50,8 @@ public class ValeronWardens extends CardImpl { public ValeronWardens(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/ValiantGuard.java b/Mage.Sets/src/mage/cards/v/ValiantGuard.java index a59125e069c..2001094d059 100644 --- a/Mage.Sets/src/mage/cards/v/ValiantGuard.java +++ b/Mage.Sets/src/mage/cards/v/ValiantGuard.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ValiantGuard extends CardImpl { public ValiantGuard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(0); this.toughness = new MageInt(3); } diff --git a/Mage.Sets/src/mage/cards/v/ValleyDasher.java b/Mage.Sets/src/mage/cards/v/ValleyDasher.java index 724723922f0..29647250892 100644 --- a/Mage.Sets/src/mage/cards/v/ValleyDasher.java +++ b/Mage.Sets/src/mage/cards/v/ValleyDasher.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class ValleyDasher extends CardImpl { public ValleyDasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/ValleyRannet.java b/Mage.Sets/src/mage/cards/v/ValleyRannet.java index 32d04962751..2ad4f0be2cd 100644 --- a/Mage.Sets/src/mage/cards/v/ValleyRannet.java +++ b/Mage.Sets/src/mage/cards/v/ValleyRannet.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MountaincyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class ValleyRannet extends CardImpl { public ValleyRannet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); diff --git a/Mage.Sets/src/mage/cards/v/Valleymaker.java b/Mage.Sets/src/mage/cards/v/Valleymaker.java index 6947b6180fa..77c22e7c25b 100644 --- a/Mage.Sets/src/mage/cards/v/Valleymaker.java +++ b/Mage.Sets/src/mage/cards/v/Valleymaker.java @@ -63,8 +63,8 @@ public class Valleymaker extends CardImpl { public Valleymaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R/G}"); - this.subtype.add("Giant"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/v/Valor.java b/Mage.Sets/src/mage/cards/v/Valor.java index 797b4f0421b..95716d2b7ca 100644 --- a/Mage.Sets/src/mage/cards/v/Valor.java +++ b/Mage.Sets/src/mage/cards/v/Valor.java @@ -63,7 +63,7 @@ public class Valor extends CardImpl { public Valor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Incarnation"); + this.subtype.add(SubType.INCARNATION); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VampireAristocrat.java b/Mage.Sets/src/mage/cards/v/VampireAristocrat.java index f43440bf244..337a7887fe2 100644 --- a/Mage.Sets/src/mage/cards/v/VampireAristocrat.java +++ b/Mage.Sets/src/mage/cards/v/VampireAristocrat.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -50,8 +51,8 @@ public class VampireAristocrat extends CardImpl { public VampireAristocrat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VampireBats.java b/Mage.Sets/src/mage/cards/v/VampireBats.java index 5b5173faa20..61fde08c1ae 100644 --- a/Mage.Sets/src/mage/cards/v/VampireBats.java +++ b/Mage.Sets/src/mage/cards/v/VampireBats.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class VampireBats extends CardImpl { public VampireBats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Bat"); + this.subtype.add(SubType.BAT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VampireCutthroat.java b/Mage.Sets/src/mage/cards/v/VampireCutthroat.java index 2613d31827b..a83227695c8 100644 --- a/Mage.Sets/src/mage/cards/v/VampireCutthroat.java +++ b/Mage.Sets/src/mage/cards/v/VampireCutthroat.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.SkulkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class VampireCutthroat extends CardImpl { public VampireCutthroat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VampireEnvoy.java b/Mage.Sets/src/mage/cards/v/VampireEnvoy.java index fca69f45754..49c13a1062b 100644 --- a/Mage.Sets/src/mage/cards/v/VampireEnvoy.java +++ b/Mage.Sets/src/mage/cards/v/VampireEnvoy.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,9 +45,9 @@ public class VampireEnvoy extends CardImpl { public VampireEnvoy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Cleric"); - this.subtype.add("Ally"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.ALLY); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VampireHexmage.java b/Mage.Sets/src/mage/cards/v/VampireHexmage.java index 68e207c2e83..db0f6a2d062 100644 --- a/Mage.Sets/src/mage/cards/v/VampireHexmage.java +++ b/Mage.Sets/src/mage/cards/v/VampireHexmage.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.Counter; @@ -52,8 +53,8 @@ public class VampireHexmage extends CardImpl { public VampireHexmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VampireHounds.java b/Mage.Sets/src/mage/cards/v/VampireHounds.java index 3e90574c3f5..4a65698a52b 100644 --- a/Mage.Sets/src/mage/cards/v/VampireHounds.java +++ b/Mage.Sets/src/mage/cards/v/VampireHounds.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -48,8 +49,8 @@ public class VampireHounds extends CardImpl { public VampireHounds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Hound"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.HOUND); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VampireInterloper.java b/Mage.Sets/src/mage/cards/v/VampireInterloper.java index 73942b0344d..4aaf6d2cd89 100644 --- a/Mage.Sets/src/mage/cards/v/VampireInterloper.java +++ b/Mage.Sets/src/mage/cards/v/VampireInterloper.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author nantuko @@ -42,8 +43,8 @@ public class VampireInterloper extends CardImpl { public VampireInterloper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Scout"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VampireLacerator.java b/Mage.Sets/src/mage/cards/v/VampireLacerator.java index 821d1ad1166..82cbb2295af 100644 --- a/Mage.Sets/src/mage/cards/v/VampireLacerator.java +++ b/Mage.Sets/src/mage/cards/v/VampireLacerator.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -47,8 +48,8 @@ public class VampireLacerator extends CardImpl { public VampireLacerator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VampireNighthawk.java b/Mage.Sets/src/mage/cards/v/VampireNighthawk.java index 30c063edf58..9a891f5aa13 100644 --- a/Mage.Sets/src/mage/cards/v/VampireNighthawk.java +++ b/Mage.Sets/src/mage/cards/v/VampireNighthawk.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class VampireNighthawk extends CardImpl { public VampireNighthawk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VampireNoble.java b/Mage.Sets/src/mage/cards/v/VampireNoble.java index f0afbac511a..b3f410f11c0 100644 --- a/Mage.Sets/src/mage/cards/v/VampireNoble.java +++ b/Mage.Sets/src/mage/cards/v/VampireNoble.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class VampireNoble extends CardImpl { public VampireNoble(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(3); this.toughness = new MageInt(2); } diff --git a/Mage.Sets/src/mage/cards/v/VampireNocturnus.java b/Mage.Sets/src/mage/cards/v/VampireNocturnus.java index 435f1eb3fec..87637e5fc58 100644 --- a/Mage.Sets/src/mage/cards/v/VampireNocturnus.java +++ b/Mage.Sets/src/mage/cards/v/VampireNocturnus.java @@ -60,7 +60,7 @@ public class VampireNocturnus extends CardImpl { public VampireNocturnus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VampireOutcasts.java b/Mage.Sets/src/mage/cards/v/VampireOutcasts.java index 9edaac2ec89..181c3c4f471 100644 --- a/Mage.Sets/src/mage/cards/v/VampireOutcasts.java +++ b/Mage.Sets/src/mage/cards/v/VampireOutcasts.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class VampireOutcasts extends CardImpl { public VampireOutcasts(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VampireWarlord.java b/Mage.Sets/src/mage/cards/v/VampireWarlord.java index 8eee32e2dfd..cf6edaa7f09 100644 --- a/Mage.Sets/src/mage/cards/v/VampireWarlord.java +++ b/Mage.Sets/src/mage/cards/v/VampireWarlord.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.common.TargetControlledCreaturePermanent; @@ -47,8 +48,8 @@ public class VampireWarlord extends CardImpl { public VampireWarlord(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VampiricDragon.java b/Mage.Sets/src/mage/cards/v/VampiricDragon.java index 5336e0c4581..04e579369ec 100644 --- a/Mage.Sets/src/mage/cards/v/VampiricDragon.java +++ b/Mage.Sets/src/mage/cards/v/VampiricDragon.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -51,8 +52,8 @@ public class VampiricDragon extends CardImpl { public VampiricDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{B}{R}"); - this.subtype.add("Vampire"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/v/VampiricEmbrace.java b/Mage.Sets/src/mage/cards/v/VampiricEmbrace.java index faa58d2e118..c1440a70a84 100644 --- a/Mage.Sets/src/mage/cards/v/VampiricEmbrace.java +++ b/Mage.Sets/src/mage/cards/v/VampiricEmbrace.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -56,7 +57,7 @@ public class VampiricEmbrace extends CardImpl { public VampiricEmbrace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/v/VampiricLink.java b/Mage.Sets/src/mage/cards/v/VampiricLink.java index 0356e33f5d2..d1e529c9923 100644 --- a/Mage.Sets/src/mage/cards/v/VampiricLink.java +++ b/Mage.Sets/src/mage/cards/v/VampiricLink.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class VampiricLink extends CardImpl { public VampiricLink(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/v/VampiricSliver.java b/Mage.Sets/src/mage/cards/v/VampiricSliver.java index 5b7fb25cb72..9f46d9205d9 100644 --- a/Mage.Sets/src/mage/cards/v/VampiricSliver.java +++ b/Mage.Sets/src/mage/cards/v/VampiricSliver.java @@ -57,7 +57,7 @@ public class VampiricSliver extends CardImpl { public VampiricSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VampiricSpirit.java b/Mage.Sets/src/mage/cards/v/VampiricSpirit.java index 1b5ccd4fcb5..fb268c17b54 100644 --- a/Mage.Sets/src/mage/cards/v/VampiricSpirit.java +++ b/Mage.Sets/src/mage/cards/v/VampiricSpirit.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class VampiricSpirit extends CardImpl { public VampiricSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VanguardOfBrimaz.java b/Mage.Sets/src/mage/cards/v/VanguardOfBrimaz.java index 5e83d1bb503..62df5b49ba2 100644 --- a/Mage.Sets/src/mage/cards/v/VanguardOfBrimaz.java +++ b/Mage.Sets/src/mage/cards/v/VanguardOfBrimaz.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.CatSoldierCreatureToken; /** @@ -45,8 +46,8 @@ public class VanguardOfBrimaz extends CardImpl { public VanguardOfBrimaz(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Cat"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VanguardsShield.java b/Mage.Sets/src/mage/cards/v/VanguardsShield.java index 0ffd99727cc..598e5bbc291 100644 --- a/Mage.Sets/src/mage/cards/v/VanguardsShield.java +++ b/Mage.Sets/src/mage/cards/v/VanguardsShield.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -53,7 +54,7 @@ public class VanguardsShield extends CardImpl { public VanguardsShield(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +0/+3 and can block an additional creature each combat. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(0, 3))); diff --git a/Mage.Sets/src/mage/cards/v/Vanishing.java b/Mage.Sets/src/mage/cards/v/Vanishing.java index c7c196e4695..1f9efae8297 100644 --- a/Mage.Sets/src/mage/cards/v/Vanishing.java +++ b/Mage.Sets/src/mage/cards/v/Vanishing.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class Vanishing extends CardImpl { public Vanishing(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/v/VaporSnare.java b/Mage.Sets/src/mage/cards/v/VaporSnare.java index 60f9cd6c1eb..25256f27370 100644 --- a/Mage.Sets/src/mage/cards/v/VaporSnare.java +++ b/Mage.Sets/src/mage/cards/v/VaporSnare.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class VaporSnare extends CardImpl { public VaporSnare(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/v/Vaporkin.java b/Mage.Sets/src/mage/cards/v/Vaporkin.java index d3f76741347..ec27a915b24 100644 --- a/Mage.Sets/src/mage/cards/v/Vaporkin.java +++ b/Mage.Sets/src/mage/cards/v/Vaporkin.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class Vaporkin extends CardImpl { public Vaporkin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VaporousDjinn.java b/Mage.Sets/src/mage/cards/v/VaporousDjinn.java index d07af6a5efc..1e496c5d18a 100644 --- a/Mage.Sets/src/mage/cards/v/VaporousDjinn.java +++ b/Mage.Sets/src/mage/cards/v/VaporousDjinn.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.game.Game; @@ -52,7 +53,7 @@ public class VaporousDjinn extends CardImpl { public VaporousDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VarchildsWarRiders.java b/Mage.Sets/src/mage/cards/v/VarchildsWarRiders.java index 350e1805244..895d6a10871 100644 --- a/Mage.Sets/src/mage/cards/v/VarchildsWarRiders.java +++ b/Mage.Sets/src/mage/cards/v/VarchildsWarRiders.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.FilterOpponent; import mage.game.Game; @@ -57,8 +58,8 @@ public class VarchildsWarRiders extends CardImpl { public VarchildsWarRiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VarolzTheScarStriped.java b/Mage.Sets/src/mage/cards/v/VarolzTheScarStriped.java index f7b548d043d..645e9c00a68 100644 --- a/Mage.Sets/src/mage/cards/v/VarolzTheScarStriped.java +++ b/Mage.Sets/src/mage/cards/v/VarolzTheScarStriped.java @@ -55,8 +55,8 @@ public class VarolzTheScarStriped extends CardImpl { public VarolzTheScarStriped(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Troll"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.TROLL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VassalSoul.java b/Mage.Sets/src/mage/cards/v/VassalSoul.java index 0c784f70ac9..dc97f579603 100644 --- a/Mage.Sets/src/mage/cards/v/VassalSoul.java +++ b/Mage.Sets/src/mage/cards/v/VassalSoul.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class VassalSoul extends CardImpl { public VassalSoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W/U}{W/U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VastwoodAnimist.java b/Mage.Sets/src/mage/cards/v/VastwoodAnimist.java index a16fcc5b9f1..9141df6cf52 100644 --- a/Mage.Sets/src/mage/cards/v/VastwoodAnimist.java +++ b/Mage.Sets/src/mage/cards/v/VastwoodAnimist.java @@ -54,9 +54,9 @@ public class VastwoodAnimist extends CardImpl { public VastwoodAnimist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); - this.subtype.add("Ally"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); + this.subtype.add(SubType.ALLY); this.power = new MageInt(1); this.toughness = new MageInt(1); @@ -114,7 +114,7 @@ class VastwoodAnimistElementalToken extends Token { VastwoodAnimistElementalToken(int amount) { super("", "X/X Elemental creature, where X is the number of Allies you control"); cardType.add(CardType.CREATURE); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(amount); toughness = new MageInt(amount); } diff --git a/Mage.Sets/src/mage/cards/v/VastwoodGorger.java b/Mage.Sets/src/mage/cards/v/VastwoodGorger.java index d48dc937136..992dfa6c6ba 100644 --- a/Mage.Sets/src/mage/cards/v/VastwoodGorger.java +++ b/Mage.Sets/src/mage/cards/v/VastwoodGorger.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class VastwoodGorger extends CardImpl { public VastwoodGorger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/v/VastwoodHydra.java b/Mage.Sets/src/mage/cards/v/VastwoodHydra.java index 59a59a52231..6e0559143fa 100644 --- a/Mage.Sets/src/mage/cards/v/VastwoodHydra.java +++ b/Mage.Sets/src/mage/cards/v/VastwoodHydra.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.EntersBattlefieldWithXCountersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.counters.CounterType; @@ -62,7 +63,7 @@ public class VastwoodHydra extends CardImpl { public VastwoodHydra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{X}{G}{G}"); - this.subtype.add("Hydra"); + this.subtype.add(SubType.HYDRA); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/v/VastwoodZendikon.java b/Mage.Sets/src/mage/cards/v/VastwoodZendikon.java index 80c1baec625..317f83910b8 100644 --- a/Mage.Sets/src/mage/cards/v/VastwoodZendikon.java +++ b/Mage.Sets/src/mage/cards/v/VastwoodZendikon.java @@ -51,7 +51,7 @@ public class VastwoodZendikon extends CardImpl { public VastwoodZendikon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land @@ -86,7 +86,7 @@ class VastwoodElementalToken extends Token { super("", "6/4 green Elemental creature"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(6); toughness = new MageInt(4); } diff --git a/Mage.Sets/src/mage/cards/v/VaultSkirge.java b/Mage.Sets/src/mage/cards/v/VaultSkirge.java index e29b58da0bd..b43cb2f6411 100644 --- a/Mage.Sets/src/mage/cards/v/VaultSkirge.java +++ b/Mage.Sets/src/mage/cards/v/VaultSkirge.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class VaultSkirge extends CardImpl { public VaultSkirge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{B/P}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/Vaultbreaker.java b/Mage.Sets/src/mage/cards/v/Vaultbreaker.java index 319b33cde8c..6cca3ad14a6 100644 --- a/Mage.Sets/src/mage/cards/v/Vaultbreaker.java +++ b/Mage.Sets/src/mage/cards/v/Vaultbreaker.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class Vaultbreaker extends CardImpl { public Vaultbreaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Orc"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VectisAgents.java b/Mage.Sets/src/mage/cards/v/VectisAgents.java index c2666cbd846..84ff2ce8f7f 100644 --- a/Mage.Sets/src/mage/cards/v/VectisAgents.java +++ b/Mage.Sets/src/mage/cards/v/VectisAgents.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class VectisAgents extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{U}{B}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VectisDominator.java b/Mage.Sets/src/mage/cards/v/VectisDominator.java index 478ae131210..88a64dd8f54 100644 --- a/Mage.Sets/src/mage/cards/v/VectisDominator.java +++ b/Mage.Sets/src/mage/cards/v/VectisDominator.java @@ -38,6 +38,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -53,8 +54,8 @@ public class VectisDominator extends CardImpl { public VectisDominator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}{W}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VectisSilencers.java b/Mage.Sets/src/mage/cards/v/VectisSilencers.java index 6a90ced4d16..dbb8edd6c4c 100644 --- a/Mage.Sets/src/mage/cards/v/VectisSilencers.java +++ b/Mage.Sets/src/mage/cards/v/VectisSilencers.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class VectisSilencers extends CardImpl { public VectisSilencers (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VectorAsp.java b/Mage.Sets/src/mage/cards/v/VectorAsp.java index b745bd2addd..65bd4010e10 100644 --- a/Mage.Sets/src/mage/cards/v/VectorAsp.java +++ b/Mage.Sets/src/mage/cards/v/VectorAsp.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class VectorAsp extends CardImpl { public VectorAsp (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{1}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(1); this.toughness = new MageInt(1); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(InfectAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{B}"))); diff --git a/Mage.Sets/src/mage/cards/v/VedalkenAethermage.java b/Mage.Sets/src/mage/cards/v/VedalkenAethermage.java index 35aafe1d40b..d7d6e3edabf 100644 --- a/Mage.Sets/src/mage/cards/v/VedalkenAethermage.java +++ b/Mage.Sets/src/mage/cards/v/VedalkenAethermage.java @@ -60,8 +60,8 @@ public class VedalkenAethermage extends CardImpl { public VedalkenAethermage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VedalkenAnatomist.java b/Mage.Sets/src/mage/cards/v/VedalkenAnatomist.java index 248010d0792..08ca7c6573d 100644 --- a/Mage.Sets/src/mage/cards/v/VedalkenAnatomist.java +++ b/Mage.Sets/src/mage/cards/v/VedalkenAnatomist.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -50,8 +51,8 @@ public class VedalkenAnatomist extends CardImpl { public VedalkenAnatomist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VedalkenArchmage.java b/Mage.Sets/src/mage/cards/v/VedalkenArchmage.java index f5560549e0e..a056b3a57d7 100644 --- a/Mage.Sets/src/mage/cards/v/VedalkenArchmage.java +++ b/Mage.Sets/src/mage/cards/v/VedalkenArchmage.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactSpell; /** @@ -43,8 +44,8 @@ import mage.filter.common.FilterArtifactSpell; public class VedalkenArchmage extends CardImpl { public VedalkenArchmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VedalkenBlademaster.java b/Mage.Sets/src/mage/cards/v/VedalkenBlademaster.java index 383ac2ab26c..6c82136c571 100644 --- a/Mage.Sets/src/mage/cards/v/VedalkenBlademaster.java +++ b/Mage.Sets/src/mage/cards/v/VedalkenBlademaster.java @@ -1,62 +1,63 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.v; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.keyword.ProwessAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author LevelX2 - */ -public class VedalkenBlademaster extends CardImpl { - - public VedalkenBlademaster(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Soldier"); - this.power = new MageInt(2); - this.toughness = new MageInt(3); - - // Prowess - this.addAbility(new ProwessAbility()); - } - - public VedalkenBlademaster(final VedalkenBlademaster card) { - super(card); - } - - @Override - public VedalkenBlademaster copy() { - return new VedalkenBlademaster(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.v; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.keyword.ProwessAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author LevelX2 + */ +public class VedalkenBlademaster extends CardImpl { + + public VedalkenBlademaster(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.SOLDIER); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Prowess + this.addAbility(new ProwessAbility()); + } + + public VedalkenBlademaster(final VedalkenBlademaster card) { + super(card); + } + + @Override + public VedalkenBlademaster copy() { + return new VedalkenBlademaster(this); + } +} diff --git a/Mage.Sets/src/mage/cards/v/VedalkenCertarch.java b/Mage.Sets/src/mage/cards/v/VedalkenCertarch.java index b97ae1c91ee..93e2aa4b785 100644 --- a/Mage.Sets/src/mage/cards/v/VedalkenCertarch.java +++ b/Mage.Sets/src/mage/cards/v/VedalkenCertarch.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; @@ -62,8 +63,8 @@ public class VedalkenCertarch extends CardImpl { public VedalkenCertarch (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VedalkenDismisser.java b/Mage.Sets/src/mage/cards/v/VedalkenDismisser.java index f3b6ab09a4c..db2eca27c22 100644 --- a/Mage.Sets/src/mage/cards/v/VedalkenDismisser.java +++ b/Mage.Sets/src/mage/cards/v/VedalkenDismisser.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.PutOnLibraryTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -45,8 +46,8 @@ public class VedalkenDismisser extends CardImpl { public VedalkenDismisser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VedalkenEngineer.java b/Mage.Sets/src/mage/cards/v/VedalkenEngineer.java index 7a50251512b..5ddaa3305a9 100644 --- a/Mage.Sets/src/mage/cards/v/VedalkenEngineer.java +++ b/Mage.Sets/src/mage/cards/v/VedalkenEngineer.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.choices.ChoiceColor; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,8 +57,8 @@ public class VedalkenEngineer extends CardImpl { public VedalkenEngineer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VedalkenEntrancer.java b/Mage.Sets/src/mage/cards/v/VedalkenEntrancer.java index 614b9142c82..b4fb40fa850 100644 --- a/Mage.Sets/src/mage/cards/v/VedalkenEntrancer.java +++ b/Mage.Sets/src/mage/cards/v/VedalkenEntrancer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.PutLibraryIntoGraveTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -49,8 +50,8 @@ public class VedalkenEntrancer extends CardImpl { public VedalkenEntrancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VedalkenGhoul.java b/Mage.Sets/src/mage/cards/v/VedalkenGhoul.java index 67b60e449d9..e0b0b9c8350 100644 --- a/Mage.Sets/src/mage/cards/v/VedalkenGhoul.java +++ b/Mage.Sets/src/mage/cards/v/VedalkenGhoul.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.LoseLifeDefendingPlayerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class VedalkenGhoul extends CardImpl { public VedalkenGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}"); - this.subtype.add("Vedalken"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VedalkenHeretic.java b/Mage.Sets/src/mage/cards/v/VedalkenHeretic.java index cc9bd765968..ceb1cc992bf 100644 --- a/Mage.Sets/src/mage/cards/v/VedalkenHeretic.java +++ b/Mage.Sets/src/mage/cards/v/VedalkenHeretic.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class VedalkenHeretic extends CardImpl { public VedalkenHeretic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.ROGUE); diff --git a/Mage.Sets/src/mage/cards/v/VedalkenInfuser.java b/Mage.Sets/src/mage/cards/v/VedalkenInfuser.java index 71342500e07..c799c1fd59c 100644 --- a/Mage.Sets/src/mage/cards/v/VedalkenInfuser.java +++ b/Mage.Sets/src/mage/cards/v/VedalkenInfuser.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.counters.CounterType; import mage.target.common.TargetArtifactPermanent; @@ -48,8 +49,8 @@ public class VedalkenInfuser extends CardImpl { public VedalkenInfuser (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VedalkenMastermind.java b/Mage.Sets/src/mage/cards/v/VedalkenMastermind.java index a6b36773a86..b6afb04b264 100644 --- a/Mage.Sets/src/mage/cards/v/VedalkenMastermind.java +++ b/Mage.Sets/src/mage/cards/v/VedalkenMastermind.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.common.TargetControlledPermanent; @@ -49,8 +50,8 @@ public class VedalkenMastermind extends CardImpl { public VedalkenMastermind(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VedalkenOutlander.java b/Mage.Sets/src/mage/cards/v/VedalkenOutlander.java index 4b0b42cd785..742c97327a7 100644 --- a/Mage.Sets/src/mage/cards/v/VedalkenOutlander.java +++ b/Mage.Sets/src/mage/cards/v/VedalkenOutlander.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class VedalkenOutlander extends CardImpl { public VedalkenOutlander(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{W}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Scout"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VedalkenPlotter.java b/Mage.Sets/src/mage/cards/v/VedalkenPlotter.java index d19bba12d23..82a92356581 100644 --- a/Mage.Sets/src/mage/cards/v/VedalkenPlotter.java +++ b/Mage.Sets/src/mage/cards/v/VedalkenPlotter.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.ExchangeControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterControlledLandPermanent; @@ -60,8 +61,8 @@ public class VedalkenPlotter extends CardImpl { public VedalkenPlotter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VeilbornGhoul.java b/Mage.Sets/src/mage/cards/v/VeilbornGhoul.java index 0e8b78b7aee..0ea98d1d3ed 100644 --- a/Mage.Sets/src/mage/cards/v/VeilbornGhoul.java +++ b/Mage.Sets/src/mage/cards/v/VeilbornGhoul.java @@ -54,7 +54,7 @@ public class VeilbornGhoul extends CardImpl { public VeilbornGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VeinDrinker.java b/Mage.Sets/src/mage/cards/v/VeinDrinker.java index 01df53a22f6..6ec89ecca6e 100644 --- a/Mage.Sets/src/mage/cards/v/VeinDrinker.java +++ b/Mage.Sets/src/mage/cards/v/VeinDrinker.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanent; @@ -52,7 +53,7 @@ public class VeinDrinker extends CardImpl { public VeinDrinker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VelaTheNightClad.java b/Mage.Sets/src/mage/cards/v/VelaTheNightClad.java index 5f736547d99..adcb88bb8cd 100644 --- a/Mage.Sets/src/mage/cards/v/VelaTheNightClad.java +++ b/Mage.Sets/src/mage/cards/v/VelaTheNightClad.java @@ -58,8 +58,8 @@ public class VelaTheNightClad extends CardImpl { public VelaTheNightClad(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.color.setBlue(true); this.color.setBlack(true); diff --git a/Mage.Sets/src/mage/cards/v/VeldraneOfSengir.java b/Mage.Sets/src/mage/cards/v/VeldraneOfSengir.java index 45af08de339..056e7011d6f 100644 --- a/Mage.Sets/src/mage/cards/v/VeldraneOfSengir.java +++ b/Mage.Sets/src/mage/cards/v/VeldraneOfSengir.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class VeldraneOfSengir extends CardImpl { public VeldraneOfSengir(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/v/VendilionClique.java b/Mage.Sets/src/mage/cards/v/VendilionClique.java index 8d2990c3991..9831ff92f66 100644 --- a/Mage.Sets/src/mage/cards/v/VendilionClique.java +++ b/Mage.Sets/src/mage/cards/v/VendilionClique.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -58,8 +59,8 @@ public class VendilionClique extends CardImpl { public VendilionClique(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VenerableKumo.java b/Mage.Sets/src/mage/cards/v/VenerableKumo.java index 68c91cbaf16..8a51671ace7 100644 --- a/Mage.Sets/src/mage/cards/v/VenerableKumo.java +++ b/Mage.Sets/src/mage/cards/v/VenerableKumo.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -43,7 +44,7 @@ public class VenerableKumo extends CardImpl { public VenerableKumo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VenerableLammasu.java b/Mage.Sets/src/mage/cards/v/VenerableLammasu.java index 4f095d06ddd..cff8870676e 100644 --- a/Mage.Sets/src/mage/cards/v/VenerableLammasu.java +++ b/Mage.Sets/src/mage/cards/v/VenerableLammasu.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class VenerableLammasu extends CardImpl { public VenerableLammasu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{W}"); - this.subtype.add("Lammasu"); + this.subtype.add(SubType.LAMMASU); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VenerableMonk.java b/Mage.Sets/src/mage/cards/v/VenerableMonk.java index 7ab8b76a470..6bcf4444e5d 100644 --- a/Mage.Sets/src/mage/cards/v/VenerableMonk.java +++ b/Mage.Sets/src/mage/cards/v/VenerableMonk.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,9 +44,9 @@ public class VenerableMonk extends CardImpl { public VenerableMonk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VeneratedTeacher.java b/Mage.Sets/src/mage/cards/v/VeneratedTeacher.java index 0db8da84466..393137f6fad 100644 --- a/Mage.Sets/src/mage/cards/v/VeneratedTeacher.java +++ b/Mage.Sets/src/mage/cards/v/VeneratedTeacher.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.LevelUpAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.filter.common.FilterControlledCreaturePermanent; @@ -51,8 +52,8 @@ public class VeneratedTeacher extends CardImpl { public VeneratedTeacher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VengefulArchon.java b/Mage.Sets/src/mage/cards/v/VengefulArchon.java index da4e356f0b7..79bcf63e488 100644 --- a/Mage.Sets/src/mage/cards/v/VengefulArchon.java +++ b/Mage.Sets/src/mage/cards/v/VengefulArchon.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -54,7 +55,7 @@ public class VengefulArchon extends CardImpl { public VengefulArchon(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}{W}{W}"); - this.subtype.add("Archon"); + this.subtype.add(SubType.ARCHON); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/v/VengefulDead.java b/Mage.Sets/src/mage/cards/v/VengefulDead.java index 2722cb81115..5c2eec5918b 100644 --- a/Mage.Sets/src/mage/cards/v/VengefulDead.java +++ b/Mage.Sets/src/mage/cards/v/VengefulDead.java @@ -52,7 +52,7 @@ public class VengefulDead extends CardImpl { public VengefulDead(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VengefulFirebrand.java b/Mage.Sets/src/mage/cards/v/VengefulFirebrand.java index 279f95c7d5d..d0e42b237b3 100644 --- a/Mage.Sets/src/mage/cards/v/VengefulFirebrand.java +++ b/Mage.Sets/src/mage/cards/v/VengefulFirebrand.java @@ -57,8 +57,8 @@ public class VengefulFirebrand extends CardImpl { public VengefulFirebrand(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VengefulPharaoh.java b/Mage.Sets/src/mage/cards/v/VengefulPharaoh.java index 6df3391e65c..718f7c90437 100644 --- a/Mage.Sets/src/mage/cards/v/VengefulPharaoh.java +++ b/Mage.Sets/src/mage/cards/v/VengefulPharaoh.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -57,7 +58,7 @@ public class VengefulPharaoh extends CardImpl { public VengefulPharaoh(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VengefulRebel.java b/Mage.Sets/src/mage/cards/v/VengefulRebel.java index bca954fa821..4d42742ef9e 100644 --- a/Mage.Sets/src/mage/cards/v/VengefulRebel.java +++ b/Mage.Sets/src/mage/cards/v/VengefulRebel.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetOpponentsCreaturePermanent; import mage.watchers.common.RevoltWatcher; @@ -51,8 +52,8 @@ public class VengefulRebel extends CardImpl { public VengefulRebel(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Aetherborn"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.AETHERBORN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VengefulVampire.java b/Mage.Sets/src/mage/cards/v/VengefulVampire.java index 4a0cb0f52b3..4757f45732f 100644 --- a/Mage.Sets/src/mage/cards/v/VengefulVampire.java +++ b/Mage.Sets/src/mage/cards/v/VengefulVampire.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.UndyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class VengefulVampire extends CardImpl { public VengefulVampire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/Vengevine.java b/Mage.Sets/src/mage/cards/v/Vengevine.java index 8001f5949ed..775994fe64d 100644 --- a/Mage.Sets/src/mage/cards/v/Vengevine.java +++ b/Mage.Sets/src/mage/cards/v/Vengevine.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.WatcherScope; import mage.constants.Zone; import mage.game.Game; @@ -52,7 +53,7 @@ public class Vengevine extends CardImpl { public Vengevine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/Venom.java b/Mage.Sets/src/mage/cards/v/Venom.java index 9bb705f46b4..5648c3e870f 100644 --- a/Mage.Sets/src/mage/cards/v/Venom.java +++ b/Mage.Sets/src/mage/cards/v/Venom.java @@ -58,7 +58,7 @@ public class Venom extends CardImpl { public Venom(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{G}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/v/VenomSliver.java b/Mage.Sets/src/mage/cards/v/VenomSliver.java index a27f4198577..a6462d8134e 100644 --- a/Mage.Sets/src/mage/cards/v/VenomSliver.java +++ b/Mage.Sets/src/mage/cards/v/VenomSliver.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -47,7 +48,7 @@ public class VenomSliver extends CardImpl { public VenomSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VenomousDragonfly.java b/Mage.Sets/src/mage/cards/v/VenomousDragonfly.java index 9c202e1d6ae..91bd716b582 100644 --- a/Mage.Sets/src/mage/cards/v/VenomousDragonfly.java +++ b/Mage.Sets/src/mage/cards/v/VenomousDragonfly.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,7 +48,7 @@ public class VenomousDragonfly extends CardImpl { public VenomousDragonfly(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VenomspoutBrackus.java b/Mage.Sets/src/mage/cards/v/VenomspoutBrackus.java index e7b8ae37c38..48691b5a4d0 100644 --- a/Mage.Sets/src/mage/cards/v/VenomspoutBrackus.java +++ b/Mage.Sets/src/mage/cards/v/VenomspoutBrackus.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterAttackingOrBlockingCreature; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -60,7 +61,7 @@ public class VenomspoutBrackus extends CardImpl { public VenomspoutBrackus(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/v/VenserShaperSavant.java b/Mage.Sets/src/mage/cards/v/VenserShaperSavant.java index fd47742055d..b16adb25850 100644 --- a/Mage.Sets/src/mage/cards/v/VenserShaperSavant.java +++ b/Mage.Sets/src/mage/cards/v/VenserShaperSavant.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.target.Target; import mage.target.common.TargetSpellOrPermanent; @@ -49,8 +50,8 @@ public class VenserShaperSavant extends CardImpl { public VenserShaperSavant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VenserTheSojourner.java b/Mage.Sets/src/mage/cards/v/VenserTheSojourner.java index 10a5bed2759..c65a492bb3d 100644 --- a/Mage.Sets/src/mage/cards/v/VenserTheSojourner.java +++ b/Mage.Sets/src/mage/cards/v/VenserTheSojourner.java @@ -66,7 +66,7 @@ public class VenserTheSojourner extends CardImpl { public VenserTheSojourner(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{W}{U}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Venser"); + this.subtype.add(SubType.VENSER); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/v/VensersSliver.java b/Mage.Sets/src/mage/cards/v/VensersSliver.java index 054a5e5725e..5bcbc904ada 100644 --- a/Mage.Sets/src/mage/cards/v/VensersSliver.java +++ b/Mage.Sets/src/mage/cards/v/VensersSliver.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class VensersSliver extends CardImpl { public VensersSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VentSentinel.java b/Mage.Sets/src/mage/cards/v/VentSentinel.java index ea6d600b4b7..a52f34adeef 100644 --- a/Mage.Sets/src/mage/cards/v/VentSentinel.java +++ b/Mage.Sets/src/mage/cards/v/VentSentinel.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -55,7 +56,7 @@ public class VentSentinel extends CardImpl { public VentSentinel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VerdantAutomaton.java b/Mage.Sets/src/mage/cards/v/VerdantAutomaton.java index 4785e745452..731f3c116a2 100644 --- a/Mage.Sets/src/mage/cards/v/VerdantAutomaton.java +++ b/Mage.Sets/src/mage/cards/v/VerdantAutomaton.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -47,7 +48,7 @@ public class VerdantAutomaton extends CardImpl { public VerdantAutomaton(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VerdantEidolon.java b/Mage.Sets/src/mage/cards/v/VerdantEidolon.java index b70dda4de59..179af9aa41c 100644 --- a/Mage.Sets/src/mage/cards/v/VerdantEidolon.java +++ b/Mage.Sets/src/mage/cards/v/VerdantEidolon.java @@ -39,6 +39,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.MulticoloredPredicate; @@ -57,7 +58,7 @@ public class VerdantEidolon extends CardImpl { public VerdantEidolon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VerdantEmbrace.java b/Mage.Sets/src/mage/cards/v/VerdantEmbrace.java index f0fe17eddb2..98a3ebe6908 100644 --- a/Mage.Sets/src/mage/cards/v/VerdantEmbrace.java +++ b/Mage.Sets/src/mage/cards/v/VerdantEmbrace.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -57,7 +58,7 @@ public class VerdantEmbrace extends CardImpl { public VerdantEmbrace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{G}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/v/VerdantField.java b/Mage.Sets/src/mage/cards/v/VerdantField.java index da593a27081..5384200aa8b 100644 --- a/Mage.Sets/src/mage/cards/v/VerdantField.java +++ b/Mage.Sets/src/mage/cards/v/VerdantField.java @@ -51,7 +51,7 @@ public class VerdantField extends CardImpl { public VerdantField(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/v/VerdantForce.java b/Mage.Sets/src/mage/cards/v/VerdantForce.java index 9e4496c878e..22e37934c99 100644 --- a/Mage.Sets/src/mage/cards/v/VerdantForce.java +++ b/Mage.Sets/src/mage/cards/v/VerdantForce.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.game.permanent.token.SaprolingToken; @@ -45,7 +46,7 @@ public class VerdantForce extends CardImpl { public VerdantForce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/v/VerdantHaven.java b/Mage.Sets/src/mage/cards/v/VerdantHaven.java index f0f76698d05..74b55afa2ab 100644 --- a/Mage.Sets/src/mage/cards/v/VerdantHaven.java +++ b/Mage.Sets/src/mage/cards/v/VerdantHaven.java @@ -38,6 +38,7 @@ import mage.abilities.mana.TriggeredManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -55,7 +56,7 @@ public class VerdantHaven extends CardImpl { public VerdantHaven(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/v/VerdantSunsAvatar.java b/Mage.Sets/src/mage/cards/v/VerdantSunsAvatar.java index 480888b4a03..c0b6c091cbf 100644 --- a/Mage.Sets/src/mage/cards/v/VerdantSunsAvatar.java +++ b/Mage.Sets/src/mage/cards/v/VerdantSunsAvatar.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -53,8 +54,8 @@ public class VerdantSunsAvatar extends CardImpl { public VerdantSunsAvatar(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{G}"); - this.subtype.add("Dinosaur"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.DINOSAUR); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/v/VerdelothTheAncient.java b/Mage.Sets/src/mage/cards/v/VerdelothTheAncient.java index 753fd149269..2f6f4557ba5 100644 --- a/Mage.Sets/src/mage/cards/v/VerdelothTheAncient.java +++ b/Mage.Sets/src/mage/cards/v/VerdelothTheAncient.java @@ -59,7 +59,7 @@ public class VerdelothTheAncient extends CardImpl { public VerdelothTheAncient(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(4); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/v/VerduranEmissary.java b/Mage.Sets/src/mage/cards/v/VerduranEmissary.java index 097daf2cc5d..e4a7f77faf2 100644 --- a/Mage.Sets/src/mage/cards/v/VerduranEmissary.java +++ b/Mage.Sets/src/mage/cards/v/VerduranEmissary.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetArtifactPermanent; /** @@ -48,8 +49,8 @@ public class VerduranEmissary extends CardImpl { public VerduranEmissary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VerduranEnchantress.java b/Mage.Sets/src/mage/cards/v/VerduranEnchantress.java index 3ab052b2fda..2c78a0998ae 100644 --- a/Mage.Sets/src/mage/cards/v/VerduranEnchantress.java +++ b/Mage.Sets/src/mage/cards/v/VerduranEnchantress.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -51,8 +52,8 @@ public class VerduranEnchantress extends CardImpl { public VerduranEnchantress(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VerdurousGearhulk.java b/Mage.Sets/src/mage/cards/v/VerdurousGearhulk.java index 211834eeb10..fb81321c40d 100644 --- a/Mage.Sets/src/mage/cards/v/VerdurousGearhulk.java +++ b/Mage.Sets/src/mage/cards/v/VerdurousGearhulk.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -56,7 +57,7 @@ public class VerdurousGearhulk extends CardImpl { public VerdurousGearhulk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/Vermiculos.java b/Mage.Sets/src/mage/cards/v/Vermiculos.java index 3ec89cb0664..f1986bf9c09 100644 --- a/Mage.Sets/src/mage/cards/v/Vermiculos.java +++ b/Mage.Sets/src/mage/cards/v/Vermiculos.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class Vermiculos extends CardImpl { public Vermiculos(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VertigoSpawn.java b/Mage.Sets/src/mage/cards/v/VertigoSpawn.java index e2f2a731d74..7ddd251a3c5 100644 --- a/Mage.Sets/src/mage/cards/v/VertigoSpawn.java +++ b/Mage.Sets/src/mage/cards/v/VertigoSpawn.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class VertigoSpawn extends CardImpl { public VertigoSpawn(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VesperGhoul.java b/Mage.Sets/src/mage/cards/v/VesperGhoul.java index 21fb406ca1a..08174f2d520 100644 --- a/Mage.Sets/src/mage/cards/v/VesperGhoul.java +++ b/Mage.Sets/src/mage/cards/v/VesperGhoul.java @@ -37,6 +37,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class VesperGhoul extends CardImpl { public VesperGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VestigeOfEmrakul.java b/Mage.Sets/src/mage/cards/v/VestigeOfEmrakul.java index da3aa11d9a2..e0c218810e8 100644 --- a/Mage.Sets/src/mage/cards/v/VestigeOfEmrakul.java +++ b/Mage.Sets/src/mage/cards/v/VestigeOfEmrakul.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class VestigeOfEmrakul extends CardImpl { public VestigeOfEmrakul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VesuvanDoppelganger.java b/Mage.Sets/src/mage/cards/v/VesuvanDoppelganger.java index 49adeaeb519..151db143eaf 100644 --- a/Mage.Sets/src/mage/cards/v/VesuvanDoppelganger.java +++ b/Mage.Sets/src/mage/cards/v/VesuvanDoppelganger.java @@ -38,6 +38,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class VesuvanDoppelganger extends CardImpl { public VesuvanDoppelganger(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/v/VesuvanShapeshifter.java b/Mage.Sets/src/mage/cards/v/VesuvanShapeshifter.java index da8198b4e08..128d109df87 100644 --- a/Mage.Sets/src/mage/cards/v/VesuvanShapeshifter.java +++ b/Mage.Sets/src/mage/cards/v/VesuvanShapeshifter.java @@ -44,6 +44,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -67,7 +68,7 @@ public class VesuvanShapeshifter extends CardImpl { public VesuvanShapeshifter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/v/VeteranArmorer.java b/Mage.Sets/src/mage/cards/v/VeteranArmorer.java index af4135a5170..68ee7ccb0de 100644 --- a/Mage.Sets/src/mage/cards/v/VeteranArmorer.java +++ b/Mage.Sets/src/mage/cards/v/VeteranArmorer.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -45,8 +46,8 @@ public class VeteranArmorer extends CardImpl { public VeteranArmorer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VeteranArmorsmith.java b/Mage.Sets/src/mage/cards/v/VeteranArmorsmith.java index a7e645f82c1..025933b8bbd 100644 --- a/Mage.Sets/src/mage/cards/v/VeteranArmorsmith.java +++ b/Mage.Sets/src/mage/cards/v/VeteranArmorsmith.java @@ -54,8 +54,8 @@ public class VeteranArmorsmith extends CardImpl { public VeteranArmorsmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VeteranBodyguard.java b/Mage.Sets/src/mage/cards/v/VeteranBodyguard.java index 0762401d3a0..8a4f5adac3b 100644 --- a/Mage.Sets/src/mage/cards/v/VeteranBodyguard.java +++ b/Mage.Sets/src/mage/cards/v/VeteranBodyguard.java @@ -38,6 +38,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class VeteranBodyguard extends CardImpl { public VeteranBodyguard(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{W}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/v/VeteranCathar.java b/Mage.Sets/src/mage/cards/v/VeteranCathar.java index dbe95b00779..0f1915af567 100644 --- a/Mage.Sets/src/mage/cards/v/VeteranCathar.java +++ b/Mage.Sets/src/mage/cards/v/VeteranCathar.java @@ -51,8 +51,8 @@ public class VeteranCathar extends CardImpl { public VeteranCathar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VeteranCavalier.java b/Mage.Sets/src/mage/cards/v/VeteranCavalier.java index 3fb8bde20b2..81e77e30866 100644 --- a/Mage.Sets/src/mage/cards/v/VeteranCavalier.java +++ b/Mage.Sets/src/mage/cards/v/VeteranCavalier.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class VeteranCavalier extends CardImpl { public VeteranCavalier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VeteranExplorer.java b/Mage.Sets/src/mage/cards/v/VeteranExplorer.java index b6f30d6be42..566a4c9c887 100644 --- a/Mage.Sets/src/mage/cards/v/VeteranExplorer.java +++ b/Mage.Sets/src/mage/cards/v/VeteranExplorer.java @@ -38,6 +38,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -53,9 +54,9 @@ public class VeteranExplorer extends CardImpl { public VeteranExplorer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VeteranMotorist.java b/Mage.Sets/src/mage/cards/v/VeteranMotorist.java index 2f5cc2275b2..c543c33a245 100644 --- a/Mage.Sets/src/mage/cards/v/VeteranMotorist.java +++ b/Mage.Sets/src/mage/cards/v/VeteranMotorist.java @@ -37,6 +37,7 @@ import mage.abilities.effects.keyword.ScryEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -47,8 +48,8 @@ public class VeteranMotorist extends CardImpl { public VeteranMotorist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{W}"); - this.subtype.add("Dwarf"); - this.subtype.add("Pilot"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.PILOT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VeteranOfTheDepths.java b/Mage.Sets/src/mage/cards/v/VeteranOfTheDepths.java index 542a68de7e4..6fb2919160b 100644 --- a/Mage.Sets/src/mage/cards/v/VeteranOfTheDepths.java +++ b/Mage.Sets/src/mage/cards/v/VeteranOfTheDepths.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,8 +46,8 @@ public class VeteranOfTheDepths extends CardImpl { public VeteranOfTheDepths(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VeteranSwordsmith.java b/Mage.Sets/src/mage/cards/v/VeteranSwordsmith.java index eb3228c024c..a5a503bea0b 100644 --- a/Mage.Sets/src/mage/cards/v/VeteranSwordsmith.java +++ b/Mage.Sets/src/mage/cards/v/VeteranSwordsmith.java @@ -53,8 +53,8 @@ public class VeteranSwordsmith extends CardImpl { public VeteranSwordsmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VeteranWarleader.java b/Mage.Sets/src/mage/cards/v/VeteranWarleader.java index 70f55a19fd2..1bddfe44a9c 100644 --- a/Mage.Sets/src/mage/cards/v/VeteranWarleader.java +++ b/Mage.Sets/src/mage/cards/v/VeteranWarleader.java @@ -71,9 +71,9 @@ public class VeteranWarleader extends CardImpl { public VeteranWarleader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ALLY); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/v/VeteransArmaments.java b/Mage.Sets/src/mage/cards/v/VeteransArmaments.java index b8f605da7a9..f25e19013da 100644 --- a/Mage.Sets/src/mage/cards/v/VeteransArmaments.java +++ b/Mage.Sets/src/mage/cards/v/VeteransArmaments.java @@ -60,8 +60,8 @@ public class VeteransArmaments extends CardImpl { public VeteransArmaments(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.ARTIFACT},"{2}"); - this.subtype.add("Soldier"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has "Whenever this creature attacks or blocks, it gets +1/+1 until end of turn for each attacking creature." DynamicValue attackingCreatures = new AttackingCreatureCount("attacking creature"); diff --git a/Mage.Sets/src/mage/cards/v/VeteransSidearm.java b/Mage.Sets/src/mage/cards/v/VeteransSidearm.java index 91f114567b5..1e890b8e1ff 100644 --- a/Mage.Sets/src/mage/cards/v/VeteransSidearm.java +++ b/Mage.Sets/src/mage/cards/v/VeteransSidearm.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class VeteransSidearm extends CardImpl { public VeteransSidearm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +1/+1. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 1))); diff --git a/Mage.Sets/src/mage/cards/v/Vex.java b/Mage.Sets/src/mage/cards/v/Vex.java index 633ff381561..96b014a2909 100644 --- a/Mage.Sets/src/mage/cards/v/Vex.java +++ b/Mage.Sets/src/mage/cards/v/Vex.java @@ -1,98 +1,98 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.v; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.effects.OneShotEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.game.Game; -import mage.players.Player; -import mage.target.TargetSpell; - -/** - * - * @author wetterlicht - */ -public class Vex extends CardImpl { - - public Vex(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{U}"); - - // Counter target spell. That spell's controller may draw a card. - getSpellAbility().addTarget(new TargetSpell()); - getSpellAbility().addEffect(new VexEffect()); - } - - public Vex(final Vex card) { - super(card); - } - - @Override - public Vex copy() { - return new Vex(this); - } -} - -class VexEffect extends OneShotEffect { - - public VexEffect() { - super(Outcome.Neutral); - this.staticText = "That spell's controller may draw a card"; - } - - public VexEffect(final VexEffect effect) { - super(effect); - } - - @Override - public VexEffect copy() { - return new VexEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - UUID targetId = source.getFirstTarget(); - Player controller = null; - boolean countered = false; - if (targetId != null) { - controller = game.getPlayer(game.getControllerId(targetId)); - } - if (targetId != null - && game.getStack().counter(targetId, source.getSourceId(), game)) { - countered = true; - } - if (controller != null) { - controller.drawCards(1, game); - } - return countered; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.v; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.game.Game; +import mage.players.Player; +import mage.target.TargetSpell; + +/** + * + * @author wetterlicht + */ +public class Vex extends CardImpl { + + public Vex(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{U}"); + + // Counter target spell. That spell's controller may draw a card. + getSpellAbility().addTarget(new TargetSpell()); + getSpellAbility().addEffect(new VexEffect()); + } + + public Vex(final Vex card) { + super(card); + } + + @Override + public Vex copy() { + return new Vex(this); + } +} + +class VexEffect extends OneShotEffect { + + public VexEffect() { + super(Outcome.Neutral); + this.staticText = "That spell's controller may draw a card"; + } + + public VexEffect(final VexEffect effect) { + super(effect); + } + + @Override + public VexEffect copy() { + return new VexEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + UUID targetId = source.getFirstTarget(); + Player controller = null; + boolean countered = false; + if (targetId != null) { + controller = game.getPlayer(game.getControllerId(targetId)); + } + if (targetId != null + && game.getStack().counter(targetId, source.getSourceId(), game)) { + countered = true; + } + if (controller != null) { + controller.drawCards(1, game); + } + return countered; + } +} diff --git a/Mage.Sets/src/mage/cards/v/VexingDevil.java b/Mage.Sets/src/mage/cards/v/VexingDevil.java index d7811dfbbd8..a8d8eecf1e2 100644 --- a/Mage.Sets/src/mage/cards/v/VexingDevil.java +++ b/Mage.Sets/src/mage/cards/v/VexingDevil.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -49,7 +50,7 @@ public class VexingDevil extends CardImpl { public VexingDevil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Devil"); + this.subtype.add(SubType.DEVIL); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VexingScuttler.java b/Mage.Sets/src/mage/cards/v/VexingScuttler.java index d19afc87fce..70e203bd6ea 100644 --- a/Mage.Sets/src/mage/cards/v/VexingScuttler.java +++ b/Mage.Sets/src/mage/cards/v/VexingScuttler.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EmergeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -59,8 +60,8 @@ public class VexingScuttler extends CardImpl { public VexingScuttler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{8}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Crab"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.CRAB); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/v/VexingShusher.java b/Mage.Sets/src/mage/cards/v/VexingShusher.java index faf0fcf2926..80553a4fde4 100644 --- a/Mage.Sets/src/mage/cards/v/VexingShusher.java +++ b/Mage.Sets/src/mage/cards/v/VexingShusher.java @@ -38,6 +38,7 @@ import mage.abilities.effects.ContinuousRuleModifyingEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class VexingShusher extends CardImpl { public VexingShusher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R/G}{R/G}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VexingSphinx.java b/Mage.Sets/src/mage/cards/v/VexingSphinx.java index 6aa1e64e1b2..3a1f7376c2c 100644 --- a/Mage.Sets/src/mage/cards/v/VexingSphinx.java +++ b/Mage.Sets/src/mage/cards/v/VexingSphinx.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.CumulativeUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetCardInHand; @@ -50,7 +51,7 @@ public class VexingSphinx extends CardImpl { public VexingSphinx(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VhatiIlDal.java b/Mage.Sets/src/mage/cards/v/VhatiIlDal.java index 1b05f76ac4e..e525a692cbd 100644 --- a/Mage.Sets/src/mage/cards/v/VhatiIlDal.java +++ b/Mage.Sets/src/mage/cards/v/VhatiIlDal.java @@ -53,8 +53,8 @@ public class VhatiIlDal extends CardImpl { public VhatiIlDal(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VialSmasherTheFierce.java b/Mage.Sets/src/mage/cards/v/VialSmasherTheFierce.java index ae3db87d3e0..1519c59b8b3 100644 --- a/Mage.Sets/src/mage/cards/v/VialSmasherTheFierce.java +++ b/Mage.Sets/src/mage/cards/v/VialSmasherTheFierce.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.PartnerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.game.Game; @@ -59,8 +60,8 @@ public class VialSmasherTheFierce extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Goblin"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoBladescout.java b/Mage.Sets/src/mage/cards/v/ViashinoBladescout.java index ebff151d76f..e797ab70f55 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoBladescout.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoBladescout.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class ViashinoBladescout extends CardImpl { public ViashinoBladescout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Viashino"); - this.subtype.add("Scout"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoCutthroat.java b/Mage.Sets/src/mage/cards/v/ViashinoCutthroat.java index 26b55613131..aebb8dec62d 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoCutthroat.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoCutthroat.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,7 +46,7 @@ public class ViashinoCutthroat extends CardImpl { public ViashinoCutthroat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Viashino"); + this.subtype.add(SubType.VIASHINO); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoFangtail.java b/Mage.Sets/src/mage/cards/v/ViashinoFangtail.java index 109752488aa..5ef4ad3e26e 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoFangtail.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoFangtail.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -47,8 +48,8 @@ public class ViashinoFangtail extends CardImpl { public ViashinoFangtail(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Viashino"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoFirstblade.java b/Mage.Sets/src/mage/cards/v/ViashinoFirstblade.java index 051989e2d2c..bbbc0d05832 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoFirstblade.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoFirstblade.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class ViashinoFirstblade extends CardImpl { public ViashinoFirstblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{W}"); - this.subtype.add("Viashino"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoGrappler.java b/Mage.Sets/src/mage/cards/v/ViashinoGrappler.java index 4eb89889fbe..7559d773938 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoGrappler.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoGrappler.java @@ -45,7 +45,7 @@ public class ViashinoGrappler extends CardImpl { public ViashinoGrappler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Viashino"); + this.subtype.add(SubType.VIASHINO); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoHeretic.java b/Mage.Sets/src/mage/cards/v/ViashinoHeretic.java index 11b450672d1..aeb6feef274 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoHeretic.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoHeretic.java @@ -38,6 +38,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -53,7 +54,7 @@ public class ViashinoHeretic extends CardImpl { public ViashinoHeretic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Viashino"); + this.subtype.add(SubType.VIASHINO); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoOutrider.java b/Mage.Sets/src/mage/cards/v/ViashinoOutrider.java index 5c20ff828dd..4698b591e18 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoOutrider.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoOutrider.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class ViashinoOutrider extends CardImpl { public ViashinoOutrider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Viashino"); + this.subtype.add(SubType.VIASHINO); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoRacketeer.java b/Mage.Sets/src/mage/cards/v/ViashinoRacketeer.java index 08a082e16d7..83b9fe81df8 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoRacketeer.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoRacketeer.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class ViashinoRacketeer extends CardImpl { public ViashinoRacketeer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Viashino"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoRunner.java b/Mage.Sets/src/mage/cards/v/ViashinoRunner.java index 3aecac166d3..82d43889c58 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoRunner.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoRunner.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ViashinoRunner extends CardImpl { public ViashinoRunner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Viashino"); + this.subtype.add(SubType.VIASHINO); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoSandscout.java b/Mage.Sets/src/mage/cards/v/ViashinoSandscout.java index 975456f79b3..d20d16bbfa6 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoSandscout.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoSandscout.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,8 +46,8 @@ public class ViashinoSandscout extends CardImpl { public ViashinoSandscout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Viashino"); - this.subtype.add("Scout"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoSandstalker.java b/Mage.Sets/src/mage/cards/v/ViashinoSandstalker.java index e28c02eb47b..10e43f6490d 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoSandstalker.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoSandstalker.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -46,8 +47,8 @@ public class ViashinoSandstalker extends CardImpl { public ViashinoSandstalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Viashino"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoSandswimmer.java b/Mage.Sets/src/mage/cards/v/ViashinoSandswimmer.java index d6f936790c1..0332111356c 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoSandswimmer.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoSandswimmer.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.SacrificeSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -52,7 +53,7 @@ public class ViashinoSandswimmer extends CardImpl { public ViashinoSandswimmer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Viashino"); + this.subtype.add(SubType.VIASHINO); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoShanktail.java b/Mage.Sets/src/mage/cards/v/ViashinoShanktail.java index b9432b3ded7..5673b91d733 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoShanktail.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoShanktail.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -47,8 +48,8 @@ public class ViashinoShanktail extends CardImpl { public ViashinoShanktail(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Viashino"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoSkeleton.java b/Mage.Sets/src/mage/cards/v/ViashinoSkeleton.java index a625dc6c1a3..a319ed74da2 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoSkeleton.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoSkeleton.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCardInHand; @@ -48,8 +49,8 @@ public class ViashinoSkeleton extends CardImpl { public ViashinoSkeleton(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Viashino"); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.SKELETON); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoSlasher.java b/Mage.Sets/src/mage/cards/v/ViashinoSlasher.java index 9c0732041aa..d5ef31406e9 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoSlasher.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoSlasher.java @@ -44,8 +44,8 @@ public class ViashinoSlasher extends CardImpl { public ViashinoSlasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Viashino"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoSlaughtermaster.java b/Mage.Sets/src/mage/cards/v/ViashinoSlaughtermaster.java index 5c0bdb3a62a..e687dd07701 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoSlaughtermaster.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoSlaughtermaster.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class ViashinoSlaughtermaster extends CardImpl { public ViashinoSlaughtermaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Viashino"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoSpearhunter.java b/Mage.Sets/src/mage/cards/v/ViashinoSpearhunter.java index c9a4d5b1897..84451be1105 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoSpearhunter.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoSpearhunter.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class ViashinoSpearhunter extends CardImpl { public ViashinoSpearhunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Viashino"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoWarrior.java b/Mage.Sets/src/mage/cards/v/ViashinoWarrior.java index c5b501848bb..0662cfee835 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoWarrior.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoWarrior.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class ViashinoWarrior extends CardImpl { public ViashinoWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Viashino"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VIASHINO); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/ViashinoWeaponsmith.java b/Mage.Sets/src/mage/cards/v/ViashinoWeaponsmith.java index f59470291ee..b91a2a96290 100644 --- a/Mage.Sets/src/mage/cards/v/ViashinoWeaponsmith.java +++ b/Mage.Sets/src/mage/cards/v/ViashinoWeaponsmith.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,7 +45,7 @@ public class ViashinoWeaponsmith extends CardImpl { public ViashinoWeaponsmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Viashino"); + this.subtype.add(SubType.VIASHINO); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/ViashivanDragon.java b/Mage.Sets/src/mage/cards/v/ViashivanDragon.java index 8bef70b19f8..5e47c7e38cf 100644 --- a/Mage.Sets/src/mage/cards/v/ViashivanDragon.java +++ b/Mage.Sets/src/mage/cards/v/ViashivanDragon.java @@ -9,6 +9,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -17,7 +18,7 @@ public class ViashivanDragon extends CardImpl { public ViashivanDragon(UUID cardId, CardSetInfo cardSetInfo) { super(cardId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}{G}{G}"); - subtype.add("Dragon"); + subtype.add(SubType.DRAGON); color.setGreen(true); color.setRed(true); power = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/ViciousKavu.java b/Mage.Sets/src/mage/cards/v/ViciousKavu.java index edd15d45c04..cea78da2bbe 100644 --- a/Mage.Sets/src/mage/cards/v/ViciousKavu.java +++ b/Mage.Sets/src/mage/cards/v/ViciousKavu.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class ViciousKavu extends CardImpl { public ViciousKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{R}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VictorysHerald.java b/Mage.Sets/src/mage/cards/v/VictorysHerald.java index be4cad83f25..64a99f66a17 100644 --- a/Mage.Sets/src/mage/cards/v/VictorysHerald.java +++ b/Mage.Sets/src/mage/cards/v/VictorysHerald.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterAttackingCreature; @@ -49,7 +50,7 @@ public class VictorysHerald extends CardImpl { public VictorysHerald (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VictualSliver.java b/Mage.Sets/src/mage/cards/v/VictualSliver.java index b0222e70c55..99b060805a2 100644 --- a/Mage.Sets/src/mage/cards/v/VictualSliver.java +++ b/Mage.Sets/src/mage/cards/v/VictualSliver.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.GainAbilityAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -51,7 +52,7 @@ public class VictualSliver extends CardImpl { public VictualSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}{W}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VigeanGraftmage.java b/Mage.Sets/src/mage/cards/v/VigeanGraftmage.java index 7e66136bd27..f4739ed5088 100644 --- a/Mage.Sets/src/mage/cards/v/VigeanGraftmage.java +++ b/Mage.Sets/src/mage/cards/v/VigeanGraftmage.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.GraftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -56,9 +57,9 @@ public class VigeanGraftmage extends CardImpl { public VigeanGraftmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Vedalken"); - this.subtype.add("Wizard"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.WIZARD); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/v/VigeanHydropon.java b/Mage.Sets/src/mage/cards/v/VigeanHydropon.java index 561d97c3da6..760970ee523 100644 --- a/Mage.Sets/src/mage/cards/v/VigeanHydropon.java +++ b/Mage.Sets/src/mage/cards/v/VigeanHydropon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.GraftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -49,8 +50,8 @@ public class VigeanHydropon extends CardImpl { public VigeanHydropon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{U}"); - this.subtype.add("Plant"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/v/Vigilance.java b/Mage.Sets/src/mage/cards/v/Vigilance.java index c4e7cf15563..02e37441bee 100644 --- a/Mage.Sets/src/mage/cards/v/Vigilance.java +++ b/Mage.Sets/src/mage/cards/v/Vigilance.java @@ -47,7 +47,7 @@ public class Vigilance extends CardImpl { public Vigilance (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/v/VigilantDrake.java b/Mage.Sets/src/mage/cards/v/VigilantDrake.java index 1892f74c9db..92e4ec09745 100644 --- a/Mage.Sets/src/mage/cards/v/VigilantDrake.java +++ b/Mage.Sets/src/mage/cards/v/VigilantDrake.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class VigilantDrake extends CardImpl { public VigilantDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VigilantMartyr.java b/Mage.Sets/src/mage/cards/v/VigilantMartyr.java index e6d6f3d5b03..027f1e3f38d 100644 --- a/Mage.Sets/src/mage/cards/v/VigilantMartyr.java +++ b/Mage.Sets/src/mage/cards/v/VigilantMartyr.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.RegenerateTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterSpell; import mage.filter.StaticFilters; @@ -61,8 +62,8 @@ public class VigilantMartyr extends CardImpl { public VigilantMartyr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VigilantSentry.java b/Mage.Sets/src/mage/cards/v/VigilantSentry.java index d918fb3dc88..32570ceb134 100644 --- a/Mage.Sets/src/mage/cards/v/VigilantSentry.java +++ b/Mage.Sets/src/mage/cards/v/VigilantSentry.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetAttackingOrBlockingCreature; @@ -54,8 +55,8 @@ public class VigilantSentry extends CardImpl { public VigilantSentry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/Vigor.java b/Mage.Sets/src/mage/cards/v/Vigor.java index e523da56cad..c39c680c6a5 100644 --- a/Mage.Sets/src/mage/cards/v/Vigor.java +++ b/Mage.Sets/src/mage/cards/v/Vigor.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,8 +55,8 @@ public class Vigor extends CardImpl { public Vigor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}{G}"); - this.subtype.add("Elemental"); - this.subtype.add("Incarnation"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.INCARNATION); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/v/VildinPackAlpha.java b/Mage.Sets/src/mage/cards/v/VildinPackAlpha.java index 9ad08bebfd5..7daece32647 100644 --- a/Mage.Sets/src/mage/cards/v/VildinPackAlpha.java +++ b/Mage.Sets/src/mage/cards/v/VildinPackAlpha.java @@ -54,7 +54,7 @@ public class VildinPackAlpha extends CardImpl { public VildinPackAlpha(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(4); this.toughness = new MageInt(3); this.color.setRed(true); diff --git a/Mage.Sets/src/mage/cards/v/VildinPackOutcast.java b/Mage.Sets/src/mage/cards/v/VildinPackOutcast.java index 560605a5ff6..2f1aab511e3 100644 --- a/Mage.Sets/src/mage/cards/v/VildinPackOutcast.java +++ b/Mage.Sets/src/mage/cards/v/VildinPackOutcast.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.d.DronepackKindred; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,8 +51,8 @@ public class VildinPackOutcast extends CardImpl { public VildinPackOutcast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Werewolf"); - this.subtype.add("Horror"); + this.subtype.add(SubType.WEREWOLF); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VileAggregate.java b/Mage.Sets/src/mage/cards/v/VileAggregate.java index 48e3d104457..0c88cc36912 100644 --- a/Mage.Sets/src/mage/cards/v/VileAggregate.java +++ b/Mage.Sets/src/mage/cards/v/VileAggregate.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -58,8 +59,8 @@ public class VileAggregate extends CardImpl { public VileAggregate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/v/VileDeacon.java b/Mage.Sets/src/mage/cards/v/VileDeacon.java index 2af177f6012..cbb1465f046 100644 --- a/Mage.Sets/src/mage/cards/v/VileDeacon.java +++ b/Mage.Sets/src/mage/cards/v/VileDeacon.java @@ -55,8 +55,8 @@ public class VileDeacon extends CardImpl { public VileDeacon(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VileManifestation.java b/Mage.Sets/src/mage/cards/v/VileManifestation.java index 56ef49b6f21..ae43afe3bf3 100644 --- a/Mage.Sets/src/mage/cards/v/VileManifestation.java +++ b/Mage.Sets/src/mage/cards/v/VileManifestation.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterCard; @@ -60,7 +61,7 @@ public class VileManifestation extends CardImpl { public VileManifestation(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VileRedeemer.java b/Mage.Sets/src/mage/cards/v/VileRedeemer.java index 505f8920134..5f18a052633 100644 --- a/Mage.Sets/src/mage/cards/v/VileRedeemer.java +++ b/Mage.Sets/src/mage/cards/v/VileRedeemer.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.WatcherScope; import mage.game.Game; @@ -60,7 +61,7 @@ public class VileRedeemer extends CardImpl { public VileRedeemer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VillageBellRinger.java b/Mage.Sets/src/mage/cards/v/VillageBellRinger.java index 251d1dba433..41c4e86ea3a 100644 --- a/Mage.Sets/src/mage/cards/v/VillageBellRinger.java +++ b/Mage.Sets/src/mage/cards/v/VillageBellRinger.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; /** @@ -47,8 +48,8 @@ public class VillageBellRinger extends CardImpl { public VillageBellRinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VillageCannibals.java b/Mage.Sets/src/mage/cards/v/VillageCannibals.java index 4f33a0f80f8..f34e8907e73 100644 --- a/Mage.Sets/src/mage/cards/v/VillageCannibals.java +++ b/Mage.Sets/src/mage/cards/v/VillageCannibals.java @@ -51,7 +51,7 @@ public class VillageCannibals extends CardImpl { public VillageCannibals(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VillageElder.java b/Mage.Sets/src/mage/cards/v/VillageElder.java index 192b49c8c13..f5740a3c5c8 100644 --- a/Mage.Sets/src/mage/cards/v/VillageElder.java +++ b/Mage.Sets/src/mage/cards/v/VillageElder.java @@ -58,8 +58,8 @@ public class VillageElder extends CardImpl { public VillageElder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VillageIronsmith.java b/Mage.Sets/src/mage/cards/v/VillageIronsmith.java index 037fa2fa322..d32fafe9832 100644 --- a/Mage.Sets/src/mage/cards/v/VillageIronsmith.java +++ b/Mage.Sets/src/mage/cards/v/VillageIronsmith.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.i.Ironfang; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -49,8 +50,8 @@ public class VillageIronsmith extends CardImpl { public VillageIronsmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WEREWOLF); this.transformable = true; this.secondSideCardClazz = Ironfang.class; diff --git a/Mage.Sets/src/mage/cards/v/VillageMessenger.java b/Mage.Sets/src/mage/cards/v/VillageMessenger.java index 5c38acfa042..24734fd60f9 100644 --- a/Mage.Sets/src/mage/cards/v/VillageMessenger.java +++ b/Mage.Sets/src/mage/cards/v/VillageMessenger.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.m.MoonriseIntruder; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -50,8 +51,8 @@ public class VillageMessenger extends CardImpl { public VillageMessenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Human"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VillageSurvivors.java b/Mage.Sets/src/mage/cards/v/VillageSurvivors.java index 49ee65af4da..be989800441 100644 --- a/Mage.Sets/src/mage/cards/v/VillageSurvivors.java +++ b/Mage.Sets/src/mage/cards/v/VillageSurvivors.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -49,7 +50,7 @@ public class VillageSurvivors extends CardImpl { public VillageSurvivors(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(4); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/v/VillagersOfEstwald.java b/Mage.Sets/src/mage/cards/v/VillagersOfEstwald.java index c206131642f..319e06ffc30 100644 --- a/Mage.Sets/src/mage/cards/v/VillagersOfEstwald.java +++ b/Mage.Sets/src/mage/cards/v/VillagersOfEstwald.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.h.HowlpackOfEstwald; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -48,8 +49,8 @@ public class VillagersOfEstwald extends CardImpl { public VillagersOfEstwald(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WEREWOLF); this.transformable = true; this.secondSideCardClazz = HowlpackOfEstwald.class; diff --git a/Mage.Sets/src/mage/cards/v/VillainousOgre.java b/Mage.Sets/src/mage/cards/v/VillainousOgre.java index fc304f4a0c4..1e45daa9a78 100644 --- a/Mage.Sets/src/mage/cards/v/VillainousOgre.java +++ b/Mage.Sets/src/mage/cards/v/VillainousOgre.java @@ -57,8 +57,8 @@ public class VillainousOgre extends CardImpl { public VillainousOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VindictiveMob.java b/Mage.Sets/src/mage/cards/v/VindictiveMob.java index 0646cfb746c..0d9ae25bda1 100644 --- a/Mage.Sets/src/mage/cards/v/VindictiveMob.java +++ b/Mage.Sets/src/mage/cards/v/VindictiveMob.java @@ -56,8 +56,8 @@ public class VindictiveMob extends CardImpl { public VindictiveMob(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/v/VineDryad.java b/Mage.Sets/src/mage/cards/v/VineDryad.java index 20b30557b23..d33fe3f15e6 100644 --- a/Mage.Sets/src/mage/cards/v/VineDryad.java +++ b/Mage.Sets/src/mage/cards/v/VineDryad.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterOwnedCard; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardIdPredicate; @@ -51,7 +52,7 @@ public class VineDryad extends CardImpl { public VineDryad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VineKami.java b/Mage.Sets/src/mage/cards/v/VineKami.java index c086671ec88..d0047621143 100644 --- a/Mage.Sets/src/mage/cards/v/VineKami.java +++ b/Mage.Sets/src/mage/cards/v/VineKami.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.SoulshiftAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class VineKami extends CardImpl { public VineKami(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VineTrellis.java b/Mage.Sets/src/mage/cards/v/VineTrellis.java index acb496be0c3..321394f210d 100644 --- a/Mage.Sets/src/mage/cards/v/VineTrellis.java +++ b/Mage.Sets/src/mage/cards/v/VineTrellis.java @@ -34,6 +34,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class VineTrellis extends CardImpl { public VineTrellis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Wall"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VinelasherKudzu.java b/Mage.Sets/src/mage/cards/v/VinelasherKudzu.java index 1553445b231..885ab8b4ee3 100644 --- a/Mage.Sets/src/mage/cards/v/VinelasherKudzu.java +++ b/Mage.Sets/src/mage/cards/v/VinelasherKudzu.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.common.FilterControlledLandPermanent; @@ -46,7 +47,7 @@ public class VinelasherKudzu extends CardImpl { public VinelasherKudzu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Plant"); + this.subtype.add(SubType.PLANT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/Vineweft.java b/Mage.Sets/src/mage/cards/v/Vineweft.java index a1d9e177e7b..d0d8437e4c7 100644 --- a/Mage.Sets/src/mage/cards/v/Vineweft.java +++ b/Mage.Sets/src/mage/cards/v/Vineweft.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class Vineweft extends CardImpl { public Vineweft(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/v/VintaraElephant.java b/Mage.Sets/src/mage/cards/v/VintaraElephant.java index 462209e1d36..793f13abc0f 100644 --- a/Mage.Sets/src/mage/cards/v/VintaraElephant.java +++ b/Mage.Sets/src/mage/cards/v/VintaraElephant.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class VintaraElephant extends CardImpl { public VintaraElephant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VintaraSnapper.java b/Mage.Sets/src/mage/cards/v/VintaraSnapper.java index 4261ff0e155..349ecf07aa2 100644 --- a/Mage.Sets/src/mage/cards/v/VintaraSnapper.java +++ b/Mage.Sets/src/mage/cards/v/VintaraSnapper.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledLandPermanent; @@ -58,7 +59,7 @@ public class VintaraSnapper extends CardImpl { public VintaraSnapper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); - this.subtype.add("Turtle"); + this.subtype.add(SubType.TURTLE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VioletPall.java b/Mage.Sets/src/mage/cards/v/VioletPall.java index 0a2f41c86cb..c83157080fd 100644 --- a/Mage.Sets/src/mage/cards/v/VioletPall.java +++ b/Mage.Sets/src/mage/cards/v/VioletPall.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -54,7 +55,7 @@ public class VioletPall extends CardImpl { public VioletPall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{4}{B}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter)); diff --git a/Mage.Sets/src/mage/cards/v/VipersKiss.java b/Mage.Sets/src/mage/cards/v/VipersKiss.java index 739146c42b4..d2dae5341a3 100644 --- a/Mage.Sets/src/mage/cards/v/VipersKiss.java +++ b/Mage.Sets/src/mage/cards/v/VipersKiss.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class VipersKiss extends CardImpl { public VipersKiss(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/v/ViralDrake.java b/Mage.Sets/src/mage/cards/v/ViralDrake.java index ffa2a73fee6..92d3ba4f548 100644 --- a/Mage.Sets/src/mage/cards/v/ViralDrake.java +++ b/Mage.Sets/src/mage/cards/v/ViralDrake.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,7 +48,7 @@ public class ViralDrake extends CardImpl { public ViralDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/ViridianAcolyte.java b/Mage.Sets/src/mage/cards/v/ViridianAcolyte.java index 004bfb97675..a06ba48d552 100644 --- a/Mage.Sets/src/mage/cards/v/ViridianAcolyte.java +++ b/Mage.Sets/src/mage/cards/v/ViridianAcolyte.java @@ -37,6 +37,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -45,8 +46,8 @@ public class ViridianAcolyte extends CardImpl { public ViridianAcolyte(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/ViridianBetrayers.java b/Mage.Sets/src/mage/cards/v/ViridianBetrayers.java index 2a6bb575bd2..2da4e039669 100644 --- a/Mage.Sets/src/mage/cards/v/ViridianBetrayers.java +++ b/Mage.Sets/src/mage/cards/v/ViridianBetrayers.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -53,8 +54,8 @@ public class ViridianBetrayers extends CardImpl { public ViridianBetrayers(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.color.setGreen(true); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/ViridianClaw.java b/Mage.Sets/src/mage/cards/v/ViridianClaw.java index 327863b0ff6..75272590a3f 100644 --- a/Mage.Sets/src/mage/cards/v/ViridianClaw.java +++ b/Mage.Sets/src/mage/cards/v/ViridianClaw.java @@ -38,6 +38,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class ViridianClaw extends CardImpl { public ViridianClaw (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(1, 0))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(FirstStrikeAbility.getInstance(), AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/v/ViridianCorrupter.java b/Mage.Sets/src/mage/cards/v/ViridianCorrupter.java index d0373978973..e9a3439315d 100644 --- a/Mage.Sets/src/mage/cards/v/ViridianCorrupter.java +++ b/Mage.Sets/src/mage/cards/v/ViridianCorrupter.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetArtifactPermanent; /** @@ -46,8 +47,8 @@ public class ViridianCorrupter extends CardImpl { public ViridianCorrupter (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/ViridianEmissary.java b/Mage.Sets/src/mage/cards/v/ViridianEmissary.java index 5c62fc7ee7f..117bdec706a 100644 --- a/Mage.Sets/src/mage/cards/v/ViridianEmissary.java +++ b/Mage.Sets/src/mage/cards/v/ViridianEmissary.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -46,8 +47,8 @@ public class ViridianEmissary extends CardImpl { public ViridianEmissary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/ViridianHarvest.java b/Mage.Sets/src/mage/cards/v/ViridianHarvest.java index bbb2727817b..334044298a1 100644 --- a/Mage.Sets/src/mage/cards/v/ViridianHarvest.java +++ b/Mage.Sets/src/mage/cards/v/ViridianHarvest.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.target.TargetPermanent; import mage.target.common.TargetArtifactPermanent; @@ -48,7 +49,7 @@ public class ViridianHarvest extends CardImpl { public ViridianHarvest(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetArtifactPermanent(); diff --git a/Mage.Sets/src/mage/cards/v/ViridianJoiner.java b/Mage.Sets/src/mage/cards/v/ViridianJoiner.java index d3b17bf53c9..585d0c351e4 100644 --- a/Mage.Sets/src/mage/cards/v/ViridianJoiner.java +++ b/Mage.Sets/src/mage/cards/v/ViridianJoiner.java @@ -35,6 +35,7 @@ import mage.abilities.mana.DynamicManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class ViridianJoiner extends CardImpl { public ViridianJoiner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/ViridianLongbow.java b/Mage.Sets/src/mage/cards/v/ViridianLongbow.java index f67d2012346..2891ff0c7a0 100644 --- a/Mage.Sets/src/mage/cards/v/ViridianLongbow.java +++ b/Mage.Sets/src/mage/cards/v/ViridianLongbow.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -52,7 +53,7 @@ public class ViridianLongbow extends CardImpl { public ViridianLongbow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has "{tap}: This creature deals 1 damage to target creature or player." Effect effect = new DamageTargetEffect(1); diff --git a/Mage.Sets/src/mage/cards/v/ViridianLorebearers.java b/Mage.Sets/src/mage/cards/v/ViridianLorebearers.java index 76ed22f7b77..53174bb5a9c 100644 --- a/Mage.Sets/src/mage/cards/v/ViridianLorebearers.java +++ b/Mage.Sets/src/mage/cards/v/ViridianLorebearers.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class ViridianLorebearers extends CardImpl { public ViridianLorebearers(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/ViridianScout.java b/Mage.Sets/src/mage/cards/v/ViridianScout.java index 04c717b6062..059b781ae50 100644 --- a/Mage.Sets/src/mage/cards/v/ViridianScout.java +++ b/Mage.Sets/src/mage/cards/v/ViridianScout.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -55,9 +56,9 @@ public class ViridianScout extends CardImpl { } public ViridianScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/ViridianShaman.java b/Mage.Sets/src/mage/cards/v/ViridianShaman.java index ac9ad5f1695..92e817d4975 100644 --- a/Mage.Sets/src/mage/cards/v/ViridianShaman.java +++ b/Mage.Sets/src/mage/cards/v/ViridianShaman.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.target.TargetPermanent; @@ -53,8 +54,8 @@ public class ViridianShaman extends CardImpl { public ViridianShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/ViridianZealot.java b/Mage.Sets/src/mage/cards/v/ViridianZealot.java index ccd4f184aee..258d71d71fe 100644 --- a/Mage.Sets/src/mage/cards/v/ViridianZealot.java +++ b/Mage.Sets/src/mage/cards/v/ViridianZealot.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -49,8 +50,8 @@ public class ViridianZealot extends CardImpl { public ViridianZealot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VirulentSliver.java b/Mage.Sets/src/mage/cards/v/VirulentSliver.java index 7f4081d613d..1b6db3a009d 100644 --- a/Mage.Sets/src/mage/cards/v/VirulentSliver.java +++ b/Mage.Sets/src/mage/cards/v/VirulentSliver.java @@ -54,7 +54,7 @@ public class VirulentSliver extends CardImpl { public VirulentSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VisaraTheDreadful.java b/Mage.Sets/src/mage/cards/v/VisaraTheDreadful.java index 823b469b1dd..46dd748d822 100644 --- a/Mage.Sets/src/mage/cards/v/VisaraTheDreadful.java +++ b/Mage.Sets/src/mage/cards/v/VisaraTheDreadful.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -50,7 +51,7 @@ public class VisaraTheDreadful extends CardImpl { public VisaraTheDreadful(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Gorgon"); + this.subtype.add(SubType.GORGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/v/VisceraDragger.java b/Mage.Sets/src/mage/cards/v/VisceraDragger.java index 941fb5edd38..386a813f700 100644 --- a/Mage.Sets/src/mage/cards/v/VisceraDragger.java +++ b/Mage.Sets/src/mage/cards/v/VisceraDragger.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,9 +45,9 @@ public class VisceraDragger extends CardImpl { public VisceraDragger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VisceraSeer.java b/Mage.Sets/src/mage/cards/v/VisceraSeer.java index a97533b2b1c..f765df669af 100644 --- a/Mage.Sets/src/mage/cards/v/VisceraSeer.java +++ b/Mage.Sets/src/mage/cards/v/VisceraSeer.java @@ -35,6 +35,7 @@ import mage.abilities.effects.keyword.ScryEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -46,8 +47,8 @@ public class VisceraSeer extends CardImpl { public VisceraSeer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VisceridArmor.java b/Mage.Sets/src/mage/cards/v/VisceridArmor.java index 746a91602ba..12d1c7cd571 100644 --- a/Mage.Sets/src/mage/cards/v/VisceridArmor.java +++ b/Mage.Sets/src/mage/cards/v/VisceridArmor.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class VisceridArmor extends CardImpl { public VisceridArmor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/v/VisceridDeepwalker.java b/Mage.Sets/src/mage/cards/v/VisceridDeepwalker.java index eb14980010d..85ac7ec18fd 100644 --- a/Mage.Sets/src/mage/cards/v/VisceridDeepwalker.java +++ b/Mage.Sets/src/mage/cards/v/VisceridDeepwalker.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SuspendAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class VisceridDeepwalker extends CardImpl { public VisceridDeepwalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Homarid"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HOMARID); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/ViscidLemures.java b/Mage.Sets/src/mage/cards/v/ViscidLemures.java index af28706f9ae..8c4dbeb4403 100644 --- a/Mage.Sets/src/mage/cards/v/ViscidLemures.java +++ b/Mage.Sets/src/mage/cards/v/ViscidLemures.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class ViscidLemures extends CardImpl { public ViscidLemures(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/Viseling.java b/Mage.Sets/src/mage/cards/v/Viseling.java index 691c28d07b6..75608929d34 100644 --- a/Mage.Sets/src/mage/cards/v/Viseling.java +++ b/Mage.Sets/src/mage/cards/v/Viseling.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.game.Game; @@ -48,7 +49,7 @@ public class Viseling extends CardImpl { public Viseling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VishKalBloodArbiter.java b/Mage.Sets/src/mage/cards/v/VishKalBloodArbiter.java index adff3ebc1fe..ac18d5cf5f8 100644 --- a/Mage.Sets/src/mage/cards/v/VishKalBloodArbiter.java +++ b/Mage.Sets/src/mage/cards/v/VishKalBloodArbiter.java @@ -45,6 +45,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -65,7 +66,7 @@ public class VishKalBloodArbiter extends CardImpl { public VishKalBloodArbiter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vampire"); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/v/VisionaryAugmenter.java b/Mage.Sets/src/mage/cards/v/VisionaryAugmenter.java index b82917c7685..f3afc571ddd 100644 --- a/Mage.Sets/src/mage/cards/v/VisionaryAugmenter.java +++ b/Mage.Sets/src/mage/cards/v/VisionaryAugmenter.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FabricateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class VisionaryAugmenter extends CardImpl { public VisionaryAugmenter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Dwarf"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.DWARF); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VisionsOfBrutality.java b/Mage.Sets/src/mage/cards/v/VisionsOfBrutality.java index d6d546c7635..98e865217fe 100644 --- a/Mage.Sets/src/mage/cards/v/VisionsOfBrutality.java +++ b/Mage.Sets/src/mage/cards/v/VisionsOfBrutality.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class VisionsOfBrutality extends CardImpl { public VisionsOfBrutality(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Devoid this.addAbility(new DevoidAbility(this.color)); diff --git a/Mage.Sets/src/mage/cards/v/VitalSplicer.java b/Mage.Sets/src/mage/cards/v/VitalSplicer.java index d663a1a2123..542cf01d4ef 100644 --- a/Mage.Sets/src/mage/cards/v/VitalSplicer.java +++ b/Mage.Sets/src/mage/cards/v/VitalSplicer.java @@ -64,8 +64,8 @@ public class VitalSplicer extends CardImpl { public VitalSplicer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VitasporeThallid.java b/Mage.Sets/src/mage/cards/v/VitasporeThallid.java index 4bb902070cd..7c8bd3c4358 100644 --- a/Mage.Sets/src/mage/cards/v/VitasporeThallid.java +++ b/Mage.Sets/src/mage/cards/v/VitasporeThallid.java @@ -61,7 +61,7 @@ public class VitasporeThallid extends CardImpl { public VitasporeThallid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Fungus"); + this.subtype.add(SubType.FUNGUS); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VithianRenegades.java b/Mage.Sets/src/mage/cards/v/VithianRenegades.java index 75a69d43fae..b0cb0673e8e 100644 --- a/Mage.Sets/src/mage/cards/v/VithianRenegades.java +++ b/Mage.Sets/src/mage/cards/v/VithianRenegades.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetArtifactPermanent; /** @@ -45,8 +46,8 @@ public class VithianRenegades extends CardImpl { public VithianRenegades (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VithianStinger.java b/Mage.Sets/src/mage/cards/v/VithianStinger.java index e25a4ab03c5..989d74ba14d 100644 --- a/Mage.Sets/src/mage/cards/v/VithianStinger.java +++ b/Mage.Sets/src/mage/cards/v/VithianStinger.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.UnearthAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -49,8 +50,8 @@ public class VithianStinger extends CardImpl { public VithianStinger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VituGhaziGuildmage.java b/Mage.Sets/src/mage/cards/v/VituGhaziGuildmage.java index 153ffc7c73e..2fda9af465c 100644 --- a/Mage.Sets/src/mage/cards/v/VituGhaziGuildmage.java +++ b/Mage.Sets/src/mage/cards/v/VituGhaziGuildmage.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.PopulateEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class VituGhaziGuildmage extends CardImpl { public VituGhaziGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}"); - this.subtype.add("Dryad"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.DRYAD); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VizierOfDeferment.java b/Mage.Sets/src/mage/cards/v/VizierOfDeferment.java index 1cf223d0a17..ca75cecf086 100644 --- a/Mage.Sets/src/mage/cards/v/VizierOfDeferment.java +++ b/Mage.Sets/src/mage/cards/v/VizierOfDeferment.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -64,8 +65,8 @@ public class VizierOfDeferment extends CardImpl { public VizierOfDeferment(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VizierOfManyFaces.java b/Mage.Sets/src/mage/cards/v/VizierOfManyFaces.java index 0fc497f943a..100b3683447 100644 --- a/Mage.Sets/src/mage/cards/v/VizierOfManyFaces.java +++ b/Mage.Sets/src/mage/cards/v/VizierOfManyFaces.java @@ -61,8 +61,8 @@ public class VizierOfManyFaces extends CardImpl { public VizierOfManyFaces(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}{U}"); - this.subtype.add("Shapeshifter"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.SHAPESHIFTER); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/v/VizierOfRemedies.java b/Mage.Sets/src/mage/cards/v/VizierOfRemedies.java index 26e07ad0033..748ff288357 100644 --- a/Mage.Sets/src/mage/cards/v/VizierOfRemedies.java +++ b/Mage.Sets/src/mage/cards/v/VizierOfRemedies.java @@ -35,6 +35,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class VizierOfRemedies extends CardImpl { public VizierOfRemedies(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VizierOfTheAnointed.java b/Mage.Sets/src/mage/cards/v/VizierOfTheAnointed.java index 942560a4e5f..c7eabd5d8cc 100644 --- a/Mage.Sets/src/mage/cards/v/VizierOfTheAnointed.java +++ b/Mage.Sets/src/mage/cards/v/VizierOfTheAnointed.java @@ -42,6 +42,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -69,8 +70,8 @@ public class VizierOfTheAnointed extends CardImpl { public VizierOfTheAnointed(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VizierOfTheMenagerie.java b/Mage.Sets/src/mage/cards/v/VizierOfTheMenagerie.java index 5ce31a9e3b7..2fecb77cb64 100644 --- a/Mage.Sets/src/mage/cards/v/VizierOfTheMenagerie.java +++ b/Mage.Sets/src/mage/cards/v/VizierOfTheMenagerie.java @@ -1,200 +1,201 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.v; - -import java.util.UUID; -import mage.MageInt; -import mage.MageObject; -import mage.abilities.Ability; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.AsThoughEffectImpl; -import mage.abilities.effects.AsThoughManaEffect; -import mage.abilities.effects.ContinuousEffectImpl; -import mage.cards.Card; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.AsThoughEffectType; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Layer; -import mage.constants.ManaType; -import mage.constants.Outcome; -import mage.constants.SubLayer; -import mage.constants.Zone; -import mage.game.Game; -import mage.players.ManaPoolItem; -import mage.players.Player; - -/** - * - * @author jeffwadsworth - */ -public class VizierOfTheMenagerie extends CardImpl { - - public VizierOfTheMenagerie(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); - this.subtype.add("Naga"); - this.subtype.add("Cleric"); - this.power = new MageInt(3); - this.toughness = new MageInt(4); - - // You may look at the top card of your library. (You may do this at any time.) - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VizierOfTheMenagerieTopCardRevealedEffect())); - - // You may cast the top card of your library if it's a creature card. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VizierOfTheMenagerieTopCardCastEffect())); - - // You may spend mana as though it were mana of any type to cast creature spells. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VizierOfTheMenagerieManaEffect())); - - } - - public VizierOfTheMenagerie(final VizierOfTheMenagerie card) { - super(card); - } - - @Override - public VizierOfTheMenagerie copy() { - return new VizierOfTheMenagerie(this); - } -} - -class VizierOfTheMenagerieTopCardRevealedEffect extends ContinuousEffectImpl { - - public VizierOfTheMenagerieTopCardRevealedEffect() { - super(Duration.WhileOnBattlefield, Layer.PlayerEffects, SubLayer.NA, Outcome.Benefit); - staticText = "You may look at the top card of your library. (You may do this at any time.)"; - } - - public VizierOfTheMenagerieTopCardRevealedEffect(final VizierOfTheMenagerieTopCardRevealedEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - Card topCard = controller.getLibrary().getFromTop(game); - if (topCard != null) { - MageObject vizierOfTheMenagerie = source.getSourceObject(game); - if (vizierOfTheMenagerie != null) { - controller.lookAtCards("Top card of " + vizierOfTheMenagerie.getIdName() + " controller's library", topCard, game); - } - } - } - return true; - } - - @Override - public VizierOfTheMenagerieTopCardRevealedEffect copy() { - return new VizierOfTheMenagerieTopCardRevealedEffect(this); - } -} - -class VizierOfTheMenagerieTopCardCastEffect extends AsThoughEffectImpl { - - public VizierOfTheMenagerieTopCardCastEffect() { - super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, Duration.WhileOnBattlefield, Outcome.Benefit); - staticText = "You may cast the top card of your library if it's a creature card"; - } - - public VizierOfTheMenagerieTopCardCastEffect(final VizierOfTheMenagerieTopCardCastEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - return true; - } - - @Override - public VizierOfTheMenagerieTopCardCastEffect copy() { - return new VizierOfTheMenagerieTopCardCastEffect(this); - } - - @Override - public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - if (affectedControllerId.equals(source.getControllerId())) { - Card card = game.getCard(objectId); - if (card != null) { - Player controller = game.getPlayer(affectedControllerId); - if (controller != null) { - Card topCard = controller.getLibrary().getFromTop(game); - MageObject vizierOfTheMenagerie = game.getObject(source.getSourceId()); - if (vizierOfTheMenagerie != null - && topCard != null) { - if (topCard == card - && topCard.isCreature() - && topCard.getSpellAbility() != null - && topCard.getSpellAbility().spellCanBeActivatedRegularlyNow(controller.getId(), game)) { - return true; - } - } - } - } - } - return false; - } -} - -class VizierOfTheMenagerieManaEffect extends AsThoughEffectImpl implements AsThoughManaEffect { - - public VizierOfTheMenagerieManaEffect() { - super(AsThoughEffectType.SPEND_OTHER_MANA, Duration.WhileOnBattlefield, Outcome.Benefit); - staticText = "You may spend mana as though it were mana of any type to cast creature spells"; - } - - public VizierOfTheMenagerieManaEffect(final VizierOfTheMenagerieManaEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - return true; - } - - @Override - public VizierOfTheMenagerieManaEffect copy() { - return new VizierOfTheMenagerieManaEffect(this); - } - - @Override - public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { - if (source.getControllerId().equals(affectedControllerId)) { - MageObject mageObject = game.getObject(objectId); - return mageObject != null - && mageObject.isCreature(); - } - return false; - } - - @Override - public ManaType getAsThoughManaType(ManaType manaType, ManaPoolItem mana, UUID affectedControllerId, Ability source, Game game) { - return mana.getFirstAvailable(); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.v; + +import java.util.UUID; +import mage.MageInt; +import mage.MageObject; +import mage.abilities.Ability; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.AsThoughEffectImpl; +import mage.abilities.effects.AsThoughManaEffect; +import mage.abilities.effects.ContinuousEffectImpl; +import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.AsThoughEffectType; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Layer; +import mage.constants.ManaType; +import mage.constants.Outcome; +import mage.constants.SubLayer; +import mage.constants.Zone; +import mage.game.Game; +import mage.players.ManaPoolItem; +import mage.players.Player; + +/** + * + * @author jeffwadsworth + */ +public class VizierOfTheMenagerie extends CardImpl { + + public VizierOfTheMenagerie(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.CLERIC); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + // You may look at the top card of your library. (You may do this at any time.) + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VizierOfTheMenagerieTopCardRevealedEffect())); + + // You may cast the top card of your library if it's a creature card. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VizierOfTheMenagerieTopCardCastEffect())); + + // You may spend mana as though it were mana of any type to cast creature spells. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new VizierOfTheMenagerieManaEffect())); + + } + + public VizierOfTheMenagerie(final VizierOfTheMenagerie card) { + super(card); + } + + @Override + public VizierOfTheMenagerie copy() { + return new VizierOfTheMenagerie(this); + } +} + +class VizierOfTheMenagerieTopCardRevealedEffect extends ContinuousEffectImpl { + + public VizierOfTheMenagerieTopCardRevealedEffect() { + super(Duration.WhileOnBattlefield, Layer.PlayerEffects, SubLayer.NA, Outcome.Benefit); + staticText = "You may look at the top card of your library. (You may do this at any time.)"; + } + + public VizierOfTheMenagerieTopCardRevealedEffect(final VizierOfTheMenagerieTopCardRevealedEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + Card topCard = controller.getLibrary().getFromTop(game); + if (topCard != null) { + MageObject vizierOfTheMenagerie = source.getSourceObject(game); + if (vizierOfTheMenagerie != null) { + controller.lookAtCards("Top card of " + vizierOfTheMenagerie.getIdName() + " controller's library", topCard, game); + } + } + } + return true; + } + + @Override + public VizierOfTheMenagerieTopCardRevealedEffect copy() { + return new VizierOfTheMenagerieTopCardRevealedEffect(this); + } +} + +class VizierOfTheMenagerieTopCardCastEffect extends AsThoughEffectImpl { + + public VizierOfTheMenagerieTopCardCastEffect() { + super(AsThoughEffectType.PLAY_FROM_NOT_OWN_HAND_ZONE, Duration.WhileOnBattlefield, Outcome.Benefit); + staticText = "You may cast the top card of your library if it's a creature card"; + } + + public VizierOfTheMenagerieTopCardCastEffect(final VizierOfTheMenagerieTopCardCastEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } + + @Override + public VizierOfTheMenagerieTopCardCastEffect copy() { + return new VizierOfTheMenagerieTopCardCastEffect(this); + } + + @Override + public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { + if (affectedControllerId.equals(source.getControllerId())) { + Card card = game.getCard(objectId); + if (card != null) { + Player controller = game.getPlayer(affectedControllerId); + if (controller != null) { + Card topCard = controller.getLibrary().getFromTop(game); + MageObject vizierOfTheMenagerie = game.getObject(source.getSourceId()); + if (vizierOfTheMenagerie != null + && topCard != null) { + if (topCard == card + && topCard.isCreature() + && topCard.getSpellAbility() != null + && topCard.getSpellAbility().spellCanBeActivatedRegularlyNow(controller.getId(), game)) { + return true; + } + } + } + } + } + return false; + } +} + +class VizierOfTheMenagerieManaEffect extends AsThoughEffectImpl implements AsThoughManaEffect { + + public VizierOfTheMenagerieManaEffect() { + super(AsThoughEffectType.SPEND_OTHER_MANA, Duration.WhileOnBattlefield, Outcome.Benefit); + staticText = "You may spend mana as though it were mana of any type to cast creature spells"; + } + + public VizierOfTheMenagerieManaEffect(final VizierOfTheMenagerieManaEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + return true; + } + + @Override + public VizierOfTheMenagerieManaEffect copy() { + return new VizierOfTheMenagerieManaEffect(this); + } + + @Override + public boolean applies(UUID objectId, Ability source, UUID affectedControllerId, Game game) { + if (source.getControllerId().equals(affectedControllerId)) { + MageObject mageObject = game.getObject(objectId); + return mageObject != null + && mageObject.isCreature(); + } + return false; + } + + @Override + public ManaType getAsThoughManaType(ManaType manaType, ManaPoolItem mana, UUID affectedControllerId, Ability source, Game game) { + return mana.getFirstAvailable(); + } +} diff --git a/Mage.Sets/src/mage/cards/v/VizierOfTheTrue.java b/Mage.Sets/src/mage/cards/v/VizierOfTheTrue.java index 47988736c8a..8cc954a7568 100644 --- a/Mage.Sets/src/mage/cards/v/VizierOfTheTrue.java +++ b/Mage.Sets/src/mage/cards/v/VizierOfTheTrue.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ExertAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -53,8 +54,8 @@ public class VizierOfTheTrue extends CardImpl { public VizierOfTheTrue(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VizierOfTumblingSands.java b/Mage.Sets/src/mage/cards/v/VizierOfTumblingSands.java index 1af269c970e..386b1ff0677 100644 --- a/Mage.Sets/src/mage/cards/v/VizierOfTumblingSands.java +++ b/Mage.Sets/src/mage/cards/v/VizierOfTumblingSands.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -60,8 +61,8 @@ public class VizierOfTumblingSands extends CardImpl { public VizierOfTumblingSands(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VizkopaConfessor.java b/Mage.Sets/src/mage/cards/v/VizkopaConfessor.java index 6c356269822..401ea4f2e7c 100644 --- a/Mage.Sets/src/mage/cards/v/VizkopaConfessor.java +++ b/Mage.Sets/src/mage/cards/v/VizkopaConfessor.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -56,8 +57,8 @@ public class VizkopaConfessor extends CardImpl { public VizkopaConfessor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VizkopaGuildmage.java b/Mage.Sets/src/mage/cards/v/VizkopaGuildmage.java index 326de96d865..3cca073ca5a 100644 --- a/Mage.Sets/src/mage/cards/v/VizkopaGuildmage.java +++ b/Mage.Sets/src/mage/cards/v/VizkopaGuildmage.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -68,8 +69,8 @@ public class VizkopaGuildmage extends CardImpl { public VizkopaGuildmage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/Vizzerdrix.java b/Mage.Sets/src/mage/cards/v/Vizzerdrix.java index 6f72fee7b71..192357482ff 100644 --- a/Mage.Sets/src/mage/cards/v/Vizzerdrix.java +++ b/Mage.Sets/src/mage/cards/v/Vizzerdrix.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class Vizzerdrix extends CardImpl { public Vizzerdrix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{U}"); - this.subtype.add("Rabbit"); - this.subtype.add("Beast"); + this.subtype.add(SubType.RABBIT); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/v/VodalianHypnotist.java b/Mage.Sets/src/mage/cards/v/VodalianHypnotist.java index a4d32b6c3bd..c0454d02ebe 100644 --- a/Mage.Sets/src/mage/cards/v/VodalianHypnotist.java +++ b/Mage.Sets/src/mage/cards/v/VodalianHypnotist.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.discard.DiscardTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -48,8 +49,8 @@ public class VodalianHypnotist extends CardImpl { public VodalianHypnotist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VodalianIllusionist.java b/Mage.Sets/src/mage/cards/v/VodalianIllusionist.java index 16d85a3634b..7c7781cdbef 100644 --- a/Mage.Sets/src/mage/cards/v/VodalianIllusionist.java +++ b/Mage.Sets/src/mage/cards/v/VodalianIllusionist.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.PhaseOutTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class VodalianIllusionist extends CardImpl { public VodalianIllusionist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VodalianKnights.java b/Mage.Sets/src/mage/cards/v/VodalianKnights.java index 0b36d304de8..5bdc0a33fd2 100644 --- a/Mage.Sets/src/mage/cards/v/VodalianKnights.java +++ b/Mage.Sets/src/mage/cards/v/VodalianKnights.java @@ -51,8 +51,8 @@ public class VodalianKnights extends CardImpl { public VodalianKnights(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Knight"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VodalianMage.java b/Mage.Sets/src/mage/cards/v/VodalianMage.java index 81169ca4419..9830365560a 100644 --- a/Mage.Sets/src/mage/cards/v/VodalianMage.java +++ b/Mage.Sets/src/mage/cards/v/VodalianMage.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CounterUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetSpell; @@ -48,8 +49,8 @@ public class VodalianMage extends CardImpl { public VodalianMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VodalianMerchant.java b/Mage.Sets/src/mage/cards/v/VodalianMerchant.java index 979cd333601..448e135a9dc 100644 --- a/Mage.Sets/src/mage/cards/v/VodalianMerchant.java +++ b/Mage.Sets/src/mage/cards/v/VodalianMerchant.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawDiscardControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class VodalianMerchant extends CardImpl { public VodalianMerchant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VodalianMystic.java b/Mage.Sets/src/mage/cards/v/VodalianMystic.java index 2f1abf11d07..46b1f9f14d6 100644 --- a/Mage.Sets/src/mage/cards/v/VodalianMystic.java +++ b/Mage.Sets/src/mage/cards/v/VodalianMystic.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BecomesColorTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -49,8 +50,8 @@ public class VodalianMystic extends CardImpl { public VodalianMystic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VodalianSerpent.java b/Mage.Sets/src/mage/cards/v/VodalianSerpent.java index 4ae56481f25..ebd5037a9fc 100644 --- a/Mage.Sets/src/mage/cards/v/VodalianSerpent.java +++ b/Mage.Sets/src/mage/cards/v/VodalianSerpent.java @@ -52,7 +52,7 @@ public class VodalianSerpent extends CardImpl { public VodalianSerpent(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Serpent"); + this.subtype.add(SubType.SERPENT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VodalianSoldiers.java b/Mage.Sets/src/mage/cards/v/VodalianSoldiers.java index f66e5e8b61a..dabe60e5cd8 100644 --- a/Mage.Sets/src/mage/cards/v/VodalianSoldiers.java +++ b/Mage.Sets/src/mage/cards/v/VodalianSoldiers.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class VodalianSoldiers extends CardImpl { public VodalianSoldiers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VodalianZombie.java b/Mage.Sets/src/mage/cards/v/VodalianZombie.java index 0143dda0576..6f802046767 100644 --- a/Mage.Sets/src/mage/cards/v/VodalianZombie.java +++ b/Mage.Sets/src/mage/cards/v/VodalianZombie.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class VodalianZombie extends CardImpl { public VodalianZombie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}"); - this.subtype.add("Merfolk"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VoiceOfAll.java b/Mage.Sets/src/mage/cards/v/VoiceOfAll.java index 28bdd8d69d8..9dd44dcb4bf 100644 --- a/Mage.Sets/src/mage/cards/v/VoiceOfAll.java +++ b/Mage.Sets/src/mage/cards/v/VoiceOfAll.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class VoiceOfAll extends CardImpl { public VoiceOfAll(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VoiceOfDuty.java b/Mage.Sets/src/mage/cards/v/VoiceOfDuty.java index bde65568868..8341566c466 100644 --- a/Mage.Sets/src/mage/cards/v/VoiceOfDuty.java +++ b/Mage.Sets/src/mage/cards/v/VoiceOfDuty.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class VoiceOfDuty extends CardImpl { public VoiceOfDuty(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VoiceOfGrace.java b/Mage.Sets/src/mage/cards/v/VoiceOfGrace.java index df2ce6e6b64..2c536f77687 100644 --- a/Mage.Sets/src/mage/cards/v/VoiceOfGrace.java +++ b/Mage.Sets/src/mage/cards/v/VoiceOfGrace.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class VoiceOfGrace extends CardImpl { public VoiceOfGrace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VoiceOfLaw.java b/Mage.Sets/src/mage/cards/v/VoiceOfLaw.java index f86c11b0aa8..926d752a1f0 100644 --- a/Mage.Sets/src/mage/cards/v/VoiceOfLaw.java +++ b/Mage.Sets/src/mage/cards/v/VoiceOfLaw.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class VoiceOfLaw extends CardImpl { public VoiceOfLaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VoiceOfReason.java b/Mage.Sets/src/mage/cards/v/VoiceOfReason.java index d850fd36c81..1757f630e6e 100644 --- a/Mage.Sets/src/mage/cards/v/VoiceOfReason.java +++ b/Mage.Sets/src/mage/cards/v/VoiceOfReason.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class VoiceOfReason extends CardImpl { public VoiceOfReason(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VoiceOfResurgence.java b/Mage.Sets/src/mage/cards/v/VoiceOfResurgence.java index 6ed96c266ab..a83b29ee595 100644 --- a/Mage.Sets/src/mage/cards/v/VoiceOfResurgence.java +++ b/Mage.Sets/src/mage/cards/v/VoiceOfResurgence.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -50,7 +51,7 @@ public class VoiceOfResurgence extends CardImpl { public VoiceOfResurgence(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VoiceOfTheProvinces.java b/Mage.Sets/src/mage/cards/v/VoiceOfTheProvinces.java index 5755cc34005..d2cfa0c59f6 100644 --- a/Mage.Sets/src/mage/cards/v/VoiceOfTheProvinces.java +++ b/Mage.Sets/src/mage/cards/v/VoiceOfTheProvinces.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.HumanToken; /** @@ -45,7 +46,7 @@ public class VoiceOfTheProvinces extends CardImpl { public VoiceOfTheProvinces(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VoiceOfTheWoods.java b/Mage.Sets/src/mage/cards/v/VoiceOfTheWoods.java index 1e82605e619..d4b3c77e643 100644 --- a/Mage.Sets/src/mage/cards/v/VoiceOfTheWoods.java +++ b/Mage.Sets/src/mage/cards/v/VoiceOfTheWoods.java @@ -60,7 +60,7 @@ public class VoiceOfTheWoods extends CardImpl { public VoiceOfTheWoods(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VoiceOfTruth.java b/Mage.Sets/src/mage/cards/v/VoiceOfTruth.java index f132a76b2ea..7d6dec41ee8 100644 --- a/Mage.Sets/src/mage/cards/v/VoiceOfTruth.java +++ b/Mage.Sets/src/mage/cards/v/VoiceOfTruth.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class VoiceOfTruth extends CardImpl { public VoiceOfTruth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VoicelessSpirit.java b/Mage.Sets/src/mage/cards/v/VoicelessSpirit.java index 6b0b2708101..2bfdd737f18 100644 --- a/Mage.Sets/src/mage/cards/v/VoicelessSpirit.java +++ b/Mage.Sets/src/mage/cards/v/VoicelessSpirit.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class VoicelessSpirit extends CardImpl { public VoicelessSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VoidAttendant.java b/Mage.Sets/src/mage/cards/v/VoidAttendant.java index e915534a31d..9ec3ab882d8 100644 --- a/Mage.Sets/src/mage/cards/v/VoidAttendant.java +++ b/Mage.Sets/src/mage/cards/v/VoidAttendant.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.EldraziScionToken; @@ -50,8 +51,8 @@ public class VoidAttendant extends CardImpl { public VoidAttendant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Processor"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.PROCESSOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VoidGrafter.java b/Mage.Sets/src/mage/cards/v/VoidGrafter.java index f0f22765591..918d11a4f44 100644 --- a/Mage.Sets/src/mage/cards/v/VoidGrafter.java +++ b/Mage.Sets/src/mage/cards/v/VoidGrafter.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -57,8 +58,8 @@ public class VoidGrafter extends CardImpl { public VoidGrafter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{U}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VoidStalker.java b/Mage.Sets/src/mage/cards/v/VoidStalker.java index f323061dece..0c5005440dc 100644 --- a/Mage.Sets/src/mage/cards/v/VoidStalker.java +++ b/Mage.Sets/src/mage/cards/v/VoidStalker.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -52,7 +53,7 @@ public class VoidStalker extends CardImpl { public VoidStalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VoidWinnower.java b/Mage.Sets/src/mage/cards/v/VoidWinnower.java index 83eb22969b1..84c870331f4 100644 --- a/Mage.Sets/src/mage/cards/v/VoidWinnower.java +++ b/Mage.Sets/src/mage/cards/v/VoidWinnower.java @@ -37,6 +37,7 @@ import mage.abilities.effects.RestrictionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class VoidWinnower extends CardImpl { public VoidWinnower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{9}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(11); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/v/VoidmageApprentice.java b/Mage.Sets/src/mage/cards/v/VoidmageApprentice.java index 27352c3e288..a2ca2ef1e9a 100644 --- a/Mage.Sets/src/mage/cards/v/VoidmageApprentice.java +++ b/Mage.Sets/src/mage/cards/v/VoidmageApprentice.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.TargetSpell; /** @@ -47,8 +48,8 @@ public class VoidmageApprentice extends CardImpl { public VoidmageApprentice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VoidmageHusher.java b/Mage.Sets/src/mage/cards/v/VoidmageHusher.java index dcecb37eba6..fc34711d3c4 100644 --- a/Mage.Sets/src/mage/cards/v/VoidmageHusher.java +++ b/Mage.Sets/src/mage/cards/v/VoidmageHusher.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetActivatedAbility; /** @@ -48,8 +49,8 @@ public class VoidmageHusher extends CardImpl { public VoidmageHusher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VoidmageProdigy.java b/Mage.Sets/src/mage/cards/v/VoidmageProdigy.java index f74ae9b3321..fef9be2ef5f 100644 --- a/Mage.Sets/src/mage/cards/v/VoidmageProdigy.java +++ b/Mage.Sets/src/mage/cards/v/VoidmageProdigy.java @@ -60,8 +60,8 @@ public class VoidmageProdigy extends CardImpl { public VoidmageProdigy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VoidstoneGargoyle.java b/Mage.Sets/src/mage/cards/v/VoidstoneGargoyle.java index d82c4139a93..5f2863e6ad9 100644 --- a/Mage.Sets/src/mage/cards/v/VoidstoneGargoyle.java +++ b/Mage.Sets/src/mage/cards/v/VoidstoneGargoyle.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class VoidstoneGargoyle extends CardImpl { public VoidstoneGargoyle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Gargoyle"); + this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/Voidwielder.java b/Mage.Sets/src/mage/cards/v/Voidwielder.java index c3e6360e663..8a261954963 100644 --- a/Mage.Sets/src/mage/cards/v/Voidwielder.java +++ b/Mage.Sets/src/mage/cards/v/Voidwielder.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreaturePermanent; /** @@ -45,8 +46,8 @@ public class Voidwielder extends CardImpl { public Voidwielder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VolatileRig.java b/Mage.Sets/src/mage/cards/v/VolatileRig.java index be3358d009f..a4a1c9c0fa4 100644 --- a/Mage.Sets/src/mage/cards/v/VolatileRig.java +++ b/Mage.Sets/src/mage/cards/v/VolatileRig.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.PhaseStep; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class VolatileRig extends CardImpl { public VolatileRig(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{4}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VolcanicDragon.java b/Mage.Sets/src/mage/cards/v/VolcanicDragon.java index 9af645252fd..1646dc837a2 100644 --- a/Mage.Sets/src/mage/cards/v/VolcanicDragon.java +++ b/Mage.Sets/src/mage/cards/v/VolcanicDragon.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -43,7 +44,7 @@ public class VolcanicDragon extends CardImpl { public VolcanicDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VolcanicIsland.java b/Mage.Sets/src/mage/cards/v/VolcanicIsland.java index 9335cccd426..e1ffda285db 100644 --- a/Mage.Sets/src/mage/cards/v/VolcanicIsland.java +++ b/Mage.Sets/src/mage/cards/v/VolcanicIsland.java @@ -33,6 +33,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class VolcanicIsland extends CardImpl { public VolcanicIsland(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); - this.subtype.add("Island"); - this.subtype.add("Mountain"); + this.subtype.add(SubType.ISLAND); + this.subtype.add(SubType.MOUNTAIN); this.addAbility(new BlueManaAbility()); this.addAbility(new RedManaAbility()); diff --git a/Mage.Sets/src/mage/cards/v/VolcanicRambler.java b/Mage.Sets/src/mage/cards/v/VolcanicRambler.java index 128c0c58f0a..550c42363e1 100644 --- a/Mage.Sets/src/mage/cards/v/VolcanicRambler.java +++ b/Mage.Sets/src/mage/cards/v/VolcanicRambler.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -47,7 +48,7 @@ public class VolcanicRambler extends CardImpl { public VolcanicRambler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VolcanicStrength.java b/Mage.Sets/src/mage/cards/v/VolcanicStrength.java index fe0b988dbbc..401af367e6f 100644 --- a/Mage.Sets/src/mage/cards/v/VolcanicStrength.java +++ b/Mage.Sets/src/mage/cards/v/VolcanicStrength.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -53,7 +54,7 @@ public class VolcanicStrength extends CardImpl { public VolcanicStrength(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/v/VolcanoHellion.java b/Mage.Sets/src/mage/cards/v/VolcanoHellion.java index d8d9dffdd51..650f225c39b 100644 --- a/Mage.Sets/src/mage/cards/v/VolcanoHellion.java +++ b/Mage.Sets/src/mage/cards/v/VolcanoHellion.java @@ -1,111 +1,112 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.v; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.dynamicvalue.common.ControllerLifeCount; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.keyword.EchoAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author jeffwadsworth - */ -public class VolcanoHellion extends CardImpl { - - public VolcanoHellion(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}"); - - this.subtype.add("Hellion"); - this.power = new MageInt(6); - this.toughness = new MageInt(5); - - // Volcano Hellion has echo {X}, where X is your life total. - this.addAbility(new EchoAbility(new ControllerLifeCount(), "{this} has echo {X}, where X is your life total.")); - - // When Volcano Hellion enters the battlefield, it deals an amount of damage of your choice to you and target creature. The damage can't be prevented. - Ability ability = new EntersBattlefieldTriggeredAbility(new VolcanoHellionEffect(), false); - ability.addTarget(new TargetCreaturePermanent()); - this.addAbility(ability); - - } - - public VolcanoHellion(final VolcanoHellion card) { - super(card); - } - - @Override - public VolcanoHellion copy() { - return new VolcanoHellion(this); - } -} - -class VolcanoHellionEffect extends OneShotEffect { - - public VolcanoHellionEffect() { - super(Outcome.AIDontUseIt); - this.staticText = "it deals an amount of damage of your choice to you and target creature. The damage can't be prevented"; - } - - public VolcanoHellionEffect(final VolcanoHellionEffect effect) { - super(effect); - } - - @Override - public VolcanoHellionEffect copy() { - return new VolcanoHellionEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - Permanent permanent = game.getPermanent(source.getFirstTarget()); - if (controller != null) { - int amount = controller.getAmount(0, Integer.MAX_VALUE, "Choose the amount of damage to deliver to you and a target creature. The damage can't be prevented.", game); - if (amount > 0) { - controller.damage(amount, source.getSourceId(), game, false, false); - if (permanent != null) { - permanent.damage(amount, source.getSourceId(), game, false, false); - } - return true; - } - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.v; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.dynamicvalue.common.ControllerLifeCount; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.keyword.EchoAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author jeffwadsworth + */ +public class VolcanoHellion extends CardImpl { + + public VolcanoHellion(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}"); + + this.subtype.add(SubType.HELLION); + this.power = new MageInt(6); + this.toughness = new MageInt(5); + + // Volcano Hellion has echo {X}, where X is your life total. + this.addAbility(new EchoAbility(new ControllerLifeCount(), "{this} has echo {X}, where X is your life total.")); + + // When Volcano Hellion enters the battlefield, it deals an amount of damage of your choice to you and target creature. The damage can't be prevented. + Ability ability = new EntersBattlefieldTriggeredAbility(new VolcanoHellionEffect(), false); + ability.addTarget(new TargetCreaturePermanent()); + this.addAbility(ability); + + } + + public VolcanoHellion(final VolcanoHellion card) { + super(card); + } + + @Override + public VolcanoHellion copy() { + return new VolcanoHellion(this); + } +} + +class VolcanoHellionEffect extends OneShotEffect { + + public VolcanoHellionEffect() { + super(Outcome.AIDontUseIt); + this.staticText = "it deals an amount of damage of your choice to you and target creature. The damage can't be prevented"; + } + + public VolcanoHellionEffect(final VolcanoHellionEffect effect) { + super(effect); + } + + @Override + public VolcanoHellionEffect copy() { + return new VolcanoHellionEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + Permanent permanent = game.getPermanent(source.getFirstTarget()); + if (controller != null) { + int amount = controller.getAmount(0, Integer.MAX_VALUE, "Choose the amount of damage to deliver to you and a target creature. The damage can't be prevented.", game); + if (amount > 0) { + controller.damage(amount, source.getSourceId(), game, false, false); + if (permanent != null) { + permanent.damage(amount, source.getSourceId(), game, false, false); + } + return true; + } + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/v/VolcanoImp.java b/Mage.Sets/src/mage/cards/v/VolcanoImp.java index 9646085b6b8..3fdbe0f8975 100644 --- a/Mage.Sets/src/mage/cards/v/VolcanoImp.java +++ b/Mage.Sets/src/mage/cards/v/VolcanoImp.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class VolcanoImp extends CardImpl { public VolcanoImp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Imp"); + this.subtype.add(SubType.IMP); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VoldarenDuelist.java b/Mage.Sets/src/mage/cards/v/VoldarenDuelist.java index 385d27ec4a7..604a0698552 100644 --- a/Mage.Sets/src/mage/cards/v/VoldarenDuelist.java +++ b/Mage.Sets/src/mage/cards/v/VoldarenDuelist.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -47,8 +48,8 @@ public class VoldarenDuelist extends CardImpl { public VoldarenDuelist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Vampire"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VoldarenPariah.java b/Mage.Sets/src/mage/cards/v/VoldarenPariah.java index ec53dd56685..9aa2809f7a3 100644 --- a/Mage.Sets/src/mage/cards/v/VoldarenPariah.java +++ b/Mage.Sets/src/mage/cards/v/VoldarenPariah.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.cards.a.AbolisherOfBloodlines; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -59,8 +60,8 @@ public class VoldarenPariah extends CardImpl { public VoldarenPariah(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Horror"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.HORROR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VolitionReins.java b/Mage.Sets/src/mage/cards/v/VolitionReins.java index 80b9275b99b..c6a278009fd 100644 --- a/Mage.Sets/src/mage/cards/v/VolitionReins.java +++ b/Mage.Sets/src/mage/cards/v/VolitionReins.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -52,7 +53,7 @@ public class VolitionReins extends CardImpl { public VolitionReins(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant permanent TargetPermanent auraTarget = new TargetPermanent(); diff --git a/Mage.Sets/src/mage/cards/v/VolrathTheFallen.java b/Mage.Sets/src/mage/cards/v/VolrathTheFallen.java index 4609f832392..f75ac5002c6 100644 --- a/Mage.Sets/src/mage/cards/v/VolrathTheFallen.java +++ b/Mage.Sets/src/mage/cards/v/VolrathTheFallen.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class VolrathTheFallen extends CardImpl { public VolrathTheFallen(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VolrathsCurse.java b/Mage.Sets/src/mage/cards/v/VolrathsCurse.java index 93521445b98..722cac5f346 100644 --- a/Mage.Sets/src/mage/cards/v/VolrathsCurse.java +++ b/Mage.Sets/src/mage/cards/v/VolrathsCurse.java @@ -45,6 +45,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import static mage.cards.v.VolrathsCurse.keyString; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -66,7 +67,7 @@ public class VolrathsCurse extends CardImpl { public VolrathsCurse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/v/VolrathsShapeshifter.java b/Mage.Sets/src/mage/cards/v/VolrathsShapeshifter.java index 3d3be5018ed..914bf30b6af 100644 --- a/Mage.Sets/src/mage/cards/v/VolrathsShapeshifter.java +++ b/Mage.Sets/src/mage/cards/v/VolrathsShapeshifter.java @@ -49,7 +49,7 @@ public class VolrathsShapeshifter extends CardImpl { public VolrathsShapeshifter(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VoltaicBrawler.java b/Mage.Sets/src/mage/cards/v/VoltaicBrawler.java index c009685660b..057a1a249bf 100644 --- a/Mage.Sets/src/mage/cards/v/VoltaicBrawler.java +++ b/Mage.Sets/src/mage/cards/v/VoltaicBrawler.java @@ -1,80 +1,81 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.v; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.AttacksTriggeredAbility; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.costs.common.PayEnergyCost; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DoIfCostPaid; -import mage.abilities.effects.common.continuous.BoostSourceEffect; -import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; -import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; -import mage.abilities.keyword.TrampleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; - -/** - * - * @author emerald000 - */ -public class VoltaicBrawler extends CardImpl { - - public VoltaicBrawler(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - - // When Voltaic Brawler enters the battlefield, you get {E}{E}. - this.addAbility(new EntersBattlefieldTriggeredAbility(new GetEnergyCountersControllerEffect(2))); - - // Whenever Voltaic Brawler attacks, you may pay {E}. If you do, it gets +1/+1 and gains trample until end of turn. - Effect effect = new BoostSourceEffect(1, 1, Duration.EndOfTurn); - effect.setText("it gets +1/+1"); - DoIfCostPaid doIfCostPaid = new DoIfCostPaid(effect, new PayEnergyCost(1)); - effect = new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn); - effect.setText("and gains trample until end of turn"); - doIfCostPaid.addEffect(effect); - this.addAbility(new AttacksTriggeredAbility(doIfCostPaid, false)); - } - - public VoltaicBrawler(final VoltaicBrawler card) { - super(card); - } - - @Override - public VoltaicBrawler copy() { - return new VoltaicBrawler(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.v; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.costs.common.PayEnergyCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DoIfCostPaid; +import mage.abilities.effects.common.continuous.BoostSourceEffect; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; + +/** + * + * @author emerald000 + */ +public class VoltaicBrawler extends CardImpl { + + public VoltaicBrawler(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // When Voltaic Brawler enters the battlefield, you get {E}{E}. + this.addAbility(new EntersBattlefieldTriggeredAbility(new GetEnergyCountersControllerEffect(2))); + + // Whenever Voltaic Brawler attacks, you may pay {E}. If you do, it gets +1/+1 and gains trample until end of turn. + Effect effect = new BoostSourceEffect(1, 1, Duration.EndOfTurn); + effect.setText("it gets +1/+1"); + DoIfCostPaid doIfCostPaid = new DoIfCostPaid(effect, new PayEnergyCost(1)); + effect = new GainAbilitySourceEffect(TrampleAbility.getInstance(), Duration.EndOfTurn); + effect.setText("and gains trample until end of turn"); + doIfCostPaid.addEffect(effect); + this.addAbility(new AttacksTriggeredAbility(doIfCostPaid, false)); + } + + public VoltaicBrawler(final VoltaicBrawler card) { + super(card); + } + + @Override + public VoltaicBrawler copy() { + return new VoltaicBrawler(this); + } +} diff --git a/Mage.Sets/src/mage/cards/v/VoltaicConstruct.java b/Mage.Sets/src/mage/cards/v/VoltaicConstruct.java index b4ec4133272..6bdd7fab3b1 100644 --- a/Mage.Sets/src/mage/cards/v/VoltaicConstruct.java +++ b/Mage.Sets/src/mage/cards/v/VoltaicConstruct.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -55,8 +56,8 @@ public class VoltaicConstruct extends CardImpl { public VoltaicConstruct(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Golem"); - this.subtype.add("Construct"); + this.subtype.add(SubType.GOLEM); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(2); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new UntapTargetEffect(), new GenericManaCost(2)); diff --git a/Mage.Sets/src/mage/cards/v/VolunteerMilitia.java b/Mage.Sets/src/mage/cards/v/VolunteerMilitia.java index a70d3a97c35..8c4e1eb7f7b 100644 --- a/Mage.Sets/src/mage/cards/v/VolunteerMilitia.java +++ b/Mage.Sets/src/mage/cards/v/VolunteerMilitia.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class VolunteerMilitia extends CardImpl { public VolunteerMilitia(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VoraciousCobra.java b/Mage.Sets/src/mage/cards/v/VoraciousCobra.java index 1a1c67de11c..27f9445f823 100644 --- a/Mage.Sets/src/mage/cards/v/VoraciousCobra.java +++ b/Mage.Sets/src/mage/cards/v/VoraciousCobra.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class VoraciousCobra extends CardImpl { public VoraciousCobra(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VoraciousDragon.java b/Mage.Sets/src/mage/cards/v/VoraciousDragon.java index 152e1ca10b3..9560a449961 100644 --- a/Mage.Sets/src/mage/cards/v/VoraciousDragon.java +++ b/Mage.Sets/src/mage/cards/v/VoraciousDragon.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.Game; import mage.game.permanent.Permanent; import mage.target.common.TargetCreatureOrPlayer; @@ -55,7 +56,7 @@ public class VoraciousDragon extends CardImpl { public VoraciousDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VoraciousHatchling.java b/Mage.Sets/src/mage/cards/v/VoraciousHatchling.java index b57736ff82f..bef192fb6b7 100644 --- a/Mage.Sets/src/mage/cards/v/VoraciousHatchling.java +++ b/Mage.Sets/src/mage/cards/v/VoraciousHatchling.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.filter.FilterSpell; import mage.filter.predicate.mageobject.ColorPredicate; @@ -57,7 +58,7 @@ public class VoraciousHatchling extends CardImpl { public VoraciousHatchling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W/B}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/v/VoraciousNull.java b/Mage.Sets/src/mage/cards/v/VoraciousNull.java index 2db34dae12b..55541548c80 100644 --- a/Mage.Sets/src/mage/cards/v/VoraciousNull.java +++ b/Mage.Sets/src/mage/cards/v/VoraciousNull.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.StaticFilters; @@ -50,7 +51,7 @@ public class VoraciousNull extends CardImpl { public VoraciousNull(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VoraciousReader.java b/Mage.Sets/src/mage/cards/v/VoraciousReader.java index 762a8fc2ce0..601a1871a5b 100644 --- a/Mage.Sets/src/mage/cards/v/VoraciousReader.java +++ b/Mage.Sets/src/mage/cards/v/VoraciousReader.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.Predicates; @@ -56,8 +57,8 @@ public class VoraciousReader extends CardImpl { public VoraciousReader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Eldrazi"); - this.subtype.add("Homunculus"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.HOMUNCULUS); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VoraciousWurm.java b/Mage.Sets/src/mage/cards/v/VoraciousWurm.java index 4dc8890407d..5b1d53013ae 100644 --- a/Mage.Sets/src/mage/cards/v/VoraciousWurm.java +++ b/Mage.Sets/src/mage/cards/v/VoraciousWurm.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.watchers.common.PlayerGainedLifeWatcher; @@ -45,7 +46,7 @@ public class VoraciousWurm extends CardImpl { public VoraciousWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/Vorapede.java b/Mage.Sets/src/mage/cards/v/Vorapede.java index 12bb6f2cc0e..e8400aaa443 100644 --- a/Mage.Sets/src/mage/cards/v/Vorapede.java +++ b/Mage.Sets/src/mage/cards/v/Vorapede.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class Vorapede extends CardImpl { public Vorapede(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VorelOfTheHullClade.java b/Mage.Sets/src/mage/cards/v/VorelOfTheHullClade.java index b3a68e3e702..e1b6422ea7d 100644 --- a/Mage.Sets/src/mage/cards/v/VorelOfTheHullClade.java +++ b/Mage.Sets/src/mage/cards/v/VorelOfTheHullClade.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -66,8 +67,8 @@ public class VorelOfTheHullClade extends CardImpl { public VorelOfTheHullClade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{U}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VorinclexVoiceOfHunger.java b/Mage.Sets/src/mage/cards/v/VorinclexVoiceOfHunger.java index f03039ef192..c37641832fe 100644 --- a/Mage.Sets/src/mage/cards/v/VorinclexVoiceOfHunger.java +++ b/Mage.Sets/src/mage/cards/v/VorinclexVoiceOfHunger.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SetTargetPointer; import mage.constants.SuperType; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class VorinclexVoiceOfHunger extends CardImpl { public VorinclexVoiceOfHunger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Praetor"); + this.subtype.add(SubType.PRAETOR); this.power = new MageInt(7); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/v/VoroshTheHunter.java b/Mage.Sets/src/mage/cards/v/VoroshTheHunter.java index a076578f545..8c386f7d1ac 100644 --- a/Mage.Sets/src/mage/cards/v/VoroshTheHunter.java +++ b/Mage.Sets/src/mage/cards/v/VoroshTheHunter.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.counters.CounterType; @@ -49,7 +50,7 @@ public class VoroshTheHunter extends CardImpl { public VoroshTheHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/v/VorracBattlehorns.java b/Mage.Sets/src/mage/cards/v/VorracBattlehorns.java index 003c041f2e5..07325eb2a48 100644 --- a/Mage.Sets/src/mage/cards/v/VorracBattlehorns.java +++ b/Mage.Sets/src/mage/cards/v/VorracBattlehorns.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -57,7 +58,7 @@ public class VorracBattlehorns extends CardImpl { public VorracBattlehorns(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has trample and can't be blocked by more than one creature. Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new GainAbilityAttachedEffect(TrampleAbility.getInstance(), AttachmentType.EQUIPMENT)); diff --git a/Mage.Sets/src/mage/cards/v/Vorstclaw.java b/Mage.Sets/src/mage/cards/v/Vorstclaw.java index 26c4c9b4e60..891b3df1045 100644 --- a/Mage.Sets/src/mage/cards/v/Vorstclaw.java +++ b/Mage.Sets/src/mage/cards/v/Vorstclaw.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class Vorstclaw extends CardImpl { public Vorstclaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Elemental"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.HORROR); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/v/VortexElemental.java b/Mage.Sets/src/mage/cards/v/VortexElemental.java index 6f2258ed133..9ffed7a4cfa 100644 --- a/Mage.Sets/src/mage/cards/v/VortexElemental.java +++ b/Mage.Sets/src/mage/cards/v/VortexElemental.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.combat.MustBeBlockedByTargetSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -56,7 +57,7 @@ public class VortexElemental extends CardImpl { public VortexElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VotaryOfTheConclave.java b/Mage.Sets/src/mage/cards/v/VotaryOfTheConclave.java index d998ee30cf4..59788f78909 100644 --- a/Mage.Sets/src/mage/cards/v/VotaryOfTheConclave.java +++ b/Mage.Sets/src/mage/cards/v/VotaryOfTheConclave.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class VotaryOfTheConclave extends CardImpl { public VotaryOfTheConclave (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VowOfDuty.java b/Mage.Sets/src/mage/cards/v/VowOfDuty.java index 5b91423bdff..dfe4169a362 100644 --- a/Mage.Sets/src/mage/cards/v/VowOfDuty.java +++ b/Mage.Sets/src/mage/cards/v/VowOfDuty.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class VowOfDuty extends CardImpl { public VowOfDuty(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/v/VowOfFlight.java b/Mage.Sets/src/mage/cards/v/VowOfFlight.java index 128d22b591d..351913dd6ae 100644 --- a/Mage.Sets/src/mage/cards/v/VowOfFlight.java +++ b/Mage.Sets/src/mage/cards/v/VowOfFlight.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class VowOfFlight extends CardImpl { public VowOfFlight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/v/VowOfLightning.java b/Mage.Sets/src/mage/cards/v/VowOfLightning.java index 7906b576c4d..4adabe634c8 100644 --- a/Mage.Sets/src/mage/cards/v/VowOfLightning.java +++ b/Mage.Sets/src/mage/cards/v/VowOfLightning.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class VowOfLightning extends CardImpl { public VowOfLightning(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{R}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/v/VowOfMalice.java b/Mage.Sets/src/mage/cards/v/VowOfMalice.java index d3ffdfb5354..f741904d28b 100644 --- a/Mage.Sets/src/mage/cards/v/VowOfMalice.java +++ b/Mage.Sets/src/mage/cards/v/VowOfMalice.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class VowOfMalice extends CardImpl { public VowOfMalice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/v/VowOfWildness.java b/Mage.Sets/src/mage/cards/v/VowOfWildness.java index 9c0cd73a066..b136c49682f 100644 --- a/Mage.Sets/src/mage/cards/v/VowOfWildness.java +++ b/Mage.Sets/src/mage/cards/v/VowOfWildness.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class VowOfWildness extends CardImpl { public VowOfWildness(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/v/VoyagerDrake.java b/Mage.Sets/src/mage/cards/v/VoyagerDrake.java index ffd28c99262..79665ee2830 100644 --- a/Mage.Sets/src/mage/cards/v/VoyagerDrake.java +++ b/Mage.Sets/src/mage/cards/v/VoyagerDrake.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.MultikickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.game.Game; import mage.target.common.TargetCreaturePermanent; @@ -54,7 +55,7 @@ public class VoyagerDrake extends CardImpl { public VoyagerDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VoyagingSatyr.java b/Mage.Sets/src/mage/cards/v/VoyagingSatyr.java index 9432709ec2b..e82d9786c3f 100644 --- a/Mage.Sets/src/mage/cards/v/VoyagingSatyr.java +++ b/Mage.Sets/src/mage/cards/v/VoyagingSatyr.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.UntapTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetLandPermanent; @@ -47,8 +48,8 @@ public class VoyagingSatyr extends CardImpl { public VoyagingSatyr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Satyr"); - this.subtype.add("Druid"); + this.subtype.add(SubType.SATYR); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VraskaTheUnseen.java b/Mage.Sets/src/mage/cards/v/VraskaTheUnseen.java index f046f8f9dd2..cbb0601f985 100644 --- a/Mage.Sets/src/mage/cards/v/VraskaTheUnseen.java +++ b/Mage.Sets/src/mage/cards/v/VraskaTheUnseen.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -70,7 +71,7 @@ public class VraskaTheUnseen extends CardImpl { public VraskaTheUnseen(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{3}{B}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Vraska"); + this.subtype.add(SubType.VRASKA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(5)); diff --git a/Mage.Sets/src/mage/cards/v/VrynWingmare.java b/Mage.Sets/src/mage/cards/v/VrynWingmare.java index ec59af0f7de..03d12ed0877 100644 --- a/Mage.Sets/src/mage/cards/v/VrynWingmare.java +++ b/Mage.Sets/src/mage/cards/v/VrynWingmare.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.CostModificationType; import mage.constants.Duration; import mage.constants.Outcome; @@ -54,7 +55,7 @@ public class VrynWingmare extends CardImpl { public VrynWingmare(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Pegasus"); + this.subtype.add(SubType.PEGASUS); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VugLizard.java b/Mage.Sets/src/mage/cards/v/VugLizard.java index b8c94592939..26f37a05c11 100644 --- a/Mage.Sets/src/mage/cards/v/VugLizard.java +++ b/Mage.Sets/src/mage/cards/v/VugLizard.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MountainwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class VugLizard extends CardImpl { public VugLizard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/v/VulpineGoliath.java b/Mage.Sets/src/mage/cards/v/VulpineGoliath.java index b09abc96373..08e6d4b06b7 100644 --- a/Mage.Sets/src/mage/cards/v/VulpineGoliath.java +++ b/Mage.Sets/src/mage/cards/v/VulpineGoliath.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class VulpineGoliath extends CardImpl { public VulpineGoliath(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Fox"); + this.subtype.add(SubType.FOX); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/v/VulshokBattlegear.java b/Mage.Sets/src/mage/cards/v/VulshokBattlegear.java index bfd2e40ac26..a752d1b28f4 100644 --- a/Mage.Sets/src/mage/cards/v/VulshokBattlegear.java +++ b/Mage.Sets/src/mage/cards/v/VulshokBattlegear.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class VulshokBattlegear extends CardImpl { public VulshokBattlegear (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new EquipAbility(Outcome.BoostCreature, new GenericManaCost(3))); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 3))); } diff --git a/Mage.Sets/src/mage/cards/v/VulshokBattlemaster.java b/Mage.Sets/src/mage/cards/v/VulshokBattlemaster.java index e00ad921a44..f4c5722c925 100644 --- a/Mage.Sets/src/mage/cards/v/VulshokBattlemaster.java +++ b/Mage.Sets/src/mage/cards/v/VulshokBattlemaster.java @@ -51,8 +51,8 @@ public class VulshokBattlemaster extends CardImpl { public VulshokBattlemaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VulshokBerserker.java b/Mage.Sets/src/mage/cards/v/VulshokBerserker.java index c400b2b954a..c93788e49a4 100644 --- a/Mage.Sets/src/mage/cards/v/VulshokBerserker.java +++ b/Mage.Sets/src/mage/cards/v/VulshokBerserker.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class VulshokBerserker extends CardImpl { public VulshokBerserker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VulshokGauntlets.java b/Mage.Sets/src/mage/cards/v/VulshokGauntlets.java index 0b9e8a487da..0aa5c1f9dec 100644 --- a/Mage.Sets/src/mage/cards/v/VulshokGauntlets.java +++ b/Mage.Sets/src/mage/cards/v/VulshokGauntlets.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.PhaseStep; @@ -54,7 +55,7 @@ public class VulshokGauntlets extends CardImpl { public VulshokGauntlets(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +4/+2 and doesn't untap during its controller's untap step. Effect effect = new BoostEquippedEffect(4, 2); diff --git a/Mage.Sets/src/mage/cards/v/VulshokHeartstoker.java b/Mage.Sets/src/mage/cards/v/VulshokHeartstoker.java index 596580502b7..f8412c64347 100644 --- a/Mage.Sets/src/mage/cards/v/VulshokHeartstoker.java +++ b/Mage.Sets/src/mage/cards/v/VulshokHeartstoker.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -47,8 +48,8 @@ public class VulshokHeartstoker extends CardImpl { public VulshokHeartstoker (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VulshokMorningstar.java b/Mage.Sets/src/mage/cards/v/VulshokMorningstar.java index 6e0c922403f..67281f192c2 100644 --- a/Mage.Sets/src/mage/cards/v/VulshokMorningstar.java +++ b/Mage.Sets/src/mage/cards/v/VulshokMorningstar.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class VulshokMorningstar extends CardImpl { public VulshokMorningstar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2))); this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(2))); } diff --git a/Mage.Sets/src/mage/cards/v/VulshokRefugee.java b/Mage.Sets/src/mage/cards/v/VulshokRefugee.java index 214eb837675..3cfef77bdb4 100644 --- a/Mage.Sets/src/mage/cards/v/VulshokRefugee.java +++ b/Mage.Sets/src/mage/cards/v/VulshokRefugee.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class VulshokRefugee extends CardImpl { public VulshokRefugee(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/v/VulshokReplica.java b/Mage.Sets/src/mage/cards/v/VulshokReplica.java index 8e0891b5ffa..ef2ac27da11 100644 --- a/Mage.Sets/src/mage/cards/v/VulshokReplica.java +++ b/Mage.Sets/src/mage/cards/v/VulshokReplica.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -49,7 +50,7 @@ public class VulshokReplica extends CardImpl { public VulshokReplica (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(3); this.toughness = new MageInt(1); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), new ManaCostsImpl("{1}{R}")); diff --git a/Mage.Sets/src/mage/cards/v/VulshokSorcerer.java b/Mage.Sets/src/mage/cards/v/VulshokSorcerer.java index 0cb6bbf2eae..7f718b0f3b9 100644 --- a/Mage.Sets/src/mage/cards/v/VulshokSorcerer.java +++ b/Mage.Sets/src/mage/cards/v/VulshokSorcerer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,8 +49,8 @@ public class VulshokSorcerer extends CardImpl { public VulshokSorcerer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/v/VulshokWarBoar.java b/Mage.Sets/src/mage/cards/v/VulshokWarBoar.java index c79b89fbc85..0f71c5901c5 100644 --- a/Mage.Sets/src/mage/cards/v/VulshokWarBoar.java +++ b/Mage.Sets/src/mage/cards/v/VulshokWarBoar.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledArtifactPermanent; import mage.filter.common.FilterControlledPermanent; import mage.target.common.TargetControlledPermanent; @@ -49,8 +50,8 @@ public class VulshokWarBoar extends CardImpl { public VulshokWarBoar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Boar"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BOAR); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/v/VulturousAven.java b/Mage.Sets/src/mage/cards/v/VulturousAven.java index 94ccd8223a1..d56c7d610ff 100644 --- a/Mage.Sets/src/mage/cards/v/VulturousAven.java +++ b/Mage.Sets/src/mage/cards/v/VulturousAven.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -48,8 +49,8 @@ public class VulturousAven extends CardImpl { public VulturousAven(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Bird"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/v/VulturousZombie.java b/Mage.Sets/src/mage/cards/v/VulturousZombie.java index 5b3fc33f5f4..e1a6cf93d13 100644 --- a/Mage.Sets/src/mage/cards/v/VulturousZombie.java +++ b/Mage.Sets/src/mage/cards/v/VulturousZombie.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.counters.CounterType; @@ -47,8 +48,8 @@ public class VulturousZombie extends CardImpl { public VulturousZombie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WailingGhoul.java b/Mage.Sets/src/mage/cards/w/WailingGhoul.java index b8f1ea73312..6bc902434a6 100644 --- a/Mage.Sets/src/mage/cards/w/WailingGhoul.java +++ b/Mage.Sets/src/mage/cards/w/WailingGhoul.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.PutTopCardOfLibraryIntoGraveControllerEffec import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class WailingGhoul extends CardImpl { public WailingGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WakeOfDestruction.java b/Mage.Sets/src/mage/cards/w/WakeOfDestruction.java index 2af8c748994..8898948e5d0 100644 --- a/Mage.Sets/src/mage/cards/w/WakeOfDestruction.java +++ b/Mage.Sets/src/mage/cards/w/WakeOfDestruction.java @@ -1,59 +1,59 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.abilities.effects.common.DestroyAllNamedPermanentsEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.target.common.TargetLandPermanent; - -/** - * - * @author Styxo - */ -public class WakeOfDestruction extends CardImpl { - - public WakeOfDestruction(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{R}{R}{R}"); - - // Destroy target land and all other lands with the same name as that land. - this.getSpellAbility().addTarget(new TargetLandPermanent()); - this.getSpellAbility().addEffect(new DestroyAllNamedPermanentsEffect()); - } - - public WakeOfDestruction(final WakeOfDestruction card) { - super(card); - } - - @Override - public WakeOfDestruction copy() { - return new WakeOfDestruction(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.abilities.effects.common.DestroyAllNamedPermanentsEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.target.common.TargetLandPermanent; + +/** + * + * @author Styxo + */ +public class WakeOfDestruction extends CardImpl { + + public WakeOfDestruction(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{R}{R}{R}"); + + // Destroy target land and all other lands with the same name as that land. + this.getSpellAbility().addTarget(new TargetLandPermanent()); + this.getSpellAbility().addEffect(new DestroyAllNamedPermanentsEffect()); + } + + public WakeOfDestruction(final WakeOfDestruction card) { + super(card); + } + + @Override + public WakeOfDestruction copy() { + return new WakeOfDestruction(this); + } +} diff --git a/Mage.Sets/src/mage/cards/w/WakeOfVultures.java b/Mage.Sets/src/mage/cards/w/WakeOfVultures.java index de1a5cd1d49..e59d24284e1 100644 --- a/Mage.Sets/src/mage/cards/w/WakeOfVultures.java +++ b/Mage.Sets/src/mage/cards/w/WakeOfVultures.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -49,7 +50,7 @@ public class WakeOfVultures extends CardImpl { public WakeOfVultures(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WakeThrasher.java b/Mage.Sets/src/mage/cards/w/WakeThrasher.java index e9ecfc4ed3e..077a90acaa9 100644 --- a/Mage.Sets/src/mage/cards/w/WakeThrasher.java +++ b/Mage.Sets/src/mage/cards/w/WakeThrasher.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -49,8 +50,8 @@ public class WakeThrasher extends CardImpl { public WakeThrasher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/Wakedancer.java b/Mage.Sets/src/mage/cards/w/Wakedancer.java index 51fe5ab6cb1..972ab29c4e2 100644 --- a/Mage.Sets/src/mage/cards/w/Wakedancer.java +++ b/Mage.Sets/src/mage/cards/w/Wakedancer.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.ZombieToken; /** @@ -49,8 +50,8 @@ public class Wakedancer extends CardImpl { public Wakedancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.color.setBlack(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WakeningSunsAvatar.java b/Mage.Sets/src/mage/cards/w/WakeningSunsAvatar.java index e1d40982e55..0cc7bf0a499 100644 --- a/Mage.Sets/src/mage/cards/w/WakeningSunsAvatar.java +++ b/Mage.Sets/src/mage/cards/w/WakeningSunsAvatar.java @@ -57,8 +57,8 @@ public class WakeningSunsAvatar extends CardImpl { public WakeningSunsAvatar(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}{W}{W}"); - this.subtype.add("Dinosaur"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.DINOSAUR); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/w/WakerOfTheWilds.java b/Mage.Sets/src/mage/cards/w/WakerOfTheWilds.java index 2c93d6a8fcf..f8cc6944ab4 100644 --- a/Mage.Sets/src/mage/cards/w/WakerOfTheWilds.java +++ b/Mage.Sets/src/mage/cards/w/WakerOfTheWilds.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -55,8 +56,8 @@ public class WakerOfTheWilds extends CardImpl { public WakerOfTheWilds(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{G}"); - this.subtype.add("Merfolk"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WakestoneGargoyle.java b/Mage.Sets/src/mage/cards/w/WakestoneGargoyle.java index fabe9852396..7da0bda0980 100644 --- a/Mage.Sets/src/mage/cards/w/WakestoneGargoyle.java +++ b/Mage.Sets/src/mage/cards/w/WakestoneGargoyle.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -56,7 +57,7 @@ public class WakestoneGargoyle extends CardImpl { public WakestoneGargoyle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Gargoyle"); + this.subtype.add(SubType.GARGOYLE); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WalkerOfSecretWays.java b/Mage.Sets/src/mage/cards/w/WalkerOfSecretWays.java index ca0b7598511..4517c863157 100644 --- a/Mage.Sets/src/mage/cards/w/WalkerOfSecretWays.java +++ b/Mage.Sets/src/mage/cards/w/WalkerOfSecretWays.java @@ -62,8 +62,8 @@ public class WalkerOfSecretWays extends CardImpl { public WalkerOfSecretWays(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Ninja"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NINJA); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WalkerOfTheGrove.java b/Mage.Sets/src/mage/cards/w/WalkerOfTheGrove.java index a2dd8ea2dcc..657bd631390 100644 --- a/Mage.Sets/src/mage/cards/w/WalkerOfTheGrove.java +++ b/Mage.Sets/src/mage/cards/w/WalkerOfTheGrove.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.EvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.WalkerOfTheGroveToken; /** @@ -45,7 +46,7 @@ public class WalkerOfTheGrove extends CardImpl { public WalkerOfTheGrove(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{6}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/w/WalkerOfTheWastes.java b/Mage.Sets/src/mage/cards/w/WalkerOfTheWastes.java index 714cc053946..a4c01edc1e8 100644 --- a/Mage.Sets/src/mage/cards/w/WalkerOfTheWastes.java +++ b/Mage.Sets/src/mage/cards/w/WalkerOfTheWastes.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -58,7 +59,7 @@ public class WalkerOfTheWastes extends CardImpl { public WalkerOfTheWastes(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{C}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WalkingArchive.java b/Mage.Sets/src/mage/cards/w/WalkingArchive.java index 57b9b7abb40..5380e6a38c5 100644 --- a/Mage.Sets/src/mage/cards/w/WalkingArchive.java +++ b/Mage.Sets/src/mage/cards/w/WalkingArchive.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.counters.CounterType; @@ -52,7 +53,7 @@ public class WalkingArchive extends CardImpl { public WalkingArchive(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WalkingAtlas.java b/Mage.Sets/src/mage/cards/w/WalkingAtlas.java index 39aeb0ed3be..19a64228c41 100644 --- a/Mage.Sets/src/mage/cards/w/WalkingAtlas.java +++ b/Mage.Sets/src/mage/cards/w/WalkingAtlas.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.PutLandFromHandOntoBattlefieldEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class WalkingAtlas extends CardImpl { public WalkingAtlas (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WalkingBallista.java b/Mage.Sets/src/mage/cards/w/WalkingBallista.java index cd9f76dd797..8b250484798 100644 --- a/Mage.Sets/src/mage/cards/w/WalkingBallista.java +++ b/Mage.Sets/src/mage/cards/w/WalkingBallista.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetCreatureOrPlayer; @@ -54,7 +55,7 @@ public class WalkingBallista extends CardImpl { public WalkingBallista(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{X}{X}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/w/WalkingCorpse.java b/Mage.Sets/src/mage/cards/w/WalkingCorpse.java index 7b401d08769..f8dea845ee2 100644 --- a/Mage.Sets/src/mage/cards/w/WalkingCorpse.java +++ b/Mage.Sets/src/mage/cards/w/WalkingCorpse.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author nantuko @@ -40,7 +41,7 @@ public class WalkingCorpse extends CardImpl { public WalkingCorpse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WalkingDead.java b/Mage.Sets/src/mage/cards/w/WalkingDead.java index 6d92fc7eeba..2bcb86def21 100644 --- a/Mage.Sets/src/mage/cards/w/WalkingDead.java +++ b/Mage.Sets/src/mage/cards/w/WalkingDead.java @@ -1,64 +1,65 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.RegenerateSourceEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; - -/** - * - * @author Derpthemeus - */ -public class WalkingDead extends CardImpl { - - public WalkingDead(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); - this.power = new MageInt(1); - this.toughness = new MageInt(1); - - // {B}: Regenerate Walking Dead. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}"))); - } - - public WalkingDead(final WalkingDead card) { - super(card); - } - - @Override - public WalkingDead copy() { - return new WalkingDead(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.RegenerateSourceEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; + +/** + * + * @author Derpthemeus + */ +public class WalkingDead extends CardImpl { + + public WalkingDead(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); + this.subtype.add(SubType.ZOMBIE); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // {B}: Regenerate Walking Dead. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new RegenerateSourceEffect(), new ManaCostsImpl("{B}"))); + } + + public WalkingDead(final WalkingDead card) { + super(card); + } + + @Override + public WalkingDead copy() { + return new WalkingDead(this); + } +} diff --git a/Mage.Sets/src/mage/cards/w/WalkingDesecration.java b/Mage.Sets/src/mage/cards/w/WalkingDesecration.java index fcc72c627dd..54988c4923a 100644 --- a/Mage.Sets/src/mage/cards/w/WalkingDesecration.java +++ b/Mage.Sets/src/mage/cards/w/WalkingDesecration.java @@ -55,7 +55,7 @@ public class WalkingDesecration extends CardImpl { public WalkingDesecration(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WalkingWall.java b/Mage.Sets/src/mage/cards/w/WalkingWall.java index f94c243143e..e784b8fcad8 100644 --- a/Mage.Sets/src/mage/cards/w/WalkingWall.java +++ b/Mage.Sets/src/mage/cards/w/WalkingWall.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class WalkingWall extends CardImpl { public WalkingWall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/w/WallOfAir.java b/Mage.Sets/src/mage/cards/w/WallOfAir.java index e03fad3028e..970a876c448 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfAir.java +++ b/Mage.Sets/src/mage/cards/w/WallOfAir.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class WallOfAir extends CardImpl { public WallOfAir(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WallOfBlood.java b/Mage.Sets/src/mage/cards/w/WallOfBlood.java index 832bf4b1043..d2223b2f3bf 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfBlood.java +++ b/Mage.Sets/src/mage/cards/w/WallOfBlood.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class WallOfBlood extends CardImpl { public WallOfBlood(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WallOfBlossoms.java b/Mage.Sets/src/mage/cards/w/WallOfBlossoms.java index 1ee8306c2e4..d3759a3ff44 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfBlossoms.java +++ b/Mage.Sets/src/mage/cards/w/WallOfBlossoms.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class WallOfBlossoms extends CardImpl { public WallOfBlossoms(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Wall"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WallOfBone.java b/Mage.Sets/src/mage/cards/w/WallOfBone.java index 90603a85740..b769d89bbf8 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfBone.java +++ b/Mage.Sets/src/mage/cards/w/WallOfBone.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -47,8 +48,8 @@ public class WallOfBone extends CardImpl { public WallOfBone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Skeleton"); - this.subtype.add("Wall"); + this.subtype.add(SubType.SKELETON); + this.subtype.add(SubType.WALL); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WallOfBrambles.java b/Mage.Sets/src/mage/cards/w/WallOfBrambles.java index f2e7421f940..97df00197d2 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfBrambles.java +++ b/Mage.Sets/src/mage/cards/w/WallOfBrambles.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class WallOfBrambles extends CardImpl { public WallOfBrambles(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Wall"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.WALL); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WallOfDeceit.java b/Mage.Sets/src/mage/cards/w/WallOfDeceit.java index 9be5d42aa9e..a9491133451 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfDeceit.java +++ b/Mage.Sets/src/mage/cards/w/WallOfDeceit.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class WallOfDeceit extends CardImpl { public WallOfDeceit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WallOfDenial.java b/Mage.Sets/src/mage/cards/w/WallOfDenial.java index e588413d55d..cfc9219a041 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfDenial.java +++ b/Mage.Sets/src/mage/cards/w/WallOfDenial.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ShroudAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class WallOfDenial extends CardImpl { public WallOfDenial (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{U}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/w/WallOfDiffusion.java b/Mage.Sets/src/mage/cards/w/WallOfDiffusion.java index 8a02b95e4ef..216bfe8da5b 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfDiffusion.java +++ b/Mage.Sets/src/mage/cards/w/WallOfDiffusion.java @@ -37,6 +37,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class WallOfDiffusion extends CardImpl { public WallOfDiffusion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WallOfEarth.java b/Mage.Sets/src/mage/cards/w/WallOfEarth.java index b8a880df172..2d910ca2843 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfEarth.java +++ b/Mage.Sets/src/mage/cards/w/WallOfEarth.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WallOfEarth extends CardImpl { public WallOfEarth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/w/WallOfEssence.java b/Mage.Sets/src/mage/cards/w/WallOfEssence.java index 604bfe04099..56222e39cbd 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfEssence.java +++ b/Mage.Sets/src/mage/cards/w/WallOfEssence.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -52,7 +53,7 @@ public class WallOfEssence extends CardImpl { public WallOfEssence(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WallOfFaith.java b/Mage.Sets/src/mage/cards/w/WallOfFaith.java index be4ac52b898..37d8e98b005 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfFaith.java +++ b/Mage.Sets/src/mage/cards/w/WallOfFaith.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class WallOfFaith extends CardImpl { public WallOfFaith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WallOfFire.java b/Mage.Sets/src/mage/cards/w/WallOfFire.java index 1491dd7d856..510dcf73692 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfFire.java +++ b/Mage.Sets/src/mage/cards/w/WallOfFire.java @@ -45,7 +45,7 @@ public class WallOfFire extends CardImpl { public WallOfFire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WallOfForgottenPharaohs.java b/Mage.Sets/src/mage/cards/w/WallOfForgottenPharaohs.java index 6abc7f0e5a3..521517ebf27 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfForgottenPharaohs.java +++ b/Mage.Sets/src/mage/cards/w/WallOfForgottenPharaohs.java @@ -64,7 +64,7 @@ public class WallOfForgottenPharaohs extends CardImpl { public WallOfForgottenPharaohs(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WallOfFrost.java b/Mage.Sets/src/mage/cards/w/WallOfFrost.java index cacfbfcc1f0..fcd18307cda 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfFrost.java +++ b/Mage.Sets/src/mage/cards/w/WallOfFrost.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author BetaSteward_at_googlemail.com @@ -43,7 +44,7 @@ public class WallOfFrost extends CardImpl { public WallOfFrost(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}{U}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/w/WallOfGlare.java b/Mage.Sets/src/mage/cards/w/WallOfGlare.java index dc18435326f..2a46c39de9b 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfGlare.java +++ b/Mage.Sets/src/mage/cards/w/WallOfGlare.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,7 +46,7 @@ public class WallOfGlare extends CardImpl { public WallOfGlare(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WallOfGranite.java b/Mage.Sets/src/mage/cards/w/WallOfGranite.java index 5378a76d2d5..f1cd9d691ce 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfGranite.java +++ b/Mage.Sets/src/mage/cards/w/WallOfGranite.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WallOfGranite extends CardImpl { public WallOfGranite(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/w/WallOfHeat.java b/Mage.Sets/src/mage/cards/w/WallOfHeat.java index 88887cccaa7..3d7642226b6 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfHeat.java +++ b/Mage.Sets/src/mage/cards/w/WallOfHeat.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WallOfHeat extends CardImpl { public WallOfHeat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(2); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/w/WallOfHope.java b/Mage.Sets/src/mage/cards/w/WallOfHope.java index 6e2a892fe5a..d0a3a9e5218 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfHope.java +++ b/Mage.Sets/src/mage/cards/w/WallOfHope.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -51,7 +52,7 @@ public class WallOfHope extends CardImpl { public WallOfHope(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WallOfIce.java b/Mage.Sets/src/mage/cards/w/WallOfIce.java index 78c6bb9c905..302d1e45e50 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfIce.java +++ b/Mage.Sets/src/mage/cards/w/WallOfIce.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WallOfIce extends CardImpl { public WallOfIce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/w/WallOfKelp.java b/Mage.Sets/src/mage/cards/w/WallOfKelp.java index 7b204f8b83d..9b411a78807 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfKelp.java +++ b/Mage.Sets/src/mage/cards/w/WallOfKelp.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.permanent.token.KelpToken; @@ -49,8 +50,8 @@ public class WallOfKelp extends CardImpl { public WallOfKelp(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}{U}"); - this.subtype.add("Plant"); - this.subtype.add("Wall"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WallOfLava.java b/Mage.Sets/src/mage/cards/w/WallOfLava.java index 9c032f6f497..322b7f5e00a 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfLava.java +++ b/Mage.Sets/src/mage/cards/w/WallOfLava.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class WallOfLava extends CardImpl { public WallOfLava(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}{R}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WallOfLight.java b/Mage.Sets/src/mage/cards/w/WallOfLight.java index 44aee448052..09603a29f43 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfLight.java +++ b/Mage.Sets/src/mage/cards/w/WallOfLight.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class WallOfLight extends CardImpl { public WallOfLight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WallOfLimbs.java b/Mage.Sets/src/mage/cards/w/WallOfLimbs.java index da86bdaeb08..ee177b3af9e 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfLimbs.java +++ b/Mage.Sets/src/mage/cards/w/WallOfLimbs.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -57,8 +58,8 @@ public class WallOfLimbs extends CardImpl { public WallOfLimbs(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wall"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WallOfMulch.java b/Mage.Sets/src/mage/cards/w/WallOfMulch.java index 0e50ccd5333..48033b00ddd 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfMulch.java +++ b/Mage.Sets/src/mage/cards/w/WallOfMulch.java @@ -60,7 +60,7 @@ public class WallOfMulch extends CardImpl { public WallOfMulch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WallOfNets.java b/Mage.Sets/src/mage/cards/w/WallOfNets.java index 11e36647f1e..8ed660e218f 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfNets.java +++ b/Mage.Sets/src/mage/cards/w/WallOfNets.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.BlockedByIdPredicate; @@ -49,7 +50,7 @@ public class WallOfNets extends CardImpl { public WallOfNets(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/w/WallOfOmens.java b/Mage.Sets/src/mage/cards/w/WallOfOmens.java index cae21384adb..3b9c04c87cd 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfOmens.java +++ b/Mage.Sets/src/mage/cards/w/WallOfOmens.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class WallOfOmens extends CardImpl { public WallOfOmens(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WallOfOpposition.java b/Mage.Sets/src/mage/cards/w/WallOfOpposition.java index 6baf6966c55..ab674e83d09 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfOpposition.java +++ b/Mage.Sets/src/mage/cards/w/WallOfOpposition.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class WallOfOpposition extends CardImpl { public WallOfOpposition(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}{R}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/w/WallOfPineNeedles.java b/Mage.Sets/src/mage/cards/w/WallOfPineNeedles.java index fe106988a8c..5dc4eee3154 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfPineNeedles.java +++ b/Mage.Sets/src/mage/cards/w/WallOfPineNeedles.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class WallOfPineNeedles extends CardImpl { public WallOfPineNeedles(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Wall"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.WALL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WallOfPutridFlesh.java b/Mage.Sets/src/mage/cards/w/WallOfPutridFlesh.java index 56691c79a02..83b4565366a 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfPutridFlesh.java +++ b/Mage.Sets/src/mage/cards/w/WallOfPutridFlesh.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -55,7 +56,7 @@ public class WallOfPutridFlesh extends CardImpl { public WallOfPutridFlesh(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WallOfRazors.java b/Mage.Sets/src/mage/cards/w/WallOfRazors.java index 3c704bd41d0..f710470ce35 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfRazors.java +++ b/Mage.Sets/src/mage/cards/w/WallOfRazors.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class WallOfRazors extends CardImpl { public WallOfRazors(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WallOfResurgence.java b/Mage.Sets/src/mage/cards/w/WallOfResurgence.java index 4b1ffa2641d..cdea9ebfc16 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfResurgence.java +++ b/Mage.Sets/src/mage/cards/w/WallOfResurgence.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.counters.CounterType; import mage.filter.common.FilterControlledLandPermanent; @@ -52,7 +53,7 @@ public class WallOfResurgence extends CardImpl { public WallOfResurgence(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/w/WallOfReverence.java b/Mage.Sets/src/mage/cards/w/WallOfReverence.java index 97d0936f75e..6d2ba020a24 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfReverence.java +++ b/Mage.Sets/src/mage/cards/w/WallOfReverence.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -52,8 +53,8 @@ public class WallOfReverence extends CardImpl { public WallOfReverence (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Spirit"); - this.subtype.add("Wall"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.WALL); this.power = new MageInt(1); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/w/WallOfRoots.java b/Mage.Sets/src/mage/cards/w/WallOfRoots.java index 2ef8e533f44..9ec4f7f40e2 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfRoots.java +++ b/Mage.Sets/src/mage/cards/w/WallOfRoots.java @@ -37,6 +37,7 @@ import mage.abilities.mana.ActivateOncePerTurnManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.BoostCounter; @@ -48,8 +49,8 @@ public class WallOfRoots extends CardImpl { public WallOfRoots(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Wall"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WallOfShards.java b/Mage.Sets/src/mage/cards/w/WallOfShards.java index d4d6b308cd9..3f27042b371 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfShards.java +++ b/Mage.Sets/src/mage/cards/w/WallOfShards.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; /** @@ -47,7 +48,7 @@ public class WallOfShards extends CardImpl { public WallOfShards(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); addSuperType(SuperType.SNOW); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(1); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/w/WallOfSouls.java b/Mage.Sets/src/mage/cards/w/WallOfSouls.java index b31d5d215c3..5bb91961d91 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfSouls.java +++ b/Mage.Sets/src/mage/cards/w/WallOfSouls.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -53,7 +54,7 @@ public class WallOfSouls extends CardImpl { public WallOfSouls(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WallOfSpears.java b/Mage.Sets/src/mage/cards/w/WallOfSpears.java index 7e5923c5ed9..b5dd7663b17 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfSpears.java +++ b/Mage.Sets/src/mage/cards/w/WallOfSpears.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class WallOfSpears extends CardImpl { public WallOfSpears(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WallOfStone.java b/Mage.Sets/src/mage/cards/w/WallOfStone.java index 7f03141045f..412a3b4d830 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfStone.java +++ b/Mage.Sets/src/mage/cards/w/WallOfStone.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WallOfStone extends CardImpl { public WallOfStone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/w/WallOfSwords.java b/Mage.Sets/src/mage/cards/w/WallOfSwords.java index 59e3931209f..b5ba6375696 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfSwords.java +++ b/Mage.Sets/src/mage/cards/w/WallOfSwords.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class WallOfSwords extends CardImpl { public WallOfSwords(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WallOfTanglecord.java b/Mage.Sets/src/mage/cards/w/WallOfTanglecord.java index 2be9b731c73..d781b850dc1 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfTanglecord.java +++ b/Mage.Sets/src/mage/cards/w/WallOfTanglecord.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -49,7 +50,7 @@ public class WallOfTanglecord extends CardImpl { public WallOfTanglecord (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(6); this.addAbility(DefenderAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/w/WallOfTears.java b/Mage.Sets/src/mage/cards/w/WallOfTears.java index 24e044119a3..0f0a25006da 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfTears.java +++ b/Mage.Sets/src/mage/cards/w/WallOfTears.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,7 +48,7 @@ public class WallOfTears extends CardImpl { public WallOfTears(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{U}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WallOfTorches.java b/Mage.Sets/src/mage/cards/w/WallOfTorches.java index d8c667f301d..e1240552dde 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfTorches.java +++ b/Mage.Sets/src/mage/cards/w/WallOfTorches.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -42,7 +43,7 @@ public class WallOfTorches extends CardImpl { public WallOfTorches(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(4); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WallOfVines.java b/Mage.Sets/src/mage/cards/w/WallOfVines.java index 042d28d2d08..87d8c5eb1db 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfVines.java +++ b/Mage.Sets/src/mage/cards/w/WallOfVines.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class WallOfVines extends CardImpl { public WallOfVines(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Plant"); - this.subtype.add("Wall"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WallOfWater.java b/Mage.Sets/src/mage/cards/w/WallOfWater.java index fd49183d4d4..799ca616f43 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfWater.java +++ b/Mage.Sets/src/mage/cards/w/WallOfWater.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class WallOfWater extends CardImpl { public WallOfWater(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{U}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WallOfWonder.java b/Mage.Sets/src/mage/cards/w/WallOfWonder.java index d461d2a8c6f..7479d5ad435 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfWonder.java +++ b/Mage.Sets/src/mage/cards/w/WallOfWonder.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class WallOfWonder extends CardImpl { public WallOfWonder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(1); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WallOfWood.java b/Mage.Sets/src/mage/cards/w/WallOfWood.java index 77a15fe8659..04e02f5dccd 100644 --- a/Mage.Sets/src/mage/cards/w/WallOfWood.java +++ b/Mage.Sets/src/mage/cards/w/WallOfWood.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WallOfWood extends CardImpl { public WallOfWood(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Wall"); + this.subtype.add(SubType.WALL); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WanderbrineRootcutters.java b/Mage.Sets/src/mage/cards/w/WanderbrineRootcutters.java index 2e62bf03335..00d647fadd6 100644 --- a/Mage.Sets/src/mage/cards/w/WanderbrineRootcutters.java +++ b/Mage.Sets/src/mage/cards/w/WanderbrineRootcutters.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesSourceEffect import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -53,8 +54,8 @@ public class WanderbrineRootcutters extends CardImpl { public WanderbrineRootcutters(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U/B}{U/B}"); - this.subtype.add("Merfolk"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WanderguardSentry.java b/Mage.Sets/src/mage/cards/w/WanderguardSentry.java index a1d1eb28aca..92d66899cda 100644 --- a/Mage.Sets/src/mage/cards/w/WanderguardSentry.java +++ b/Mage.Sets/src/mage/cards/w/WanderguardSentry.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.LookAtTargetPlayerHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetOpponent; /** @@ -46,7 +47,7 @@ public class WanderguardSentry extends CardImpl { public WanderguardSentry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Drone"); + this.subtype.add(SubType.DRONE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WanderingChampion.java b/Mage.Sets/src/mage/cards/w/WanderingChampion.java index 4fd525d9775..38685fc8f85 100644 --- a/Mage.Sets/src/mage/cards/w/WanderingChampion.java +++ b/Mage.Sets/src/mage/cards/w/WanderingChampion.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.ColorPredicate; @@ -58,8 +59,8 @@ public class WanderingChampion extends CardImpl { public WanderingChampion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WanderingEye.java b/Mage.Sets/src/mage/cards/w/WanderingEye.java index b5d161f90ec..eb84f38722f 100644 --- a/Mage.Sets/src/mage/cards/w/WanderingEye.java +++ b/Mage.Sets/src/mage/cards/w/WanderingEye.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class WanderingEye extends CardImpl { public WanderingEye(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Illusion"); + this.subtype.add(SubType.ILLUSION); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WanderingFumarole.java b/Mage.Sets/src/mage/cards/w/WanderingFumarole.java index f8de710bd37..2532d520217 100644 --- a/Mage.Sets/src/mage/cards/w/WanderingFumarole.java +++ b/Mage.Sets/src/mage/cards/w/WanderingFumarole.java @@ -40,6 +40,7 @@ import mage.abilities.mana.RedManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -82,7 +83,7 @@ class WanderingFumaroleToken extends Token { public WanderingFumaroleToken() { super("", "1/4 blue and red Elemental creature with \"0: Switch this creature's power and toughness until end of turn.\""); cardType.add(CardType.CREATURE); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); color.setRed(true); color.setBlue(true); power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WanderingGoblins.java b/Mage.Sets/src/mage/cards/w/WanderingGoblins.java index 7eb1e0c1f38..5a308ffa52f 100644 --- a/Mage.Sets/src/mage/cards/w/WanderingGoblins.java +++ b/Mage.Sets/src/mage/cards/w/WanderingGoblins.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,8 +49,8 @@ public class WanderingGoblins extends CardImpl { public WanderingGoblins(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WanderingGraybeard.java b/Mage.Sets/src/mage/cards/w/WanderingGraybeard.java index 17384071049..314943ba5d7 100644 --- a/Mage.Sets/src/mage/cards/w/WanderingGraybeard.java +++ b/Mage.Sets/src/mage/cards/w/WanderingGraybeard.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.GainLifeEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class WanderingGraybeard extends CardImpl { public WanderingGraybeard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Giant"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WanderingMage.java b/Mage.Sets/src/mage/cards/w/WanderingMage.java index a8f4cfda518..930cc065698 100644 --- a/Mage.Sets/src/mage/cards/w/WanderingMage.java +++ b/Mage.Sets/src/mage/cards/w/WanderingMage.java @@ -69,9 +69,9 @@ public class WanderingMage extends CardImpl { public WanderingMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{U}{B}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WanderingOnes.java b/Mage.Sets/src/mage/cards/w/WanderingOnes.java index 9c7eb77cfa3..2da32188bc8 100644 --- a/Mage.Sets/src/mage/cards/w/WanderingOnes.java +++ b/Mage.Sets/src/mage/cards/w/WanderingOnes.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WanderingOnes extends CardImpl { public WanderingOnes (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WanderingTombshell.java b/Mage.Sets/src/mage/cards/w/WanderingTombshell.java index bf07a3ed4ae..1ddae7ea2a8 100644 --- a/Mage.Sets/src/mage/cards/w/WanderingTombshell.java +++ b/Mage.Sets/src/mage/cards/w/WanderingTombshell.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class WanderingTombshell extends CardImpl { public WanderingTombshell(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Turtle"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.TURTLE); this.power = new MageInt(1); this.toughness = new MageInt(6); } diff --git a/Mage.Sets/src/mage/cards/w/WanderingWolf.java b/Mage.Sets/src/mage/cards/w/WanderingWolf.java index 8c20e495d96..bc3bb9f7548 100644 --- a/Mage.Sets/src/mage/cards/w/WanderingWolf.java +++ b/Mage.Sets/src/mage/cards/w/WanderingWolf.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedByCreaturesWithLessPowe import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -44,7 +45,7 @@ public class WanderingWolf extends CardImpl { public WanderingWolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/Wanderlust.java b/Mage.Sets/src/mage/cards/w/Wanderlust.java index 6279b309cf1..8b58452d71e 100644 --- a/Mage.Sets/src/mage/cards/w/Wanderlust.java +++ b/Mage.Sets/src/mage/cards/w/Wanderlust.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class Wanderlust extends CardImpl { public Wanderlust(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/w/WaningWurm.java b/Mage.Sets/src/mage/cards/w/WaningWurm.java index 185dba21c24..066e867743a 100644 --- a/Mage.Sets/src/mage/cards/w/WaningWurm.java +++ b/Mage.Sets/src/mage/cards/w/WaningWurm.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VanishingUpkeepAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -47,8 +48,8 @@ public class WaningWurm extends CardImpl { public WaningWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WURM); this.power = new MageInt(7); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/w/WantedScoundrels.java b/Mage.Sets/src/mage/cards/w/WantedScoundrels.java index e8034cebb64..4c73cb94aee 100644 --- a/Mage.Sets/src/mage/cards/w/WantedScoundrels.java +++ b/Mage.Sets/src/mage/cards/w/WantedScoundrels.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.CreateTokenTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.TreasureToken; import mage.target.common.TargetOpponent; @@ -47,8 +48,8 @@ public class WantedScoundrels extends CardImpl { public WantedScoundrels(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WarBehemoth.java b/Mage.Sets/src/mage/cards/w/WarBehemoth.java index e5076be7e6c..892c067953b 100644 --- a/Mage.Sets/src/mage/cards/w/WarBehemoth.java +++ b/Mage.Sets/src/mage/cards/w/WarBehemoth.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class WarBehemoth extends CardImpl { public WarBehemoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/w/WarElemental.java b/Mage.Sets/src/mage/cards/w/WarElemental.java index 4c746e59c78..520f7a8ec58 100644 --- a/Mage.Sets/src/mage/cards/w/WarElemental.java +++ b/Mage.Sets/src/mage/cards/w/WarElemental.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -56,7 +57,7 @@ public class WarElemental extends CardImpl { public WarElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{R}{R}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WarFalcon.java b/Mage.Sets/src/mage/cards/w/WarFalcon.java index a0a713a6cab..39a56ac9564 100644 --- a/Mage.Sets/src/mage/cards/w/WarFalcon.java +++ b/Mage.Sets/src/mage/cards/w/WarFalcon.java @@ -53,7 +53,7 @@ public class WarFalcon extends CardImpl { public WarFalcon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WarMammoth.java b/Mage.Sets/src/mage/cards/w/WarMammoth.java index 686f8d455fb..c32f6a9788d 100644 --- a/Mage.Sets/src/mage/cards/w/WarMammoth.java +++ b/Mage.Sets/src/mage/cards/w/WarMammoth.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WarMammoth extends CardImpl { public WarMammoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WarNameAspirant.java b/Mage.Sets/src/mage/cards/w/WarNameAspirant.java index f52bd5c5a84..a9144ae0251 100644 --- a/Mage.Sets/src/mage/cards/w/WarNameAspirant.java +++ b/Mage.Sets/src/mage/cards/w/WarNameAspirant.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.counters.CounterType; @@ -58,8 +59,8 @@ public class WarNameAspirant extends CardImpl { public WarNameAspirant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WarOracle.java b/Mage.Sets/src/mage/cards/w/WarOracle.java index 6dfa75d4710..b228fc62b47 100644 --- a/Mage.Sets/src/mage/cards/w/WarOracle.java +++ b/Mage.Sets/src/mage/cards/w/WarOracle.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.RenownAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class WarOracle extends CardImpl { public WarOracle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WarPriestOfThune.java b/Mage.Sets/src/mage/cards/w/WarPriestOfThune.java index 82984fc0850..61301e8e835 100644 --- a/Mage.Sets/src/mage/cards/w/WarPriestOfThune.java +++ b/Mage.Sets/src/mage/cards/w/WarPriestOfThune.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetEnchantmentPermanent; /** @@ -46,8 +47,8 @@ public class WarPriestOfThune extends CardImpl { public WarPriestOfThune(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WarSpikeChangeling.java b/Mage.Sets/src/mage/cards/w/WarSpikeChangeling.java index b9074de2ce9..2f4241c6b0e 100644 --- a/Mage.Sets/src/mage/cards/w/WarSpikeChangeling.java +++ b/Mage.Sets/src/mage/cards/w/WarSpikeChangeling.java @@ -46,7 +46,7 @@ public class WarSpikeChangeling extends CardImpl { public WarSpikeChangeling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WarTax.java b/Mage.Sets/src/mage/cards/w/WarTax.java index 5cae163e64e..689779066cd 100644 --- a/Mage.Sets/src/mage/cards/w/WarTax.java +++ b/Mage.Sets/src/mage/cards/w/WarTax.java @@ -1,118 +1,118 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.dynamicvalue.DynamicValue; -import mage.abilities.dynamicvalue.common.ManacostVariableValue; -import mage.abilities.effects.ReplacementEffectImpl; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.players.Player; - -/** - * - * - * @author HCrescent original code by LevelX2 edited from War Cadence - */ -public class WarTax extends CardImpl { - - public WarTax(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}"); - - // {X}{U}: This turn, creatures can't attack unless their controller pays {X} for each attacking creature he or she controls. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new WarTaxReplacementEffect(), new ManaCostsImpl("{X}{U}"))); - } - - public WarTax(final WarTax card) { - super(card); - } - - @Override - public WarTax copy() { - return new WarTax(this); - } -} - -class WarTaxReplacementEffect extends ReplacementEffectImpl { - - DynamicValue xCosts = new ManacostVariableValue(); - - WarTaxReplacementEffect() { - super(Duration.EndOfTurn, Outcome.Neutral); - staticText = "This turn, creatures can't attack unless their controller pays {X} for each attacking creature he or she controls"; - } - - WarTaxReplacementEffect(WarTaxReplacementEffect effect) { - super(effect); - } - - @Override - public boolean replaceEvent(GameEvent event, Ability source, Game game) { - Player player = game.getPlayer(event.getPlayerId()); - if (player != null) { - int amount = xCosts.calculate(game, source, this); - if (amount > 0) { - String mana = "{" + amount + '}'; - ManaCostsImpl cost = new ManaCostsImpl(mana); - if (cost.canPay(source, source.getSourceId(), event.getPlayerId(), game) - && player.chooseUse(Outcome.Benefit, "Pay " + mana + " to declare attacker?", source, game)) { - if (cost.payOrRollback(source, game, source.getSourceId(), event.getPlayerId())) { - return false; - } - } - return true; - } - } - return false; - } - - @Override - public boolean checksEventType(GameEvent event, Game game) { - return event.getType() == GameEvent.EventType.DECLARE_ATTACKER; - } - - @Override - public boolean applies(GameEvent event, Ability source, Game game) { - return true; - } - - @Override - public WarTaxReplacementEffect copy() { - return new WarTaxReplacementEffect(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.dynamicvalue.DynamicValue; +import mage.abilities.dynamicvalue.common.ManacostVariableValue; +import mage.abilities.effects.ReplacementEffectImpl; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.players.Player; + +/** + * + * + * @author HCrescent original code by LevelX2 edited from War Cadence + */ +public class WarTax extends CardImpl { + + public WarTax(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}"); + + // {X}{U}: This turn, creatures can't attack unless their controller pays {X} for each attacking creature he or she controls. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new WarTaxReplacementEffect(), new ManaCostsImpl("{X}{U}"))); + } + + public WarTax(final WarTax card) { + super(card); + } + + @Override + public WarTax copy() { + return new WarTax(this); + } +} + +class WarTaxReplacementEffect extends ReplacementEffectImpl { + + DynamicValue xCosts = new ManacostVariableValue(); + + WarTaxReplacementEffect() { + super(Duration.EndOfTurn, Outcome.Neutral); + staticText = "This turn, creatures can't attack unless their controller pays {X} for each attacking creature he or she controls"; + } + + WarTaxReplacementEffect(WarTaxReplacementEffect effect) { + super(effect); + } + + @Override + public boolean replaceEvent(GameEvent event, Ability source, Game game) { + Player player = game.getPlayer(event.getPlayerId()); + if (player != null) { + int amount = xCosts.calculate(game, source, this); + if (amount > 0) { + String mana = "{" + amount + '}'; + ManaCostsImpl cost = new ManaCostsImpl(mana); + if (cost.canPay(source, source.getSourceId(), event.getPlayerId(), game) + && player.chooseUse(Outcome.Benefit, "Pay " + mana + " to declare attacker?", source, game)) { + if (cost.payOrRollback(source, game, source.getSourceId(), event.getPlayerId())) { + return false; + } + } + return true; + } + } + return false; + } + + @Override + public boolean checksEventType(GameEvent event, Game game) { + return event.getType() == GameEvent.EventType.DECLARE_ATTACKER; + } + + @Override + public boolean applies(GameEvent event, Ability source, Game game) { + return true; + } + + @Override + public WarTaxReplacementEffect copy() { + return new WarTaxReplacementEffect(this); + } +} diff --git a/Mage.Sets/src/mage/cards/w/WarTorchGoblin.java b/Mage.Sets/src/mage/cards/w/WarTorchGoblin.java index d7ef1a50328..6fd5cf2c7a5 100644 --- a/Mage.Sets/src/mage/cards/w/WarTorchGoblin.java +++ b/Mage.Sets/src/mage/cards/w/WarTorchGoblin.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.filter.common.FilterBlockingCreature; @@ -50,8 +51,8 @@ public class WarTorchGoblin extends CardImpl { public WarTorchGoblin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WarWingSiren.java b/Mage.Sets/src/mage/cards/w/WarWingSiren.java index f033bf8ff3e..bd5d1daca64 100644 --- a/Mage.Sets/src/mage/cards/w/WarWingSiren.java +++ b/Mage.Sets/src/mage/cards/w/WarWingSiren.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,8 +46,8 @@ public class WarWingSiren extends CardImpl { public WarWingSiren(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Siren"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SIREN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WarbreakTrumpeter.java b/Mage.Sets/src/mage/cards/w/WarbreakTrumpeter.java index 239c31af471..94e70a007e3 100644 --- a/Mage.Sets/src/mage/cards/w/WarbreakTrumpeter.java +++ b/Mage.Sets/src/mage/cards/w/WarbreakTrumpeter.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.GoblinToken; /** @@ -48,7 +49,7 @@ public class WarbreakTrumpeter extends CardImpl { public WarbreakTrumpeter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/Warbringer.java b/Mage.Sets/src/mage/cards/w/Warbringer.java index fa445a9e884..9b68dd4dc8f 100644 --- a/Mage.Sets/src/mage/cards/w/Warbringer.java +++ b/Mage.Sets/src/mage/cards/w/Warbringer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.CostModificationType; import mage.constants.Duration; import mage.constants.Outcome; @@ -54,8 +55,8 @@ public class Warbringer extends CardImpl { public Warbringer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Orc"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.ORC); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WarchanterOfMogis.java b/Mage.Sets/src/mage/cards/w/WarchanterOfMogis.java index ed2f6e3cbc8..b2a37943e7f 100644 --- a/Mage.Sets/src/mage/cards/w/WarchanterOfMogis.java +++ b/Mage.Sets/src/mage/cards/w/WarchanterOfMogis.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.IntimidateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetControlledCreaturePermanent; @@ -47,8 +48,8 @@ public class WarchanterOfMogis extends CardImpl { public WarchanterOfMogis(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}"); - this.subtype.add("Minotaur"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WarchiefGiant.java b/Mage.Sets/src/mage/cards/w/WarchiefGiant.java index 010e10cc76c..332ab535821 100644 --- a/Mage.Sets/src/mage/cards/w/WarchiefGiant.java +++ b/Mage.Sets/src/mage/cards/w/WarchiefGiant.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MyriadAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class WarchiefGiant extends CardImpl { public WarchiefGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Giant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.GIANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WarclampMastiff.java b/Mage.Sets/src/mage/cards/w/WarclampMastiff.java index 2a9113083b5..c999beb279c 100644 --- a/Mage.Sets/src/mage/cards/w/WarclampMastiff.java +++ b/Mage.Sets/src/mage/cards/w/WarclampMastiff.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WarclampMastiff extends CardImpl { public WarclampMastiff(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WardOfLights.java b/Mage.Sets/src/mage/cards/w/WardOfLights.java index 59eb93f6a83..95c3ab2e152 100644 --- a/Mage.Sets/src/mage/cards/w/WardOfLights.java +++ b/Mage.Sets/src/mage/cards/w/WardOfLights.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class WardOfLights extends CardImpl { public WardOfLights(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // You may cast Ward of Lights as though it had flash. If you cast it any time a sorcery couldn't have been cast, the controller of the permanent it becomes sacrifices it at the beginning of the next cleanup step. this.addAbility(new SimpleStaticAbility(Zone.ALL, new CastAsThoughItHadFlashSourceEffect(Duration.EndOfGame))); diff --git a/Mage.Sets/src/mage/cards/w/WardOfPiety.java b/Mage.Sets/src/mage/cards/w/WardOfPiety.java index 9b0d341969c..159788703f9 100644 --- a/Mage.Sets/src/mage/cards/w/WardOfPiety.java +++ b/Mage.Sets/src/mage/cards/w/WardOfPiety.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class WardOfPiety extends CardImpl { public WardOfPiety(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/w/WardSliver.java b/Mage.Sets/src/mage/cards/w/WardSliver.java index df611175c33..5e5ef307ea6 100644 --- a/Mage.Sets/src/mage/cards/w/WardSliver.java +++ b/Mage.Sets/src/mage/cards/w/WardSliver.java @@ -57,7 +57,7 @@ public class WardSliver extends CardImpl { public WardSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WardenOfEvosIsle.java b/Mage.Sets/src/mage/cards/w/WardenOfEvosIsle.java index 7869fd66020..0f4a59f770f 100644 --- a/Mage.Sets/src/mage/cards/w/WardenOfEvosIsle.java +++ b/Mage.Sets/src/mage/cards/w/WardenOfEvosIsle.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -54,8 +55,8 @@ public class WardenOfEvosIsle extends CardImpl { public WardenOfEvosIsle(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WardenOfGeometries.java b/Mage.Sets/src/mage/cards/w/WardenOfGeometries.java index a0ed609b742..de604acba6f 100644 --- a/Mage.Sets/src/mage/cards/w/WardenOfGeometries.java +++ b/Mage.Sets/src/mage/cards/w/WardenOfGeometries.java @@ -34,6 +34,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class WardenOfGeometries extends CardImpl { public WardenOfGeometries(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Drone"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.DRONE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WardenOfTheBeyond.java b/Mage.Sets/src/mage/cards/w/WardenOfTheBeyond.java index df13b681b01..36cfc7129be 100644 --- a/Mage.Sets/src/mage/cards/w/WardenOfTheBeyond.java +++ b/Mage.Sets/src/mage/cards/w/WardenOfTheBeyond.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -52,8 +53,8 @@ public class WardenOfTheBeyond extends CardImpl { public WardenOfTheBeyond(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WardenOfTheEye.java b/Mage.Sets/src/mage/cards/w/WardenOfTheEye.java index 151ce823512..27f60350232 100644 --- a/Mage.Sets/src/mage/cards/w/WardenOfTheEye.java +++ b/Mage.Sets/src/mage/cards/w/WardenOfTheEye.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.FilterCard; @@ -59,8 +60,8 @@ public class WardenOfTheEye extends CardImpl { public WardenOfTheEye(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{R}{W}"); - this.subtype.add("Djinn"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.DJINN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WardenOfTheFirstTree.java b/Mage.Sets/src/mage/cards/w/WardenOfTheFirstTree.java index 9c427db7e99..ac74f23e224 100644 --- a/Mage.Sets/src/mage/cards/w/WardenOfTheFirstTree.java +++ b/Mage.Sets/src/mage/cards/w/WardenOfTheFirstTree.java @@ -66,7 +66,7 @@ public class WardenOfTheFirstTree extends CardImpl { public WardenOfTheFirstTree(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.power = new MageInt(1); this.toughness = new MageInt(1); @@ -112,8 +112,8 @@ class WardenOfTheFirstTree1 extends Token { public WardenOfTheFirstTree1() { super("Warden of the First Tree", "Human Warrior with base power and toughness 3/3"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); @@ -125,9 +125,9 @@ class WardenOfTheFirstTree2 extends Token { public WardenOfTheFirstTree2() { super("Warden of the First Tree", "Human Spirit Warrior with trample and lifelink"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Human"); - this.subtype.add("Spirit"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WardenOfTheWall.java b/Mage.Sets/src/mage/cards/w/WardenOfTheWall.java index 7175dcabcf5..89b846074e2 100644 --- a/Mage.Sets/src/mage/cards/w/WardenOfTheWall.java +++ b/Mage.Sets/src/mage/cards/w/WardenOfTheWall.java @@ -39,6 +39,7 @@ import mage.abilities.mana.ColorlessManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.permanent.token.Token; @@ -78,7 +79,7 @@ class GargoyleToken extends Token { super("", "2/3 Gargoyle artifact creature with flying"); cardType.add(CardType.CREATURE); cardType.add(CardType.ARTIFACT); - subtype.add("Gargoyle"); + subtype.add(SubType.GARGOYLE); power = new MageInt(2); toughness = new MageInt(3); addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/w/WardscaleDragon.java b/Mage.Sets/src/mage/cards/w/WardscaleDragon.java index a2f0b14aa4b..839e8469aa2 100644 --- a/Mage.Sets/src/mage/cards/w/WardscaleDragon.java +++ b/Mage.Sets/src/mage/cards/w/WardscaleDragon.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class WardscaleDragon extends CardImpl { public WardscaleDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WarfireJavelineer.java b/Mage.Sets/src/mage/cards/w/WarfireJavelineer.java index 9fab807880e..2f689288597 100644 --- a/Mage.Sets/src/mage/cards/w/WarfireJavelineer.java +++ b/Mage.Sets/src/mage/cards/w/WarfireJavelineer.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterInstantOrSorceryCard; import mage.target.common.TargetOpponentsCreaturePermanent; @@ -47,8 +48,8 @@ public class WarfireJavelineer extends CardImpl { public WarfireJavelineer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WarlordsAxe.java b/Mage.Sets/src/mage/cards/w/WarlordsAxe.java index 6c05f398dda..fdfaa17c1f3 100644 --- a/Mage.Sets/src/mage/cards/w/WarlordsAxe.java +++ b/Mage.Sets/src/mage/cards/w/WarlordsAxe.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class WarlordsAxe extends CardImpl { public WarlordsAxe(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +3/+2. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(3, 1))); diff --git a/Mage.Sets/src/mage/cards/w/WarmindInfantry.java b/Mage.Sets/src/mage/cards/w/WarmindInfantry.java index 9da3210f1ec..12607b45f01 100644 --- a/Mage.Sets/src/mage/cards/w/WarmindInfantry.java +++ b/Mage.Sets/src/mage/cards/w/WarmindInfantry.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.BattalionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,8 +45,8 @@ public class WarmindInfantry extends CardImpl { public WarmindInfantry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/Warmonger.java b/Mage.Sets/src/mage/cards/w/Warmonger.java index 4e7d4f41547..50ef6a1afd2 100644 --- a/Mage.Sets/src/mage/cards/w/Warmonger.java +++ b/Mage.Sets/src/mage/cards/w/Warmonger.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -56,8 +57,8 @@ public class Warmonger extends CardImpl { public Warmonger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Minotaur"); - this.subtype.add("Monger"); + this.subtype.add(SubType.MINOTAUR); + this.subtype.add(SubType.MONGER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WarmongerHellkite.java b/Mage.Sets/src/mage/cards/w/WarmongerHellkite.java index 493e6917a1b..8ab50a35661 100644 --- a/Mage.Sets/src/mage/cards/w/WarmongerHellkite.java +++ b/Mage.Sets/src/mage/cards/w/WarmongerHellkite.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import static mage.filter.StaticFilters.FILTER_PERMANENT_CREATURES; @@ -52,7 +53,7 @@ public class WarmongerHellkite extends CardImpl { public WarmongerHellkite(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R}{R}"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WarmongersChariot.java b/Mage.Sets/src/mage/cards/w/WarmongersChariot.java index 355f1e0005a..04328a54ab2 100644 --- a/Mage.Sets/src/mage/cards/w/WarmongersChariot.java +++ b/Mage.Sets/src/mage/cards/w/WarmongersChariot.java @@ -48,7 +48,7 @@ public class WarmongersChariot extends CardImpl { public WarmongersChariot(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature gets +2/+2. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEquippedEffect(2, 2))); diff --git a/Mage.Sets/src/mage/cards/w/WarpArtifact.java b/Mage.Sets/src/mage/cards/w/WarpArtifact.java index e43d288aee1..2abfbed3ee9 100644 --- a/Mage.Sets/src/mage/cards/w/WarpArtifact.java +++ b/Mage.Sets/src/mage/cards/w/WarpArtifact.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class WarpArtifact extends CardImpl { public WarpArtifact(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant artifact TargetPermanent auraTarget = new TargetArtifactPermanent(); diff --git a/Mage.Sets/src/mage/cards/w/WarpathGhoul.java b/Mage.Sets/src/mage/cards/w/WarpathGhoul.java index 2995777be1b..05e5839dc31 100644 --- a/Mage.Sets/src/mage/cards/w/WarpathGhoul.java +++ b/Mage.Sets/src/mage/cards/w/WarpathGhoul.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WarpathGhoul extends CardImpl { public WarpathGhoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WarrenInstigator.java b/Mage.Sets/src/mage/cards/w/WarrenInstigator.java index f4f97d7f79d..afc26696a57 100644 --- a/Mage.Sets/src/mage/cards/w/WarrenInstigator.java +++ b/Mage.Sets/src/mage/cards/w/WarrenInstigator.java @@ -53,8 +53,8 @@ public class WarrenInstigator extends CardImpl { public WarrenInstigator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Berserker"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.BERSERKER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WarrenPilferers.java b/Mage.Sets/src/mage/cards/w/WarrenPilferers.java index fa132e09349..3f5a5edd52a 100644 --- a/Mage.Sets/src/mage/cards/w/WarrenPilferers.java +++ b/Mage.Sets/src/mage/cards/w/WarrenPilferers.java @@ -50,8 +50,8 @@ public class WarrenPilferers extends CardImpl { public WarrenPilferers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WarrenScourgeElf.java b/Mage.Sets/src/mage/cards/w/WarrenScourgeElf.java index 18e906d2ffe..d61bfa8c958 100644 --- a/Mage.Sets/src/mage/cards/w/WarrenScourgeElf.java +++ b/Mage.Sets/src/mage/cards/w/WarrenScourgeElf.java @@ -51,8 +51,8 @@ public class WarrenScourgeElf extends CardImpl { public WarrenScourgeElf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WarrenWeirding.java b/Mage.Sets/src/mage/cards/w/WarrenWeirding.java index 4782bfddd83..7942e453cf7 100644 --- a/Mage.Sets/src/mage/cards/w/WarrenWeirding.java +++ b/Mage.Sets/src/mage/cards/w/WarrenWeirding.java @@ -63,7 +63,7 @@ public class WarrenWeirding extends CardImpl { public WarrenWeirding(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.SORCERY},"{1}{B}"); - this.subtype.add("Goblin"); + this.subtype.add(SubType.GOBLIN); // Target player sacrifices a creature. If a Goblin is sacrificed this way, that player creates two 1/1 black Goblin Rogue creature tokens, and those tokens gain haste until end of turn. diff --git a/Mage.Sets/src/mage/cards/w/WarriorAngel.java b/Mage.Sets/src/mage/cards/w/WarriorAngel.java index 5382662e62e..2b9d9b3251f 100644 --- a/Mage.Sets/src/mage/cards/w/WarriorAngel.java +++ b/Mage.Sets/src/mage/cards/w/WarriorAngel.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class WarriorAngel extends CardImpl { public WarriorAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Angel"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ANGEL); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WarriorEnKor.java b/Mage.Sets/src/mage/cards/w/WarriorEnKor.java index 310d899fc11..f0be2906224 100644 --- a/Mage.Sets/src/mage/cards/w/WarriorEnKor.java +++ b/Mage.Sets/src/mage/cards/w/WarriorEnKor.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.RedirectDamageFromSourceToTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetControlledCreaturePermanent; @@ -48,9 +49,9 @@ public class WarriorEnKor extends CardImpl { public WarriorEnKor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Kor"); - this.subtype.add("Warrior"); - this.subtype.add("Knight"); + this.subtype.add(SubType.KOR); + this.subtype.add(SubType.WARRIOR); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/Warthog.java b/Mage.Sets/src/mage/cards/w/Warthog.java index fbd32a74536..493fbe73691 100644 --- a/Mage.Sets/src/mage/cards/w/Warthog.java +++ b/Mage.Sets/src/mage/cards/w/Warthog.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class Warthog extends CardImpl { public Warthog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Boar"); + this.subtype.add(SubType.BOAR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WasitoraNekoruQueen.java b/Mage.Sets/src/mage/cards/w/WasitoraNekoruQueen.java index d8ad2919a09..f825f379386 100644 --- a/Mage.Sets/src/mage/cards/w/WasitoraNekoruQueen.java +++ b/Mage.Sets/src/mage/cards/w/WasitoraNekoruQueen.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -64,8 +65,8 @@ public class WasitoraNekoruQueen extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Cat"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WaspLancer.java b/Mage.Sets/src/mage/cards/w/WaspLancer.java index e8376da21c4..0179e8c57f5 100644 --- a/Mage.Sets/src/mage/cards/w/WaspLancer.java +++ b/Mage.Sets/src/mage/cards/w/WaspLancer.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class WaspLancer extends CardImpl { public WaspLancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U/B}{U/B}{U/B}"); - this.subtype.add("Faerie"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WaspOfTheBitterEnd.java b/Mage.Sets/src/mage/cards/w/WaspOfTheBitterEnd.java index e68e874b7f6..4b27b3c105d 100644 --- a/Mage.Sets/src/mage/cards/w/WaspOfTheBitterEnd.java +++ b/Mage.Sets/src/mage/cards/w/WaspOfTheBitterEnd.java @@ -59,8 +59,8 @@ public class WaspOfTheBitterEnd extends CardImpl { public WaspOfTheBitterEnd(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Insect"); - this.subtype.add("Horror"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.HORROR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WastelandScorpion.java b/Mage.Sets/src/mage/cards/w/WastelandScorpion.java index ca60ce2fdcf..6ba005dfb74 100644 --- a/Mage.Sets/src/mage/cards/w/WastelandScorpion.java +++ b/Mage.Sets/src/mage/cards/w/WastelandScorpion.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class WastelandScorpion extends CardImpl { public WastelandScorpion(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); - this.subtype.add("Scorpion"); + this.subtype.add(SubType.SCORPION); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WastelandStrangler.java b/Mage.Sets/src/mage/cards/w/WastelandStrangler.java index 1715ed5bd51..db508b337f7 100644 --- a/Mage.Sets/src/mage/cards/w/WastelandStrangler.java +++ b/Mage.Sets/src/mage/cards/w/WastelandStrangler.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DevoidAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class WastelandStrangler extends CardImpl { public WastelandStrangler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Processor"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.PROCESSOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WastelandViper.java b/Mage.Sets/src/mage/cards/w/WastelandViper.java index 77c5c5fa182..6650028da4e 100644 --- a/Mage.Sets/src/mage/cards/w/WastelandViper.java +++ b/Mage.Sets/src/mage/cards/w/WastelandViper.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DeathtouchAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -47,7 +48,7 @@ public class WastelandViper extends CardImpl { public WastelandViper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/Watchdog.java b/Mage.Sets/src/mage/cards/w/Watchdog.java index 53988207581..04458ff4118 100644 --- a/Mage.Sets/src/mage/cards/w/Watchdog.java +++ b/Mage.Sets/src/mage/cards/w/Watchdog.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterAttackingCreature; @@ -53,7 +54,7 @@ public class Watchdog extends CardImpl { public Watchdog(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WatcherInTheWeb.java b/Mage.Sets/src/mage/cards/w/WatcherInTheWeb.java index 9029dce1579..ef98b924217 100644 --- a/Mage.Sets/src/mage/cards/w/WatcherInTheWeb.java +++ b/Mage.Sets/src/mage/cards/w/WatcherInTheWeb.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class WatcherInTheWeb extends CardImpl { public WatcherInTheWeb(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Spider"); + this.subtype.add(SubType.SPIDER); this.power = new MageInt(2); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WatcherOfTheRoost.java b/Mage.Sets/src/mage/cards/w/WatcherOfTheRoost.java index 8859f0d7336..7bf7b738d37 100644 --- a/Mage.Sets/src/mage/cards/w/WatcherOfTheRoost.java +++ b/Mage.Sets/src/mage/cards/w/WatcherOfTheRoost.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.ColorPredicate; import mage.target.common.TargetCardInHand; @@ -56,8 +57,8 @@ public class WatcherOfTheRoost extends CardImpl { public WatcherOfTheRoost(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WatcherSliver.java b/Mage.Sets/src/mage/cards/w/WatcherSliver.java index 1b5a7791f76..f73c7de075a 100644 --- a/Mage.Sets/src/mage/cards/w/WatcherSliver.java +++ b/Mage.Sets/src/mage/cards/w/WatcherSliver.java @@ -49,7 +49,7 @@ public class WatcherSliver extends CardImpl { public WatcherSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WatchersOfTheDead.java b/Mage.Sets/src/mage/cards/w/WatchersOfTheDead.java index ff0588d8653..f1620a0de5f 100644 --- a/Mage.Sets/src/mage/cards/w/WatchersOfTheDead.java +++ b/Mage.Sets/src/mage/cards/w/WatchersOfTheDead.java @@ -1,119 +1,120 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.MageInt; -import mage.MageObject; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.ExileSourceCost; -import mage.abilities.effects.OneShotEffect; -import mage.cards.*; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.FilterCard; -import mage.game.Game; -import mage.players.Player; -import mage.target.TargetCard; -import mage.target.common.TargetCardInYourGraveyard; -import mage.util.CardUtil; - -/** - * - * @author jeffwadsworth - */ -public class WatchersOfTheDead extends CardImpl { - - public WatchersOfTheDead(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}"); - this.subtype.add("Cat"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Exile Watchers of the Dead: Each opponent chooses 2 cards in his or her graveyard and exiles the rest. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new WatchersOfTheDeadEffect(), new ExileSourceCost())); - - } - - public WatchersOfTheDead(final WatchersOfTheDead card) { - super(card); - } - - @Override - public WatchersOfTheDead copy() { - return new WatchersOfTheDead(this); - } -} - -class WatchersOfTheDeadEffect extends OneShotEffect { - - public WatchersOfTheDeadEffect() { - super(Outcome.Benefit); - this.staticText = "Each opponent chooses 2 cards in his or her graveyard and exiles the rest"; - } - - public WatchersOfTheDeadEffect(final WatchersOfTheDeadEffect effect) { - super(effect); - } - - @Override - public WatchersOfTheDeadEffect copy() { - return new WatchersOfTheDeadEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - MageObject sourceObject = game.getLastKnownInformation(source.getSourceId(), Zone.BATTLEFIELD); - if (controller != null) { - for (UUID opponentId : game.getState().getPlayersInRange(controller.getId(), game)) { - Player opponent = game.getPlayer(opponentId); - if (opponent != null - && opponent != controller) { - TargetCard target = new TargetCardInYourGraveyard(2, 2, new FilterCard()); - target.setNotTarget(true); - Cards cardsInGraveyard = opponent.getGraveyard(); - if (cardsInGraveyard.size() > 1) { - opponent.choose(outcome, cardsInGraveyard, target, game); - for (Card cardInGraveyard : cardsInGraveyard.getCards(game)) { - if (!target.getTargets().contains(cardInGraveyard.getId())) { - opponent.moveCardToExileWithInfo(cardInGraveyard, CardUtil.getCardExileZoneId(game, source.getId()), - sourceObject.getLogName(), source.getId(), game, Zone.GRAVEYARD, true); - } - } - } - - } - } - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.MageInt; +import mage.MageObject; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.ExileSourceCost; +import mage.abilities.effects.OneShotEffect; +import mage.cards.*; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.FilterCard; +import mage.game.Game; +import mage.players.Player; +import mage.target.TargetCard; +import mage.target.common.TargetCardInYourGraveyard; +import mage.util.CardUtil; + +/** + * + * @author jeffwadsworth + */ +public class WatchersOfTheDead extends CardImpl { + + public WatchersOfTheDead(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}"); + this.subtype.add(SubType.CAT); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Exile Watchers of the Dead: Each opponent chooses 2 cards in his or her graveyard and exiles the rest. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new WatchersOfTheDeadEffect(), new ExileSourceCost())); + + } + + public WatchersOfTheDead(final WatchersOfTheDead card) { + super(card); + } + + @Override + public WatchersOfTheDead copy() { + return new WatchersOfTheDead(this); + } +} + +class WatchersOfTheDeadEffect extends OneShotEffect { + + public WatchersOfTheDeadEffect() { + super(Outcome.Benefit); + this.staticText = "Each opponent chooses 2 cards in his or her graveyard and exiles the rest"; + } + + public WatchersOfTheDeadEffect(final WatchersOfTheDeadEffect effect) { + super(effect); + } + + @Override + public WatchersOfTheDeadEffect copy() { + return new WatchersOfTheDeadEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + MageObject sourceObject = game.getLastKnownInformation(source.getSourceId(), Zone.BATTLEFIELD); + if (controller != null) { + for (UUID opponentId : game.getState().getPlayersInRange(controller.getId(), game)) { + Player opponent = game.getPlayer(opponentId); + if (opponent != null + && opponent != controller) { + TargetCard target = new TargetCardInYourGraveyard(2, 2, new FilterCard()); + target.setNotTarget(true); + Cards cardsInGraveyard = opponent.getGraveyard(); + if (cardsInGraveyard.size() > 1) { + opponent.choose(outcome, cardsInGraveyard, target, game); + for (Card cardInGraveyard : cardsInGraveyard.getCards(game)) { + if (!target.getTargets().contains(cardInGraveyard.getId())) { + opponent.moveCardToExileWithInfo(cardInGraveyard, CardUtil.getCardExileZoneId(game, source.getId()), + sourceObject.getLogName(), source.getId(), game, Zone.GRAVEYARD, true); + } + } + } + + } + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/w/WatchfulAutomaton.java b/Mage.Sets/src/mage/cards/w/WatchfulAutomaton.java index f92f91b5093..7cf6541c93b 100644 --- a/Mage.Sets/src/mage/cards/w/WatchfulAutomaton.java +++ b/Mage.Sets/src/mage/cards/w/WatchfulAutomaton.java @@ -35,6 +35,7 @@ import mage.abilities.effects.keyword.ScryEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class WatchfulAutomaton extends CardImpl { public WatchfulAutomaton(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WatchfulNaga.java b/Mage.Sets/src/mage/cards/w/WatchfulNaga.java index 3c98e18bdad..69ac7279721 100644 --- a/Mage.Sets/src/mage/cards/w/WatchfulNaga.java +++ b/Mage.Sets/src/mage/cards/w/WatchfulNaga.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ExertAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class WatchfulNaga extends CardImpl { public WatchfulNaga(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Naga"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WatchwingScarecrow.java b/Mage.Sets/src/mage/cards/w/WatchwingScarecrow.java index 0be99ed0055..1baf99da2c0 100644 --- a/Mage.Sets/src/mage/cards/w/WatchwingScarecrow.java +++ b/Mage.Sets/src/mage/cards/w/WatchwingScarecrow.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -64,7 +65,7 @@ public class WatchwingScarecrow extends CardImpl { public WatchwingScarecrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/Watchwolf.java b/Mage.Sets/src/mage/cards/w/Watchwolf.java index 1c94f4c80e0..abd6e5ea1a0 100644 --- a/Mage.Sets/src/mage/cards/w/Watchwolf.java +++ b/Mage.Sets/src/mage/cards/w/Watchwolf.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class Watchwolf extends CardImpl { public Watchwolf (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WaterElemental.java b/Mage.Sets/src/mage/cards/w/WaterElemental.java index 24387ebbec5..ca978d2371b 100644 --- a/Mage.Sets/src/mage/cards/w/WaterElemental.java +++ b/Mage.Sets/src/mage/cards/w/WaterElemental.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class WaterElemental extends CardImpl { public WaterElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WaterServant.java b/Mage.Sets/src/mage/cards/w/WaterServant.java index 8f4aa4ea818..a225606432a 100644 --- a/Mage.Sets/src/mage/cards/w/WaterServant.java +++ b/Mage.Sets/src/mage/cards/w/WaterServant.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class WaterServant extends CardImpl { public WaterServant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WaterWurm.java b/Mage.Sets/src/mage/cards/w/WaterWurm.java index 5ade8cf312e..c6e3aec0e6b 100644 --- a/Mage.Sets/src/mage/cards/w/WaterWurm.java +++ b/Mage.Sets/src/mage/cards/w/WaterWurm.java @@ -51,7 +51,7 @@ public class WaterWurm extends CardImpl { public WaterWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/Watercourser.java b/Mage.Sets/src/mage/cards/w/Watercourser.java index 3f804e64ef2..0a1f0bd9567 100644 --- a/Mage.Sets/src/mage/cards/w/Watercourser.java +++ b/Mage.Sets/src/mage/cards/w/Watercourser.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class Watercourser extends CardImpl { public Watercourser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WaterfrontBouncer.java b/Mage.Sets/src/mage/cards/w/WaterfrontBouncer.java index 32bbe9b01cf..0b56bb35be4 100644 --- a/Mage.Sets/src/mage/cards/w/WaterfrontBouncer.java +++ b/Mage.Sets/src/mage/cards/w/WaterfrontBouncer.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.common.TargetCardInHand; @@ -51,8 +52,8 @@ public class WaterfrontBouncer extends CardImpl { public WaterfrontBouncer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Spellshaper"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.SPELLSHAPER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WaterspoutDjinn.java b/Mage.Sets/src/mage/cards/w/WaterspoutDjinn.java index 310de4040f3..c81b338200d 100644 --- a/Mage.Sets/src/mage/cards/w/WaterspoutDjinn.java +++ b/Mage.Sets/src/mage/cards/w/WaterspoutDjinn.java @@ -59,7 +59,7 @@ public class WaterspoutDjinn extends CardImpl { public WaterspoutDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WaterspoutElemental.java b/Mage.Sets/src/mage/cards/w/WaterspoutElemental.java index 44351bb43d5..2317a14d4e0 100644 --- a/Mage.Sets/src/mage/cards/w/WaterspoutElemental.java +++ b/Mage.Sets/src/mage/cards/w/WaterspoutElemental.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.KickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -56,7 +57,7 @@ public class WaterspoutElemental extends CardImpl { public WaterspoutElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WaterspoutWeavers.java b/Mage.Sets/src/mage/cards/w/WaterspoutWeavers.java index 0f43eec0a5f..da7eb7fd1ca 100644 --- a/Mage.Sets/src/mage/cards/w/WaterspoutWeavers.java +++ b/Mage.Sets/src/mage/cards/w/WaterspoutWeavers.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterCreaturePermanent; @@ -46,8 +47,8 @@ public class WaterspoutWeavers extends CardImpl { public WaterspoutWeavers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WateryGrave.java b/Mage.Sets/src/mage/cards/w/WateryGrave.java index 779d3f90164..11c58d176b2 100644 --- a/Mage.Sets/src/mage/cards/w/WateryGrave.java +++ b/Mage.Sets/src/mage/cards/w/WateryGrave.java @@ -37,6 +37,7 @@ import mage.abilities.mana.BlueManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class WateryGrave extends CardImpl { public WateryGrave(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},null); - this.subtype.add("Island"); - this.subtype.add("Swamp"); + this.subtype.add(SubType.ISLAND); + this.subtype.add(SubType.SWAMP); this.addAbility(new BlueManaAbility()); this.addAbility(new BlackManaAbility()); diff --git a/Mage.Sets/src/mage/cards/w/WaveWingElemental.java b/Mage.Sets/src/mage/cards/w/WaveWingElemental.java index 0d7a147cb34..fa81b48bead 100644 --- a/Mage.Sets/src/mage/cards/w/WaveWingElemental.java +++ b/Mage.Sets/src/mage/cards/w/WaveWingElemental.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,7 +46,7 @@ public class WaveWingElemental extends CardImpl { public WaveWingElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WavecrashTriton.java b/Mage.Sets/src/mage/cards/w/WavecrashTriton.java index 42cdba1fbf6..1c28efe20b9 100644 --- a/Mage.Sets/src/mage/cards/w/WavecrashTriton.java +++ b/Mage.Sets/src/mage/cards/w/WavecrashTriton.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -54,8 +55,8 @@ public class WavecrashTriton extends CardImpl { public WavecrashTriton(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WaveskimmerAven.java b/Mage.Sets/src/mage/cards/w/WaveskimmerAven.java index cf9a1a181f2..243a57bf312 100644 --- a/Mage.Sets/src/mage/cards/w/WaveskimmerAven.java +++ b/Mage.Sets/src/mage/cards/w/WaveskimmerAven.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class WaveskimmerAven extends CardImpl { public WaveskimmerAven (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{W}{U}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2 ); diff --git a/Mage.Sets/src/mage/cards/w/WaxmaneBaku.java b/Mage.Sets/src/mage/cards/w/WaxmaneBaku.java index c93afb3acca..bf7e380438d 100644 --- a/Mage.Sets/src/mage/cards/w/WaxmaneBaku.java +++ b/Mage.Sets/src/mage/cards/w/WaxmaneBaku.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -59,7 +60,7 @@ public class WaxmaneBaku extends CardImpl { public WaxmaneBaku(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WayOfTheThief.java b/Mage.Sets/src/mage/cards/w/WayOfTheThief.java index eadc8060ee7..9f146e75fac 100644 --- a/Mage.Sets/src/mage/cards/w/WayOfTheThief.java +++ b/Mage.Sets/src/mage/cards/w/WayOfTheThief.java @@ -60,7 +60,7 @@ public class WayOfTheThief extends CardImpl { public WayOfTheThief(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/w/WayfaringGiant.java b/Mage.Sets/src/mage/cards/w/WayfaringGiant.java index b64aa536afe..21171edd860 100644 --- a/Mage.Sets/src/mage/cards/w/WayfaringGiant.java +++ b/Mage.Sets/src/mage/cards/w/WayfaringGiant.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class WayfaringGiant extends CardImpl { public WayfaringGiant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Giant"); + this.subtype.add(SubType.GIANT); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WayfaringTemple.java b/Mage.Sets/src/mage/cards/w/WayfaringTemple.java index 560a1a9b1e7..a6346a12c6b 100644 --- a/Mage.Sets/src/mage/cards/w/WayfaringTemple.java +++ b/Mage.Sets/src/mage/cards/w/WayfaringTemple.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -50,7 +51,7 @@ public class WayfaringTemple extends CardImpl { public WayfaringTemple(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/w/WaywardAngel.java b/Mage.Sets/src/mage/cards/w/WaywardAngel.java index db43b8143fe..e722d1d66dc 100644 --- a/Mage.Sets/src/mage/cards/w/WaywardAngel.java +++ b/Mage.Sets/src/mage/cards/w/WaywardAngel.java @@ -46,6 +46,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -59,8 +60,8 @@ public class WaywardAngel extends CardImpl { public WaywardAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Angel"); - this.subtype.add("Horror"); + this.subtype.add(SubType.ANGEL); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WaywardDisciple.java b/Mage.Sets/src/mage/cards/w/WaywardDisciple.java index ec553b25df2..061ad23ef63 100644 --- a/Mage.Sets/src/mage/cards/w/WaywardDisciple.java +++ b/Mage.Sets/src/mage/cards/w/WaywardDisciple.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -56,8 +57,8 @@ public class WaywardDisciple extends CardImpl { public WaywardDisciple(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(4); this.color.setBlack(true); diff --git a/Mage.Sets/src/mage/cards/w/WaywardGiant.java b/Mage.Sets/src/mage/cards/w/WaywardGiant.java index 2b5780b66ea..853d79594a6 100644 --- a/Mage.Sets/src/mage/cards/w/WaywardGiant.java +++ b/Mage.Sets/src/mage/cards/w/WaywardGiant.java @@ -1,61 +1,62 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.keyword.MenaceAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author LevelX2 - */ -public class WaywardGiant extends CardImpl { - - public WaywardGiant(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Giant"); - this.power = new MageInt(4); - this.toughness = new MageInt(5); - - // Menace - this.addAbility(new MenaceAbility()); - } - - public WaywardGiant(final WaywardGiant card) { - super(card); - } - - @Override - public WaywardGiant copy() { - return new WaywardGiant(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.keyword.MenaceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author LevelX2 + */ +public class WaywardGiant extends CardImpl { + + public WaywardGiant(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); + this.subtype.add(SubType.GIANT); + this.power = new MageInt(4); + this.toughness = new MageInt(5); + + // Menace + this.addAbility(new MenaceAbility()); + } + + public WaywardGiant(final WaywardGiant card) { + super(card); + } + + @Override + public WaywardGiant copy() { + return new WaywardGiant(this); + } +} diff --git a/Mage.Sets/src/mage/cards/w/WaywardServant.java b/Mage.Sets/src/mage/cards/w/WaywardServant.java index 06967014f68..cf8399284d8 100644 --- a/Mage.Sets/src/mage/cards/w/WaywardServant.java +++ b/Mage.Sets/src/mage/cards/w/WaywardServant.java @@ -1,84 +1,84 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.GainLifeEffect; -import mage.abilities.effects.common.LoseLifeOpponentsEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.SubType; -import mage.filter.common.FilterControlledPermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.filter.predicate.permanent.AnotherPredicate; - -/** - * - * @author jeffwadsworth - */ -public class WaywardServant extends CardImpl { - - private static final FilterControlledPermanent filter = new FilterControlledPermanent("another Zombie"); - - static { - filter.add(new SubtypePredicate(SubType.ZOMBIE)); - filter.add(new AnotherPredicate()); - } - - private static final String rule = "Whenever another Zombie enters the battlefield under your control, each opponent loses 1 life and you gain 1 life."; - - public WaywardServant(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{B}"); - - this.subtype.add("Zombie"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Whenever another Zombie enters the battlefield under your control, each opponent loses 1 life and you gain 1 life. - Effect effect = new LoseLifeOpponentsEffect(1); - Effect effect2 = new GainLifeEffect(1); - Ability ability = new EntersBattlefieldAllTriggeredAbility(effect, filter, rule); - ability.addEffect(effect2); - this.addAbility(ability); - - } - - public WaywardServant(final WaywardServant card) { - super(card); - } - - @Override - public WaywardServant copy() { - return new WaywardServant(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldAllTriggeredAbility; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.LoseLifeOpponentsEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.filter.common.FilterControlledPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.filter.predicate.permanent.AnotherPredicate; + +/** + * + * @author jeffwadsworth + */ +public class WaywardServant extends CardImpl { + + private static final FilterControlledPermanent filter = new FilterControlledPermanent("another Zombie"); + + static { + filter.add(new SubtypePredicate(SubType.ZOMBIE)); + filter.add(new AnotherPredicate()); + } + + private static final String rule = "Whenever another Zombie enters the battlefield under your control, each opponent loses 1 life and you gain 1 life."; + + public WaywardServant(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{W}{B}"); + + this.subtype.add(SubType.ZOMBIE); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Whenever another Zombie enters the battlefield under your control, each opponent loses 1 life and you gain 1 life. + Effect effect = new LoseLifeOpponentsEffect(1); + Effect effect2 = new GainLifeEffect(1); + Ability ability = new EntersBattlefieldAllTriggeredAbility(effect, filter, rule); + ability.addEffect(effect2); + this.addAbility(ability); + + } + + public WaywardServant(final WaywardServant card) { + super(card); + } + + @Override + public WaywardServant copy() { + return new WaywardServant(this); + } +} diff --git a/Mage.Sets/src/mage/cards/w/WaywardSoul.java b/Mage.Sets/src/mage/cards/w/WaywardSoul.java index 6ea196b7cf3..10a16ca2bae 100644 --- a/Mage.Sets/src/mage/cards/w/WaywardSoul.java +++ b/Mage.Sets/src/mage/cards/w/WaywardSoul.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class WaywardSoul extends CardImpl { public WaywardSoul(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/Weakness.java b/Mage.Sets/src/mage/cards/w/Weakness.java index 808f1e6eb57..ed89d952708 100644 --- a/Mage.Sets/src/mage/cards/w/Weakness.java +++ b/Mage.Sets/src/mage/cards/w/Weakness.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class Weakness extends CardImpl { public Weakness(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/w/WeaponcraftEnthusiast.java b/Mage.Sets/src/mage/cards/w/WeaponcraftEnthusiast.java index 6174ffab420..d659d16a44d 100644 --- a/Mage.Sets/src/mage/cards/w/WeaponcraftEnthusiast.java +++ b/Mage.Sets/src/mage/cards/w/WeaponcraftEnthusiast.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FabricateAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class WeaponcraftEnthusiast extends CardImpl { public WeaponcraftEnthusiast(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Aetherborn"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.AETHERBORN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WeaponsTrainer.java b/Mage.Sets/src/mage/cards/w/WeaponsTrainer.java index c5d21db64cf..a2ee1278cc3 100644 --- a/Mage.Sets/src/mage/cards/w/WeaponsTrainer.java +++ b/Mage.Sets/src/mage/cards/w/WeaponsTrainer.java @@ -57,9 +57,9 @@ public class WeaponsTrainer extends CardImpl { public WeaponsTrainer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Ally"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ALLY); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WeatheredWayfarer.java b/Mage.Sets/src/mage/cards/w/WeatheredWayfarer.java index 6ac9d832330..1bb704cd68f 100644 --- a/Mage.Sets/src/mage/cards/w/WeatheredWayfarer.java +++ b/Mage.Sets/src/mage/cards/w/WeatheredWayfarer.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.filter.common.FilterLandCard; @@ -51,9 +52,9 @@ public class WeatheredWayfarer extends CardImpl { public WeatheredWayfarer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Human"); - this.subtype.add("Nomad"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.NOMAD); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WeatherseedElf.java b/Mage.Sets/src/mage/cards/w/WeatherseedElf.java index 32b88b37466..cc009d0e107 100644 --- a/Mage.Sets/src/mage/cards/w/WeatherseedElf.java +++ b/Mage.Sets/src/mage/cards/w/WeatherseedElf.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class WeatherseedElf extends CardImpl { public WeatherseedElf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WeatherseedFaeries.java b/Mage.Sets/src/mage/cards/w/WeatherseedFaeries.java index 4597b634284..7d573ff57fc 100644 --- a/Mage.Sets/src/mage/cards/w/WeatherseedFaeries.java +++ b/Mage.Sets/src/mage/cards/w/WeatherseedFaeries.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class WeatherseedFaeries extends CardImpl { public WeatherseedFaeries(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WeatherseedTreefolk.java b/Mage.Sets/src/mage/cards/w/WeatherseedTreefolk.java index 9b50dce8d48..ee965e301b1 100644 --- a/Mage.Sets/src/mage/cards/w/WeatherseedTreefolk.java +++ b/Mage.Sets/src/mage/cards/w/WeatherseedTreefolk.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class WeatherseedTreefolk extends CardImpl { public WeatherseedTreefolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WeaverOfCurrents.java b/Mage.Sets/src/mage/cards/w/WeaverOfCurrents.java index dfd1541ce2f..04d363f6ecd 100644 --- a/Mage.Sets/src/mage/cards/w/WeaverOfCurrents.java +++ b/Mage.Sets/src/mage/cards/w/WeaverOfCurrents.java @@ -35,6 +35,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class WeaverOfCurrents extends CardImpl { public WeaverOfCurrents(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{U}"); - this.subtype.add("Naga"); - this.subtype.add("Druid"); + this.subtype.add(SubType.NAGA); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WeaverOfLightning.java b/Mage.Sets/src/mage/cards/w/WeaverOfLightning.java index 61c1090f759..349f5ccb4aa 100644 --- a/Mage.Sets/src/mage/cards/w/WeaverOfLightning.java +++ b/Mage.Sets/src/mage/cards/w/WeaverOfLightning.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterInstantOrSorcerySpell; @@ -56,8 +57,8 @@ public class WeaverOfLightning extends CardImpl { public WeaverOfLightning(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/Web.java b/Mage.Sets/src/mage/cards/w/Web.java index f11689e2ff0..bec44c6cfca 100644 --- a/Mage.Sets/src/mage/cards/w/Web.java +++ b/Mage.Sets/src/mage/cards/w/Web.java @@ -50,7 +50,7 @@ public class Web extends CardImpl { public Web(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/w/WebOfInertia.java b/Mage.Sets/src/mage/cards/w/WebOfInertia.java index f2765aff77b..983170a04c1 100644 --- a/Mage.Sets/src/mage/cards/w/WebOfInertia.java +++ b/Mage.Sets/src/mage/cards/w/WebOfInertia.java @@ -1,152 +1,152 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.MageObject; -import mage.abilities.Ability; -import mage.abilities.Mode; -import mage.abilities.common.BeginningOfCombatTriggeredAbility; -import mage.abilities.costs.Cost; -import mage.abilities.costs.common.ExileFromGraveCost; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.RestrictionEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.common.TargetCardInYourGraveyard; - -/** - * - * @author Styxo - */ -public class WebOfInertia extends CardImpl { - - public WebOfInertia(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}"); - - // At the beginning of combat on each opponent's turn, that player may exile a card from his or her graveyard. If the player doesn't, creatures he or she controls can't attack you this turn. - this.addAbility(new BeginningOfCombatTriggeredAbility(Zone.BATTLEFIELD, new WebOfInertiaEffect(), TargetController.OPPONENT, false, true)); - } - - public WebOfInertia(final WebOfInertia card) { - super(card); - } - - @Override - public WebOfInertia copy() { - return new WebOfInertia(this); - } -} - -class WebOfInertiaEffect extends OneShotEffect { - - public WebOfInertiaEffect() { - super(Outcome.Detriment); - staticText = "that player may exile a card from his or her graveyard. If the player doesn't, creatures he or she controls can't attack you this turn"; - } - - public WebOfInertiaEffect(final WebOfInertiaEffect effect) { - super(effect); - } - - @Override - public boolean apply(Game game, Ability source) { - Player player = game.getPlayer(getTargetPointer().getFirst(game, source)); - MageObject sourceObject = game.getObject(source.getSourceId()); - if (player != null && sourceObject != null) { - Cost cost = new ExileFromGraveCost(new TargetCardInYourGraveyard()); - if (cost.canPay(source, source.getSourceId(), player.getId(), game) && player.chooseUse(Outcome.Detriment, "Exile a card from your graveyard?", source, game)) { - cost.clearPaid(); - if (cost.pay(source, game, source.getSourceId(), player.getId(), false, null)) { - if (!game.isSimulation()) { - game.informPlayers(player.getLogName() + " pays the cost to prevent the effect"); - } - } - } else { - game.addEffect(new WebOfInertiaRestrictionEffect(player.getId()), source); - } - return true; - } - return false; - } - - @Override - public String getText(Mode mode) { - return staticText; - } - - @Override - public WebOfInertiaEffect copy() { - return new WebOfInertiaEffect(this); - } - -} - -class WebOfInertiaRestrictionEffect extends RestrictionEffect { - - private final UUID attackerID; - - public WebOfInertiaRestrictionEffect(UUID attackerID) { - super(Duration.EndOfTurn); - this.attackerID = attackerID; - } - - public WebOfInertiaRestrictionEffect(final WebOfInertiaRestrictionEffect effect) { - super(effect); - this.attackerID = effect.attackerID; - } - - @Override - public boolean applies(Permanent permanent, Ability source, Game game) { - return permanent.getControllerId().equals(attackerID); - } - - @Override - public boolean canAttack(Permanent attacker, UUID defenderId, Ability source, Game game) { - return !defenderId.equals(source.getControllerId()); - } - - @Override - public String getText(Mode mode) { - return staticText; - } - - @Override - public WebOfInertiaRestrictionEffect copy() { - return new WebOfInertiaRestrictionEffect(this); - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.MageObject; +import mage.abilities.Ability; +import mage.abilities.Mode; +import mage.abilities.common.BeginningOfCombatTriggeredAbility; +import mage.abilities.costs.Cost; +import mage.abilities.costs.common.ExileFromGraveCost; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.RestrictionEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetCardInYourGraveyard; + +/** + * + * @author Styxo + */ +public class WebOfInertia extends CardImpl { + + public WebOfInertia(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{2}{U}"); + + // At the beginning of combat on each opponent's turn, that player may exile a card from his or her graveyard. If the player doesn't, creatures he or she controls can't attack you this turn. + this.addAbility(new BeginningOfCombatTriggeredAbility(Zone.BATTLEFIELD, new WebOfInertiaEffect(), TargetController.OPPONENT, false, true)); + } + + public WebOfInertia(final WebOfInertia card) { + super(card); + } + + @Override + public WebOfInertia copy() { + return new WebOfInertia(this); + } +} + +class WebOfInertiaEffect extends OneShotEffect { + + public WebOfInertiaEffect() { + super(Outcome.Detriment); + staticText = "that player may exile a card from his or her graveyard. If the player doesn't, creatures he or she controls can't attack you this turn"; + } + + public WebOfInertiaEffect(final WebOfInertiaEffect effect) { + super(effect); + } + + @Override + public boolean apply(Game game, Ability source) { + Player player = game.getPlayer(getTargetPointer().getFirst(game, source)); + MageObject sourceObject = game.getObject(source.getSourceId()); + if (player != null && sourceObject != null) { + Cost cost = new ExileFromGraveCost(new TargetCardInYourGraveyard()); + if (cost.canPay(source, source.getSourceId(), player.getId(), game) && player.chooseUse(Outcome.Detriment, "Exile a card from your graveyard?", source, game)) { + cost.clearPaid(); + if (cost.pay(source, game, source.getSourceId(), player.getId(), false, null)) { + if (!game.isSimulation()) { + game.informPlayers(player.getLogName() + " pays the cost to prevent the effect"); + } + } + } else { + game.addEffect(new WebOfInertiaRestrictionEffect(player.getId()), source); + } + return true; + } + return false; + } + + @Override + public String getText(Mode mode) { + return staticText; + } + + @Override + public WebOfInertiaEffect copy() { + return new WebOfInertiaEffect(this); + } + +} + +class WebOfInertiaRestrictionEffect extends RestrictionEffect { + + private final UUID attackerID; + + public WebOfInertiaRestrictionEffect(UUID attackerID) { + super(Duration.EndOfTurn); + this.attackerID = attackerID; + } + + public WebOfInertiaRestrictionEffect(final WebOfInertiaRestrictionEffect effect) { + super(effect); + this.attackerID = effect.attackerID; + } + + @Override + public boolean applies(Permanent permanent, Ability source, Game game) { + return permanent.getControllerId().equals(attackerID); + } + + @Override + public boolean canAttack(Permanent attacker, UUID defenderId, Ability source, Game game) { + return !defenderId.equals(source.getControllerId()); + } + + @Override + public String getText(Mode mode) { + return staticText; + } + + @Override + public WebOfInertiaRestrictionEffect copy() { + return new WebOfInertiaRestrictionEffect(this); + } + +} diff --git a/Mage.Sets/src/mage/cards/w/WeeDragonauts.java b/Mage.Sets/src/mage/cards/w/WeeDragonauts.java index 6764f7cadb9..735518a1d51 100644 --- a/Mage.Sets/src/mage/cards/w/WeeDragonauts.java +++ b/Mage.Sets/src/mage/cards/w/WeeDragonauts.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterInstantOrSorcerySpell; @@ -45,8 +46,8 @@ public class WeeDragonauts extends CardImpl { public WeeDragonauts(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{R}"); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WeedPrunerPoplar.java b/Mage.Sets/src/mage/cards/w/WeedPrunerPoplar.java index 0a47d8941a8..0c82575e42f 100644 --- a/Mage.Sets/src/mage/cards/w/WeedPrunerPoplar.java +++ b/Mage.Sets/src/mage/cards/w/WeedPrunerPoplar.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; @@ -55,8 +56,8 @@ public class WeedPrunerPoplar extends CardImpl { public WeedPrunerPoplar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Treefolk"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WeequayBeastmaster.java b/Mage.Sets/src/mage/cards/w/WeequayBeastmaster.java index 07638a55c64..ca7dcc929ba 100644 --- a/Mage.Sets/src/mage/cards/w/WeequayBeastmaster.java +++ b/Mage.Sets/src/mage/cards/w/WeequayBeastmaster.java @@ -1,71 +1,72 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.BecomesMonstrousTriggeredAbility; -import mage.abilities.common.SimpleStaticAbility; -import mage.abilities.effects.common.cost.AbilitiesCostReductionControllerEffect; -import mage.abilities.effects.common.counter.AddCountersTargetEffect; -import mage.abilities.keyword.MonstrosityAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.counters.CounterType; - -/** - * - * @author Styxo - */ -public class WeequayBeastmaster extends CardImpl { - - public WeequayBeastmaster(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Weequay"); - this.subtype.add("Shaman"); - this.power = new MageInt(2); - this.toughness = new MageInt(1); - - // Monstrosity abilities you activate cost {1} less to activate. - this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AbilitiesCostReductionControllerEffect(MonstrosityAbility.class, "Monstrosity"))); - - // Whenever a creature you control becomes monstrous, put an additional +1/+1 counter on that creature. - this.addAbility(new BecomesMonstrousTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()))); - } - - public WeequayBeastmaster(final WeequayBeastmaster card) { - super(card); - } - - @Override - public WeequayBeastmaster copy() { - return new WeequayBeastmaster(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.BecomesMonstrousTriggeredAbility; +import mage.abilities.common.SimpleStaticAbility; +import mage.abilities.effects.common.cost.AbilitiesCostReductionControllerEffect; +import mage.abilities.effects.common.counter.AddCountersTargetEffect; +import mage.abilities.keyword.MonstrosityAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.counters.CounterType; + +/** + * + * @author Styxo + */ +public class WeequayBeastmaster extends CardImpl { + + public WeequayBeastmaster(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); + this.subtype.add(SubType.WEEQUAY); + this.subtype.add(SubType.SHAMAN); + this.power = new MageInt(2); + this.toughness = new MageInt(1); + + // Monstrosity abilities you activate cost {1} less to activate. + this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AbilitiesCostReductionControllerEffect(MonstrosityAbility.class, "Monstrosity"))); + + // Whenever a creature you control becomes monstrous, put an additional +1/+1 counter on that creature. + this.addAbility(new BecomesMonstrousTriggeredAbility(new AddCountersTargetEffect(CounterType.P1P1.createInstance()))); + } + + public WeequayBeastmaster(final WeequayBeastmaster card) { + super(card); + } + + @Override + public WeequayBeastmaster copy() { + return new WeequayBeastmaster(this); + } +} diff --git a/Mage.Sets/src/mage/cards/w/WeiAmbushForce.java b/Mage.Sets/src/mage/cards/w/WeiAmbushForce.java index 2e0bd814b58..229c8640902 100644 --- a/Mage.Sets/src/mage/cards/w/WeiAmbushForce.java +++ b/Mage.Sets/src/mage/cards/w/WeiAmbushForce.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -44,8 +45,8 @@ public class WeiAmbushForce extends CardImpl { public WeiAmbushForce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WeiEliteCompanions.java b/Mage.Sets/src/mage/cards/w/WeiEliteCompanions.java index 6aa470f6242..0fbd3e64fd7 100644 --- a/Mage.Sets/src/mage/cards/w/WeiEliteCompanions.java +++ b/Mage.Sets/src/mage/cards/w/WeiEliteCompanions.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class WeiEliteCompanions extends CardImpl { public WeiEliteCompanions(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WeiInfantry.java b/Mage.Sets/src/mage/cards/w/WeiInfantry.java index c54a0cc0abf..a9db729b589 100644 --- a/Mage.Sets/src/mage/cards/w/WeiInfantry.java +++ b/Mage.Sets/src/mage/cards/w/WeiInfantry.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class WeiInfantry extends CardImpl { public WeiInfantry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WeiNightRaiders.java b/Mage.Sets/src/mage/cards/w/WeiNightRaiders.java index 18dd55d4ec6..ea37830a4d7 100644 --- a/Mage.Sets/src/mage/cards/w/WeiNightRaiders.java +++ b/Mage.Sets/src/mage/cards/w/WeiNightRaiders.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class WeiNightRaiders extends CardImpl { public WeiNightRaiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WeiScout.java b/Mage.Sets/src/mage/cards/w/WeiScout.java index ecfe7ddb0ca..10fb441c5d1 100644 --- a/Mage.Sets/src/mage/cards/w/WeiScout.java +++ b/Mage.Sets/src/mage/cards/w/WeiScout.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,9 +43,9 @@ public class WeiScout extends CardImpl { public WeiScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WeiStrikeForce.java b/Mage.Sets/src/mage/cards/w/WeiStrikeForce.java index fa351bdefeb..8ee51f3477a 100644 --- a/Mage.Sets/src/mage/cards/w/WeiStrikeForce.java +++ b/Mage.Sets/src/mage/cards/w/WeiStrikeForce.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class WeiStrikeForce extends CardImpl { public WeiStrikeForce(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WeightOfConscience.java b/Mage.Sets/src/mage/cards/w/WeightOfConscience.java index 0c39b0ef6a3..36b54970e41 100644 --- a/Mage.Sets/src/mage/cards/w/WeightOfConscience.java +++ b/Mage.Sets/src/mage/cards/w/WeightOfConscience.java @@ -60,7 +60,7 @@ public class WeightOfConscience extends CardImpl { public WeightOfConscience(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/w/WeightOfTheUnderworld.java b/Mage.Sets/src/mage/cards/w/WeightOfTheUnderworld.java index d433a0dfabb..c3eec97a2e1 100644 --- a/Mage.Sets/src/mage/cards/w/WeightOfTheUnderworld.java +++ b/Mage.Sets/src/mage/cards/w/WeightOfTheUnderworld.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class WeightOfTheUnderworld extends CardImpl { public WeightOfTheUnderworld(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{3}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/w/WeirdedVampire.java b/Mage.Sets/src/mage/cards/w/WeirdedVampire.java index fc8d7871052..e78de516d34 100644 --- a/Mage.Sets/src/mage/cards/w/WeirdedVampire.java +++ b/Mage.Sets/src/mage/cards/w/WeirdedVampire.java @@ -1,63 +1,64 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.keyword.MadnessAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author LevelX2 - */ -public class WeirdedVampire extends CardImpl { - - public WeirdedVampire(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Vampire"); - this.subtype.add("Horror"); - this.power = new MageInt(3); - this.toughness = new MageInt(3); - - // Madness {2}{B} - this.addAbility(new MadnessAbility(this, new ManaCostsImpl("{2}{B}"))); - } - - public WeirdedVampire(final WeirdedVampire card) { - super(card); - } - - @Override - public WeirdedVampire copy() { - return new WeirdedVampire(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.keyword.MadnessAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author LevelX2 + */ +public class WeirdedVampire extends CardImpl { + + public WeirdedVampire(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); + this.subtype.add(SubType.VAMPIRE); + this.subtype.add(SubType.HORROR); + this.power = new MageInt(3); + this.toughness = new MageInt(3); + + // Madness {2}{B} + this.addAbility(new MadnessAbility(this, new ManaCostsImpl("{2}{B}"))); + } + + public WeirdedVampire(final WeirdedVampire card) { + super(card); + } + + @Override + public WeirdedVampire copy() { + return new WeirdedVampire(this); + } +} diff --git a/Mage.Sets/src/mage/cards/w/WeirdingShaman.java b/Mage.Sets/src/mage/cards/w/WeirdingShaman.java index ca781967934..870b554cff8 100644 --- a/Mage.Sets/src/mage/cards/w/WeirdingShaman.java +++ b/Mage.Sets/src/mage/cards/w/WeirdingShaman.java @@ -58,8 +58,8 @@ public class WeirdingShaman extends CardImpl { public WeirdingShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WeirdingWood.java b/Mage.Sets/src/mage/cards/w/WeirdingWood.java index f9b92c67460..6ae484043c5 100644 --- a/Mage.Sets/src/mage/cards/w/WeirdingWood.java +++ b/Mage.Sets/src/mage/cards/w/WeirdingWood.java @@ -43,6 +43,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.target.TargetPermanent; @@ -56,7 +57,7 @@ public class WeirdingWood extends CardImpl { public WeirdingWood(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{2}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land TargetPermanent auraTarget = new TargetLandPermanent(); diff --git a/Mage.Sets/src/mage/cards/w/WelderAutomaton.java b/Mage.Sets/src/mage/cards/w/WelderAutomaton.java index 052f4af0d0a..78b0c0bb1b4 100644 --- a/Mage.Sets/src/mage/cards/w/WelderAutomaton.java +++ b/Mage.Sets/src/mage/cards/w/WelderAutomaton.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamagePlayersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class WelderAutomaton extends CardImpl { public WelderAutomaton(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WeldfastEngineer.java b/Mage.Sets/src/mage/cards/w/WeldfastEngineer.java index 6a02f410c8b..3637d96a820 100644 --- a/Mage.Sets/src/mage/cards/w/WeldfastEngineer.java +++ b/Mage.Sets/src/mage/cards/w/WeldfastEngineer.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.filter.common.FilterControlledCreaturePermanent; @@ -56,8 +57,8 @@ public class WeldfastEngineer extends CardImpl { public WeldfastEngineer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{R}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WeldfastMonitor.java b/Mage.Sets/src/mage/cards/w/WeldfastMonitor.java index d6359ad6f1e..78d29197633 100644 --- a/Mage.Sets/src/mage/cards/w/WeldfastMonitor.java +++ b/Mage.Sets/src/mage/cards/w/WeldfastMonitor.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class WeldfastMonitor extends CardImpl { public WeldfastMonitor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WeldfastWingsmith.java b/Mage.Sets/src/mage/cards/w/WeldfastWingsmith.java index 1918332c7d7..f84e23a817a 100644 --- a/Mage.Sets/src/mage/cards/w/WeldfastWingsmith.java +++ b/Mage.Sets/src/mage/cards/w/WeldfastWingsmith.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.common.FilterControlledArtifactPermanent; @@ -46,8 +47,8 @@ public class WeldfastWingsmith extends CardImpl { public WeldfastWingsmith(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WeldingSparks.java b/Mage.Sets/src/mage/cards/w/WeldingSparks.java index 345165b05fe..eeb1750a7b3 100644 --- a/Mage.Sets/src/mage/cards/w/WeldingSparks.java +++ b/Mage.Sets/src/mage/cards/w/WeldingSparks.java @@ -1,65 +1,65 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.abilities.dynamicvalue.IntPlusDynamicValue; -import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.DamageTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.filter.common.FilterControlledArtifactPermanent; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author LevelX2 - */ -public class WeldingSparks extends CardImpl { - - public WeldingSparks(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}"); - - // Welding Sparks deals X damage to target creature, where X is 3 plus the number of artifacts you control. - Effect effect = new DamageTargetEffect(new IntPlusDynamicValue(3, new PermanentsOnBattlefieldCount(new FilterControlledArtifactPermanent("artifacts you control")))); - effect.setText("{this} deals X damage to target creature, where X is 3 plus the number of artifacts you control"); - this.getSpellAbility().addEffect(effect); - this.getSpellAbility().addTarget(new TargetCreaturePermanent()); - } - - public WeldingSparks(final WeldingSparks card) { - super(card); - } - - @Override - public WeldingSparks copy() { - return new WeldingSparks(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.abilities.dynamicvalue.IntPlusDynamicValue; +import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.DamageTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.filter.common.FilterControlledArtifactPermanent; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class WeldingSparks extends CardImpl { + + public WeldingSparks(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}"); + + // Welding Sparks deals X damage to target creature, where X is 3 plus the number of artifacts you control. + Effect effect = new DamageTargetEffect(new IntPlusDynamicValue(3, new PermanentsOnBattlefieldCount(new FilterControlledArtifactPermanent("artifacts you control")))); + effect.setText("{this} deals X damage to target creature, where X is 3 plus the number of artifacts you control"); + this.getSpellAbility().addEffect(effect); + this.getSpellAbility().addTarget(new TargetCreaturePermanent()); + } + + public WeldingSparks(final WeldingSparks card) { + super(card); + } + + @Override + public WeldingSparks copy() { + return new WeldingSparks(this); + } +} diff --git a/Mage.Sets/src/mage/cards/w/WelkinGuide.java b/Mage.Sets/src/mage/cards/w/WelkinGuide.java index 74328a2431c..31765832748 100644 --- a/Mage.Sets/src/mage/cards/w/WelkinGuide.java +++ b/Mage.Sets/src/mage/cards/w/WelkinGuide.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -48,8 +49,8 @@ public class WelkinGuide extends CardImpl { public WelkinGuide(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WelkinHawk.java b/Mage.Sets/src/mage/cards/w/WelkinHawk.java index dc1dedd6578..8996177ae0c 100644 --- a/Mage.Sets/src/mage/cards/w/WelkinHawk.java +++ b/Mage.Sets/src/mage/cards/w/WelkinHawk.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterCard; import mage.filter.predicate.mageobject.NamePredicate; import mage.target.common.TargetCardInLibrary; @@ -54,7 +55,7 @@ public class WelkinHawk extends CardImpl { public WelkinHawk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WelkinTern.java b/Mage.Sets/src/mage/cards/w/WelkinTern.java index 7e56f3ae398..f101d7938aa 100644 --- a/Mage.Sets/src/mage/cards/w/WelkinTern.java +++ b/Mage.Sets/src/mage/cards/w/WelkinTern.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class WelkinTern extends CardImpl { public WelkinTern (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(2 ); this.toughness = new MageInt( 1); diff --git a/Mage.Sets/src/mage/cards/w/WellOfKnowledge.java b/Mage.Sets/src/mage/cards/w/WellOfKnowledge.java index 7860b1080b6..22afc30cae3 100644 --- a/Mage.Sets/src/mage/cards/w/WellOfKnowledge.java +++ b/Mage.Sets/src/mage/cards/w/WellOfKnowledge.java @@ -1,144 +1,144 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.ActivatedAbilityImpl; -import mage.abilities.condition.Condition; -import mage.abilities.condition.common.IsStepCondition; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.Effects; -import mage.abilities.effects.OneShotEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.EffectType; -import mage.constants.Outcome; -import mage.constants.PhaseStep; -import mage.constants.Zone; -import mage.game.Game; -import mage.players.Player; - -/** - * - * @author Styxo - */ -public class WellOfKnowledge extends CardImpl { - - public WellOfKnowledge(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); - - // {2}: Draw a card. Any player may activate this ability but only during his or her draw step. - this.addAbility(new WellOfKnowledgeConditionalActivatedAbility()); - - } - - public WellOfKnowledge(final WellOfKnowledge card) { - super(card); - } - - @Override - public WellOfKnowledge copy() { - return new WellOfKnowledge(this); - } -} - -class WellOfKnowledgeConditionalActivatedAbility extends ActivatedAbilityImpl { - - private final Condition condition; - - public WellOfKnowledgeConditionalActivatedAbility() { - super(Zone.BATTLEFIELD, new WellOfKnowledgeEffect(), new GenericManaCost(2)); - condition = new IsStepCondition(PhaseStep.DRAW, false); - } - - public WellOfKnowledgeConditionalActivatedAbility(final WellOfKnowledgeConditionalActivatedAbility ability) { - super(ability); - this.condition = ability.condition; - } - - @Override - public Effects getEffects(Game game, EffectType effectType) { - if (!condition.apply(game, this)) { - return new Effects(); - } - return super.getEffects(game, effectType); - } - - @Override - public boolean canActivate(UUID playerId, Game game) { - if (condition.apply(game, this) - && costs.canPay(this, sourceId, playerId, game) - && game.getActivePlayerId().equals(playerId)) { - this.activatorId = playerId; - return true; - } - return false; - - } - - @Override - public WellOfKnowledgeConditionalActivatedAbility copy() { - return new WellOfKnowledgeConditionalActivatedAbility(this); - } - - @Override - public String getRule() { - return "{2}: Draw a card. Any player may activate this ability but only during his or her draw step."; - } -} - -class WellOfKnowledgeEffect extends OneShotEffect { - - public WellOfKnowledgeEffect() { - super(Outcome.DrawCard); - } - - public WellOfKnowledgeEffect(final WellOfKnowledgeEffect effect) { - super(effect); - } - - @Override - public WellOfKnowledgeEffect copy() { - return new WellOfKnowledgeEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - if (source instanceof ActivatedAbilityImpl) { - Player activator = game.getPlayer(((ActivatedAbilityImpl) source).getActivatorId()); - if (activator != null) { - activator.drawCards(1, game); - return true; - } - - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.ActivatedAbilityImpl; +import mage.abilities.condition.Condition; +import mage.abilities.condition.common.IsStepCondition; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.Effects; +import mage.abilities.effects.OneShotEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.EffectType; +import mage.constants.Outcome; +import mage.constants.PhaseStep; +import mage.constants.Zone; +import mage.game.Game; +import mage.players.Player; + +/** + * + * @author Styxo + */ +public class WellOfKnowledge extends CardImpl { + + public WellOfKnowledge(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); + + // {2}: Draw a card. Any player may activate this ability but only during his or her draw step. + this.addAbility(new WellOfKnowledgeConditionalActivatedAbility()); + + } + + public WellOfKnowledge(final WellOfKnowledge card) { + super(card); + } + + @Override + public WellOfKnowledge copy() { + return new WellOfKnowledge(this); + } +} + +class WellOfKnowledgeConditionalActivatedAbility extends ActivatedAbilityImpl { + + private final Condition condition; + + public WellOfKnowledgeConditionalActivatedAbility() { + super(Zone.BATTLEFIELD, new WellOfKnowledgeEffect(), new GenericManaCost(2)); + condition = new IsStepCondition(PhaseStep.DRAW, false); + } + + public WellOfKnowledgeConditionalActivatedAbility(final WellOfKnowledgeConditionalActivatedAbility ability) { + super(ability); + this.condition = ability.condition; + } + + @Override + public Effects getEffects(Game game, EffectType effectType) { + if (!condition.apply(game, this)) { + return new Effects(); + } + return super.getEffects(game, effectType); + } + + @Override + public boolean canActivate(UUID playerId, Game game) { + if (condition.apply(game, this) + && costs.canPay(this, sourceId, playerId, game) + && game.getActivePlayerId().equals(playerId)) { + this.activatorId = playerId; + return true; + } + return false; + + } + + @Override + public WellOfKnowledgeConditionalActivatedAbility copy() { + return new WellOfKnowledgeConditionalActivatedAbility(this); + } + + @Override + public String getRule() { + return "{2}: Draw a card. Any player may activate this ability but only during his or her draw step."; + } +} + +class WellOfKnowledgeEffect extends OneShotEffect { + + public WellOfKnowledgeEffect() { + super(Outcome.DrawCard); + } + + public WellOfKnowledgeEffect(final WellOfKnowledgeEffect effect) { + super(effect); + } + + @Override + public WellOfKnowledgeEffect copy() { + return new WellOfKnowledgeEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + if (source instanceof ActivatedAbilityImpl) { + Player activator = game.getPlayer(((ActivatedAbilityImpl) source).getActivatorId()); + if (activator != null) { + activator.drawCards(1, game); + return true; + } + + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/w/WellgabberApothecary.java b/Mage.Sets/src/mage/cards/w/WellgabberApothecary.java index f89078e693e..fb1d5beabd8 100644 --- a/Mage.Sets/src/mage/cards/w/WellgabberApothecary.java +++ b/Mage.Sets/src/mage/cards/w/WellgabberApothecary.java @@ -59,8 +59,8 @@ public class WellgabberApothecary extends CardImpl { public WellgabberApothecary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}"); - this.subtype.add("Merfolk"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/Wellwisher.java b/Mage.Sets/src/mage/cards/w/Wellwisher.java index feb5d5066b0..7721f5f8715 100644 --- a/Mage.Sets/src/mage/cards/w/Wellwisher.java +++ b/Mage.Sets/src/mage/cards/w/Wellwisher.java @@ -55,7 +55,7 @@ public class Wellwisher extends CardImpl { public Wellwisher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/Werebear.java b/Mage.Sets/src/mage/cards/w/Werebear.java index 7df2f353bb3..f7193b7b071 100644 --- a/Mage.Sets/src/mage/cards/w/Werebear.java +++ b/Mage.Sets/src/mage/cards/w/Werebear.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,9 +51,9 @@ public class Werebear extends CardImpl { public Werebear(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Bear"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.BEAR); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WerewolfOfAncientHunger.java b/Mage.Sets/src/mage/cards/w/WerewolfOfAncientHunger.java index 4ea23641fa9..4f319fa6a6c 100644 --- a/Mage.Sets/src/mage/cards/w/WerewolfOfAncientHunger.java +++ b/Mage.Sets/src/mage/cards/w/WerewolfOfAncientHunger.java @@ -45,6 +45,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class WerewolfOfAncientHunger extends CardImpl { public WerewolfOfAncientHunger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(0); this.toughness = new MageInt(0); this.color.setGreen(true); diff --git a/Mage.Sets/src/mage/cards/w/WerewolfRansacker.java b/Mage.Sets/src/mage/cards/w/WerewolfRansacker.java index 5e256931bf5..e58df1473ee 100644 --- a/Mage.Sets/src/mage/cards/w/WerewolfRansacker.java +++ b/Mage.Sets/src/mage/cards/w/WerewolfRansacker.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.TransformAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class WerewolfRansacker extends CardImpl { public WerewolfRansacker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.color.setRed(true); // this card is the second face of double-faced card diff --git a/Mage.Sets/src/mage/cards/w/WesternPaladin.java b/Mage.Sets/src/mage/cards/w/WesternPaladin.java index 58d527a94a5..8c247afbe92 100644 --- a/Mage.Sets/src/mage/cards/w/WesternPaladin.java +++ b/Mage.Sets/src/mage/cards/w/WesternPaladin.java @@ -40,6 +40,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -59,8 +60,8 @@ public class WesternPaladin extends CardImpl { public WesternPaladin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WestvaleCultLeader.java b/Mage.Sets/src/mage/cards/w/WestvaleCultLeader.java index 43c205b6929..3ee71d91440 100644 --- a/Mage.Sets/src/mage/cards/w/WestvaleCultLeader.java +++ b/Mage.Sets/src/mage/cards/w/WestvaleCultLeader.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.SetPowerToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -53,8 +54,8 @@ public class WestvaleCultLeader extends CardImpl { public WestvaleCultLeader(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, ""); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(0); this.toughness = new MageInt(0); this.color.setWhite(true); diff --git a/Mage.Sets/src/mage/cards/w/WetlandSambar.java b/Mage.Sets/src/mage/cards/w/WetlandSambar.java index 76c4d3ce0a6..71c11a1d4ba 100644 --- a/Mage.Sets/src/mage/cards/w/WetlandSambar.java +++ b/Mage.Sets/src/mage/cards/w/WetlandSambar.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class WetlandSambar extends CardImpl { public WetlandSambar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Elk"); + this.subtype.add(SubType.ELK); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WharfInfiltrator.java b/Mage.Sets/src/mage/cards/w/WharfInfiltrator.java index 3ccebe349d1..9e3116fc858 100644 --- a/Mage.Sets/src/mage/cards/w/WharfInfiltrator.java +++ b/Mage.Sets/src/mage/cards/w/WharfInfiltrator.java @@ -41,6 +41,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.game.Game; import mage.game.events.GameEvent; @@ -55,8 +56,8 @@ public class WharfInfiltrator extends CardImpl { public WharfInfiltrator(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WheelOfSunAndMoon.java b/Mage.Sets/src/mage/cards/w/WheelOfSunAndMoon.java index 6ea6909d995..4daa21c5810 100644 --- a/Mage.Sets/src/mage/cards/w/WheelOfSunAndMoon.java +++ b/Mage.Sets/src/mage/cards/w/WheelOfSunAndMoon.java @@ -40,6 +40,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -59,7 +60,7 @@ public class WheelOfSunAndMoon extends CardImpl { public WheelOfSunAndMoon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G/W}{G/W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant player TargetPlayer auraTarget = new TargetPlayer(); diff --git a/Mage.Sets/src/mage/cards/w/Whimwader.java b/Mage.Sets/src/mage/cards/w/Whimwader.java index 08b64d9f69c..297017558da 100644 --- a/Mage.Sets/src/mage/cards/w/Whimwader.java +++ b/Mage.Sets/src/mage/cards/w/Whimwader.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantAttackUnlessDefenderControllsPer import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.ColorPredicate; @@ -54,7 +55,7 @@ public class Whimwader extends CardImpl { public Whimwader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WhipSergeant.java b/Mage.Sets/src/mage/cards/w/WhipSergeant.java index 2acaafe9d10..5d2ea865a06 100644 --- a/Mage.Sets/src/mage/cards/w/WhipSergeant.java +++ b/Mage.Sets/src/mage/cards/w/WhipSergeant.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class WhipSergeant extends CardImpl { public WhipSergeant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WhipSilk.java b/Mage.Sets/src/mage/cards/w/WhipSilk.java index ff229d329a2..60ed899405d 100644 --- a/Mage.Sets/src/mage/cards/w/WhipSilk.java +++ b/Mage.Sets/src/mage/cards/w/WhipSilk.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Outcome; import mage.constants.Zone; @@ -55,7 +56,7 @@ public class WhipSilk extends CardImpl { public WhipSilk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/w/WhipSpineDrake.java b/Mage.Sets/src/mage/cards/w/WhipSpineDrake.java index 55ef5ad1128..07c898f2a1f 100644 --- a/Mage.Sets/src/mage/cards/w/WhipSpineDrake.java +++ b/Mage.Sets/src/mage/cards/w/WhipSpineDrake.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class WhipSpineDrake extends CardImpl { public WhipSpineDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WhipVine.java b/Mage.Sets/src/mage/cards/w/WhipVine.java index 2a69e0bdd66..54989897a7d 100644 --- a/Mage.Sets/src/mage/cards/w/WhipVine.java +++ b/Mage.Sets/src/mage/cards/w/WhipVine.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -55,8 +56,8 @@ public class WhipVine extends CardImpl { public WhipVine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Wall"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.WALL); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/Whipcorder.java b/Mage.Sets/src/mage/cards/w/Whipcorder.java index 64c8389f2f0..f582cabdd38 100644 --- a/Mage.Sets/src/mage/cards/w/Whipcorder.java +++ b/Mage.Sets/src/mage/cards/w/Whipcorder.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,9 +50,9 @@ public class Whipcorder extends CardImpl { public Whipcorder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Rebel"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.REBEL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/Whipkeeper.java b/Mage.Sets/src/mage/cards/w/Whipkeeper.java index 0759ec97fc4..898e2a9e16c 100644 --- a/Mage.Sets/src/mage/cards/w/Whipkeeper.java +++ b/Mage.Sets/src/mage/cards/w/Whipkeeper.java @@ -36,6 +36,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -50,7 +51,7 @@ public class Whipkeeper extends CardImpl { public Whipkeeper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{R}"); - this.subtype.add("Dwarf"); + this.subtype.add(SubType.DWARF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WhipstitchedZombie.java b/Mage.Sets/src/mage/cards/w/WhipstitchedZombie.java index d1dce98cf82..2b7ffcfdd17 100644 --- a/Mage.Sets/src/mage/cards/w/WhipstitchedZombie.java +++ b/Mage.Sets/src/mage/cards/w/WhipstitchedZombie.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; /** @@ -45,7 +46,7 @@ public class WhipstitchedZombie extends CardImpl { public WhipstitchedZombie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WhiptailMoloch.java b/Mage.Sets/src/mage/cards/w/WhiptailMoloch.java index bfe8a387c3c..6c28b90be89 100644 --- a/Mage.Sets/src/mage/cards/w/WhiptailMoloch.java +++ b/Mage.Sets/src/mage/cards/w/WhiptailMoloch.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetControlledCreaturePermanent; /** @@ -45,7 +46,7 @@ public class WhiptailMoloch extends CardImpl { public WhiptailMoloch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Lizard"); + this.subtype.add(SubType.LIZARD); this.power = new MageInt(6); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WhiptailWurm.java b/Mage.Sets/src/mage/cards/w/WhiptailWurm.java index b61cfacef2e..0ef63f06a85 100644 --- a/Mage.Sets/src/mage/cards/w/WhiptailWurm.java +++ b/Mage.Sets/src/mage/cards/w/WhiptailWurm.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class WhiptailWurm extends CardImpl { public WhiptailWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(8); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WhiptongueFrog.java b/Mage.Sets/src/mage/cards/w/WhiptongueFrog.java index 8506760f7a6..336d479aed4 100644 --- a/Mage.Sets/src/mage/cards/w/WhiptongueFrog.java +++ b/Mage.Sets/src/mage/cards/w/WhiptongueFrog.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class WhiptongueFrog extends CardImpl { public WhiptongueFrog(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Frog"); + this.subtype.add(SubType.FROG); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WhirlerRogue.java b/Mage.Sets/src/mage/cards/w/WhirlerRogue.java index 114f8560b2b..2253708acd3 100644 --- a/Mage.Sets/src/mage/cards/w/WhirlerRogue.java +++ b/Mage.Sets/src/mage/cards/w/WhirlerRogue.java @@ -39,6 +39,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -60,9 +61,9 @@ public class WhirlerRogue extends CardImpl { public WhirlerRogue(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Rogue"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WhirlerVirtuoso.java b/Mage.Sets/src/mage/cards/w/WhirlerVirtuoso.java index 774fbe42c27..7e3b73a009d 100644 --- a/Mage.Sets/src/mage/cards/w/WhirlerVirtuoso.java +++ b/Mage.Sets/src/mage/cards/w/WhirlerVirtuoso.java @@ -1,71 +1,72 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.PayEnergyCost; -import mage.abilities.effects.common.CreateTokenEffect; -import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.game.permanent.token.ThopterColorlessToken; - -/** - * - * @author emerald000 - */ -public class WhirlerVirtuoso extends CardImpl { - - public WhirlerVirtuoso(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{R}"); - this.subtype.add("Vedalken"); - this.subtype.add("Artificer"); - this.power = new MageInt(2); - this.toughness = new MageInt(3); - - // When Whirler Virtuoso enters the battlefield, you get {E}{E}{E}. - this.addAbility(new EntersBattlefieldTriggeredAbility(new GetEnergyCountersControllerEffect(3))); - - // Pay {E}{E}{E}: Create a 1/1 colorless Thopter artifact creature token with flying. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new ThopterColorlessToken()), new PayEnergyCost(3))); - } - - public WhirlerVirtuoso(final WhirlerVirtuoso card) { - super(card); - } - - @Override - public WhirlerVirtuoso copy() { - return new WhirlerVirtuoso(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.PayEnergyCost; +import mage.abilities.effects.common.CreateTokenEffect; +import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.game.permanent.token.ThopterColorlessToken; + +/** + * + * @author emerald000 + */ +public class WhirlerVirtuoso extends CardImpl { + + public WhirlerVirtuoso(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}{R}"); + this.subtype.add(SubType.VEDALKEN); + this.subtype.add(SubType.ARTIFICER); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // When Whirler Virtuoso enters the battlefield, you get {E}{E}{E}. + this.addAbility(new EntersBattlefieldTriggeredAbility(new GetEnergyCountersControllerEffect(3))); + + // Pay {E}{E}{E}: Create a 1/1 colorless Thopter artifact creature token with flying. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new ThopterColorlessToken()), new PayEnergyCost(3))); + } + + public WhirlerVirtuoso(final WhirlerVirtuoso card) { + super(card); + } + + @Override + public WhirlerVirtuoso copy() { + return new WhirlerVirtuoso(this); + } +} diff --git a/Mage.Sets/src/mage/cards/w/WhirlingDervish.java b/Mage.Sets/src/mage/cards/w/WhirlingDervish.java index c0949843224..7e82ef24523 100644 --- a/Mage.Sets/src/mage/cards/w/WhirlingDervish.java +++ b/Mage.Sets/src/mage/cards/w/WhirlingDervish.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.game.events.GameEvent; @@ -52,8 +53,8 @@ public class WhirlingDervish extends CardImpl { public WhirlingDervish(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{G}"); - this.subtype.add("Human"); - this.subtype.add("Monk"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.MONK); this.color.setGreen(true); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WhirlpoolDrake.java b/Mage.Sets/src/mage/cards/w/WhirlpoolDrake.java index 89108c3cf1e..dbac3e97329 100644 --- a/Mage.Sets/src/mage/cards/w/WhirlpoolDrake.java +++ b/Mage.Sets/src/mage/cards/w/WhirlpoolDrake.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class WhirlpoolDrake extends CardImpl { public WhirlpoolDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WhirlpoolRider.java b/Mage.Sets/src/mage/cards/w/WhirlpoolRider.java index e6aa7090046..0dffcb72647 100644 --- a/Mage.Sets/src/mage/cards/w/WhirlpoolRider.java +++ b/Mage.Sets/src/mage/cards/w/WhirlpoolRider.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.ShuffleHandIntoLibraryDrawThatManySourceEff import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class WhirlpoolRider extends CardImpl { public WhirlpoolRider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WhirlpoolWarrior.java b/Mage.Sets/src/mage/cards/w/WhirlpoolWarrior.java index f6f4a0dcae0..99ff8e5a381 100644 --- a/Mage.Sets/src/mage/cards/w/WhirlpoolWarrior.java +++ b/Mage.Sets/src/mage/cards/w/WhirlpoolWarrior.java @@ -42,6 +42,7 @@ import mage.abilities.effects.common.ShuffleHandIntoLibraryDrawThatManySourceEff import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -55,8 +56,8 @@ public class WhirlpoolWarrior extends CardImpl { public WhirlpoolWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WhirlwindAdept.java b/Mage.Sets/src/mage/cards/w/WhirlwindAdept.java index a971c27dcd3..1002efe9ebc 100644 --- a/Mage.Sets/src/mage/cards/w/WhirlwindAdept.java +++ b/Mage.Sets/src/mage/cards/w/WhirlwindAdept.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProwessAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class WhirlwindAdept extends CardImpl { public WhirlwindAdept(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Djinn"); - this.subtype.add("Monk"); + this.subtype.add(SubType.DJINN); + this.subtype.add(SubType.MONK); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WhispererOfTheWilds.java b/Mage.Sets/src/mage/cards/w/WhispererOfTheWilds.java index 54256ac85ed..3395b81fdf0 100644 --- a/Mage.Sets/src/mage/cards/w/WhispererOfTheWilds.java +++ b/Mage.Sets/src/mage/cards/w/WhispererOfTheWilds.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -50,8 +51,8 @@ public class WhispererOfTheWilds extends CardImpl { public WhispererOfTheWilds(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(0); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WhisperingShade.java b/Mage.Sets/src/mage/cards/w/WhisperingShade.java index 07c4b26cb9d..f3dbd448d1e 100644 --- a/Mage.Sets/src/mage/cards/w/WhisperingShade.java +++ b/Mage.Sets/src/mage/cards/w/WhisperingShade.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class WhisperingShade extends CardImpl { public WhisperingShade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}"); - this.subtype.add("Shade"); + this.subtype.add(SubType.SHADE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WhisperingSpecter.java b/Mage.Sets/src/mage/cards/w/WhisperingSpecter.java index 70d2913c354..2bd58e76671 100644 --- a/Mage.Sets/src/mage/cards/w/WhisperingSpecter.java +++ b/Mage.Sets/src/mage/cards/w/WhisperingSpecter.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.InfectAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.counters.CounterType; import mage.game.Game; @@ -51,7 +52,7 @@ public class WhisperingSpecter extends CardImpl { public WhisperingSpecter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); - this.subtype.add("Specter"); + this.subtype.add(SubType.SPECTER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WhispersilkCloak.java b/Mage.Sets/src/mage/cards/w/WhispersilkCloak.java index 8e12c309375..a12ae65d0f5 100644 --- a/Mage.Sets/src/mage/cards/w/WhispersilkCloak.java +++ b/Mage.Sets/src/mage/cards/w/WhispersilkCloak.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class WhispersilkCloak extends CardImpl { public WhispersilkCloak(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature can't be blocked and has shroud. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantBeBlockedAttachedEffect(AttachmentType.EQUIPMENT))); diff --git a/Mage.Sets/src/mage/cards/w/WhisperwoodElemental.java b/Mage.Sets/src/mage/cards/w/WhisperwoodElemental.java index 5307c277202..78dd31c1b86 100644 --- a/Mage.Sets/src/mage/cards/w/WhisperwoodElemental.java +++ b/Mage.Sets/src/mage/cards/w/WhisperwoodElemental.java @@ -40,6 +40,7 @@ import mage.abilities.effects.keyword.ManifestEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -63,7 +64,7 @@ public class WhisperwoodElemental extends CardImpl { public WhisperwoodElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WhiteKnight.java b/Mage.Sets/src/mage/cards/w/WhiteKnight.java index a6e5d243681..59826503707 100644 --- a/Mage.Sets/src/mage/cards/w/WhiteKnight.java +++ b/Mage.Sets/src/mage/cards/w/WhiteKnight.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,8 +46,8 @@ public class WhiteKnight extends CardImpl { public WhiteKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WhiteScarab.java b/Mage.Sets/src/mage/cards/w/WhiteScarab.java index c3cfce7e798..c1c684653d5 100644 --- a/Mage.Sets/src/mage/cards/w/WhiteScarab.java +++ b/Mage.Sets/src/mage/cards/w/WhiteScarab.java @@ -42,6 +42,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -68,7 +69,7 @@ public class WhiteScarab extends CardImpl { public WhiteScarab(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/w/WhiteShieldCrusader.java b/Mage.Sets/src/mage/cards/w/WhiteShieldCrusader.java index 9e6e7b07ffc..e3ba1c42b6e 100644 --- a/Mage.Sets/src/mage/cards/w/WhiteShieldCrusader.java +++ b/Mage.Sets/src/mage/cards/w/WhiteShieldCrusader.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class WhiteShieldCrusader extends CardImpl { public WhiteShieldCrusader(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WhiteWard.java b/Mage.Sets/src/mage/cards/w/WhiteWard.java index 4559369a50f..326f86d42c9 100644 --- a/Mage.Sets/src/mage/cards/w/WhiteWard.java +++ b/Mage.Sets/src/mage/cards/w/WhiteWard.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -60,7 +61,7 @@ public class WhiteWard extends CardImpl { public WhiteWard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/w/WhitemaneLion.java b/Mage.Sets/src/mage/cards/w/WhitemaneLion.java index e434b4ddb04..beed3402d29 100644 --- a/Mage.Sets/src/mage/cards/w/WhitemaneLion.java +++ b/Mage.Sets/src/mage/cards/w/WhitemaneLion.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterControlledCreaturePermanent; /** @@ -45,7 +46,7 @@ public class WhitemaneLion extends CardImpl { public WhitemaneLion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WhitewaterNaiads.java b/Mage.Sets/src/mage/cards/w/WhitewaterNaiads.java index 5910e07a409..437244c2809 100644 --- a/Mage.Sets/src/mage/cards/w/WhitewaterNaiads.java +++ b/Mage.Sets/src/mage/cards/w/WhitewaterNaiads.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -46,7 +47,7 @@ public class WhitewaterNaiads extends CardImpl { public WhitewaterNaiads(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Nymph"); + this.subtype.add(SubType.NYMPH); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WickedAkuba.java b/Mage.Sets/src/mage/cards/w/WickedAkuba.java index 35596bda257..6eef697f29d 100644 --- a/Mage.Sets/src/mage/cards/w/WickedAkuba.java +++ b/Mage.Sets/src/mage/cards/w/WickedAkuba.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.LoseLifeTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.filter.FilterPlayer; @@ -60,7 +61,7 @@ public class WickedAkuba extends CardImpl { public WickedAkuba(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WickerWarcrawler.java b/Mage.Sets/src/mage/cards/w/WickerWarcrawler.java index 4d48da2af44..4918cc27886 100644 --- a/Mage.Sets/src/mage/cards/w/WickerWarcrawler.java +++ b/Mage.Sets/src/mage/cards/w/WickerWarcrawler.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -48,7 +49,7 @@ public class WickerWarcrawler extends CardImpl { public WickerWarcrawler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/w/WickerWitch.java b/Mage.Sets/src/mage/cards/w/WickerWitch.java index a8bb3dc0608..5370a3dcb3e 100644 --- a/Mage.Sets/src/mage/cards/w/WickerWitch.java +++ b/Mage.Sets/src/mage/cards/w/WickerWitch.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class WickerWitch extends CardImpl { public WickerWitch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(3); this.toughness = new MageInt(1); } diff --git a/Mage.Sets/src/mage/cards/w/WickerboughElder.java b/Mage.Sets/src/mage/cards/w/WickerboughElder.java index ad74f13525c..842b8e7774e 100644 --- a/Mage.Sets/src/mage/cards/w/WickerboughElder.java +++ b/Mage.Sets/src/mage/cards/w/WickerboughElder.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.counters.CounterType; @@ -53,8 +54,8 @@ public class WickerboughElder extends CardImpl { public WickerboughElder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WightOfPrecinctSix.java b/Mage.Sets/src/mage/cards/w/WightOfPrecinctSix.java index b60f2234173..5b2c17c835c 100644 --- a/Mage.Sets/src/mage/cards/w/WightOfPrecinctSix.java +++ b/Mage.Sets/src/mage/cards/w/WightOfPrecinctSix.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterCard; @@ -54,7 +55,7 @@ public class WightOfPrecinctSix extends CardImpl { public WightOfPrecinctSix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WildAesthir.java b/Mage.Sets/src/mage/cards/w/WildAesthir.java index 7cb4763a741..2bd40f02d61 100644 --- a/Mage.Sets/src/mage/cards/w/WildAesthir.java +++ b/Mage.Sets/src/mage/cards/w/WildAesthir.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class WildAesthir extends CardImpl { public WildAesthir(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WildBeastmaster.java b/Mage.Sets/src/mage/cards/w/WildBeastmaster.java index fbd440079ab..d0576ef81f7 100644 --- a/Mage.Sets/src/mage/cards/w/WildBeastmaster.java +++ b/Mage.Sets/src/mage/cards/w/WildBeastmaster.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostControlledEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.filter.StaticFilters; @@ -49,8 +50,8 @@ public class WildBeastmaster extends CardImpl { public WildBeastmaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.color.setGreen(true); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WildCantor.java b/Mage.Sets/src/mage/cards/w/WildCantor.java index dcb520bc655..dc2c5a75220 100644 --- a/Mage.Sets/src/mage/cards/w/WildCantor.java +++ b/Mage.Sets/src/mage/cards/w/WildCantor.java @@ -34,6 +34,7 @@ import mage.abilities.mana.AnyColorManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class WildCantor extends CardImpl { public WildCantor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R/G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WildCelebrants.java b/Mage.Sets/src/mage/cards/w/WildCelebrants.java index f517319b8fc..90fb6628589 100644 --- a/Mage.Sets/src/mage/cards/w/WildCelebrants.java +++ b/Mage.Sets/src/mage/cards/w/WildCelebrants.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DestroyTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.Target; import mage.target.common.TargetArtifactPermanent; @@ -46,7 +47,7 @@ public class WildCelebrants extends CardImpl { public WildCelebrants(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Satyr"); + this.subtype.add(SubType.SATYR); this.power = new MageInt(5); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WildColos.java b/Mage.Sets/src/mage/cards/w/WildColos.java index ec640870093..d01f0611346 100644 --- a/Mage.Sets/src/mage/cards/w/WildColos.java +++ b/Mage.Sets/src/mage/cards/w/WildColos.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HasteAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class WildColos extends CardImpl { public WildColos(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); - this.subtype.add("Goat"); - this.subtype.add("Beast"); + this.subtype.add(SubType.GOAT); + this.subtype.add(SubType.BEAST); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WildDogs.java b/Mage.Sets/src/mage/cards/w/WildDogs.java index b1e7038de5a..c2d56fe6b23 100644 --- a/Mage.Sets/src/mage/cards/w/WildDogs.java +++ b/Mage.Sets/src/mage/cards/w/WildDogs.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.TargetController; @@ -55,7 +56,7 @@ public class WildDogs extends CardImpl { public WildDogs(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WildElephant.java b/Mage.Sets/src/mage/cards/w/WildElephant.java index 144b1413c01..38c9b149fd4 100644 --- a/Mage.Sets/src/mage/cards/w/WildElephant.java +++ b/Mage.Sets/src/mage/cards/w/WildElephant.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WildElephant extends CardImpl { public WildElephant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elephant"); + this.subtype.add(SubType.ELEPHANT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WildFieldScarecrow.java b/Mage.Sets/src/mage/cards/w/WildFieldScarecrow.java index 474cab0b918..a12e1b938ea 100644 --- a/Mage.Sets/src/mage/cards/w/WildFieldScarecrow.java +++ b/Mage.Sets/src/mage/cards/w/WildFieldScarecrow.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.filter.common.FilterBasicLandCard; @@ -51,7 +52,7 @@ public class WildFieldScarecrow extends CardImpl { public WildFieldScarecrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WildGriffin.java b/Mage.Sets/src/mage/cards/w/WildGriffin.java index 47042a1fb7f..a7d73a1eb2a 100644 --- a/Mage.Sets/src/mage/cards/w/WildGriffin.java +++ b/Mage.Sets/src/mage/cards/w/WildGriffin.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class WildGriffin extends CardImpl { public WildGriffin(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Griffin"); + this.subtype.add(SubType.GRIFFIN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WildGrowth.java b/Mage.Sets/src/mage/cards/w/WildGrowth.java index 0d621218ba2..82a4dd34a51 100644 --- a/Mage.Sets/src/mage/cards/w/WildGrowth.java +++ b/Mage.Sets/src/mage/cards/w/WildGrowth.java @@ -38,6 +38,7 @@ import mage.abilities.mana.TriggeredManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class WildGrowth extends CardImpl { public WildGrowth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land diff --git a/Mage.Sets/src/mage/cards/w/WildHolocron.java b/Mage.Sets/src/mage/cards/w/WildHolocron.java index 847ffe5ca1e..59c6bb06a4b 100644 --- a/Mage.Sets/src/mage/cards/w/WildHolocron.java +++ b/Mage.Sets/src/mage/cards/w/WildHolocron.java @@ -1,94 +1,94 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.Mana; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.Cost; -import mage.abilities.costs.common.RemoveCountersSourceCost; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.common.counter.AddCountersSourceEffect; -import mage.abilities.mana.GreenManaAbility; -import mage.abilities.mana.RedManaAbility; -import mage.abilities.mana.SimpleManaAbility; -import mage.abilities.mana.WhiteManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; -import mage.counters.CounterType; - -/** - * - * @author Styxo - */ -public class WildHolocron extends CardImpl { - - public WildHolocron(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); - - // {T}: Put a charge counter on Wild Holocron. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance(1)), new TapSourceCost())); - - // {T}, Remove a charge counter from Wild Holocron: Add {R}, {G} or {W} to your mana pool. - Cost cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(1)); - Ability ability = new RedManaAbility(); - ability.addCost(cost); - this.addAbility(ability); - - ability = new GreenManaAbility(); - ability.addCost(cost); - this.addAbility(ability); - - ability = new WhiteManaAbility(); - ability.addCost(cost); - this.addAbility(ability); - - // {T}, Remove two charge counters from Wild Holocron: Add RG or GW to your mana pool. - cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(2)); - - ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 1, 0, 0, 0, 0, 0, 0), new TapSourceCost()); - ability.addCost(cost); - this.addAbility(ability); - - ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 1, 0, 1, 0, 0, 0, 0), new TapSourceCost()); - ability.addCost(cost); - this.addAbility(ability); - } - - public WildHolocron(final WildHolocron card) { - super(card); - } - - @Override - public WildHolocron copy() { - return new WildHolocron(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.Mana; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.Cost; +import mage.abilities.costs.common.RemoveCountersSourceCost; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.counter.AddCountersSourceEffect; +import mage.abilities.mana.GreenManaAbility; +import mage.abilities.mana.RedManaAbility; +import mage.abilities.mana.SimpleManaAbility; +import mage.abilities.mana.WhiteManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; +import mage.counters.CounterType; + +/** + * + * @author Styxo + */ +public class WildHolocron extends CardImpl { + + public WildHolocron(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{2}"); + + // {T}: Put a charge counter on Wild Holocron. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersSourceEffect(CounterType.CHARGE.createInstance(1)), new TapSourceCost())); + + // {T}, Remove a charge counter from Wild Holocron: Add {R}, {G} or {W} to your mana pool. + Cost cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(1)); + Ability ability = new RedManaAbility(); + ability.addCost(cost); + this.addAbility(ability); + + ability = new GreenManaAbility(); + ability.addCost(cost); + this.addAbility(ability); + + ability = new WhiteManaAbility(); + ability.addCost(cost); + this.addAbility(ability); + + // {T}, Remove two charge counters from Wild Holocron: Add RG or GW to your mana pool. + cost = new RemoveCountersSourceCost(CounterType.CHARGE.createInstance(2)); + + ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 1, 0, 0, 0, 0, 0, 0), new TapSourceCost()); + ability.addCost(cost); + this.addAbility(ability); + + ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 1, 0, 1, 0, 0, 0, 0), new TapSourceCost()); + ability.addCost(cost); + this.addAbility(ability); + } + + public WildHolocron(final WildHolocron card) { + super(card); + } + + @Override + public WildHolocron copy() { + return new WildHolocron(this); + } +} diff --git a/Mage.Sets/src/mage/cards/w/WildJhovall.java b/Mage.Sets/src/mage/cards/w/WildJhovall.java index df0ca818ede..54015077f96 100644 --- a/Mage.Sets/src/mage/cards/w/WildJhovall.java +++ b/Mage.Sets/src/mage/cards/w/WildJhovall.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class WildJhovall extends CardImpl { public WildJhovall(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WildLeotau.java b/Mage.Sets/src/mage/cards/w/WildLeotau.java index ecb19f83932..9bf545c5f4e 100644 --- a/Mage.Sets/src/mage/cards/w/WildLeotau.java +++ b/Mage.Sets/src/mage/cards/w/WildLeotau.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.TargetController; @@ -46,7 +47,7 @@ public class WildLeotau extends CardImpl { public WildLeotau(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WildMongrel.java b/Mage.Sets/src/mage/cards/w/WildMongrel.java index eddaadea23d..119206fa726 100644 --- a/Mage.Sets/src/mage/cards/w/WildMongrel.java +++ b/Mage.Sets/src/mage/cards/w/WildMongrel.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCardInHand; @@ -49,7 +50,7 @@ public class WildMongrel extends CardImpl { public WildMongrel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WildNacatl.java b/Mage.Sets/src/mage/cards/w/WildNacatl.java index 256805a04d9..72e877f2055 100644 --- a/Mage.Sets/src/mage/cards/w/WildNacatl.java +++ b/Mage.Sets/src/mage/cards/w/WildNacatl.java @@ -57,8 +57,8 @@ public class WildNacatl extends CardImpl { public WildNacatl(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Cat"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WildOx.java b/Mage.Sets/src/mage/cards/w/WildOx.java index bfaee3a529d..dfba3af0ba2 100644 --- a/Mage.Sets/src/mage/cards/w/WildOx.java +++ b/Mage.Sets/src/mage/cards/w/WildOx.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WildOx extends CardImpl { public WildOx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Ox"); + this.subtype.add(SubType.OX); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WildWanderer.java b/Mage.Sets/src/mage/cards/w/WildWanderer.java index 14ddaed187d..65c5c2329eb 100644 --- a/Mage.Sets/src/mage/cards/w/WildWanderer.java +++ b/Mage.Sets/src/mage/cards/w/WildWanderer.java @@ -33,6 +33,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -46,8 +47,8 @@ public class WildWanderer extends CardImpl { public WildWanderer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WildWurm.java b/Mage.Sets/src/mage/cards/w/WildWurm.java index d7bee888b1e..0d5783fc7d7 100644 --- a/Mage.Sets/src/mage/cards/w/WildWurm.java +++ b/Mage.Sets/src/mage/cards/w/WildWurm.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -49,7 +50,7 @@ public class WildWurm extends CardImpl { public WildWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WildbloodPack.java b/Mage.Sets/src/mage/cards/w/WildbloodPack.java index 5bf8352d95c..a52e6ba2002 100644 --- a/Mage.Sets/src/mage/cards/w/WildbloodPack.java +++ b/Mage.Sets/src/mage/cards/w/WildbloodPack.java @@ -50,7 +50,7 @@ public class WildbloodPack extends CardImpl { public WildbloodPack(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.WEREWOLF); this.color.setRed(true); // this card is the second face of double-faced card diff --git a/Mage.Sets/src/mage/cards/w/WildernessElemental.java b/Mage.Sets/src/mage/cards/w/WildernessElemental.java index d06602540fb..6dabff311bf 100644 --- a/Mage.Sets/src/mage/cards/w/WildernessElemental.java +++ b/Mage.Sets/src/mage/cards/w/WildernessElemental.java @@ -56,7 +56,7 @@ public class WildernessElemental extends CardImpl { public WildernessElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WildernessHypnotist.java b/Mage.Sets/src/mage/cards/w/WildernessHypnotist.java index 7c4c474bf28..04200275090 100644 --- a/Mage.Sets/src/mage/cards/w/WildernessHypnotist.java +++ b/Mage.Sets/src/mage/cards/w/WildernessHypnotist.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -59,8 +60,8 @@ public class WildernessHypnotist extends CardImpl { public WildernessHypnotist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WildfireCerberus.java b/Mage.Sets/src/mage/cards/w/WildfireCerberus.java index 4f04ac2d3f4..fc5ebf81e0e 100644 --- a/Mage.Sets/src/mage/cards/w/WildfireCerberus.java +++ b/Mage.Sets/src/mage/cards/w/WildfireCerberus.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.MonstrosityAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.ControllerPredicate; @@ -56,7 +57,7 @@ public class WildfireCerberus extends CardImpl { public WildfireCerberus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Hound"); + this.subtype.add(SubType.HOUND); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WildfireEmissary.java b/Mage.Sets/src/mage/cards/w/WildfireEmissary.java index 901ff38ebfc..7fe82e65686 100644 --- a/Mage.Sets/src/mage/cards/w/WildfireEmissary.java +++ b/Mage.Sets/src/mage/cards/w/WildfireEmissary.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -48,7 +49,7 @@ public class WildfireEmissary extends CardImpl { public WildfireEmissary(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Efreet"); + this.subtype.add(SubType.EFREET); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WildfireEternal.java b/Mage.Sets/src/mage/cards/w/WildfireEternal.java index ed524222e2e..26c358865fd 100644 --- a/Mage.Sets/src/mage/cards/w/WildfireEternal.java +++ b/Mage.Sets/src/mage/cards/w/WildfireEternal.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.FilterCard; import mage.filter.common.FilterInstantOrSorceryCard; @@ -54,9 +55,9 @@ public class WildfireEternal extends CardImpl { public WildfireEternal(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{R}"); - this.subtype.add("Zombie"); - this.subtype.add("Jackal"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.JACKAL); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WildgrowthWalker.java b/Mage.Sets/src/mage/cards/w/WildgrowthWalker.java index 5a12627c586..8066b2dad33 100644 --- a/Mage.Sets/src/mage/cards/w/WildgrowthWalker.java +++ b/Mage.Sets/src/mage/cards/w/WildgrowthWalker.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.game.Game; @@ -53,7 +54,7 @@ public class WildgrowthWalker extends CardImpl { public WildgrowthWalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WildheartInvoker.java b/Mage.Sets/src/mage/cards/w/WildheartInvoker.java index f124abbf3e7..610fdcd88f1 100644 --- a/Mage.Sets/src/mage/cards/w/WildheartInvoker.java +++ b/Mage.Sets/src/mage/cards/w/WildheartInvoker.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,8 +50,8 @@ public class WildheartInvoker extends CardImpl { public WildheartInvoker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WildslayerElves.java b/Mage.Sets/src/mage/cards/w/WildslayerElves.java index 4d2f2cc3086..c6eb0b14888 100644 --- a/Mage.Sets/src/mage/cards/w/WildslayerElves.java +++ b/Mage.Sets/src/mage/cards/w/WildslayerElves.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class WildslayerElves extends CardImpl { public WildslayerElves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WildwoodGeist.java b/Mage.Sets/src/mage/cards/w/WildwoodGeist.java index 51f112016a9..84f3bf0e5a5 100644 --- a/Mage.Sets/src/mage/cards/w/WildwoodGeist.java +++ b/Mage.Sets/src/mage/cards/w/WildwoodGeist.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class WildwoodGeist extends CardImpl { public WildwoodGeist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WillForgedGolem.java b/Mage.Sets/src/mage/cards/w/WillForgedGolem.java index e0662e725b4..5447f799260 100644 --- a/Mage.Sets/src/mage/cards/w/WillForgedGolem.java +++ b/Mage.Sets/src/mage/cards/w/WillForgedGolem.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ConvokeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WillForgedGolem extends CardImpl { public WillForgedGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WillOTheWisp.java b/Mage.Sets/src/mage/cards/w/WillOTheWisp.java index 44aa860e3b4..f4511906c11 100644 --- a/Mage.Sets/src/mage/cards/w/WillOTheWisp.java +++ b/Mage.Sets/src/mage/cards/w/WillOTheWisp.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class WillOTheWisp extends CardImpl { public WillOTheWisp(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/Willbender.java b/Mage.Sets/src/mage/cards/w/Willbender.java index 19183508cd6..6cdaa831c98 100644 --- a/Mage.Sets/src/mage/cards/w/Willbender.java +++ b/Mage.Sets/src/mage/cards/w/Willbender.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterStackObject; import mage.filter.predicate.mageobject.NumberOfTargetsPredicate; import mage.target.TargetStackObject; @@ -55,8 +56,8 @@ public class Willbender extends CardImpl { public Willbender(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/Willbreaker.java b/Mage.Sets/src/mage/cards/w/Willbreaker.java index dc0fc83dcf0..757bb20d2b4 100644 --- a/Mage.Sets/src/mage/cards/w/Willbreaker.java +++ b/Mage.Sets/src/mage/cards/w/Willbreaker.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.game.Game; @@ -54,8 +55,8 @@ public class Willbreaker extends CardImpl { public Willbreaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WillowDryad.java b/Mage.Sets/src/mage/cards/w/WillowDryad.java index 5c1d294b3e5..6a51d35ece8 100644 --- a/Mage.Sets/src/mage/cards/w/WillowDryad.java +++ b/Mage.Sets/src/mage/cards/w/WillowDryad.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ForestwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WillowDryad extends CardImpl { public WillowDryad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WillowElf.java b/Mage.Sets/src/mage/cards/w/WillowElf.java index 4636f1610f4..5cd70e66db4 100644 --- a/Mage.Sets/src/mage/cards/w/WillowElf.java +++ b/Mage.Sets/src/mage/cards/w/WillowElf.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class WillowElf extends CardImpl { public WillowElf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WillowFaerie.java b/Mage.Sets/src/mage/cards/w/WillowFaerie.java index abcbbd77d1a..981f2e41760 100644 --- a/Mage.Sets/src/mage/cards/w/WillowFaerie.java +++ b/Mage.Sets/src/mage/cards/w/WillowFaerie.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WillowFaerie extends CardImpl { public WillowFaerie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WillowPriestess.java b/Mage.Sets/src/mage/cards/w/WillowPriestess.java index 50c66333a91..3b1d6e2e345 100644 --- a/Mage.Sets/src/mage/cards/w/WillowPriestess.java +++ b/Mage.Sets/src/mage/cards/w/WillowPriestess.java @@ -66,8 +66,8 @@ public class WillowPriestess extends CardImpl { public WillowPriestess(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Faerie"); - this.subtype.add("Druid"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WillowSatyr.java b/Mage.Sets/src/mage/cards/w/WillowSatyr.java index 51f2133afac..1e4e04e8674 100644 --- a/Mage.Sets/src/mage/cards/w/WillowSatyr.java +++ b/Mage.Sets/src/mage/cards/w/WillowSatyr.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -62,7 +63,7 @@ public class WillowSatyr extends CardImpl { public WillowSatyr(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Satyr"); + this.subtype.add(SubType.SATYR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WiltLeafCavaliers.java b/Mage.Sets/src/mage/cards/w/WiltLeafCavaliers.java index 0934ad3f551..73cd76177d4 100644 --- a/Mage.Sets/src/mage/cards/w/WiltLeafCavaliers.java +++ b/Mage.Sets/src/mage/cards/w/WiltLeafCavaliers.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class WiltLeafCavaliers extends CardImpl { public WiltLeafCavaliers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G/W}{G/W}{G/W}"); - this.subtype.add("Elf"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WiltLeafLiege.java b/Mage.Sets/src/mage/cards/w/WiltLeafLiege.java index 7372802dacc..ebabd4d3104 100644 --- a/Mage.Sets/src/mage/cards/w/WiltLeafLiege.java +++ b/Mage.Sets/src/mage/cards/w/WiltLeafLiege.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostAllEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.TargetController; import mage.constants.Zone; @@ -60,8 +61,8 @@ public class WiltLeafLiege extends CardImpl { public WiltLeafLiege(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G/W}{G/W}{G/W}"); - this.subtype.add("Elf"); - this.subtype.add("Knight"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WilyBandar.java b/Mage.Sets/src/mage/cards/w/WilyBandar.java index 853895d36f8..d46345060cc 100644 --- a/Mage.Sets/src/mage/cards/w/WilyBandar.java +++ b/Mage.Sets/src/mage/cards/w/WilyBandar.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class WilyBandar extends CardImpl { public WilyBandar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Cat"); - this.subtype.add("Monkey"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.MONKEY); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WilyGoblin.java b/Mage.Sets/src/mage/cards/w/WilyGoblin.java index 9df791cb7ab..af39361b1c6 100644 --- a/Mage.Sets/src/mage/cards/w/WilyGoblin.java +++ b/Mage.Sets/src/mage/cards/w/WilyGoblin.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.TreasureToken; /** @@ -45,8 +46,8 @@ public class WilyGoblin extends CardImpl { public WilyGoblin(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{R}{R}"); - this.subtype.add("Goblin"); - this.subtype.add("Pirate"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.PIRATE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WindDancer.java b/Mage.Sets/src/mage/cards/w/WindDancer.java index 07d5acc946a..dbe93ba3590 100644 --- a/Mage.Sets/src/mage/cards/w/WindDancer.java +++ b/Mage.Sets/src/mage/cards/w/WindDancer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class WindDancer extends CardImpl { public WindDancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Faerie"); + this.subtype.add(SubType.FAERIE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WindDrake.java b/Mage.Sets/src/mage/cards/w/WindDrake.java index 093f472d010..a93ad6ee41c 100644 --- a/Mage.Sets/src/mage/cards/w/WindDrake.java +++ b/Mage.Sets/src/mage/cards/w/WindDrake.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class WindDrake extends CardImpl { public WindDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WindKinRaiders.java b/Mage.Sets/src/mage/cards/w/WindKinRaiders.java index 57122841e40..e6e321151cf 100644 --- a/Mage.Sets/src/mage/cards/w/WindKinRaiders.java +++ b/Mage.Sets/src/mage/cards/w/WindKinRaiders.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ImproviseAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class WindKinRaiders extends CardImpl { public WindKinRaiders(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{U}{U}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WindSpirit.java b/Mage.Sets/src/mage/cards/w/WindSpirit.java index d47ca1fa0f5..399e0b95231 100644 --- a/Mage.Sets/src/mage/cards/w/WindSpirit.java +++ b/Mage.Sets/src/mage/cards/w/WindSpirit.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MenaceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class WindSpirit extends CardImpl { public WindSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Elemental"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WindZendikon.java b/Mage.Sets/src/mage/cards/w/WindZendikon.java index be9ea6627f3..b37dec0063c 100644 --- a/Mage.Sets/src/mage/cards/w/WindZendikon.java +++ b/Mage.Sets/src/mage/cards/w/WindZendikon.java @@ -52,7 +52,7 @@ public class WindZendikon extends CardImpl { public WindZendikon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant land @@ -86,7 +86,7 @@ public class WindZendikon extends CardImpl { super("", "2/2 blue Elemental creature with flying"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(2); toughness = new MageInt(2); addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/w/WindbornMuse.java b/Mage.Sets/src/mage/cards/w/WindbornMuse.java index beeb8a99d90..f18198f17c8 100644 --- a/Mage.Sets/src/mage/cards/w/WindbornMuse.java +++ b/Mage.Sets/src/mage/cards/w/WindbornMuse.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class WindbornMuse extends CardImpl { public WindbornMuse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WindbriskRaptor.java b/Mage.Sets/src/mage/cards/w/WindbriskRaptor.java index 737ded1020a..5dcb0092435 100644 --- a/Mage.Sets/src/mage/cards/w/WindbriskRaptor.java +++ b/Mage.Sets/src/mage/cards/w/WindbriskRaptor.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -57,7 +58,7 @@ public class WindbriskRaptor extends CardImpl { public WindbriskRaptor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(5); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/w/WindingConstrictor.java b/Mage.Sets/src/mage/cards/w/WindingConstrictor.java index 93399a6cd7f..1b49a03c04c 100644 --- a/Mage.Sets/src/mage/cards/w/WindingConstrictor.java +++ b/Mage.Sets/src/mage/cards/w/WindingConstrictor.java @@ -35,6 +35,7 @@ import mage.abilities.effects.ReplacementEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class WindingConstrictor extends CardImpl { public WindingConstrictor(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{B}{G}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WindingWurm.java b/Mage.Sets/src/mage/cards/w/WindingWurm.java index a55bd795f9f..4149b5e4aee 100644 --- a/Mage.Sets/src/mage/cards/w/WindingWurm.java +++ b/Mage.Sets/src/mage/cards/w/WindingWurm.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class WindingWurm extends CardImpl { public WindingWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/w/WindreaderSphinx.java b/Mage.Sets/src/mage/cards/w/WindreaderSphinx.java index 2f5447cb892..4144fe0491e 100644 --- a/Mage.Sets/src/mage/cards/w/WindreaderSphinx.java +++ b/Mage.Sets/src/mage/cards/w/WindreaderSphinx.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.mageobject.AbilityPredicate; @@ -51,7 +52,7 @@ public class WindreaderSphinx extends CardImpl { public WindreaderSphinx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{U}{U}"); - this.subtype.add("Sphinx"); + this.subtype.add(SubType.SPHINX); this.power = new MageInt(3); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/w/WindreaperFalcon.java b/Mage.Sets/src/mage/cards/w/WindreaperFalcon.java index 29d247e4cb5..bf4eb10562b 100644 --- a/Mage.Sets/src/mage/cards/w/WindreaperFalcon.java +++ b/Mage.Sets/src/mage/cards/w/WindreaperFalcon.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class WindreaperFalcon extends CardImpl { public WindreaperFalcon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{G}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/Windreaver.java b/Mage.Sets/src/mage/cards/w/Windreaver.java index 453f41bad21..316686daa50 100644 --- a/Mage.Sets/src/mage/cards/w/Windreaver.java +++ b/Mage.Sets/src/mage/cards/w/Windreaver.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,7 +52,7 @@ public class Windreaver extends CardImpl { public Windreaver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{U}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WindriderEel.java b/Mage.Sets/src/mage/cards/w/WindriderEel.java index e2c95c39402..d1fb982ec2d 100644 --- a/Mage.Sets/src/mage/cards/w/WindriderEel.java +++ b/Mage.Sets/src/mage/cards/w/WindriderEel.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -46,7 +47,7 @@ public class WindriderEel extends CardImpl { public WindriderEel (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Fish"); + this.subtype.add(SubType.FISH); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WindriderPatrol.java b/Mage.Sets/src/mage/cards/w/WindriderPatrol.java index c3f596dd254..2b9945e9a72 100644 --- a/Mage.Sets/src/mage/cards/w/WindriderPatrol.java +++ b/Mage.Sets/src/mage/cards/w/WindriderPatrol.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class WindriderPatrol extends CardImpl { public WindriderPatrol(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}{U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WindseekerCentaur.java b/Mage.Sets/src/mage/cards/w/WindseekerCentaur.java index 9f10ee178d2..4b10bc7b0e2 100644 --- a/Mage.Sets/src/mage/cards/w/WindseekerCentaur.java +++ b/Mage.Sets/src/mage/cards/w/WindseekerCentaur.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WindseekerCentaur extends CardImpl { public WindseekerCentaur(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}{R}"); - this.subtype.add("Centaur"); + this.subtype.add(SubType.CENTAUR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WindwrightMage.java b/Mage.Sets/src/mage/cards/w/WindwrightMage.java index f17ed8d8d7a..23bb5f59358 100644 --- a/Mage.Sets/src/mage/cards/w/WindwrightMage.java +++ b/Mage.Sets/src/mage/cards/w/WindwrightMage.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterCard; @@ -54,8 +55,8 @@ public class WindwrightMage extends CardImpl { public WindwrightMage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{W}{U}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WingSplicer.java b/Mage.Sets/src/mage/cards/w/WingSplicer.java index 3e9f1c0db4a..c3d895c6239 100644 --- a/Mage.Sets/src/mage/cards/w/WingSplicer.java +++ b/Mage.Sets/src/mage/cards/w/WingSplicer.java @@ -60,8 +60,8 @@ public class WingSplicer extends CardImpl { public WingSplicer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Artificer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ARTIFICER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WingbeatWarrior.java b/Mage.Sets/src/mage/cards/w/WingbeatWarrior.java index e8f43edd9d1..91522409983 100644 --- a/Mage.Sets/src/mage/cards/w/WingbeatWarrior.java +++ b/Mage.Sets/src/mage/cards/w/WingbeatWarrior.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -50,9 +51,9 @@ public class WingbeatWarrior extends CardImpl { public WingbeatWarrior(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Bird"); - this.subtype.add("Soldier"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.BIRD); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/Wingcrafter.java b/Mage.Sets/src/mage/cards/w/Wingcrafter.java index 9f347e09cd4..10170a885fd 100644 --- a/Mage.Sets/src/mage/cards/w/Wingcrafter.java +++ b/Mage.Sets/src/mage/cards/w/Wingcrafter.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -49,8 +50,8 @@ public class Wingcrafter extends CardImpl { public Wingcrafter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WingedCoatl.java b/Mage.Sets/src/mage/cards/w/WingedCoatl.java index b43f3008cc9..4bc2fb60c3b 100644 --- a/Mage.Sets/src/mage/cards/w/WingedCoatl.java +++ b/Mage.Sets/src/mage/cards/w/WingedCoatl.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class WingedCoatl extends CardImpl { public WingedCoatl (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{U}"); - this.subtype.add("Snake"); + this.subtype.add(SubType.SNAKE); this.power = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WingedShepherd.java b/Mage.Sets/src/mage/cards/w/WingedShepherd.java index ce9d83e40b2..2334f292716 100644 --- a/Mage.Sets/src/mage/cards/w/WingedShepherd.java +++ b/Mage.Sets/src/mage/cards/w/WingedShepherd.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class WingedShepherd extends CardImpl { public WingedShepherd(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WingedSliver.java b/Mage.Sets/src/mage/cards/w/WingedSliver.java index 44bb1631e98..2c99157c128 100644 --- a/Mage.Sets/src/mage/cards/w/WingedSliver.java +++ b/Mage.Sets/src/mage/cards/w/WingedSliver.java @@ -54,7 +54,7 @@ public class WingedSliver extends CardImpl { public WingedSliver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Sliver"); + this.subtype.add(SubType.SLIVER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WingmateRoc.java b/Mage.Sets/src/mage/cards/w/WingmateRoc.java index 51fc6ab2bb0..fd717bc9e20 100644 --- a/Mage.Sets/src/mage/cards/w/WingmateRoc.java +++ b/Mage.Sets/src/mage/cards/w/WingmateRoc.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.WingmateRocToken; import mage.watchers.common.PlayerAttackedWatcher; @@ -52,7 +53,7 @@ public class WingmateRoc extends CardImpl { public WingmateRoc(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{W}{W}"); - this.subtype.add("Bird"); + this.subtype.add(SubType.BIRD); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WingrattleScarecrow.java b/Mage.Sets/src/mage/cards/w/WingrattleScarecrow.java index 20261586096..a791876c0ef 100644 --- a/Mage.Sets/src/mage/cards/w/WingrattleScarecrow.java +++ b/Mage.Sets/src/mage/cards/w/WingrattleScarecrow.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.PersistAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -63,7 +64,7 @@ public class WingrattleScarecrow extends CardImpl { public WingrattleScarecrow(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Scarecrow"); + this.subtype.add(SubType.SCARECROW); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WingsOfAesthir.java b/Mage.Sets/src/mage/cards/w/WingsOfAesthir.java index 87545243642..42ff9c980f7 100644 --- a/Mage.Sets/src/mage/cards/w/WingsOfAesthir.java +++ b/Mage.Sets/src/mage/cards/w/WingsOfAesthir.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class WingsOfAesthir extends CardImpl { public WingsOfAesthir(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/w/WingsOfHope.java b/Mage.Sets/src/mage/cards/w/WingsOfHope.java index 7dc2432c333..8fa8dc2a12e 100644 --- a/Mage.Sets/src/mage/cards/w/WingsOfHope.java +++ b/Mage.Sets/src/mage/cards/w/WingsOfHope.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class WingsOfHope extends CardImpl { public WingsOfHope(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{W}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/w/WingsOfTheGuard.java b/Mage.Sets/src/mage/cards/w/WingsOfTheGuard.java index c57bd8799ab..db43873c678 100644 --- a/Mage.Sets/src/mage/cards/w/WingsOfTheGuard.java +++ b/Mage.Sets/src/mage/cards/w/WingsOfTheGuard.java @@ -1,64 +1,65 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.keyword.FlyingAbility; -import mage.abilities.keyword.MeleeAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author emerald000 - */ -public class WingsOfTheGuard extends CardImpl { - - public WingsOfTheGuard(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Bird"); - this.power = new MageInt(1); - this.toughness = new MageInt(1); - - // Flying - this.addAbility(FlyingAbility.getInstance()); - // Melee - this.addAbility(new MeleeAbility()); - } - - public WingsOfTheGuard(final WingsOfTheGuard card) { - super(card); - } - - @Override - public WingsOfTheGuard copy() { - return new WingsOfTheGuard(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.keyword.FlyingAbility; +import mage.abilities.keyword.MeleeAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author emerald000 + */ +public class WingsOfTheGuard extends CardImpl { + + public WingsOfTheGuard(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); + this.subtype.add(SubType.BIRD); + this.power = new MageInt(1); + this.toughness = new MageInt(1); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + // Melee + this.addAbility(new MeleeAbility()); + } + + public WingsOfTheGuard(final WingsOfTheGuard card) { + super(card); + } + + @Override + public WingsOfTheGuard copy() { + return new WingsOfTheGuard(this); + } +} diff --git a/Mage.Sets/src/mage/cards/w/WingsOfVelisVel.java b/Mage.Sets/src/mage/cards/w/WingsOfVelisVel.java index 0376437b809..2cb67c03be9 100644 --- a/Mage.Sets/src/mage/cards/w/WingsOfVelisVel.java +++ b/Mage.Sets/src/mage/cards/w/WingsOfVelisVel.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.SubLayer; @@ -49,7 +50,7 @@ public class WingsOfVelisVel extends CardImpl { public WingsOfVelisVel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.TRIBAL,CardType.INSTANT},"{1}{U}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); // Changeling this.addAbility(ChangelingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/w/WingsteedRider.java b/Mage.Sets/src/mage/cards/w/WingsteedRider.java index 1ec89c3748b..a9a2794caa3 100644 --- a/Mage.Sets/src/mage/cards/w/WingsteedRider.java +++ b/Mage.Sets/src/mage/cards/w/WingsteedRider.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HeroicAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -45,8 +46,8 @@ public class WingsteedRider extends CardImpl { public WingsteedRider(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WinnowerPatrol.java b/Mage.Sets/src/mage/cards/w/WinnowerPatrol.java index f6a188c82e1..c7e02698866 100644 --- a/Mage.Sets/src/mage/cards/w/WinnowerPatrol.java +++ b/Mage.Sets/src/mage/cards/w/WinnowerPatrol.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.counter.AddCountersSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -44,8 +45,8 @@ public class WinnowerPatrol extends CardImpl { public WinnowerPatrol(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/Wirecat.java b/Mage.Sets/src/mage/cards/w/Wirecat.java index 04280c5c5d6..8ebbb66d745 100644 --- a/Mage.Sets/src/mage/cards/w/Wirecat.java +++ b/Mage.Sets/src/mage/cards/w/Wirecat.java @@ -34,6 +34,7 @@ import mage.abilities.effects.RestrictionEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.StaticFilters; @@ -50,7 +51,7 @@ public class Wirecat extends CardImpl { public Wirecat(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{4}"); - this.subtype.add("Cat"); + this.subtype.add(SubType.CAT); this.power = new MageInt(4); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WirewoodChanneler.java b/Mage.Sets/src/mage/cards/w/WirewoodChanneler.java index 44db9ef1f94..fa970506fec 100644 --- a/Mage.Sets/src/mage/cards/w/WirewoodChanneler.java +++ b/Mage.Sets/src/mage/cards/w/WirewoodChanneler.java @@ -54,8 +54,8 @@ public class WirewoodChanneler extends CardImpl { public WirewoodChanneler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WirewoodElf.java b/Mage.Sets/src/mage/cards/w/WirewoodElf.java index d3e72cc8107..93452638af2 100644 --- a/Mage.Sets/src/mage/cards/w/WirewoodElf.java +++ b/Mage.Sets/src/mage/cards/w/WirewoodElf.java @@ -33,6 +33,7 @@ import mage.abilities.mana.GreenManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ import mage.constants.CardType; public class WirewoodElf extends CardImpl { public WirewoodElf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WirewoodGuardian.java b/Mage.Sets/src/mage/cards/w/WirewoodGuardian.java index d52cc424417..5c642957b58 100644 --- a/Mage.Sets/src/mage/cards/w/WirewoodGuardian.java +++ b/Mage.Sets/src/mage/cards/w/WirewoodGuardian.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ForestcyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class WirewoodGuardian extends CardImpl { public WirewoodGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Mutant"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.MUTANT); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/w/WirewoodHerald.java b/Mage.Sets/src/mage/cards/w/WirewoodHerald.java index 0392d894ccf..b2f17ed5097 100644 --- a/Mage.Sets/src/mage/cards/w/WirewoodHerald.java +++ b/Mage.Sets/src/mage/cards/w/WirewoodHerald.java @@ -53,7 +53,7 @@ public class WirewoodHerald extends CardImpl { public WirewoodHerald(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WirewoodHivemaster.java b/Mage.Sets/src/mage/cards/w/WirewoodHivemaster.java index 4402dc0a4e5..6e9a59973fa 100644 --- a/Mage.Sets/src/mage/cards/w/WirewoodHivemaster.java +++ b/Mage.Sets/src/mage/cards/w/WirewoodHivemaster.java @@ -57,7 +57,7 @@ public class WirewoodHivemaster extends CardImpl { } public WirewoodHivemaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WirewoodSavage.java b/Mage.Sets/src/mage/cards/w/WirewoodSavage.java index 445a01d7e1e..2ce7601f34f 100644 --- a/Mage.Sets/src/mage/cards/w/WirewoodSavage.java +++ b/Mage.Sets/src/mage/cards/w/WirewoodSavage.java @@ -53,7 +53,7 @@ public class WirewoodSavage extends CardImpl { public WirewoodSavage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WirewoodSymbiote.java b/Mage.Sets/src/mage/cards/w/WirewoodSymbiote.java index c4dd6e911b3..8609cf59bfe 100644 --- a/Mage.Sets/src/mage/cards/w/WirewoodSymbiote.java +++ b/Mage.Sets/src/mage/cards/w/WirewoodSymbiote.java @@ -57,7 +57,7 @@ public class WirewoodSymbiote extends CardImpl { public WirewoodSymbiote(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/Wispmare.java b/Mage.Sets/src/mage/cards/w/Wispmare.java index 696155fe5e2..2ac3ab4b946 100644 --- a/Mage.Sets/src/mage/cards/w/Wispmare.java +++ b/Mage.Sets/src/mage/cards/w/Wispmare.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetEnchantmentPermanent; /** @@ -47,7 +48,7 @@ public class Wispmare extends CardImpl { public Wispmare(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WispweaverAngel.java b/Mage.Sets/src/mage/cards/w/WispweaverAngel.java index 5d931a22d01..21c0c3db4f3 100644 --- a/Mage.Sets/src/mage/cards/w/WispweaverAngel.java +++ b/Mage.Sets/src/mage/cards/w/WispweaverAngel.java @@ -42,6 +42,7 @@ import mage.cards.Cards; import mage.cards.CardsImpl; import mage.cards.MeldCard; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -66,7 +67,7 @@ public class WispweaverAngel extends CardImpl { public WispweaverAngel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{W}{W}"); - this.subtype.add("Angel"); + this.subtype.add(SubType.ANGEL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WistfulSelkie.java b/Mage.Sets/src/mage/cards/w/WistfulSelkie.java index 18879d3f889..3d15ad1ec30 100644 --- a/Mage.Sets/src/mage/cards/w/WistfulSelkie.java +++ b/Mage.Sets/src/mage/cards/w/WistfulSelkie.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,8 +45,8 @@ public class WistfulSelkie extends CardImpl { public WistfulSelkie (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G/U}{G/U}{G/U}"); - this.subtype.add("Merfolk"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.MERFOLK); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WitchEngine.java b/Mage.Sets/src/mage/cards/w/WitchEngine.java index 0c7380cc44a..2d5659e4d38 100644 --- a/Mage.Sets/src/mage/cards/w/WitchEngine.java +++ b/Mage.Sets/src/mage/cards/w/WitchEngine.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -56,7 +57,7 @@ public class WitchEngine extends CardImpl { public WitchEngine(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WitchHunter.java b/Mage.Sets/src/mage/cards/w/WitchHunter.java index be64f3543e4..81c637527cd 100644 --- a/Mage.Sets/src/mage/cards/w/WitchHunter.java +++ b/Mage.Sets/src/mage/cards/w/WitchHunter.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.TargetController; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -59,8 +60,8 @@ public class WitchHunter extends CardImpl { public WitchHunter(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WitchMawNephilim.java b/Mage.Sets/src/mage/cards/w/WitchMawNephilim.java index 17eed6fbb53..2a20a46694e 100644 --- a/Mage.Sets/src/mage/cards/w/WitchMawNephilim.java +++ b/Mage.Sets/src/mage/cards/w/WitchMawNephilim.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.counters.CounterType; @@ -52,7 +53,7 @@ public class WitchMawNephilim extends CardImpl { public WitchMawNephilim(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}{W}{U}{B}"); - this.subtype.add("Nephilim"); + this.subtype.add(SubType.NEPHILIM); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WitchesEye.java b/Mage.Sets/src/mage/cards/w/WitchesEye.java index 0eeef310e57..4ffb3bc77aa 100644 --- a/Mage.Sets/src/mage/cards/w/WitchesEye.java +++ b/Mage.Sets/src/mage/cards/w/WitchesEye.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class WitchesEye extends CardImpl { public WitchesEye(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has "{1}, {T}: Scry 1." Ability gainedAbility = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ScryEffect(1), new GenericManaCost(1)); diff --git a/Mage.Sets/src/mage/cards/w/WitchsFamiliar.java b/Mage.Sets/src/mage/cards/w/WitchsFamiliar.java index 37beed52536..9a3867f8807 100644 --- a/Mage.Sets/src/mage/cards/w/WitchsFamiliar.java +++ b/Mage.Sets/src/mage/cards/w/WitchsFamiliar.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class WitchsFamiliar extends CardImpl { public WitchsFamiliar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Frog"); + this.subtype.add(SubType.FROG); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/Witchstalker.java b/Mage.Sets/src/mage/cards/w/Witchstalker.java index 17810b954d0..076ff2b4011 100644 --- a/Mage.Sets/src/mage/cards/w/Witchstalker.java +++ b/Mage.Sets/src/mage/cards/w/Witchstalker.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.filter.FilterCard; @@ -54,7 +55,7 @@ public class Witchstalker extends CardImpl { public Witchstalker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/Withdraw.java b/Mage.Sets/src/mage/cards/w/Withdraw.java index b56eadce608..c5890a7eb44 100644 --- a/Mage.Sets/src/mage/cards/w/Withdraw.java +++ b/Mage.Sets/src/mage/cards/w/Withdraw.java @@ -1,119 +1,119 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.costs.Cost; -import mage.abilities.costs.mana.GenericManaCost; -import mage.abilities.effects.Effect; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.effects.common.ReturnToHandTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.Zone; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.mageobject.AnotherTargetPredicate; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.Target; -import mage.target.common.TargetCreaturePermanent; -import mage.target.targetpointer.FixedTarget; - -/** - * - * @author emerald000 - */ -public class Withdraw extends CardImpl { - - public Withdraw(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{U}{U}"); - - // Return target creature to its owner's hand. Then return another target creature to its owner's hand unless its controller pays {1}. - this.getSpellAbility().addEffect(new WithdrawEffect()); - Target target = new TargetCreaturePermanent(new FilterCreaturePermanent("creature to return unconditionally")); - target.setTargetTag(1); - this.getSpellAbility().addTarget(target); - - FilterCreaturePermanent filter = new FilterCreaturePermanent("another creature to return unless {1} is paid"); - filter.add(new AnotherTargetPredicate(2)); - target = new TargetCreaturePermanent(filter); - target.setTargetTag(2); - this.getSpellAbility().addTarget(target); - } - - public Withdraw(final Withdraw card) { - super(card); - } - - @Override - public Withdraw copy() { - return new Withdraw(this); - } -} - -class WithdrawEffect extends OneShotEffect { - - WithdrawEffect() { - super(Outcome.ReturnToHand); - this.staticText = "Return target creature to its owner's hand. Then return another target creature to its owner's hand unless its controller pays {1}"; - } - - WithdrawEffect(final WithdrawEffect effect) { - super(effect); - } - - @Override - public WithdrawEffect copy() { - return new WithdrawEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Effect effect = new ReturnToHandTargetEffect(); - effect.setTargetPointer(new FixedTarget(source.getFirstTarget())); - effect.apply(game, source); - Permanent secondCreature = game.getPermanent(source.getTargets().get(1).getFirstTarget()); - if (secondCreature != null) { - Player creatureController = game.getPlayer(secondCreature.getControllerId()); - if (creatureController != null) { - Cost cost = new GenericManaCost(1); - if (creatureController.chooseUse(Outcome.Benefit, "Pay {1}? (Otherwise " + secondCreature.getName() + " will be returned to its owner's hand)", source, game)) { - cost.pay(source, game, source.getSourceId(), creatureController.getId(), false); - } - if (!cost.isPaid()) { - creatureController.moveCards(secondCreature, Zone.HAND, source, game); - } - } - } - return true; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.costs.Cost; +import mage.abilities.costs.mana.GenericManaCost; +import mage.abilities.effects.Effect; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.effects.common.ReturnToHandTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Outcome; +import mage.constants.Zone; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.mageobject.AnotherTargetPredicate; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.Target; +import mage.target.common.TargetCreaturePermanent; +import mage.target.targetpointer.FixedTarget; + +/** + * + * @author emerald000 + */ +public class Withdraw extends CardImpl { + + public Withdraw(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{U}{U}"); + + // Return target creature to its owner's hand. Then return another target creature to its owner's hand unless its controller pays {1}. + this.getSpellAbility().addEffect(new WithdrawEffect()); + Target target = new TargetCreaturePermanent(new FilterCreaturePermanent("creature to return unconditionally")); + target.setTargetTag(1); + this.getSpellAbility().addTarget(target); + + FilterCreaturePermanent filter = new FilterCreaturePermanent("another creature to return unless {1} is paid"); + filter.add(new AnotherTargetPredicate(2)); + target = new TargetCreaturePermanent(filter); + target.setTargetTag(2); + this.getSpellAbility().addTarget(target); + } + + public Withdraw(final Withdraw card) { + super(card); + } + + @Override + public Withdraw copy() { + return new Withdraw(this); + } +} + +class WithdrawEffect extends OneShotEffect { + + WithdrawEffect() { + super(Outcome.ReturnToHand); + this.staticText = "Return target creature to its owner's hand. Then return another target creature to its owner's hand unless its controller pays {1}"; + } + + WithdrawEffect(final WithdrawEffect effect) { + super(effect); + } + + @Override + public WithdrawEffect copy() { + return new WithdrawEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Effect effect = new ReturnToHandTargetEffect(); + effect.setTargetPointer(new FixedTarget(source.getFirstTarget())); + effect.apply(game, source); + Permanent secondCreature = game.getPermanent(source.getTargets().get(1).getFirstTarget()); + if (secondCreature != null) { + Player creatureController = game.getPlayer(secondCreature.getControllerId()); + if (creatureController != null) { + Cost cost = new GenericManaCost(1); + if (creatureController.chooseUse(Outcome.Benefit, "Pay {1}? (Otherwise " + secondCreature.getName() + " will be returned to its owner's hand)", source, game)) { + cost.pay(source, game, source.getSourceId(), creatureController.getId(), false); + } + if (!cost.isPaid()) { + creatureController.moveCards(secondCreature, Zone.HAND, source, game); + } + } + } + return true; + } +} diff --git a/Mage.Sets/src/mage/cards/w/WithengarUnbound.java b/Mage.Sets/src/mage/cards/w/WithengarUnbound.java index fe10af2dc9b..de4a7c7d514 100644 --- a/Mage.Sets/src/mage/cards/w/WithengarUnbound.java +++ b/Mage.Sets/src/mage/cards/w/WithengarUnbound.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.counters.CounterType; @@ -53,7 +54,7 @@ public class WithengarUnbound extends CardImpl { public WithengarUnbound(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},""); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.color.setBlack(true); // this card is the second face of double-faced card diff --git a/Mage.Sets/src/mage/cards/w/WitheredWretch.java b/Mage.Sets/src/mage/cards/w/WitheredWretch.java index 442216a26e6..10388bee0b5 100644 --- a/Mage.Sets/src/mage/cards/w/WitheredWretch.java +++ b/Mage.Sets/src/mage/cards/w/WitheredWretch.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.ExileTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCardInGraveyard; @@ -47,8 +48,8 @@ public class WitheredWretch extends CardImpl { public WitheredWretch(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WitherscaleWurm.java b/Mage.Sets/src/mage/cards/w/WitherscaleWurm.java index 98134e5f161..bb506a98cd6 100644 --- a/Mage.Sets/src/mage/cards/w/WitherscaleWurm.java +++ b/Mage.Sets/src/mage/cards/w/WitherscaleWurm.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.counters.CounterType; import mage.filter.common.FilterCreaturePermanent; @@ -51,7 +52,7 @@ public class WitherscaleWurm extends CardImpl { public WitherscaleWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(9); this.toughness = new MageInt(9); diff --git a/Mage.Sets/src/mage/cards/w/WitnessOfTheAges.java b/Mage.Sets/src/mage/cards/w/WitnessOfTheAges.java index 266bc10f73f..e96891f6950 100644 --- a/Mage.Sets/src/mage/cards/w/WitnessOfTheAges.java +++ b/Mage.Sets/src/mage/cards/w/WitnessOfTheAges.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class WitnessOfTheAges extends CardImpl { public WitnessOfTheAges(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Golem"); + this.subtype.add(SubType.GOLEM); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WizardMentor.java b/Mage.Sets/src/mage/cards/w/WizardMentor.java index 93a5ad40f8d..82b38ead535 100644 --- a/Mage.Sets/src/mage/cards/w/WizardMentor.java +++ b/Mage.Sets/src/mage/cards/w/WizardMentor.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -56,8 +57,8 @@ public class WizardMentor extends CardImpl { public WizardMentor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WizardReplica.java b/Mage.Sets/src/mage/cards/w/WizardReplica.java index 63834fc99ad..dbc051bf337 100644 --- a/Mage.Sets/src/mage/cards/w/WizardReplica.java +++ b/Mage.Sets/src/mage/cards/w/WizardReplica.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; import mage.target.TargetSpell; @@ -51,7 +52,7 @@ public class WizardReplica extends CardImpl { public WizardReplica(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(3); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage.Sets/src/mage/cards/w/WizenedCenn.java b/Mage.Sets/src/mage/cards/w/WizenedCenn.java index e0a0507a62d..16fbc4c3a99 100644 --- a/Mage.Sets/src/mage/cards/w/WizenedCenn.java +++ b/Mage.Sets/src/mage/cards/w/WizenedCenn.java @@ -54,8 +54,8 @@ public class WizenedCenn extends CardImpl { public WizenedCenn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{W}"); - this.subtype.add("Kithkin"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.KITHKIN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WizenedSnitches.java b/Mage.Sets/src/mage/cards/w/WizenedSnitches.java index 90290d20a20..3e8e6967569 100644 --- a/Mage.Sets/src/mage/cards/w/WizenedSnitches.java +++ b/Mage.Sets/src/mage/cards/w/WizenedSnitches.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -45,8 +46,8 @@ public class WizenedSnitches extends CardImpl { public WizenedSnitches(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Faerie"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/Woebearer.java b/Mage.Sets/src/mage/cards/w/Woebearer.java index 9baf1fa4661..36f290e9644 100644 --- a/Mage.Sets/src/mage/cards/w/Woebearer.java +++ b/Mage.Sets/src/mage/cards/w/Woebearer.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FearAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInYourGraveyard; @@ -47,7 +48,7 @@ public class Woebearer extends CardImpl { public Woebearer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WoebringerDemon.java b/Mage.Sets/src/mage/cards/w/WoebringerDemon.java index 001226a9fb4..4f0077da368 100644 --- a/Mage.Sets/src/mage/cards/w/WoebringerDemon.java +++ b/Mage.Sets/src/mage/cards/w/WoebringerDemon.java @@ -1,118 +1,119 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; -import mage.abilities.effects.OneShotEffect; -import mage.abilities.keyword.FlyingAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Outcome; -import mage.constants.TargetController; -import mage.constants.Zone; -import mage.game.Game; -import mage.game.permanent.Permanent; -import mage.players.Player; -import mage.target.common.TargetControlledCreaturePermanent; - -/** - * - * @author LevelX2 - */ -public class WoebringerDemon extends CardImpl { - - public WoebringerDemon(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}"); - - this.subtype.add("Demon"); - this.power = new MageInt(4); - this.toughness = new MageInt(4); - - // Flying - this.addAbility(FlyingAbility.getInstance()); - - // At the beginning of each player's upkeep, that player sacrifices a creature. If the player can't, sacrifice Woebringer Demon. - this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new WoebringerDemonEffect(), TargetController.ANY, false, true)); - } - - public WoebringerDemon(final WoebringerDemon card) { - super(card); - } - - @Override - public WoebringerDemon copy() { - return new WoebringerDemon(this); - } -} - -class WoebringerDemonEffect extends OneShotEffect { - - public WoebringerDemonEffect() { - super(Outcome.Detriment); - this.staticText = "that player sacrifices a creature. If the player can't, sacrifice {this}"; - } - - public WoebringerDemonEffect(final WoebringerDemonEffect effect) { - super(effect); - } - - @Override - public WoebringerDemonEffect copy() { - return new WoebringerDemonEffect(this); - } - - @Override - public boolean apply(Game game, Ability source) { - Player controller = game.getPlayer(source.getControllerId()); - if (controller != null) { - Player currentPlayer = game.getPlayer(getTargetPointer().getFirst(game, source)); - if (currentPlayer != null) { - TargetControlledCreaturePermanent target = new TargetControlledCreaturePermanent(); - target.setNotTarget(true); - if (target.canChoose(currentPlayer.getId(), game)) { - currentPlayer.chooseTarget(Outcome.Sacrifice, target, source, game); - Permanent permanent = game.getPermanent(target.getFirstTarget()); - if (permanent != null) { - permanent.sacrifice(source.getSourceId(), game); - return true; - } - } - } - Permanent sourceObject = game.getPermanent(source.getSourceId()); - if (sourceObject != null && sourceObject.getZoneChangeCounter(game) == source.getSourceObjectZoneChangeCounter()) { - sourceObject.sacrifice(source.getSourceId(), game); - } - return true; - } - return false; - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; +import mage.abilities.effects.OneShotEffect; +import mage.abilities.keyword.FlyingAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Outcome; +import mage.constants.TargetController; +import mage.constants.Zone; +import mage.game.Game; +import mage.game.permanent.Permanent; +import mage.players.Player; +import mage.target.common.TargetControlledCreaturePermanent; + +/** + * + * @author LevelX2 + */ +public class WoebringerDemon extends CardImpl { + + public WoebringerDemon(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}"); + + this.subtype.add(SubType.DEMON); + this.power = new MageInt(4); + this.toughness = new MageInt(4); + + // Flying + this.addAbility(FlyingAbility.getInstance()); + + // At the beginning of each player's upkeep, that player sacrifices a creature. If the player can't, sacrifice Woebringer Demon. + this.addAbility(new BeginningOfUpkeepTriggeredAbility(Zone.BATTLEFIELD, new WoebringerDemonEffect(), TargetController.ANY, false, true)); + } + + public WoebringerDemon(final WoebringerDemon card) { + super(card); + } + + @Override + public WoebringerDemon copy() { + return new WoebringerDemon(this); + } +} + +class WoebringerDemonEffect extends OneShotEffect { + + public WoebringerDemonEffect() { + super(Outcome.Detriment); + this.staticText = "that player sacrifices a creature. If the player can't, sacrifice {this}"; + } + + public WoebringerDemonEffect(final WoebringerDemonEffect effect) { + super(effect); + } + + @Override + public WoebringerDemonEffect copy() { + return new WoebringerDemonEffect(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + Player currentPlayer = game.getPlayer(getTargetPointer().getFirst(game, source)); + if (currentPlayer != null) { + TargetControlledCreaturePermanent target = new TargetControlledCreaturePermanent(); + target.setNotTarget(true); + if (target.canChoose(currentPlayer.getId(), game)) { + currentPlayer.chooseTarget(Outcome.Sacrifice, target, source, game); + Permanent permanent = game.getPermanent(target.getFirstTarget()); + if (permanent != null) { + permanent.sacrifice(source.getSourceId(), game); + return true; + } + } + } + Permanent sourceObject = game.getPermanent(source.getSourceId()); + if (sourceObject != null && sourceObject.getZoneChangeCounter(game) == source.getSourceObjectZoneChangeCounter()) { + sourceObject.sacrifice(source.getSourceId(), game); + } + return true; + } + return false; + } +} diff --git a/Mage.Sets/src/mage/cards/w/Woeleecher.java b/Mage.Sets/src/mage/cards/w/Woeleecher.java index 83a704ff7a1..64afd4c4128 100644 --- a/Mage.Sets/src/mage/cards/w/Woeleecher.java +++ b/Mage.Sets/src/mage/cards/w/Woeleecher.java @@ -37,6 +37,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.counters.CounterType; @@ -54,7 +55,7 @@ public class Woeleecher extends CardImpl { public Woeleecher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(3); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WojekApothecary.java b/Mage.Sets/src/mage/cards/w/WojekApothecary.java index 3ebed12abaf..3344891da50 100644 --- a/Mage.Sets/src/mage/cards/w/WojekApothecary.java +++ b/Mage.Sets/src/mage/cards/w/WojekApothecary.java @@ -40,6 +40,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -59,8 +60,8 @@ public class WojekApothecary extends CardImpl { public WojekApothecary(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}{W}"); - this.subtype.add("Human"); - this.subtype.add("Cleric"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.CLERIC); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WojekEmbermage.java b/Mage.Sets/src/mage/cards/w/WojekEmbermage.java index 37d5f3aef13..082c826880b 100644 --- a/Mage.Sets/src/mage/cards/w/WojekEmbermage.java +++ b/Mage.Sets/src/mage/cards/w/WojekEmbermage.java @@ -39,6 +39,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AbilityWord; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -54,8 +55,8 @@ public class WojekEmbermage extends CardImpl { public WojekEmbermage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WojekHalberdiers.java b/Mage.Sets/src/mage/cards/w/WojekHalberdiers.java index e22ac8261a7..04978c6fea6 100644 --- a/Mage.Sets/src/mage/cards/w/WojekHalberdiers.java +++ b/Mage.Sets/src/mage/cards/w/WojekHalberdiers.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class WojekHalberdiers extends CardImpl { public WojekHalberdiers(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{W}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WolfOfDevilsBreach.java b/Mage.Sets/src/mage/cards/w/WolfOfDevilsBreach.java index 6edf3ba66aa..8120ae55650 100644 --- a/Mage.Sets/src/mage/cards/w/WolfOfDevilsBreach.java +++ b/Mage.Sets/src/mage/cards/w/WolfOfDevilsBreach.java @@ -44,6 +44,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.Game; import mage.target.common.TargetCreatureOrPlaneswalker; @@ -55,8 +56,8 @@ public class WolfOfDevilsBreach extends CardImpl { public WolfOfDevilsBreach(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}"); - this.subtype.add("Elemental"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.WOLF); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WolfPack.java b/Mage.Sets/src/mage/cards/w/WolfPack.java index 57b4f5abd05..c14cff893d2 100644 --- a/Mage.Sets/src/mage/cards/w/WolfPack.java +++ b/Mage.Sets/src/mage/cards/w/WolfPack.java @@ -33,6 +33,7 @@ import mage.abilities.common.DamageAsThoughNotBlockedAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WolfPack extends CardImpl { public WolfPack(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}{G}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(7); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/w/WolfSkullShaman.java b/Mage.Sets/src/mage/cards/w/WolfSkullShaman.java index 4bb0801af52..d7bdc3dfbf0 100644 --- a/Mage.Sets/src/mage/cards/w/WolfSkullShaman.java +++ b/Mage.Sets/src/mage/cards/w/WolfSkullShaman.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.WolfToken; /** @@ -44,8 +45,8 @@ public class WolfSkullShaman extends CardImpl { public WolfSkullShaman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WolfbittenCaptive.java b/Mage.Sets/src/mage/cards/w/WolfbittenCaptive.java index 3e3e81ef2d5..88e77b6ac55 100644 --- a/Mage.Sets/src/mage/cards/w/WolfbittenCaptive.java +++ b/Mage.Sets/src/mage/cards/w/WolfbittenCaptive.java @@ -51,8 +51,8 @@ public class WolfbittenCaptive extends CardImpl { public WolfbittenCaptive(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Werewolf"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WEREWOLF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WolfbriarElemental.java b/Mage.Sets/src/mage/cards/w/WolfbriarElemental.java index 96e5daef19c..3488bfbe753 100644 --- a/Mage.Sets/src/mage/cards/w/WolfbriarElemental.java +++ b/Mage.Sets/src/mage/cards/w/WolfbriarElemental.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.MultikickerAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.WolfToken; /** @@ -47,7 +48,7 @@ public class WolfbriarElemental extends CardImpl { public WolfbriarElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WolfhuntersQuiver.java b/Mage.Sets/src/mage/cards/w/WolfhuntersQuiver.java index b974d00a1d2..9ea6a87f467 100644 --- a/Mage.Sets/src/mage/cards/w/WolfhuntersQuiver.java +++ b/Mage.Sets/src/mage/cards/w/WolfhuntersQuiver.java @@ -59,7 +59,7 @@ public class WolfhuntersQuiver extends CardImpl { public WolfhuntersQuiver(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equipped creature has "{T}: This creature deals 1 damage to target creature or player" Ability abilityToGain = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost()); diff --git a/Mage.Sets/src/mage/cards/w/WolfirAvenger.java b/Mage.Sets/src/mage/cards/w/WolfirAvenger.java index 59f33c50330..2c472458f3b 100644 --- a/Mage.Sets/src/mage/cards/w/WolfirAvenger.java +++ b/Mage.Sets/src/mage/cards/w/WolfirAvenger.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class WolfirAvenger extends CardImpl { public WolfirAvenger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Wolf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.WOLF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WolfirSilverheart.java b/Mage.Sets/src/mage/cards/w/WolfirSilverheart.java index 4902b4064c5..412a5a9de5e 100644 --- a/Mage.Sets/src/mage/cards/w/WolfirSilverheart.java +++ b/Mage.Sets/src/mage/cards/w/WolfirSilverheart.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.SoulbondAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,8 +47,8 @@ public class WolfirSilverheart extends CardImpl { public WolfirSilverheart(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Wolf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.WOLF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WolfkinBond.java b/Mage.Sets/src/mage/cards/w/WolfkinBond.java index 29202496a21..e1b67a2e1c7 100644 --- a/Mage.Sets/src/mage/cards/w/WolfkinBond.java +++ b/Mage.Sets/src/mage/cards/w/WolfkinBond.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -53,7 +54,7 @@ public class WolfkinBond extends CardImpl { public WolfkinBond(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/w/WolverinePack.java b/Mage.Sets/src/mage/cards/w/WolverinePack.java index 938f7990012..62cb83e0498 100644 --- a/Mage.Sets/src/mage/cards/w/WolverinePack.java +++ b/Mage.Sets/src/mage/cards/w/WolverinePack.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.RampageAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WolverinePack extends CardImpl { public WolverinePack(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Wolverine"); + this.subtype.add(SubType.WOLVERINE); this.power = new MageInt(2); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WompRat.java b/Mage.Sets/src/mage/cards/w/WompRat.java index ec48e84cb55..902b8048b98 100644 --- a/Mage.Sets/src/mage/cards/w/WompRat.java +++ b/Mage.Sets/src/mage/cards/w/WompRat.java @@ -1,71 +1,72 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.BecomesMonstrousSourceTriggeredAbility; -import mage.abilities.effects.common.ExileTargetEffect; -import mage.abilities.keyword.MonstrosityAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.target.common.TargetCardInGraveyard; - -/** - * - * @author Styxo - */ -public class WompRat extends CardImpl { - - public WompRat(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Rat"); - this.subtype.add("Beast"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - - // {4}{W}: Monstrosity 1 - this.addAbility(new MonstrosityAbility("{4}{W}", 1)); - - // When Womp Rat becomes monstrous you may exilte target card from a graveyard - Ability ability = new BecomesMonstrousSourceTriggeredAbility(new ExileTargetEffect(), true); - ability.addTarget(new TargetCardInGraveyard()); - this.addAbility(ability); - } - - public WompRat(final WompRat card) { - super(card); - } - - @Override - public WompRat copy() { - return new WompRat(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.BecomesMonstrousSourceTriggeredAbility; +import mage.abilities.effects.common.ExileTargetEffect; +import mage.abilities.keyword.MonstrosityAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.common.TargetCardInGraveyard; + +/** + * + * @author Styxo + */ +public class WompRat extends CardImpl { + + public WompRat(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{W}"); + this.subtype.add(SubType.RAT); + this.subtype.add(SubType.BEAST); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // {4}{W}: Monstrosity 1 + this.addAbility(new MonstrosityAbility("{4}{W}", 1)); + + // When Womp Rat becomes monstrous you may exilte target card from a graveyard + Ability ability = new BecomesMonstrousSourceTriggeredAbility(new ExileTargetEffect(), true); + ability.addTarget(new TargetCardInGraveyard()); + this.addAbility(ability); + } + + public WompRat(final WompRat card) { + super(card); + } + + @Override + public WompRat copy() { + return new WompRat(this); + } +} diff --git a/Mage.Sets/src/mage/cards/w/Wonder.java b/Mage.Sets/src/mage/cards/w/Wonder.java index d446e772a7d..cf8434f0b60 100644 --- a/Mage.Sets/src/mage/cards/w/Wonder.java +++ b/Mage.Sets/src/mage/cards/w/Wonder.java @@ -63,7 +63,7 @@ public class Wonder extends CardImpl { public Wonder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Incarnation"); + this.subtype.add(SubType.INCARNATION); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WoodElves.java b/Mage.Sets/src/mage/cards/w/WoodElves.java index 83a6047eda3..372f790f0fc 100644 --- a/Mage.Sets/src/mage/cards/w/WoodElves.java +++ b/Mage.Sets/src/mage/cards/w/WoodElves.java @@ -52,8 +52,8 @@ public class WoodElves extends CardImpl { public WoodElves(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Scout"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WoodSage.java b/Mage.Sets/src/mage/cards/w/WoodSage.java index c562393390a..12f79ba6d5b 100644 --- a/Mage.Sets/src/mage/cards/w/WoodSage.java +++ b/Mage.Sets/src/mage/cards/w/WoodSage.java @@ -41,6 +41,7 @@ import mage.cards.repository.CardRepository; import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -56,8 +57,8 @@ public class WoodSage extends CardImpl { public WoodSage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{G}{U}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WoodbornBehemoth.java b/Mage.Sets/src/mage/cards/w/WoodbornBehemoth.java index 477f7c8116a..d9e18d040f3 100644 --- a/Mage.Sets/src/mage/cards/w/WoodbornBehemoth.java +++ b/Mage.Sets/src/mage/cards/w/WoodbornBehemoth.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.constants.Zone; @@ -52,7 +53,7 @@ public class WoodbornBehemoth extends CardImpl { public WoodbornBehemoth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/Woodcloaker.java b/Mage.Sets/src/mage/cards/w/Woodcloaker.java index 1a2d7036e11..6c5cd5bd482 100644 --- a/Mage.Sets/src/mage/cards/w/Woodcloaker.java +++ b/Mage.Sets/src/mage/cards/w/Woodcloaker.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -49,7 +50,7 @@ public class Woodcloaker extends CardImpl { public Woodcloaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WoodenStake.java b/Mage.Sets/src/mage/cards/w/WoodenStake.java index 7e0fa8b9403..d400758308a 100644 --- a/Mage.Sets/src/mage/cards/w/WoodenStake.java +++ b/Mage.Sets/src/mage/cards/w/WoodenStake.java @@ -54,7 +54,7 @@ public class WoodenStake extends CardImpl { public WoodenStake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Equip {1} this.addAbility(new EquipAbility(Outcome.AddAbility, new GenericManaCost(1))); diff --git a/Mage.Sets/src/mage/cards/w/WoodfallPrimus.java b/Mage.Sets/src/mage/cards/w/WoodfallPrimus.java index 5764e5d948f..05642cabccf 100644 --- a/Mage.Sets/src/mage/cards/w/WoodfallPrimus.java +++ b/Mage.Sets/src/mage/cards/w/WoodfallPrimus.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; @@ -55,8 +56,8 @@ public class WoodfallPrimus extends CardImpl { public WoodfallPrimus(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}{G}"); - this.subtype.add("Treefolk"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.TREEFOLK); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/w/WoodlandBellower.java b/Mage.Sets/src/mage/cards/w/WoodlandBellower.java index bf082159f03..c8520397d55 100644 --- a/Mage.Sets/src/mage/cards/w/WoodlandBellower.java +++ b/Mage.Sets/src/mage/cards/w/WoodlandBellower.java @@ -37,6 +37,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.SuperType; @@ -59,7 +60,7 @@ public class WoodlandBellower extends CardImpl { public WoodlandBellower(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WoodlandChangeling.java b/Mage.Sets/src/mage/cards/w/WoodlandChangeling.java index 4016a8e3f9b..ba7d3284835 100644 --- a/Mage.Sets/src/mage/cards/w/WoodlandChangeling.java +++ b/Mage.Sets/src/mage/cards/w/WoodlandChangeling.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ChangelingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class WoodlandChangeling extends CardImpl { public WoodlandChangeling(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WoodlandDruid.java b/Mage.Sets/src/mage/cards/w/WoodlandDruid.java index f7088f9d628..31101a0629d 100644 --- a/Mage.Sets/src/mage/cards/w/WoodlandDruid.java +++ b/Mage.Sets/src/mage/cards/w/WoodlandDruid.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class WoodlandDruid extends CardImpl { public WoodlandDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WoodlandPatrol.java b/Mage.Sets/src/mage/cards/w/WoodlandPatrol.java index b3e1cf8e09c..94b18038daf 100644 --- a/Mage.Sets/src/mage/cards/w/WoodlandPatrol.java +++ b/Mage.Sets/src/mage/cards/w/WoodlandPatrol.java @@ -1,62 +1,63 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.keyword.VigilanceAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author LevelX2 - */ -public class WoodlandPatrol extends CardImpl { - - public WoodlandPatrol(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); - this.power = new MageInt(3); - this.toughness = new MageInt(2); - - // Vigilance - this.addAbility(VigilanceAbility.getInstance()); - } - - public WoodlandPatrol(final WoodlandPatrol card) { - super(card); - } - - @Override - public WoodlandPatrol copy() { - return new WoodlandPatrol(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author LevelX2 + */ +public class WoodlandPatrol extends CardImpl { + + public WoodlandPatrol(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); + this.power = new MageInt(3); + this.toughness = new MageInt(2); + + // Vigilance + this.addAbility(VigilanceAbility.getInstance()); + } + + public WoodlandPatrol(final WoodlandPatrol card) { + super(card); + } + + @Override + public WoodlandPatrol copy() { + return new WoodlandPatrol(this); + } +} diff --git a/Mage.Sets/src/mage/cards/w/WoodlandSleuth.java b/Mage.Sets/src/mage/cards/w/WoodlandSleuth.java index edb9a28e994..23a05db93a7 100644 --- a/Mage.Sets/src/mage/cards/w/WoodlandSleuth.java +++ b/Mage.Sets/src/mage/cards/w/WoodlandSleuth.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -56,8 +57,8 @@ public class WoodlandSleuth extends CardImpl { public WoodlandSleuth(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Human"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SCOUT); this.color.setGreen(true); this.power = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WoodlandWanderer.java b/Mage.Sets/src/mage/cards/w/WoodlandWanderer.java index 1592c03eacd..2175669a83e 100644 --- a/Mage.Sets/src/mage/cards/w/WoodlandWanderer.java +++ b/Mage.Sets/src/mage/cards/w/WoodlandWanderer.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; /** @@ -47,7 +48,7 @@ public class WoodlandWanderer extends CardImpl { public WoodlandWanderer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WoodlotCrawler.java b/Mage.Sets/src/mage/cards/w/WoodlotCrawler.java index 5b080da1cbc..382b2106355 100644 --- a/Mage.Sets/src/mage/cards/w/WoodlotCrawler.java +++ b/Mage.Sets/src/mage/cards/w/WoodlotCrawler.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class WoodlotCrawler extends CardImpl { public WoodlotCrawler (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{U}{B}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WoodlurkerMimic.java b/Mage.Sets/src/mage/cards/w/WoodlurkerMimic.java index 5d05a330354..7104eb6d294 100644 --- a/Mage.Sets/src/mage/cards/w/WoodlurkerMimic.java +++ b/Mage.Sets/src/mage/cards/w/WoodlurkerMimic.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.WitherAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SubLayer; import mage.filter.FilterSpell; @@ -61,7 +62,7 @@ public class WoodlurkerMimic extends CardImpl { public WoodlurkerMimic(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B/G}"); - this.subtype.add("Shapeshifter"); + this.subtype.add(SubType.SHAPESHIFTER); this.color.setGreen(true); this.color.setBlack(true); diff --git a/Mage.Sets/src/mage/cards/w/Woodripper.java b/Mage.Sets/src/mage/cards/w/Woodripper.java index f83146970d3..59f6799a131 100644 --- a/Mage.Sets/src/mage/cards/w/Woodripper.java +++ b/Mage.Sets/src/mage/cards/w/Woodripper.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FadingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; import mage.target.common.TargetArtifactPermanent; @@ -50,7 +51,7 @@ public class Woodripper extends CardImpl { public Woodripper(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(4); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/w/WoodvineElemental.java b/Mage.Sets/src/mage/cards/w/WoodvineElemental.java index cb99f88a998..b021f63a070 100644 --- a/Mage.Sets/src/mage/cards/w/WoodvineElemental.java +++ b/Mage.Sets/src/mage/cards/w/WoodvineElemental.java @@ -40,6 +40,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.filter.common.FilterAttackingCreature; @@ -57,7 +58,7 @@ public class WoodvineElemental extends CardImpl { public WoodvineElemental(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{W}"); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WoodweaversPuzzleknot.java b/Mage.Sets/src/mage/cards/w/WoodweaversPuzzleknot.java index 3957fe02c58..5b40dcb213a 100644 --- a/Mage.Sets/src/mage/cards/w/WoodweaversPuzzleknot.java +++ b/Mage.Sets/src/mage/cards/w/WoodweaversPuzzleknot.java @@ -1,75 +1,75 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.abilities.Ability; -import mage.abilities.common.EntersBattlefieldTriggeredAbility; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.SacrificeSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.GainLifeEffect; -import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Zone; - -/** - * - * @author emerald000 - */ -public class WoodweaversPuzzleknot extends CardImpl { - - public WoodweaversPuzzleknot(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); - - // When Woodweaver's Puzzleknot enters the battlefield, you gain 3 life and get {E}{E}{E}. - Ability ability = new EntersBattlefieldTriggeredAbility(new GainLifeEffect(3)); - Effect effect = new GetEnergyCountersControllerEffect(3); - effect.setText("and get {E}{E}{E}"); - ability.addEffect(effect); - this.addAbility(ability); - - // {2}{G}, Sacrifice Woodweaver's Puzzleknot: You gain 3 life and get {E}{E}{E}. - ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(3), new ManaCostsImpl<>("{2}{G}")); - ability.addCost(new SacrificeSourceCost()); - ability.addEffect(effect); - this.addAbility(ability); - } - - public WoodweaversPuzzleknot(final WoodweaversPuzzleknot card) { - super(card); - } - - @Override - public WoodweaversPuzzleknot copy() { - return new WoodweaversPuzzleknot(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.abilities.Ability; +import mage.abilities.common.EntersBattlefieldTriggeredAbility; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.SacrificeSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.effects.common.counter.GetEnergyCountersControllerEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Zone; + +/** + * + * @author emerald000 + */ +public class WoodweaversPuzzleknot extends CardImpl { + + public WoodweaversPuzzleknot(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); + + // When Woodweaver's Puzzleknot enters the battlefield, you gain 3 life and get {E}{E}{E}. + Ability ability = new EntersBattlefieldTriggeredAbility(new GainLifeEffect(3)); + Effect effect = new GetEnergyCountersControllerEffect(3); + effect.setText("and get {E}{E}{E}"); + ability.addEffect(effect); + this.addAbility(ability); + + // {2}{G}, Sacrifice Woodweaver's Puzzleknot: You gain 3 life and get {E}{E}{E}. + ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainLifeEffect(3), new ManaCostsImpl<>("{2}{G}")); + ability.addCost(new SacrificeSourceCost()); + ability.addEffect(effect); + this.addAbility(ability); + } + + public WoodweaversPuzzleknot(final WoodweaversPuzzleknot card) { + super(card); + } + + @Override + public WoodweaversPuzzleknot copy() { + return new WoodweaversPuzzleknot(this); + } +} diff --git a/Mage.Sets/src/mage/cards/w/WoodwraithCorrupter.java b/Mage.Sets/src/mage/cards/w/WoodwraithCorrupter.java index e4b3a67be60..306d63197b3 100644 --- a/Mage.Sets/src/mage/cards/w/WoodwraithCorrupter.java +++ b/Mage.Sets/src/mage/cards/w/WoodwraithCorrupter.java @@ -1,98 +1,98 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.Effect; -import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.SubType; -import mage.constants.Zone; -import mage.filter.common.FilterLandPermanent; -import mage.filter.predicate.mageobject.SubtypePredicate; -import mage.game.permanent.token.Token; -import mage.target.TargetPermanent; - -/** - * - * @author LevelX2 - */ -public class WoodwraithCorrupter extends CardImpl { - - private static final FilterLandPermanent filter = new FilterLandPermanent("Forest"); - - static { - filter.add(new SubtypePredicate(SubType.FOREST)); - } - - public WoodwraithCorrupter(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}{G}"); - - this.subtype.add("Elemental"); - this.subtype.add("Horror"); - this.power = new MageInt(3); - this.toughness = new MageInt(6); - - // {1}{B}{G}, {tap}: Target Forest becomes a 4/4 black and green Elemental Horror creature. It's still a land. - Effect effect = new BecomesCreatureTargetEffect(new WoodwraithCorrupterToken(), false, true, Duration.EndOfGame); - effect.setText("Target Forest becomes a 4/4 black and green Elemental Horror creature. It's still a land"); - Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}{B}{G}")); - ability.addTarget(new TargetPermanent(filter)); - ability.addCost(new TapSourceCost()); - this.addAbility(ability); - } - - public WoodwraithCorrupter(final WoodwraithCorrupter card) { - super(card); - } - - @Override - public WoodwraithCorrupter copy() { - return new WoodwraithCorrupter(this); - } -} - -class WoodwraithCorrupterToken extends Token { - - public WoodwraithCorrupterToken() { - super("", "4/4 black and green Elemental Horror creature"); - cardType.add(CardType.CREATURE); - subtype.add("Elemental"); - subtype.add("Horror"); - power = new MageInt(4); - toughness = new MageInt(4); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.Effect; +import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.Duration; +import mage.constants.SubType; +import mage.constants.Zone; +import mage.filter.common.FilterLandPermanent; +import mage.filter.predicate.mageobject.SubtypePredicate; +import mage.game.permanent.token.Token; +import mage.target.TargetPermanent; + +/** + * + * @author LevelX2 + */ +public class WoodwraithCorrupter extends CardImpl { + + private static final FilterLandPermanent filter = new FilterLandPermanent("Forest"); + + static { + filter.add(new SubtypePredicate(SubType.FOREST)); + } + + public WoodwraithCorrupter(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{B}{B}{G}"); + + this.subtype.add(SubType.ELEMENTAL); + this.subtype.add(SubType.HORROR); + this.power = new MageInt(3); + this.toughness = new MageInt(6); + + // {1}{B}{G}, {tap}: Target Forest becomes a 4/4 black and green Elemental Horror creature. It's still a land. + Effect effect = new BecomesCreatureTargetEffect(new WoodwraithCorrupterToken(), false, true, Duration.EndOfGame); + effect.setText("Target Forest becomes a 4/4 black and green Elemental Horror creature. It's still a land"); + Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl<>("{1}{B}{G}")); + ability.addTarget(new TargetPermanent(filter)); + ability.addCost(new TapSourceCost()); + this.addAbility(ability); + } + + public WoodwraithCorrupter(final WoodwraithCorrupter card) { + super(card); + } + + @Override + public WoodwraithCorrupter copy() { + return new WoodwraithCorrupter(this); + } +} + +class WoodwraithCorrupterToken extends Token { + + public WoodwraithCorrupterToken() { + super("", "4/4 black and green Elemental Horror creature"); + cardType.add(CardType.CREATURE); + subtype.add(SubType.ELEMENTAL); + subtype.add(SubType.HORROR); + power = new MageInt(4); + toughness = new MageInt(4); + } +} diff --git a/Mage.Sets/src/mage/cards/w/WoodwraithStrangler.java b/Mage.Sets/src/mage/cards/w/WoodwraithStrangler.java index 000e8a501a1..639636d3d92 100644 --- a/Mage.Sets/src/mage/cards/w/WoodwraithStrangler.java +++ b/Mage.Sets/src/mage/cards/w/WoodwraithStrangler.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.RegenerateSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; import mage.target.common.TargetCardInYourGraveyard; @@ -47,8 +48,8 @@ public class WoodwraithStrangler extends CardImpl { public WoodwraithStrangler(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{G}"); - this.subtype.add("Plant"); - this.subtype.add("Zombie"); + this.subtype.add(SubType.PLANT); + this.subtype.add(SubType.ZOMBIE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WookieeBountyHunter.java b/Mage.Sets/src/mage/cards/w/WookieeBountyHunter.java index 50f320903a4..899dce3cc84 100644 --- a/Mage.Sets/src/mage/cards/w/WookieeBountyHunter.java +++ b/Mage.Sets/src/mage/cards/w/WookieeBountyHunter.java @@ -1,63 +1,64 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.effects.common.GainLifeEffect; -import mage.abilities.keyword.BountyAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class WookieeBountyHunter extends CardImpl { - - public WookieeBountyHunter(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Wookiee"); - this.subtype.add("Hunter"); - this.power = new MageInt(4); - this.toughness = new MageInt(5); - - // Bounty — Whenever a creature an opponent controls with a bounty counter on it dies, you gain 3 life. - this.addAbility(new BountyAbility(new GainLifeEffect(3))); - } - - public WookieeBountyHunter(final WookieeBountyHunter card) { - super(card); - } - - @Override - public WookieeBountyHunter copy() { - return new WookieeBountyHunter(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.effects.common.GainLifeEffect; +import mage.abilities.keyword.BountyAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author Styxo + */ +public class WookieeBountyHunter extends CardImpl { + + public WookieeBountyHunter(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); + this.subtype.add(SubType.WOOKIEE); + this.subtype.add(SubType.HUNTER); + this.power = new MageInt(4); + this.toughness = new MageInt(5); + + // Bounty — Whenever a creature an opponent controls with a bounty counter on it dies, you gain 3 life. + this.addAbility(new BountyAbility(new GainLifeEffect(3))); + } + + public WookieeBountyHunter(final WookieeBountyHunter card) { + super(card); + } + + @Override + public WookieeBountyHunter copy() { + return new WookieeBountyHunter(this); + } +} diff --git a/Mage.Sets/src/mage/cards/w/WookieeMystic.java b/Mage.Sets/src/mage/cards/w/WookieeMystic.java index 05211b93998..fc4376f37f0 100644 --- a/Mage.Sets/src/mage/cards/w/WookieeMystic.java +++ b/Mage.Sets/src/mage/cards/w/WookieeMystic.java @@ -1,163 +1,164 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; -import mage.MageInt; -import mage.MageObject; -import mage.Mana; -import mage.abilities.Ability; -import mage.abilities.costs.common.TapSourceCost; -import mage.abilities.effects.common.BasicManaEffect; -import mage.abilities.effects.common.ManaEffect; -import mage.abilities.mana.SimpleManaAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.WatcherScope; -import mage.constants.Zone; -import mage.counters.CounterType; -import mage.game.Game; -import mage.game.events.GameEvent; -import mage.game.events.ZoneChangeEvent; -import mage.game.permanent.Permanent; -import mage.game.stack.Spell; -import mage.watchers.Watcher; - -/** - * - * @author Styxo - */ -public class WookieeMystic extends CardImpl { - - public WookieeMystic(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}{W}"); - this.subtype.add("Wookiee"); - this.subtype.add("Shaman"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // {T}: Add {R}, {G} or {W} to your mana pool. If that mana is spent on a creature spell, it enters the battlefield with a +1/+1 counter on it. - Mana mana = Mana.RedMana(1); - mana.setFlag(true); - ManaEffect effect = new BasicManaEffect(mana); - effect.setText("Add {R} to your mana pool. If that mana is spent on a creature spell, it enters the battlefield with a +1/+1 counter on it"); - Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); - this.addAbility(ability, new WookieeMysticWatcher(ability)); - - mana = Mana.GreenMana(1); - mana.setFlag(true); - effect = new BasicManaEffect(mana); - effect.setText("Add {G} to your mana pool. If that mana is spent on a creature spell, it enters the battlefield with a +1/+1 counter on it"); - ability = new SimpleManaAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); - this.addAbility(ability, new WookieeMysticWatcher(ability)); - - mana = Mana.WhiteMana(1); - mana.setFlag(true); - effect = new BasicManaEffect(mana); - effect.setText("Add {W} to your mana pool. If that mana is spent on a creature spell, it enters the battlefield with a +1/+1 counter on it"); - ability = new SimpleManaAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); - this.addAbility(ability, new WookieeMysticWatcher(ability)); - } - - public WookieeMystic(final WookieeMystic card) { - super(card); - } - - @Override - public WookieeMystic copy() { - return new WookieeMystic(this); - } -} - -class WookieeMysticWatcher extends Watcher { - - private final Ability source; - private final List creatures = new ArrayList<>(); - - WookieeMysticWatcher(Ability source) { - super("HallOfTheBanditLordWatcher", WatcherScope.CARD); - this.source = source; - } - - WookieeMysticWatcher(final WookieeMysticWatcher watcher) { - super(watcher); - this.creatures.addAll(watcher.creatures); - this.source = watcher.source; - } - - @Override - public WookieeMysticWatcher copy() { - return new WookieeMysticWatcher(this); - } - - @Override - public void watch(GameEvent event, Game game) { - if (event.getType() == GameEvent.EventType.MANA_PAID) { - MageObject target = game.getObject(event.getTargetId()); - if (event.getSourceId() != null - && event.getSourceId().equals(this.getSourceId()) - && target != null && target.isCreature() - && event.getFlag()) { - if (target instanceof Spell) { - this.creatures.add(((Spell) target).getCard().getId()); - } - } - } - if (event.getType() == GameEvent.EventType.COUNTERED) { - if (creatures.contains(event.getTargetId())) { - creatures.remove(event.getSourceId()); - } - } - if (event.getType() == GameEvent.EventType.ZONE_CHANGE) { - if (creatures.contains(event.getSourceId())) { - ZoneChangeEvent zEvent = (ZoneChangeEvent) event; - // spell was e.g. exiled and goes again to stack, so previous cast has not resolved. - if (zEvent.getToZone() == Zone.STACK) { - creatures.remove(event.getSourceId()); - } - } - } - if (event.getType() == GameEvent.EventType.ENTERS_THE_BATTLEFIELD) { - if (creatures.contains(event.getSourceId())) { - Permanent creature = game.getPermanent(event.getSourceId()); - creature.addCounters(CounterType.P1P1.createInstance(), source, game); - creatures.remove(event.getSourceId()); - } - } - } - - @Override - public void reset() { - super.reset(); - creatures.clear(); - } - -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; +import mage.MageInt; +import mage.MageObject; +import mage.Mana; +import mage.abilities.Ability; +import mage.abilities.costs.common.TapSourceCost; +import mage.abilities.effects.common.BasicManaEffect; +import mage.abilities.effects.common.ManaEffect; +import mage.abilities.mana.SimpleManaAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.WatcherScope; +import mage.constants.Zone; +import mage.counters.CounterType; +import mage.game.Game; +import mage.game.events.GameEvent; +import mage.game.events.ZoneChangeEvent; +import mage.game.permanent.Permanent; +import mage.game.stack.Spell; +import mage.watchers.Watcher; + +/** + * + * @author Styxo + */ +public class WookieeMystic extends CardImpl { + + public WookieeMystic(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}{W}"); + this.subtype.add(SubType.WOOKIEE); + this.subtype.add(SubType.SHAMAN); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // {T}: Add {R}, {G} or {W} to your mana pool. If that mana is spent on a creature spell, it enters the battlefield with a +1/+1 counter on it. + Mana mana = Mana.RedMana(1); + mana.setFlag(true); + ManaEffect effect = new BasicManaEffect(mana); + effect.setText("Add {R} to your mana pool. If that mana is spent on a creature spell, it enters the battlefield with a +1/+1 counter on it"); + Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); + this.addAbility(ability, new WookieeMysticWatcher(ability)); + + mana = Mana.GreenMana(1); + mana.setFlag(true); + effect = new BasicManaEffect(mana); + effect.setText("Add {G} to your mana pool. If that mana is spent on a creature spell, it enters the battlefield with a +1/+1 counter on it"); + ability = new SimpleManaAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); + this.addAbility(ability, new WookieeMysticWatcher(ability)); + + mana = Mana.WhiteMana(1); + mana.setFlag(true); + effect = new BasicManaEffect(mana); + effect.setText("Add {W} to your mana pool. If that mana is spent on a creature spell, it enters the battlefield with a +1/+1 counter on it"); + ability = new SimpleManaAbility(Zone.BATTLEFIELD, effect, new TapSourceCost()); + this.addAbility(ability, new WookieeMysticWatcher(ability)); + } + + public WookieeMystic(final WookieeMystic card) { + super(card); + } + + @Override + public WookieeMystic copy() { + return new WookieeMystic(this); + } +} + +class WookieeMysticWatcher extends Watcher { + + private final Ability source; + private final List creatures = new ArrayList<>(); + + WookieeMysticWatcher(Ability source) { + super("HallOfTheBanditLordWatcher", WatcherScope.CARD); + this.source = source; + } + + WookieeMysticWatcher(final WookieeMysticWatcher watcher) { + super(watcher); + this.creatures.addAll(watcher.creatures); + this.source = watcher.source; + } + + @Override + public WookieeMysticWatcher copy() { + return new WookieeMysticWatcher(this); + } + + @Override + public void watch(GameEvent event, Game game) { + if (event.getType() == GameEvent.EventType.MANA_PAID) { + MageObject target = game.getObject(event.getTargetId()); + if (event.getSourceId() != null + && event.getSourceId().equals(this.getSourceId()) + && target != null && target.isCreature() + && event.getFlag()) { + if (target instanceof Spell) { + this.creatures.add(((Spell) target).getCard().getId()); + } + } + } + if (event.getType() == GameEvent.EventType.COUNTERED) { + if (creatures.contains(event.getTargetId())) { + creatures.remove(event.getSourceId()); + } + } + if (event.getType() == GameEvent.EventType.ZONE_CHANGE) { + if (creatures.contains(event.getSourceId())) { + ZoneChangeEvent zEvent = (ZoneChangeEvent) event; + // spell was e.g. exiled and goes again to stack, so previous cast has not resolved. + if (zEvent.getToZone() == Zone.STACK) { + creatures.remove(event.getSourceId()); + } + } + } + if (event.getType() == GameEvent.EventType.ENTERS_THE_BATTLEFIELD) { + if (creatures.contains(event.getSourceId())) { + Permanent creature = game.getPermanent(event.getSourceId()); + creature.addCounters(CounterType.P1P1.createInstance(), source, game); + creatures.remove(event.getSourceId()); + } + } + } + + @Override + public void reset() { + super.reset(); + creatures.clear(); + } + +} diff --git a/Mage.Sets/src/mage/cards/w/WookieeRaidleader.java b/Mage.Sets/src/mage/cards/w/WookieeRaidleader.java index 4cfe2f5790a..0d1bad37e64 100644 --- a/Mage.Sets/src/mage/cards/w/WookieeRaidleader.java +++ b/Mage.Sets/src/mage/cards/w/WookieeRaidleader.java @@ -1,78 +1,79 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.w; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.AttacksTriggeredAbility; -import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; -import mage.abilities.keyword.TrampleAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.filter.common.FilterCreaturePermanent; -import mage.filter.predicate.permanent.AnotherPredicate; -import mage.target.common.TargetCreaturePermanent; - -/** - * - * @author Styxo - */ -public class WookieeRaidleader extends CardImpl { - - private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature"); - - static { - filter.add(new AnotherPredicate()); - } - - public WookieeRaidleader(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R/G}{R/G}"); - this.subtype.add("Wookiee"); - this.subtype.add("Warrior"); - this.power = new MageInt(3); - this.toughness = new MageInt(4); - - // Whenever Wookiee Raidleader attacks, antoher target creature gains trample until end of turn - Ability ability = new AttacksTriggeredAbility(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), false); - ability.addTarget(new TargetCreaturePermanent(filter)); - this.addAbility(ability); - - } - - public WookieeRaidleader(final WookieeRaidleader card) { - super(card); - } - - @Override - public WookieeRaidleader copy() { - return new WookieeRaidleader(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.w; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.AttacksTriggeredAbility; +import mage.abilities.effects.common.continuous.GainAbilityTargetEffect; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.filter.common.FilterCreaturePermanent; +import mage.filter.predicate.permanent.AnotherPredicate; +import mage.target.common.TargetCreaturePermanent; + +/** + * + * @author Styxo + */ +public class WookieeRaidleader extends CardImpl { + + private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("another target creature"); + + static { + filter.add(new AnotherPredicate()); + } + + public WookieeRaidleader(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R/G}{R/G}"); + this.subtype.add(SubType.WOOKIEE); + this.subtype.add(SubType.WARRIOR); + this.power = new MageInt(3); + this.toughness = new MageInt(4); + + // Whenever Wookiee Raidleader attacks, antoher target creature gains trample until end of turn + Ability ability = new AttacksTriggeredAbility(new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), false); + ability.addTarget(new TargetCreaturePermanent(filter)); + this.addAbility(ability); + + } + + public WookieeRaidleader(final WookieeRaidleader card) { + super(card); + } + + @Override + public WookieeRaidleader copy() { + return new WookieeRaidleader(this); + } +} diff --git a/Mage.Sets/src/mage/cards/w/WoollyLoxodon.java b/Mage.Sets/src/mage/cards/w/WoollyLoxodon.java index 512c049acbc..1b0a45d74f7 100644 --- a/Mage.Sets/src/mage/cards/w/WoollyLoxodon.java +++ b/Mage.Sets/src/mage/cards/w/WoollyLoxodon.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.MorphAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class WoollyLoxodon extends CardImpl { public WoollyLoxodon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Elephant"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELEPHANT); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(6); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/w/WoollyRazorback.java b/Mage.Sets/src/mage/cards/w/WoollyRazorback.java index 8d2c7a59a06..05544ba8a7f 100644 --- a/Mage.Sets/src/mage/cards/w/WoollyRazorback.java +++ b/Mage.Sets/src/mage/cards/w/WoollyRazorback.java @@ -44,6 +44,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -56,8 +57,8 @@ public class WoollyRazorback extends CardImpl { public WoollyRazorback(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{W}{W}"); - this.subtype.add("Boar"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BOAR); + this.subtype.add(SubType.BEAST); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/w/WoollyThoctar.java b/Mage.Sets/src/mage/cards/w/WoollyThoctar.java index d46da30a3c9..881e4ab2b3e 100644 --- a/Mage.Sets/src/mage/cards/w/WoollyThoctar.java +++ b/Mage.Sets/src/mage/cards/w/WoollyThoctar.java @@ -33,6 +33,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class WoollyThoctar extends CardImpl { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}{W}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(4); } diff --git a/Mage.Sets/src/mage/cards/w/Workhorse.java b/Mage.Sets/src/mage/cards/w/Workhorse.java index 7176f9ccd2c..9ebc1302a07 100644 --- a/Mage.Sets/src/mage/cards/w/Workhorse.java +++ b/Mage.Sets/src/mage/cards/w/Workhorse.java @@ -37,6 +37,7 @@ import mage.abilities.mana.SimpleManaAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.counters.CounterType; @@ -48,7 +49,7 @@ public class Workhorse extends CardImpl { public Workhorse(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{6}"); - this.subtype.add("Horse"); + this.subtype.add(SubType.HORSE); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/w/WorkshopAssistant.java b/Mage.Sets/src/mage/cards/w/WorkshopAssistant.java index 86baf177047..14414b6741e 100644 --- a/Mage.Sets/src/mage/cards/w/WorkshopAssistant.java +++ b/Mage.Sets/src/mage/cards/w/WorkshopAssistant.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.ReturnFromGraveyardToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactCard; import mage.filter.predicate.mageobject.AnotherCardPredicate; import mage.target.common.TargetCardInYourGraveyard; @@ -54,7 +55,7 @@ public class WorkshopAssistant extends CardImpl { public WorkshopAssistant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Construct"); + this.subtype.add(SubType.CONSTRUCT); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WorldBreaker.java b/Mage.Sets/src/mage/cards/w/WorldBreaker.java index 123c14c71db..ad439c20fed 100644 --- a/Mage.Sets/src/mage/cards/w/WorldBreaker.java +++ b/Mage.Sets/src/mage/cards/w/WorldBreaker.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.ReachAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.FilterPermanent; import mage.filter.common.FilterControlledLandPermanent; @@ -66,7 +67,7 @@ public class WorldBreaker extends CardImpl { public WorldBreaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{6}{G}"); - this.subtype.add("Eldrazi"); + this.subtype.add(SubType.ELDRAZI); this.power = new MageInt(5); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/w/WorldQueller.java b/Mage.Sets/src/mage/cards/w/WorldQueller.java index ede1c4738b0..9b52e7df2ef 100644 --- a/Mage.Sets/src/mage/cards/w/WorldQueller.java +++ b/Mage.Sets/src/mage/cards/w/WorldQueller.java @@ -37,6 +37,7 @@ import mage.cards.CardSetInfo; import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.common.FilterControlledPermanent; @@ -57,7 +58,7 @@ public class WorldQueller extends CardImpl { public WorldQueller(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{W}{W}"); - this.subtype.add("Avatar"); + this.subtype.add(SubType.AVATAR); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WorldgorgerDragon.java b/Mage.Sets/src/mage/cards/w/WorldgorgerDragon.java index c83eec427a5..6a73cf7124f 100644 --- a/Mage.Sets/src/mage/cards/w/WorldgorgerDragon.java +++ b/Mage.Sets/src/mage/cards/w/WorldgorgerDragon.java @@ -42,6 +42,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -62,8 +63,8 @@ public class WorldgorgerDragon extends CardImpl { public WorldgorgerDragon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}{R}{R}"); - this.subtype.add("Nightmare"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.NIGHTMARE); + this.subtype.add(SubType.DRAGON); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/w/WorldheartPhoenix.java b/Mage.Sets/src/mage/cards/w/WorldheartPhoenix.java index 7d65b64cee2..3ab8444db95 100644 --- a/Mage.Sets/src/mage/cards/w/WorldheartPhoenix.java +++ b/Mage.Sets/src/mage/cards/w/WorldheartPhoenix.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AsThoughEffectType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class WorldheartPhoenix extends CardImpl { public WorldheartPhoenix(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Phoenix"); + this.subtype.add(SubType.PHOENIX); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/Worldslayer.java b/Mage.Sets/src/mage/cards/w/Worldslayer.java index 8a71eee020d..2c74e45ece1 100644 --- a/Mage.Sets/src/mage/cards/w/Worldslayer.java +++ b/Mage.Sets/src/mage/cards/w/Worldslayer.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EquipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; @@ -54,7 +55,7 @@ public class Worldslayer extends CardImpl { public Worldslayer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{5}"); - this.subtype.add("Equipment"); + this.subtype.add(SubType.EQUIPMENT); // Whenever equipped creature deals combat damage to a player, destroy all permanents other than Worldslayer. this.addAbility(new WorldslayerTriggeredAbility()); diff --git a/Mage.Sets/src/mage/cards/w/WorldspineWurm.java b/Mage.Sets/src/mage/cards/w/WorldspineWurm.java index bb7ed369467..0758e9b3284 100644 --- a/Mage.Sets/src/mage/cards/w/WorldspineWurm.java +++ b/Mage.Sets/src/mage/cards/w/WorldspineWurm.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.WurmToken2; /** @@ -47,7 +48,7 @@ public class WorldspineWurm extends CardImpl { public WorldspineWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{8}{G}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(15); this.toughness = new MageInt(15); diff --git a/Mage.Sets/src/mage/cards/w/WormfangDrake.java b/Mage.Sets/src/mage/cards/w/WormfangDrake.java index 36cc5a1bbfb..d225ab2adc0 100644 --- a/Mage.Sets/src/mage/cards/w/WormfangDrake.java +++ b/Mage.Sets/src/mage/cards/w/WormfangDrake.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -59,8 +60,8 @@ public class WormfangDrake extends CardImpl { public WormfangDrake(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Nightmare"); - this.subtype.add("Drake"); + this.subtype.add(SubType.NIGHTMARE); + this.subtype.add(SubType.DRAKE); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WormwoodDryad.java b/Mage.Sets/src/mage/cards/w/WormwoodDryad.java index 90daeda73f4..b82f938a240 100644 --- a/Mage.Sets/src/mage/cards/w/WormwoodDryad.java +++ b/Mage.Sets/src/mage/cards/w/WormwoodDryad.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class WormwoodDryad extends CardImpl { public WormwoodDryad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WormwoodTreefolk.java b/Mage.Sets/src/mage/cards/w/WormwoodTreefolk.java index 6b922af3253..09ea9d11fea 100644 --- a/Mage.Sets/src/mage/cards/w/WormwoodTreefolk.java +++ b/Mage.Sets/src/mage/cards/w/WormwoodTreefolk.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.SwampwalkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class WormwoodTreefolk extends CardImpl { public WormwoodTreefolk(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WortBoggartAuntie.java b/Mage.Sets/src/mage/cards/w/WortBoggartAuntie.java index a5d3f702353..d87bbeb15cc 100644 --- a/Mage.Sets/src/mage/cards/w/WortBoggartAuntie.java +++ b/Mage.Sets/src/mage/cards/w/WortBoggartAuntie.java @@ -58,8 +58,8 @@ public class WortBoggartAuntie extends CardImpl { public WortBoggartAuntie(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WortTheRaidmother.java b/Mage.Sets/src/mage/cards/w/WortTheRaidmother.java index 2fe89eab313..2f19c5a7971 100644 --- a/Mage.Sets/src/mage/cards/w/WortTheRaidmother.java +++ b/Mage.Sets/src/mage/cards/w/WortTheRaidmother.java @@ -56,8 +56,8 @@ public class WortTheRaidmother extends CardImpl { public WortTheRaidmother(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{R/G}{R/G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Goblin"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.GOBLIN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WreathofGeists.java b/Mage.Sets/src/mage/cards/w/WreathofGeists.java index 14a185efc6b..a31bb8b0c19 100644 --- a/Mage.Sets/src/mage/cards/w/WreathofGeists.java +++ b/Mage.Sets/src/mage/cards/w/WreathofGeists.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -52,7 +53,7 @@ public class WreathofGeists extends CardImpl { public WreathofGeists(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/w/WreckingOgre.java b/Mage.Sets/src/mage/cards/w/WreckingOgre.java index ff81800a68d..09bbe354edd 100644 --- a/Mage.Sets/src/mage/cards/w/WreckingOgre.java +++ b/Mage.Sets/src/mage/cards/w/WreckingOgre.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.DoubleStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -47,8 +48,8 @@ public class WreckingOgre extends CardImpl { public WreckingOgre(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); - this.subtype.add("Ogre"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WrensRunPackmaster.java b/Mage.Sets/src/mage/cards/w/WrensRunPackmaster.java index 15a9747e4d4..7e5aafa9414 100644 --- a/Mage.Sets/src/mage/cards/w/WrensRunPackmaster.java +++ b/Mage.Sets/src/mage/cards/w/WrensRunPackmaster.java @@ -59,8 +59,8 @@ public class WrensRunPackmaster extends CardImpl { public WrensRunPackmaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/w/WrensRunVanquisher.java b/Mage.Sets/src/mage/cards/w/WrensRunVanquisher.java index d2536be5dfd..a5d876a41eb 100644 --- a/Mage.Sets/src/mage/cards/w/WrensRunVanquisher.java +++ b/Mage.Sets/src/mage/cards/w/WrensRunVanquisher.java @@ -54,8 +54,8 @@ public class WrensRunVanquisher extends CardImpl { public WrensRunVanquisher(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WretchedAnurid.java b/Mage.Sets/src/mage/cards/w/WretchedAnurid.java index e6269a68006..a761f0fbb52 100644 --- a/Mage.Sets/src/mage/cards/w/WretchedAnurid.java +++ b/Mage.Sets/src/mage/cards/w/WretchedAnurid.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.LoseLifeSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.FilterPermanent; import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; @@ -52,9 +53,9 @@ public class WretchedAnurid extends CardImpl { public WretchedAnurid(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Frog"); - this.subtype.add("Beast"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.FROG); + this.subtype.add(SubType.BEAST); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WretchedCamel.java b/Mage.Sets/src/mage/cards/w/WretchedCamel.java index c790a744fc9..0b959978a23 100644 --- a/Mage.Sets/src/mage/cards/w/WretchedCamel.java +++ b/Mage.Sets/src/mage/cards/w/WretchedCamel.java @@ -62,8 +62,8 @@ public class WretchedCamel extends CardImpl { public WretchedCamel(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Camel"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.CAMEL); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WretchedGryff.java b/Mage.Sets/src/mage/cards/w/WretchedGryff.java index abad76feaef..12f73550fff 100644 --- a/Mage.Sets/src/mage/cards/w/WretchedGryff.java +++ b/Mage.Sets/src/mage/cards/w/WretchedGryff.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,8 +47,8 @@ public class WretchedGryff extends CardImpl { public WretchedGryff(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{7}"); - this.subtype.add("Eldrazi"); - this.subtype.add("Hippogriff"); + this.subtype.add(SubType.ELDRAZI); + this.subtype.add(SubType.HIPPOGRIFF); this.power = new MageInt(3); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/w/WrexialTheRisenDeep.java b/Mage.Sets/src/mage/cards/w/WrexialTheRisenDeep.java index 47d61884d00..a98bd2de1e2 100644 --- a/Mage.Sets/src/mage/cards/w/WrexialTheRisenDeep.java +++ b/Mage.Sets/src/mage/cards/w/WrexialTheRisenDeep.java @@ -61,7 +61,7 @@ public class WrexialTheRisenDeep extends CardImpl { public WrexialTheRisenDeep(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Kraken"); + this.subtype.add(SubType.KRAKEN); this.power = new MageInt(5); this.toughness = new MageInt(8); diff --git a/Mage.Sets/src/mage/cards/w/WritOfPassage.java b/Mage.Sets/src/mage/cards/w/WritOfPassage.java index 13f47d7df4a..4f280d0e339 100644 --- a/Mage.Sets/src/mage/cards/w/WritOfPassage.java +++ b/Mage.Sets/src/mage/cards/w/WritOfPassage.java @@ -47,6 +47,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Duration; import mage.filter.FilterPermanent; @@ -64,7 +65,7 @@ public class WritOfPassage extends CardImpl { public WritOfPassage(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ENCHANTMENT}, "{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/w/WuAdmiral.java b/Mage.Sets/src/mage/cards/w/WuAdmiral.java index ff6d1d47425..4978a4a92ff 100644 --- a/Mage.Sets/src/mage/cards/w/WuAdmiral.java +++ b/Mage.Sets/src/mage/cards/w/WuAdmiral.java @@ -51,8 +51,8 @@ public class WuAdmiral extends CardImpl { public WuAdmiral(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{U}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WuEliteCavalry.java b/Mage.Sets/src/mage/cards/w/WuEliteCavalry.java index b88e77da86a..2ec5d4cd6a8 100644 --- a/Mage.Sets/src/mage/cards/w/WuEliteCavalry.java +++ b/Mage.Sets/src/mage/cards/w/WuEliteCavalry.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class WuEliteCavalry extends CardImpl { public WuEliteCavalry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WuInfantry.java b/Mage.Sets/src/mage/cards/w/WuInfantry.java index ba0087a4ac1..4867124e93d 100644 --- a/Mage.Sets/src/mage/cards/w/WuInfantry.java +++ b/Mage.Sets/src/mage/cards/w/WuInfantry.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,8 +42,8 @@ public class WuInfantry extends CardImpl { public WuInfantry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WuLightCavalry.java b/Mage.Sets/src/mage/cards/w/WuLightCavalry.java index 56e1a41854c..976ff8a2598 100644 --- a/Mage.Sets/src/mage/cards/w/WuLightCavalry.java +++ b/Mage.Sets/src/mage/cards/w/WuLightCavalry.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class WuLightCavalry extends CardImpl { public WuLightCavalry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WuLongbowman.java b/Mage.Sets/src/mage/cards/w/WuLongbowman.java index 30ab1a12be9..8cec137c8a7 100644 --- a/Mage.Sets/src/mage/cards/w/WuLongbowman.java +++ b/Mage.Sets/src/mage/cards/w/WuLongbowman.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.DamageTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.target.common.TargetCreatureOrPlayer; @@ -48,9 +49,9 @@ public class WuLongbowman extends CardImpl { public WuLongbowman(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Archer"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ARCHER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WuScout.java b/Mage.Sets/src/mage/cards/w/WuScout.java index cdd00d4d1e8..1889be7a598 100644 --- a/Mage.Sets/src/mage/cards/w/WuScout.java +++ b/Mage.Sets/src/mage/cards/w/WuScout.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetOpponent; /** @@ -47,9 +48,9 @@ public class WuScout extends CardImpl { public WuScout(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Scout"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.SCOUT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WuSpy.java b/Mage.Sets/src/mage/cards/w/WuSpy.java index 5c7ae227553..3b86994d12c 100644 --- a/Mage.Sets/src/mage/cards/w/WuSpy.java +++ b/Mage.Sets/src/mage/cards/w/WuSpy.java @@ -38,6 +38,7 @@ import mage.cards.CardSetInfo; import mage.cards.Cards; import mage.cards.CardsImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.FilterCard; @@ -55,9 +56,9 @@ public class WuSpy extends CardImpl { public WuSpy(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{U}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/w/WuWarship.java b/Mage.Sets/src/mage/cards/w/WuWarship.java index b7657a87c3f..bb75fe64119 100644 --- a/Mage.Sets/src/mage/cards/w/WuWarship.java +++ b/Mage.Sets/src/mage/cards/w/WuWarship.java @@ -46,8 +46,8 @@ public class WuWarship extends CardImpl { public WuWarship(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WurmcoilEngine.java b/Mage.Sets/src/mage/cards/w/WurmcoilEngine.java index 0bb96afffa0..8a5d104b8e4 100644 --- a/Mage.Sets/src/mage/cards/w/WurmcoilEngine.java +++ b/Mage.Sets/src/mage/cards/w/WurmcoilEngine.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.LifelinkAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.Wurm1Token; import mage.game.permanent.token.Wurm2Token; @@ -48,7 +49,7 @@ public class WurmcoilEngine extends CardImpl { public WurmcoilEngine(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{6}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/w/WurmskinForger.java b/Mage.Sets/src/mage/cards/w/WurmskinForger.java index 37551ac6ad3..415848c9591 100644 --- a/Mage.Sets/src/mage/cards/w/WurmskinForger.java +++ b/Mage.Sets/src/mage/cards/w/WurmskinForger.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.counter.DistributeCountersEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.counters.CounterType; import mage.target.common.TargetCreaturePermanentAmount; @@ -46,8 +47,8 @@ public class WurmskinForger extends CardImpl { public WurmskinForger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{G}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/w/WurmweaverCoil.java b/Mage.Sets/src/mage/cards/w/WurmweaverCoil.java index 59205cea4a5..35df281afbf 100644 --- a/Mage.Sets/src/mage/cards/w/WurmweaverCoil.java +++ b/Mage.Sets/src/mage/cards/w/WurmweaverCoil.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -64,7 +65,7 @@ public class WurmweaverCoil extends CardImpl { public WurmweaverCoil(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{4}{G}{G}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); TargetPermanent auraTarget = new TargetCreaturePermanent(filter); this.getSpellAbility().addTarget(auraTarget); diff --git a/Mage.Sets/src/mage/cards/w/WydwenTheBitingGale.java b/Mage.Sets/src/mage/cards/w/WydwenTheBitingGale.java index ae5f4b0a4f8..af01f5efa3b 100644 --- a/Mage.Sets/src/mage/cards/w/WydwenTheBitingGale.java +++ b/Mage.Sets/src/mage/cards/w/WydwenTheBitingGale.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class WydwenTheBitingGale extends CardImpl { public WydwenTheBitingGale(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{U}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Faerie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.FAERIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/w/WyluliWolf.java b/Mage.Sets/src/mage/cards/w/WyluliWolf.java index 4426b8253d6..44a561abba8 100644 --- a/Mage.Sets/src/mage/cards/w/WyluliWolf.java +++ b/Mage.Sets/src/mage/cards/w/WyluliWolf.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.target.common.TargetCreaturePermanent; @@ -48,7 +49,7 @@ public class WyluliWolf extends CardImpl { public WyluliWolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/x/XWing.java b/Mage.Sets/src/mage/cards/x/XWing.java index 5524bf413be..b5d97b947de 100644 --- a/Mage.Sets/src/mage/cards/x/XWing.java +++ b/Mage.Sets/src/mage/cards/x/XWing.java @@ -1,72 +1,73 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.x; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.common.SimpleActivatedAbility; -import mage.abilities.costs.mana.ManaCostsImpl; -import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; -import mage.abilities.keyword.SpaceflightAbility; -import mage.abilities.keyword.VigilanceAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.constants.Duration; -import mage.constants.Zone; - -/** - * - * @author Styxo - */ -public class XWing extends CardImpl { - - public XWing(UUID ownerId, CardSetInfo setInfo) { - super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}{W}"); - this.subtype.add("Rebel"); - this.subtype.add("Starship"); - this.power = new MageInt(2); - this.toughness = new MageInt(2); - - // Spaceflight - this.addAbility(SpaceflightAbility.getInstance()); - - // {W}: X-Wing gains viginlance until end of turn. - this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{W}"))); - - } - - public XWing(final XWing card) { - super(card); - } - - @Override - public XWing copy() { - return new XWing(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.x; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.SimpleActivatedAbility; +import mage.abilities.costs.mana.ManaCostsImpl; +import mage.abilities.effects.common.continuous.GainAbilitySourceEffect; +import mage.abilities.keyword.SpaceflightAbility; +import mage.abilities.keyword.VigilanceAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.constants.Duration; +import mage.constants.Zone; + +/** + * + * @author Styxo + */ +public class XWing extends CardImpl { + + public XWing(UUID ownerId, CardSetInfo setInfo) { + super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT, CardType.CREATURE}, "{2}{W}"); + this.subtype.add(SubType.REBEL); + this.subtype.add(SubType.STARSHIP); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Spaceflight + this.addAbility(SpaceflightAbility.getInstance()); + + // {W}: X-Wing gains viginlance until end of turn. + this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilitySourceEffect(VigilanceAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{W}"))); + + } + + public XWing(final XWing card) { + super(card); + } + + @Override + public XWing copy() { + return new XWing(this); + } +} diff --git a/Mage.Sets/src/mage/cards/x/XantidSwarm.java b/Mage.Sets/src/mage/cards/x/XantidSwarm.java index d4147bc6150..5b64ca502d6 100644 --- a/Mage.Sets/src/mage/cards/x/XantidSwarm.java +++ b/Mage.Sets/src/mage/cards/x/XantidSwarm.java @@ -37,6 +37,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class XantidSwarm extends CardImpl { public XantidSwarm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/x/XathridDemon.java b/Mage.Sets/src/mage/cards/x/XathridDemon.java index 02499500c9a..c74a285a070 100644 --- a/Mage.Sets/src/mage/cards/x/XathridDemon.java +++ b/Mage.Sets/src/mage/cards/x/XathridDemon.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -57,7 +58,7 @@ public class XathridDemon extends CardImpl { public XathridDemon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(7); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/x/XathridGorgon.java b/Mage.Sets/src/mage/cards/x/XathridGorgon.java index 8073fa74696..df29417c955 100644 --- a/Mage.Sets/src/mage/cards/x/XathridGorgon.java +++ b/Mage.Sets/src/mage/cards/x/XathridGorgon.java @@ -45,6 +45,7 @@ import mage.abilities.keyword.DefenderAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.counters.CounterType; @@ -60,7 +61,7 @@ public class XathridGorgon extends CardImpl { public XathridGorgon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{B}"); - this.subtype.add("Gorgon"); + this.subtype.add(SubType.GORGON); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/x/XathridNecromancer.java b/Mage.Sets/src/mage/cards/x/XathridNecromancer.java index 83d82c5eca8..0141bc2719c 100644 --- a/Mage.Sets/src/mage/cards/x/XathridNecromancer.java +++ b/Mage.Sets/src/mage/cards/x/XathridNecromancer.java @@ -58,8 +58,8 @@ public class XathridNecromancer extends CardImpl { public XathridNecromancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/x/XathridSlyblade.java b/Mage.Sets/src/mage/cards/x/XathridSlyblade.java index 853ecfe6de2..763f30cd871 100644 --- a/Mage.Sets/src/mage/cards/x/XathridSlyblade.java +++ b/Mage.Sets/src/mage/cards/x/XathridSlyblade.java @@ -41,6 +41,7 @@ import mage.abilities.keyword.HexproofAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class XathridSlyblade extends CardImpl { public XathridSlyblade(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}"); - this.subtype.add("Human"); - this.subtype.add("Assassin"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ASSASSIN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/x/XenagosGodOfRevels.java b/Mage.Sets/src/mage/cards/x/XenagosGodOfRevels.java index c68f0525cfe..f6202b07e04 100644 --- a/Mage.Sets/src/mage/cards/x/XenagosGodOfRevels.java +++ b/Mage.Sets/src/mage/cards/x/XenagosGodOfRevels.java @@ -64,7 +64,7 @@ public class XenagosGodOfRevels extends CardImpl { public XenagosGodOfRevels(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT,CardType.CREATURE},"{3}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("God"); + this.subtype.add(SubType.GOD); this.power = new MageInt(6); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/x/XenagosTheReveler.java b/Mage.Sets/src/mage/cards/x/XenagosTheReveler.java index a9ff1ca1dd3..aa0367a1f14 100644 --- a/Mage.Sets/src/mage/cards/x/XenagosTheReveler.java +++ b/Mage.Sets/src/mage/cards/x/XenagosTheReveler.java @@ -43,6 +43,7 @@ import mage.cards.CardsImpl; import mage.choices.Choice; import mage.choices.ChoiceImpl; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.constants.Zone; @@ -64,7 +65,7 @@ public class XenagosTheReveler extends CardImpl { public XenagosTheReveler(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{G}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Xenagos"); + this.subtype.add(SubType.XENAGOS); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/x/XenicPoltergeist.java b/Mage.Sets/src/mage/cards/x/XenicPoltergeist.java index a2d7ed67f77..c17170e71d2 100644 --- a/Mage.Sets/src/mage/cards/x/XenicPoltergeist.java +++ b/Mage.Sets/src/mage/cards/x/XenicPoltergeist.java @@ -36,6 +36,7 @@ import mage.abilities.effects.ContinuousEffectImpl; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Layer; import mage.constants.Outcome; @@ -63,7 +64,7 @@ public class XenicPoltergeist extends CardImpl { public XenicPoltergeist(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{B}{B}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/x/XiahouDunTheOneEyed.java b/Mage.Sets/src/mage/cards/x/XiahouDunTheOneEyed.java index 70d287a22f8..84ae28f1990 100644 --- a/Mage.Sets/src/mage/cards/x/XiahouDunTheOneEyed.java +++ b/Mage.Sets/src/mage/cards/x/XiahouDunTheOneEyed.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.FilterCard; @@ -60,8 +61,8 @@ public class XiahouDunTheOneEyed extends CardImpl { public XiahouDunTheOneEyed(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(3); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/x/XiraArien.java b/Mage.Sets/src/mage/cards/x/XiraArien.java index 2d9eef2e5e9..c530fe7f8fb 100644 --- a/Mage.Sets/src/mage/cards/x/XiraArien.java +++ b/Mage.Sets/src/mage/cards/x/XiraArien.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.target.TargetPlayer; @@ -51,8 +52,8 @@ public class XiraArien extends CardImpl { public XiraArien(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Insect"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.INSECT); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(1); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/x/XunYuWeiAdvisor.java b/Mage.Sets/src/mage/cards/x/XunYuWeiAdvisor.java index f2c723a1074..93b58a3cbef 100644 --- a/Mage.Sets/src/mage/cards/x/XunYuWeiAdvisor.java +++ b/Mage.Sets/src/mage/cards/x/XunYuWeiAdvisor.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -51,8 +52,8 @@ public class XunYuWeiAdvisor extends CardImpl { public XunYuWeiAdvisor(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}{B}"); this.addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Advisor"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ADVISOR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/y/YWing.java b/Mage.Sets/src/mage/cards/y/YWing.java index 16fb13ac866..93b8a651e67 100644 --- a/Mage.Sets/src/mage/cards/y/YWing.java +++ b/Mage.Sets/src/mage/cards/y/YWing.java @@ -1,77 +1,78 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.cards.y; - -import java.util.UUID; -import mage.MageInt; -import mage.abilities.Ability; -import mage.abilities.common.CantBlockAbility; -import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; -import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect; -import mage.abilities.effects.common.TapTargetEffect; -import mage.abilities.keyword.SpaceflightAbility; -import mage.cards.CardImpl; -import mage.cards.CardSetInfo; -import mage.constants.CardType; -import mage.target.common.TargetOpponentsCreaturePermanent; - -/** - * - * @author Styxo - */ -public class YWing extends CardImpl { - - public YWing(UUID ownerId, CardSetInfo setInfo) { - super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}{U}"); - this.subtype.add("Rebel"); - this.subtype.add("Starship"); - this.power = new MageInt(2); - this.toughness = new MageInt(3); - - // Spaceflight - this.addAbility(SpaceflightAbility.getInstance()); - - // Y-Wing can't block - this.addAbility(new CantBlockAbility()); - - // Whenever Y-Wing can't deals combat damage to a player, tap target creature an opponent controls. It doesn't untap during its controller's next untap step. - Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new TapTargetEffect("target creature an opponent controls."), false); - ability.addTarget(new TargetOpponentsCreaturePermanent()); - ability.addEffect(new DontUntapInControllersNextUntapStepTargetEffect(" It")); - this.addAbility(ability); - } - - public YWing(final YWing card) { - super(card); - } - - @Override - public YWing copy() { - return new YWing(this); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.cards.y; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.Ability; +import mage.abilities.common.CantBlockAbility; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.effects.common.DontUntapInControllersNextUntapStepTargetEffect; +import mage.abilities.effects.common.TapTargetEffect; +import mage.abilities.keyword.SpaceflightAbility; +import mage.cards.CardImpl; +import mage.cards.CardSetInfo; +import mage.constants.CardType; +import mage.constants.SubType; +import mage.target.common.TargetOpponentsCreaturePermanent; + +/** + * + * @author Styxo + */ +public class YWing extends CardImpl { + + public YWing(UUID ownerId, CardSetInfo setInfo) { + super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{2}{U}"); + this.subtype.add(SubType.REBEL); + this.subtype.add(SubType.STARSHIP); + this.power = new MageInt(2); + this.toughness = new MageInt(3); + + // Spaceflight + this.addAbility(SpaceflightAbility.getInstance()); + + // Y-Wing can't block + this.addAbility(new CantBlockAbility()); + + // Whenever Y-Wing can't deals combat damage to a player, tap target creature an opponent controls. It doesn't untap during its controller's next untap step. + Ability ability = new DealsCombatDamageToAPlayerTriggeredAbility(new TapTargetEffect("target creature an opponent controls."), false); + ability.addTarget(new TargetOpponentsCreaturePermanent()); + ability.addEffect(new DontUntapInControllersNextUntapStepTargetEffect(" It")); + this.addAbility(ability); + } + + public YWing(final YWing card) { + super(card); + } + + @Override + public YWing copy() { + return new YWing(this); + } +} diff --git a/Mage.Sets/src/mage/cards/y/YahenniUndyingPartisan.java b/Mage.Sets/src/mage/cards/y/YahenniUndyingPartisan.java index bd643003b6f..428f5832089 100644 --- a/Mage.Sets/src/mage/cards/y/YahenniUndyingPartisan.java +++ b/Mage.Sets/src/mage/cards/y/YahenniUndyingPartisan.java @@ -39,6 +39,7 @@ import mage.abilities.keyword.IndestructibleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -57,8 +58,8 @@ public class YahenniUndyingPartisan extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Aetherborn"); - this.subtype.add("Vampire"); + this.subtype.add(SubType.AETHERBORN); + this.subtype.add(SubType.VAMPIRE); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/y/YasovaDragonclaw.java b/Mage.Sets/src/mage/cards/y/YasovaDragonclaw.java index 348de0cc747..26aad6c5552 100644 --- a/Mage.Sets/src/mage/cards/y/YasovaDragonclaw.java +++ b/Mage.Sets/src/mage/cards/y/YasovaDragonclaw.java @@ -42,6 +42,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.TargetController; @@ -69,8 +70,8 @@ public class YasovaDragonclaw extends CardImpl { public YasovaDragonclaw(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Warrior"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WARRIOR); this.power = new MageInt(4); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/y/YavimayaAncients.java b/Mage.Sets/src/mage/cards/y/YavimayaAncients.java index 09c4c833666..68142403780 100644 --- a/Mage.Sets/src/mage/cards/y/YavimayaAncients.java +++ b/Mage.Sets/src/mage/cards/y/YavimayaAncients.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -46,7 +47,7 @@ public class YavimayaAncients extends CardImpl { public YavimayaAncients(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(2); this.toughness = new MageInt(7); diff --git a/Mage.Sets/src/mage/cards/y/YavimayaAnts.java b/Mage.Sets/src/mage/cards/y/YavimayaAnts.java index 7d325fcf953..81dbf762ca7 100644 --- a/Mage.Sets/src/mage/cards/y/YavimayaAnts.java +++ b/Mage.Sets/src/mage/cards/y/YavimayaAnts.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class YavimayaAnts extends CardImpl { public YavimayaAnts(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(5); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/y/YavimayaBarbarian.java b/Mage.Sets/src/mage/cards/y/YavimayaBarbarian.java index 508c0d17c6b..9d7c2560a67 100644 --- a/Mage.Sets/src/mage/cards/y/YavimayaBarbarian.java +++ b/Mage.Sets/src/mage/cards/y/YavimayaBarbarian.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class YavimayaBarbarian extends CardImpl { public YavimayaBarbarian(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Barbarian"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.BARBARIAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/y/YavimayaDryad.java b/Mage.Sets/src/mage/cards/y/YavimayaDryad.java index cc426f94f60..e1f25b2298c 100644 --- a/Mage.Sets/src/mage/cards/y/YavimayaDryad.java +++ b/Mage.Sets/src/mage/cards/y/YavimayaDryad.java @@ -61,7 +61,7 @@ public class YavimayaDryad extends CardImpl { public YavimayaDryad(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Dryad"); + this.subtype.add(SubType.DRYAD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/y/YavimayaElder.java b/Mage.Sets/src/mage/cards/y/YavimayaElder.java index 6ee9b4c864b..923032b126c 100644 --- a/Mage.Sets/src/mage/cards/y/YavimayaElder.java +++ b/Mage.Sets/src/mage/cards/y/YavimayaElder.java @@ -38,6 +38,7 @@ import mage.abilities.effects.common.search.SearchLibraryPutInHandEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -52,8 +53,8 @@ public class YavimayaElder extends CardImpl { public YavimayaElder(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/y/YavimayaEnchantress.java b/Mage.Sets/src/mage/cards/y/YavimayaEnchantress.java index b27bf9c0b18..6595aea294c 100644 --- a/Mage.Sets/src/mage/cards/y/YavimayaEnchantress.java +++ b/Mage.Sets/src/mage/cards/y/YavimayaEnchantress.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.FilterPermanent; @@ -54,8 +55,8 @@ public class YavimayaEnchantress extends CardImpl { public YavimayaEnchantress(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Human"); - this.subtype.add("Druid"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/y/YavimayaGnats.java b/Mage.Sets/src/mage/cards/y/YavimayaGnats.java index 3c6dcb405dc..cae880d2a61 100644 --- a/Mage.Sets/src/mage/cards/y/YavimayaGnats.java +++ b/Mage.Sets/src/mage/cards/y/YavimayaGnats.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; /** @@ -46,7 +47,7 @@ public class YavimayaGnats extends CardImpl { public YavimayaGnats(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); this.power = new MageInt(0); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/y/YavimayaGranger.java b/Mage.Sets/src/mage/cards/y/YavimayaGranger.java index ebd5fba8b8c..466d8a128fc 100644 --- a/Mage.Sets/src/mage/cards/y/YavimayaGranger.java +++ b/Mage.Sets/src/mage/cards/y/YavimayaGranger.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.EchoAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetCardInLibrary; @@ -48,7 +49,7 @@ public class YavimayaGranger extends CardImpl { public YavimayaGranger(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); + this.subtype.add(SubType.ELF); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/y/YavimayaKavu.java b/Mage.Sets/src/mage/cards/y/YavimayaKavu.java index 65d38f77d3f..d885a375fa4 100644 --- a/Mage.Sets/src/mage/cards/y/YavimayaKavu.java +++ b/Mage.Sets/src/mage/cards/y/YavimayaKavu.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.continuous.SetToughnessSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; import mage.filter.common.FilterCreaturePermanent; @@ -58,7 +59,7 @@ public class YavimayaKavu extends CardImpl { public YavimayaKavu(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}"); - this.subtype.add("Kavu"); + this.subtype.add(SubType.KAVU); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage.Sets/src/mage/cards/y/YavimayaScion.java b/Mage.Sets/src/mage/cards/y/YavimayaScion.java index c1be4295797..4a8d046dee6 100644 --- a/Mage.Sets/src/mage/cards/y/YavimayaScion.java +++ b/Mage.Sets/src/mage/cards/y/YavimayaScion.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.ProtectionAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.common.FilterArtifactCard; /** @@ -43,7 +44,7 @@ public class YavimayaScion extends CardImpl { public YavimayaScion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/y/YavimayaWurm.java b/Mage.Sets/src/mage/cards/y/YavimayaWurm.java index 147fbe13053..aac7e57eefb 100644 --- a/Mage.Sets/src/mage/cards/y/YavimayaWurm.java +++ b/Mage.Sets/src/mage/cards/y/YavimayaWurm.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.TrampleAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class YavimayaWurm extends CardImpl { public YavimayaWurm(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}{G}"); - this.subtype.add("Wurm"); + this.subtype.add(SubType.WURM); this.power = new MageInt(6); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/y/YavimayasEmbrace.java b/Mage.Sets/src/mage/cards/y/YavimayasEmbrace.java index 8eeca5683a7..a868d226b62 100644 --- a/Mage.Sets/src/mage/cards/y/YavimayasEmbrace.java +++ b/Mage.Sets/src/mage/cards/y/YavimayasEmbrace.java @@ -41,6 +41,7 @@ import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.AttachmentType; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Outcome; import mage.constants.Zone; @@ -56,7 +57,7 @@ public class YavimayasEmbrace extends CardImpl { public YavimayasEmbrace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{5}{G}{U}{U}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature TargetPermanent auraTarget = new TargetCreaturePermanent(); diff --git a/Mage.Sets/src/mage/cards/y/YawgmothDemon.java b/Mage.Sets/src/mage/cards/y/YawgmothDemon.java index 17e063ff4b6..b95f7b21ae1 100644 --- a/Mage.Sets/src/mage/cards/y/YawgmothDemon.java +++ b/Mage.Sets/src/mage/cards/y/YawgmothDemon.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -54,7 +55,7 @@ public class YawgmothDemon extends CardImpl { public YawgmothDemon(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{B}{B}"); - this.subtype.add("Demon"); + this.subtype.add(SubType.DEMON); this.power = new MageInt(6); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/y/YdwenEfreet.java b/Mage.Sets/src/mage/cards/y/YdwenEfreet.java index f234cf40fc0..93f9d4ba918 100644 --- a/Mage.Sets/src/mage/cards/y/YdwenEfreet.java +++ b/Mage.Sets/src/mage/cards/y/YdwenEfreet.java @@ -35,6 +35,7 @@ import mage.abilities.effects.OneShotEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.game.Game; import mage.game.permanent.Permanent; @@ -49,7 +50,7 @@ public class YdwenEfreet extends CardImpl { public YdwenEfreet(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{R}{R}{R}"); - this.subtype.add("Efreet"); + this.subtype.add(SubType.EFREET); this.power = new MageInt(3); this.toughness = new MageInt(6); diff --git a/Mage.Sets/src/mage/cards/y/YellowScarvesCavalry.java b/Mage.Sets/src/mage/cards/y/YellowScarvesCavalry.java index 4dedfd62552..ab0ab72fd11 100644 --- a/Mage.Sets/src/mage/cards/y/YellowScarvesCavalry.java +++ b/Mage.Sets/src/mage/cards/y/YellowScarvesCavalry.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class YellowScarvesCavalry extends CardImpl { public YellowScarvesCavalry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/y/YellowScarvesGeneral.java b/Mage.Sets/src/mage/cards/y/YellowScarvesGeneral.java index 1b953cafa95..de092cdd72d 100644 --- a/Mage.Sets/src/mage/cards/y/YellowScarvesGeneral.java +++ b/Mage.Sets/src/mage/cards/y/YellowScarvesGeneral.java @@ -34,6 +34,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class YellowScarvesGeneral extends CardImpl { public YellowScarvesGeneral(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/y/YellowScarvesTroops.java b/Mage.Sets/src/mage/cards/y/YellowScarvesTroops.java index 2dfd0934bf8..f3de95452bb 100644 --- a/Mage.Sets/src/mage/cards/y/YellowScarvesTroops.java +++ b/Mage.Sets/src/mage/cards/y/YellowScarvesTroops.java @@ -33,6 +33,7 @@ import mage.abilities.common.CantBlockAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class YellowScarvesTroops extends CardImpl { public YellowScarvesTroops(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/y/YevaNaturesHerald.java b/Mage.Sets/src/mage/cards/y/YevaNaturesHerald.java index 9cf9fbe536f..4c5e1d73366 100644 --- a/Mage.Sets/src/mage/cards/y/YevaNaturesHerald.java +++ b/Mage.Sets/src/mage/cards/y/YevaNaturesHerald.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.FlashAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.SuperType; import mage.constants.Zone; @@ -56,8 +57,8 @@ public class YevaNaturesHerald extends CardImpl { public YevaNaturesHerald(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/y/YevasForcemage.java b/Mage.Sets/src/mage/cards/y/YevasForcemage.java index e56b76c9811..dc70b9c688a 100644 --- a/Mage.Sets/src/mage/cards/y/YevasForcemage.java +++ b/Mage.Sets/src/mage/cards/y/YevasForcemage.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.continuous.BoostTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.target.common.TargetCreaturePermanent; @@ -46,8 +47,8 @@ public class YevasForcemage extends CardImpl { public YevasForcemage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); - this.subtype.add("Elf"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/y/YewSpirit.java b/Mage.Sets/src/mage/cards/y/YewSpirit.java index c2cc3906a6f..a0faad57fc9 100644 --- a/Mage.Sets/src/mage/cards/y/YewSpirit.java +++ b/Mage.Sets/src/mage/cards/y/YewSpirit.java @@ -36,6 +36,7 @@ import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,8 +48,8 @@ public class YewSpirit extends CardImpl { public YewSpirit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{G}"); - this.subtype.add("Spirit"); - this.subtype.add("Treefolk"); + this.subtype.add(SubType.SPIRIT); + this.subtype.add(SubType.TREEFOLK); this.power = new MageInt(3); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/y/YidrisMaelstromWielder.java b/Mage.Sets/src/mage/cards/y/YidrisMaelstromWielder.java index 15de4a1c524..12973e228d8 100644 --- a/Mage.Sets/src/mage/cards/y/YidrisMaelstromWielder.java +++ b/Mage.Sets/src/mage/cards/y/YidrisMaelstromWielder.java @@ -52,8 +52,8 @@ public class YidrisMaelstromWielder extends CardImpl { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}{B}{R}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Ogre"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.OGRE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(5); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/y/YisanTheWandererBard.java b/Mage.Sets/src/mage/cards/y/YisanTheWandererBard.java index 573fe802284..718561d6e5a 100644 --- a/Mage.Sets/src/mage/cards/y/YisanTheWandererBard.java +++ b/Mage.Sets/src/mage/cards/y/YisanTheWandererBard.java @@ -39,6 +39,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ComparisonType; import mage.constants.Outcome; import mage.constants.SuperType; @@ -61,8 +62,8 @@ public class YisanTheWandererBard extends CardImpl { public YisanTheWandererBard(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Rogue"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.ROGUE); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/y/YixlidJailer.java b/Mage.Sets/src/mage/cards/y/YixlidJailer.java index 11f5cc08ae5..f7512a5b0ce 100644 --- a/Mage.Sets/src/mage/cards/y/YixlidJailer.java +++ b/Mage.Sets/src/mage/cards/y/YixlidJailer.java @@ -48,8 +48,8 @@ public class YixlidJailer extends CardImpl { public YixlidJailer(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Zombie"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.ZOMBIE); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/y/YodaJediMaster.java b/Mage.Sets/src/mage/cards/y/YodaJediMaster.java index ec264137507..fed889a31d4 100644 --- a/Mage.Sets/src/mage/cards/y/YodaJediMaster.java +++ b/Mage.Sets/src/mage/cards/y/YodaJediMaster.java @@ -41,6 +41,7 @@ import mage.abilities.effects.common.ReturnToBattlefieldUnderYourControlTargetEf import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.TargetController; import mage.constants.Zone; @@ -69,7 +70,7 @@ public class YodaJediMaster extends CardImpl { public YodaJediMaster(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{1}{G}{U}"); - this.subtype.add("Yoda"); + this.subtype.add(SubType.YODA); this.addAbility(new PlanswalkerEntersWithLoyalityCountersAbility(3)); diff --git a/Mage.Sets/src/mage/cards/y/YokeOfTheDamned.java b/Mage.Sets/src/mage/cards/y/YokeOfTheDamned.java index 37023593067..470ac80554b 100644 --- a/Mage.Sets/src/mage/cards/y/YokeOfTheDamned.java +++ b/Mage.Sets/src/mage/cards/y/YokeOfTheDamned.java @@ -36,6 +36,7 @@ import mage.abilities.keyword.EnchantAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.filter.StaticFilters; import mage.target.TargetPermanent; @@ -50,7 +51,7 @@ public class YokeOfTheDamned extends CardImpl { public YokeOfTheDamned(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{B}"); - this.subtype.add("Aura"); + this.subtype.add(SubType.AURA); // Enchant creature diff --git a/Mage.Sets/src/mage/cards/y/YokedOx.java b/Mage.Sets/src/mage/cards/y/YokedOx.java index f772d1c0841..a2b87b6b021 100644 --- a/Mage.Sets/src/mage/cards/y/YokedOx.java +++ b/Mage.Sets/src/mage/cards/y/YokedOx.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class YokedOx extends CardImpl { public YokedOx(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}"); - this.subtype.add("Ox"); + this.subtype.add(SubType.OX); this.power = new MageInt(0); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/y/YokedPlowbeast.java b/Mage.Sets/src/mage/cards/y/YokedPlowbeast.java index 7d9b8875c46..5f7d6e653e2 100644 --- a/Mage.Sets/src/mage/cards/y/YokedPlowbeast.java +++ b/Mage.Sets/src/mage/cards/y/YokedPlowbeast.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.CyclingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class YokedPlowbeast extends CardImpl { public YokedPlowbeast (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); - this.subtype.add("Beast"); + this.subtype.add(SubType.BEAST); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/y/YomijiWhoBarsTheWay.java b/Mage.Sets/src/mage/cards/y/YomijiWhoBarsTheWay.java index f90c825fa90..662a8f4ff6f 100644 --- a/Mage.Sets/src/mage/cards/y/YomijiWhoBarsTheWay.java +++ b/Mage.Sets/src/mage/cards/y/YomijiWhoBarsTheWay.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.ReturnToHandTargetEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.filter.FilterPermanent; import mage.filter.predicate.mageobject.SupertypePredicate; @@ -49,7 +50,7 @@ public class YomijiWhoBarsTheWay extends CardImpl { public YomijiWhoBarsTheWay(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{5}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(4); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/y/YoreTillerNephilim.java b/Mage.Sets/src/mage/cards/y/YoreTillerNephilim.java index 9c76eb028b8..110fb4f7e91 100644 --- a/Mage.Sets/src/mage/cards/y/YoreTillerNephilim.java +++ b/Mage.Sets/src/mage/cards/y/YoreTillerNephilim.java @@ -36,6 +36,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.Zone; import mage.filter.common.FilterCreatureCard; @@ -52,7 +53,7 @@ public class YoreTillerNephilim extends CardImpl { public YoreTillerNephilim(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{W}{U}{B}{R}"); - this.subtype.add("Nephilim"); + this.subtype.add(SubType.NEPHILIM); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/y/YoseiTheMorningStar.java b/Mage.Sets/src/mage/cards/y/YoseiTheMorningStar.java index 9f6cd183bca..bbc1cd0fb0b 100644 --- a/Mage.Sets/src/mage/cards/y/YoseiTheMorningStar.java +++ b/Mage.Sets/src/mage/cards/y/YoseiTheMorningStar.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Outcome; import mage.constants.SuperType; import mage.filter.FilterPermanent; @@ -59,8 +60,8 @@ public class YoseiTheMorningStar extends CardImpl { public YoseiTheMorningStar(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{W}{W}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Dragon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DRAGON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/y/YotianSoldier.java b/Mage.Sets/src/mage/cards/y/YotianSoldier.java index c6564811512..9de7737d285 100644 --- a/Mage.Sets/src/mage/cards/y/YotianSoldier.java +++ b/Mage.Sets/src/mage/cards/y/YotianSoldier.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.VigilanceAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class YotianSoldier extends CardImpl { public YotianSoldier(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{3}"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(1); this.toughness = new MageInt(4); diff --git a/Mage.Sets/src/mage/cards/y/YoungPyromancer.java b/Mage.Sets/src/mage/cards/y/YoungPyromancer.java index 7dfecd13c4a..62a07866f1c 100644 --- a/Mage.Sets/src/mage/cards/y/YoungPyromancer.java +++ b/Mage.Sets/src/mage/cards/y/YoungPyromancer.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.CreateTokenEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.game.permanent.token.YoungPyromancerElementalToken; @@ -45,8 +46,8 @@ public class YoungPyromancer extends CardImpl { public YoungPyromancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{R}"); - this.subtype.add("Human"); - this.subtype.add("Shaman"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/y/YoungWeiRecruits.java b/Mage.Sets/src/mage/cards/y/YoungWeiRecruits.java index 957e87c3edd..7f6e4ba05ea 100644 --- a/Mage.Sets/src/mage/cards/y/YoungWeiRecruits.java +++ b/Mage.Sets/src/mage/cards/y/YoungWeiRecruits.java @@ -33,6 +33,7 @@ import mage.abilities.common.CantBlockAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class YoungWeiRecruits extends CardImpl { public YoungWeiRecruits(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{B}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/y/YoungWolf.java b/Mage.Sets/src/mage/cards/y/YoungWolf.java index 4d225e8d0b4..58f5263e9c1 100644 --- a/Mage.Sets/src/mage/cards/y/YoungWolf.java +++ b/Mage.Sets/src/mage/cards/y/YoungWolf.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.UndyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class YoungWolf extends CardImpl { public YoungWolf(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{G}"); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/y/YouthfulKnight.java b/Mage.Sets/src/mage/cards/y/YouthfulKnight.java index 5dd41170eda..bdc075b7432 100644 --- a/Mage.Sets/src/mage/cards/y/YouthfulKnight.java +++ b/Mage.Sets/src/mage/cards/y/YouthfulKnight.java @@ -33,6 +33,7 @@ import mage.abilities.keyword.FirstStrikeAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class YouthfulKnight extends CardImpl { public YouthfulKnight(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{W}"); - this.subtype.add("Human"); - this.subtype.add("Knight"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.KNIGHT); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/y/YouthfulScholar.java b/Mage.Sets/src/mage/cards/y/YouthfulScholar.java index c83c8f7f6aa..04ee70d3eab 100644 --- a/Mage.Sets/src/mage/cards/y/YouthfulScholar.java +++ b/Mage.Sets/src/mage/cards/y/YouthfulScholar.java @@ -34,6 +34,7 @@ import mage.abilities.effects.common.DrawCardSourceControllerEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,8 +44,8 @@ public class YouthfulScholar extends CardImpl { public YouthfulScholar(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{U}"); - this.subtype.add("Human"); - this.subtype.add("Wizard"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.WIZARD); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/y/YuanShaoTheIndecisive.java b/Mage.Sets/src/mage/cards/y/YuanShaoTheIndecisive.java index 516afd861ea..f64257b25fd 100644 --- a/Mage.Sets/src/mage/cards/y/YuanShaoTheIndecisive.java +++ b/Mage.Sets/src/mage/cards/y/YuanShaoTheIndecisive.java @@ -35,6 +35,7 @@ import mage.abilities.keyword.HorsemanshipAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.SuperType; import mage.constants.Zone; import mage.filter.common.FilterControlledCreaturePermanent; @@ -48,8 +49,8 @@ public class YuanShaoTheIndecisive extends CardImpl { public YuanShaoTheIndecisive(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{4}{R}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(3); diff --git a/Mage.Sets/src/mage/cards/y/YuanShaosInfantry.java b/Mage.Sets/src/mage/cards/y/YuanShaosInfantry.java index ae05ddbac5e..3589e126fae 100644 --- a/Mage.Sets/src/mage/cards/y/YuanShaosInfantry.java +++ b/Mage.Sets/src/mage/cards/y/YuanShaosInfantry.java @@ -35,6 +35,7 @@ import mage.abilities.effects.common.combat.CantBeBlockedSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; /** @@ -45,8 +46,8 @@ public class YuanShaosInfantry extends CardImpl { public YuanShaosInfantry(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Human"); - this.subtype.add("Soldier"); + this.subtype.add(SubType.HUMAN); + this.subtype.add(SubType.SOLDIER); this.power = new MageInt(2); this.toughness = new MageInt(2); diff --git a/Mage.Sets/src/mage/cards/y/YukiOnna.java b/Mage.Sets/src/mage/cards/y/YukiOnna.java index 96c4a742e99..d1257f29eb9 100644 --- a/Mage.Sets/src/mage/cards/y/YukiOnna.java +++ b/Mage.Sets/src/mage/cards/y/YukiOnna.java @@ -37,6 +37,7 @@ import mage.abilities.effects.common.ReturnToHandSourceEffect; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.filter.StaticFilters; import mage.target.common.TargetArtifactPermanent; @@ -47,7 +48,7 @@ public class YukiOnna extends CardImpl { public YukiOnna(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{R}"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(3); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/y/YukoraThePrisoner.java b/Mage.Sets/src/mage/cards/y/YukoraThePrisoner.java index bb2e60b5c38..c6cabc06976 100644 --- a/Mage.Sets/src/mage/cards/y/YukoraThePrisoner.java +++ b/Mage.Sets/src/mage/cards/y/YukoraThePrisoner.java @@ -60,8 +60,8 @@ public class YukoraThePrisoner extends CardImpl { public YukoraThePrisoner(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{B}{B}"); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Demon"); - this.subtype.add("Spirit"); + this.subtype.add(SubType.DEMON); + this.subtype.add(SubType.SPIRIT); this.power = new MageInt(5); this.toughness = new MageInt(5); diff --git a/Mage.Sets/src/mage/cards/z/ZadasCommando.java b/Mage.Sets/src/mage/cards/z/ZadasCommando.java index c13fcb7a1c3..9834f741c62 100644 --- a/Mage.Sets/src/mage/cards/z/ZadasCommando.java +++ b/Mage.Sets/src/mage/cards/z/ZadasCommando.java @@ -64,9 +64,9 @@ public class ZadasCommando extends CardImpl { public ZadasCommando(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); this.subtype.add(SubType.GOBLIN, SubType.ARCHER, SubType.ALLY); - //this.subtype.add("Goblin"); - //this.subtype.add("Archer"); - //this.subtype.add("Ally"); + //this.subtype.add(SubType.GOBLIN); + //this.subtype.add(SubType.ARCHER); + //this.subtype.add(SubType.ALLY); this.power = new MageInt(2); this.toughness = new MageInt(1); diff --git a/Mage.Sets/src/mage/cards/z/ZanamDjinn.java b/Mage.Sets/src/mage/cards/z/ZanamDjinn.java index ebf6a06ed2d..9db5b8e7ca0 100644 --- a/Mage.Sets/src/mage/cards/z/ZanamDjinn.java +++ b/Mage.Sets/src/mage/cards/z/ZanamDjinn.java @@ -38,6 +38,7 @@ import mage.abilities.keyword.FlyingAbility; import mage.cards.CardImpl; import mage.cards.CardSetInfo; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -50,7 +51,7 @@ public class ZanamDjinn extends CardImpl { public ZanamDjinn(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{5}{U}"); - this.subtype.add("Djinn"); + this.subtype.add(SubType.DJINN); this.power = new MageInt(5); this.toughness = new MageInt(6); diff --git a/Mage/src/main/java/mage/constants/SubType.java b/Mage/src/main/java/mage/constants/SubType.java index 9c597260dc7..dea1ad56040 100644 --- a/Mage/src/main/java/mage/constants/SubType.java +++ b/Mage/src/main/java/mage/constants/SubType.java @@ -257,6 +257,7 @@ public enum SubType { QUARREN("Quarren", SubTypeSet.CreatureType, true), // Star Wars // R RABBIT("Rabbit", SubTypeSet.CreatureType), + RAIDER("Raider", SubTypeSet.CreatureType, true), // Star Wars RAT("Rat", SubTypeSet.CreatureType), REBEL("Rebel", SubTypeSet.CreatureType), REFLECTION("Reflection", SubTypeSet.CreatureType), @@ -317,6 +318,7 @@ public enum SubType { TRISKELAVITE("Triskelavite", SubTypeSet.CreatureType), TROLL("Troll", SubTypeSet.CreatureType), TURTLE("Turtle", SubTypeSet.CreatureType), + TUSKEN("Tusken", SubTypeSet.CreatureType, true), // Star Wars TROOPER("Trooper", SubTypeSet.CreatureType, true), // Star Wars TWILEK("Twi'lek", SubTypeSet.CreatureType, true), // Star Wars diff --git a/Mage/src/main/java/mage/game/permanent/token/ATATToken.java b/Mage/src/main/java/mage/game/permanent/token/ATATToken.java index 73e71fa468b..e282ed722b7 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ATATToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ATATToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.abilities.common.DiesTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; @@ -45,7 +46,7 @@ public class ATATToken extends Token { cardType.add(CardType.ARTIFACT); color.setWhite(true); addAbility(new DiesTriggeredAbility(new CreateTokenEffect(new TrooperToken(), 2))); - subtype.add("AT-AT"); + subtype.add(SubType.ATAT); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/AbhorrentOverlordHarpyToken.java b/Mage/src/main/java/mage/game/permanent/token/AbhorrentOverlordHarpyToken.java index f1acb991800..aea4aa99036 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AbhorrentOverlordHarpyToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AbhorrentOverlordHarpyToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -42,7 +43,7 @@ public class AbhorrentOverlordHarpyToken extends Token { super("Harpy", "1/1 black Harpy creature tokens with flying"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Harpy"); + subtype.add(SubType.HARPY); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/AerieWorshippersBirdToken.java b/Mage/src/main/java/mage/game/permanent/token/AerieWorshippersBirdToken.java index fafc54defcc..160c4d4047a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AerieWorshippersBirdToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AerieWorshippersBirdToken.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -44,7 +45,7 @@ public class AerieWorshippersBirdToken extends Token { cardType.add(CardType.ENCHANTMENT); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Bird"); + subtype.add(SubType.BIRD); power = new MageInt(2); toughness = new MageInt(2); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/AkoumStonewakerElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/AkoumStonewakerElementalToken.java index 16858815e59..81f406e432c 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AkoumStonewakerElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AkoumStonewakerElementalToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.HasteAbility; import mage.abilities.keyword.TrampleAbility; @@ -43,7 +44,7 @@ public class AkoumStonewakerElementalToken extends Token { super("Elemental", "3/1 red Elemental creature token with trample and haste"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(3); toughness = new MageInt(1); this.addAbility(TrampleAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/AkroanSoldierToken.java b/Mage/src/main/java/mage/game/permanent/token/AkroanSoldierToken.java index 189f1be7d31..b74428880f8 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AkroanSoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AkroanSoldierToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.HasteAbility; @@ -42,7 +43,7 @@ public class AkroanSoldierToken extends Token { setTokenType(3); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Soldier"); + subtype.add(SubType.SOLDIER); power = new MageInt(1); toughness = new MageInt(1); this.addAbility(HasteAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/AngelToken.java b/Mage/src/main/java/mage/game/permanent/token/AngelToken.java index 318d8c066b1..c86ba86678d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AngelToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AngelToken.java @@ -6,6 +6,7 @@ import java.util.List; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; +import mage.constants.SubType; public class AngelToken extends Token { @@ -26,7 +27,7 @@ public class AngelToken extends Token { cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Angel"); + subtype.add(SubType.ANGEL); power = new MageInt(4); toughness = new MageInt(4); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/AnotherSpiritToken.java b/Mage/src/main/java/mage/game/permanent/token/AnotherSpiritToken.java index b59d8097bff..58cb3109436 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AnotherSpiritToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AnotherSpiritToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,7 +42,7 @@ public class AnotherSpiritToken extends Token { super("Spirit", "3/3 white Spirit creature token with flying"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(3); toughness = new MageInt(3); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/AnthousaWarriorToken.java b/Mage/src/main/java/mage/game/permanent/token/AnthousaWarriorToken.java index 657ab6ab59e..5cd59f5aafd 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AnthousaWarriorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AnthousaWarriorToken.java @@ -32,6 +32,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -43,7 +44,7 @@ public class AnthousaWarriorToken extends Token { public AnthousaWarriorToken() { super("", "2/2 Warrior creatures"); cardType.add(CardType.CREATURE); - subtype.add("Warrior"); + subtype.add(SubType.WARRIOR); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/ApeToken.java b/Mage/src/main/java/mage/game/permanent/token/ApeToken.java index f28ce8fc43f..a100952596c 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ApeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ApeToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class ApeToken extends Token { super("Ape", "2/2 green Ape creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Ape"); + subtype.add(SubType.APE); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/ArchitectOfTheUntamedBeastToken.java b/Mage/src/main/java/mage/game/permanent/token/ArchitectOfTheUntamedBeastToken.java index 2d72df573b4..abdd03049ba 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ArchitectOfTheUntamedBeastToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ArchitectOfTheUntamedBeastToken.java @@ -32,6 +32,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -44,7 +45,7 @@ public class ArchitectOfTheUntamedBeastToken extends Token { super("Beast", "6/6 colorless Beast artifact creature token"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Beast"); + subtype.add(SubType.BEAST); power = new MageInt(6); toughness = new MageInt(6); } diff --git a/Mage/src/main/java/mage/game/permanent/token/AssassinToken.java b/Mage/src/main/java/mage/game/permanent/token/AssassinToken.java index 026037100c8..47f25b10e73 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AssassinToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AssassinToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; import mage.abilities.effects.common.LoseGameTargetPlayerEffect; @@ -43,7 +44,7 @@ public class AssassinToken extends Token { super("Assassin", "1/1 black Assassin creature tokens with \"Whenever this creature deals combat damage to a player, that player loses the game.\""); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Assassin"); + subtype.add(SubType.ASSASSIN); power = new MageInt(1); toughness = new MageInt(1); addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new LoseGameTargetPlayerEffect(), false, true)); diff --git a/Mage/src/main/java/mage/game/permanent/token/AssemblyWorkerToken.java b/Mage/src/main/java/mage/game/permanent/token/AssemblyWorkerToken.java index 08ddc464d3a..1de7c226aa2 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AssemblyWorkerToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AssemblyWorkerToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class AssemblyWorkerToken extends Token { super("Assembly-Worker", "2/2 Assembly-Worker artifact creature"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - this.subtype.add("Assembly-Worker"); + this.subtype.add(SubType.ASSEMBLY_WORKER); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/AvatarToken.java b/Mage/src/main/java/mage/game/permanent/token/AvatarToken.java index 865f2957065..7148509b88e 100644 --- a/Mage/src/main/java/mage/game/permanent/token/AvatarToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/AvatarToken.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import mage.abilities.Ability; import mage.constants.CardType; +import mage.constants.SubType; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.ContinuousEffectImpl; import mage.constants.Duration; @@ -50,7 +51,7 @@ public class AvatarToken extends Token { public AvatarToken() { super("Avatar", "white Avatar creature token with \"This creature's power and toughness are each equal to your life total.\""); cardType.add(CardType.CREATURE); - subtype.add("Avatar"); + subtype.add(SubType.AVATAR); color.setWhite(true); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new AvatarTokenEffect())); } diff --git a/Mage/src/main/java/mage/game/permanent/token/BalduvianToken.java b/Mage/src/main/java/mage/game/permanent/token/BalduvianToken.java index 11f750fbd62..bc979dc26c5 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BalduvianToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BalduvianToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.HasteAbility; @@ -44,7 +45,7 @@ public class BalduvianToken extends Token { color.setRed(true); power = new MageInt(3); toughness = new MageInt(1); - subtype.add("Graveborn"); + subtype.add(SubType.GRAVEBORN); addAbility(HasteAbility.getInstance()); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/BaruFistOfKrosaToken.java b/Mage/src/main/java/mage/game/permanent/token/BaruFistOfKrosaToken.java index a2db539e2ae..f02508dd2d7 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BaruFistOfKrosaToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BaruFistOfKrosaToken.java @@ -32,6 +32,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -48,7 +49,7 @@ public class BaruFistOfKrosaToken extends Token { super("Wurm", "X/X green Wurm creature token, where X is the number of lands you control"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Wurm"); + subtype.add(SubType.WURM); power = new MageInt(xValue); toughness = new MageInt(xValue); } diff --git a/Mage/src/main/java/mage/game/permanent/token/BatToken.java b/Mage/src/main/java/mage/game/permanent/token/BatToken.java index 0ae8fa20fe8..7f6acbdf58d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BatToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BatToken.java @@ -3,6 +3,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; +import mage.constants.SubType; public class BatToken extends Token { @@ -10,7 +11,7 @@ public class BatToken extends Token { super("Bat", "1/1 black Bat creature token with flying"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Bat"); + subtype.add(SubType.BAT); power = new MageInt(1); toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/BearToken.java b/Mage/src/main/java/mage/game/permanent/token/BearToken.java index 66b6f1674d6..a54e86137ab 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BearToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BearToken.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class BearToken extends Token { super("Bear", "2/2 green Bear creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Bear"); + subtype.add(SubType.BEAR); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/BearsCompanionBearToken.java b/Mage/src/main/java/mage/game/permanent/token/BearsCompanionBearToken.java index 17c1627ad67..84135d00790 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BearsCompanionBearToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BearsCompanionBearToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,7 +42,7 @@ public class BearsCompanionBearToken extends Token { setOriginalExpansionSetCode("KTK"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Bear"); + subtype.add(SubType.BEAR); power = new MageInt(4); toughness = new MageInt(4); } diff --git a/Mage/src/main/java/mage/game/permanent/token/BeastToken.java b/Mage/src/main/java/mage/game/permanent/token/BeastToken.java index 042fe4ff1eb..5e416b6ed1c 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BeastToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BeastToken.java @@ -32,6 +32,7 @@ import java.util.Arrays; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -59,7 +60,7 @@ public class BeastToken extends Token { setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Beast"); + subtype.add(SubType.BEAST); power = new MageInt(3); toughness = new MageInt(3); diff --git a/Mage/src/main/java/mage/game/permanent/token/BeastToken2.java b/Mage/src/main/java/mage/game/permanent/token/BeastToken2.java index 8ebf665a7a2..7bba12d9769 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BeastToken2.java +++ b/Mage/src/main/java/mage/game/permanent/token/BeastToken2.java @@ -32,6 +32,7 @@ import java.util.Arrays; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -59,7 +60,7 @@ public class BeastToken2 extends Token { setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Beast"); + subtype.add(SubType.BEAST); power = new MageInt(4); toughness = new MageInt(4); } diff --git a/Mage/src/main/java/mage/game/permanent/token/BeastToken3.java b/Mage/src/main/java/mage/game/permanent/token/BeastToken3.java index 450a8640baf..74300155e68 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BeastToken3.java +++ b/Mage/src/main/java/mage/game/permanent/token/BeastToken3.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -49,7 +50,7 @@ public class BeastToken3 extends Token { setOriginalExpansionSetCode("AKH"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Beast"); + subtype.add(SubType.BEAST); power = new MageInt(4); toughness = new MageInt(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/BeckonApparitionToken.java b/Mage/src/main/java/mage/game/permanent/token/BeckonApparitionToken.java index 9e7753f75aa..41e5ca8fbac 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BeckonApparitionToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BeckonApparitionToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -43,7 +44,7 @@ public class BeckonApparitionToken extends Token { cardType.add(CardType.CREATURE); color.setWhite(true); color.setBlack(true); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(1); toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/BirdSoldierToken.java b/Mage/src/main/java/mage/game/permanent/token/BirdSoldierToken.java index f32d1f99adb..e5db23fa9d6 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BirdSoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BirdSoldierToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -40,7 +41,7 @@ public class BirdSoldierToken extends Token { public BirdSoldierToken() { super("Bird Soldier", "1/1 white Bird Soldier creature with flying"); cardType.add(CardType.CREATURE); - subtype.add("Bird"); + subtype.add(SubType.BIRD); color.setWhite(true); power = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/BirdToken.java b/Mage/src/main/java/mage/game/permanent/token/BirdToken.java index 6babfef8b3e..e9183088439 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BirdToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BirdToken.java @@ -32,6 +32,7 @@ import java.util.Arrays; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class BirdToken extends Token { super("Bird", "1/1 white Bird creature token with flying"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Bird"); + subtype.add(SubType.BIRD); power = new MageInt(1); toughness = new MageInt(1); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/BoarToken.java b/Mage/src/main/java/mage/game/permanent/token/BoarToken.java index baa19434d3f..0661651b572 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BoarToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BoarToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class BoarToken extends Token { super("Boar", "3/3 green Boar creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Boar"); + subtype.add(SubType.BOAR); power = new MageInt(3); toughness = new MageInt(3); } diff --git a/Mage/src/main/java/mage/game/permanent/token/BreedingPitThrullToken.java b/Mage/src/main/java/mage/game/permanent/token/BreedingPitThrullToken.java index 33dde09e531..04976cc4131 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BreedingPitThrullToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BreedingPitThrullToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -39,7 +40,7 @@ public class BreedingPitThrullToken extends Token { public BreedingPitThrullToken() { super("Thrull", "0/1 black Thrull creature token"); cardType.add(CardType.CREATURE); - subtype.add("Thrull"); + subtype.add(SubType.THRULL); color.setBlack(true); power = new MageInt(0); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/BroodKeeperDragonToken.java b/Mage/src/main/java/mage/game/permanent/token/BroodKeeperDragonToken.java index 05f01177558..cee7d55e6b0 100644 --- a/Mage/src/main/java/mage/game/permanent/token/BroodKeeperDragonToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/BroodKeeperDragonToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ManaCostsImpl; @@ -47,7 +48,7 @@ public class BroodKeeperDragonToken extends Token { this.setOriginalExpansionSetCode("M15"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Dragon"); + subtype.add(SubType.DRAGON); power = new MageInt(2); toughness = new MageInt(2); diff --git a/Mage/src/main/java/mage/game/permanent/token/ButterflyToken.java b/Mage/src/main/java/mage/game/permanent/token/ButterflyToken.java index 50f66be9d01..a7ea17d877f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ButterflyToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ButterflyToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,7 +42,7 @@ public class ButterflyToken extends Token { super("Butterfly", "1/1 green Insect creature token with flying named Butterfly"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Insect"); + subtype.add(SubType.INSECT); power = new MageInt(1); toughness = new MageInt(1); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/CallTheSkyBreakerElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/CallTheSkyBreakerElementalToken.java index 34a96baa0b3..1595e4c128d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CallTheSkyBreakerElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CallTheSkyBreakerElementalToken.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class CallTheSkyBreakerElementalToken extends Token { cardType.add(CardType.CREATURE); color.setBlue(true); color.setRed(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("EMA")) { setTokenType(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/CaribouToken.java b/Mage/src/main/java/mage/game/permanent/token/CaribouToken.java index 31161807848..17deaabd3ff 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CaribouToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CaribouToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class CaribouToken extends Token { super("Caribou", "0/1 white Caribou creature token"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Caribou"); + subtype.add(SubType.CARIBOU); power = new MageInt(0); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/CarnivoreToken.java b/Mage/src/main/java/mage/game/permanent/token/CarnivoreToken.java index 02541ca7136..9cd40a0a87a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CarnivoreToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CarnivoreToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class CarnivoreToken extends Token { super("Carnivore", "3/1 red Beast creature token"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Beast"); + subtype.add(SubType.BEAST); power = new MageInt(3); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/CarrionBlackInsectToken.java b/Mage/src/main/java/mage/game/permanent/token/CarrionBlackInsectToken.java index 764b99070a2..e9224511dea 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CarrionBlackInsectToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CarrionBlackInsectToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class CarrionBlackInsectToken extends Token { super("Insect", "0/1 black Insect creature token"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Insect"); + subtype.add(SubType.INSECT); power = new MageInt(0); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/CatSoldierCreatureToken.java b/Mage/src/main/java/mage/game/permanent/token/CatSoldierCreatureToken.java index 566146bd280..97d83737693 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CatSoldierCreatureToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CatSoldierCreatureToken.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.abilities.keyword.VigilanceAbility; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.Token; /** @@ -43,8 +44,8 @@ public class CatSoldierCreatureToken extends Token { cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Cat"); - subtype.add("Soldier"); + subtype.add(SubType.CAT); + subtype.add(SubType.SOLDIER); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/CatToken.java b/Mage/src/main/java/mage/game/permanent/token/CatToken.java index b88e7009987..817e9e57804 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CatToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CatToken.java @@ -33,6 +33,7 @@ import java.util.Arrays; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -60,7 +61,7 @@ public class CatToken extends Token { setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Cat"); + subtype.add(SubType.CAT); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/CatToken2.java b/Mage/src/main/java/mage/game/permanent/token/CatToken2.java index 2e664ec2d53..91f7f086e7f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CatToken2.java +++ b/Mage/src/main/java/mage/game/permanent/token/CatToken2.java @@ -31,6 +31,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.abilities.keyword.LifelinkAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -51,7 +52,7 @@ public class CatToken2 extends Token { setOriginalExpansionSetCode("AKH"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Cat"); + subtype.add(SubType.CAT); power = new MageInt(1); toughness = new MageInt(1); addAbility(LifelinkAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/CentaurEnchantmentCreatureToken.java b/Mage/src/main/java/mage/game/permanent/token/CentaurEnchantmentCreatureToken.java index 0fb16414053..275c4088f93 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CentaurEnchantmentCreatureToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CentaurEnchantmentCreatureToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; import mage.game.permanent.token.Token; /** @@ -42,7 +43,7 @@ public class CentaurEnchantmentCreatureToken extends Token { cardType.add(CardType.ENCHANTMENT); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Centaur"); + subtype.add(SubType.CENTAUR); power = new MageInt(3); toughness = new MageInt(3); this.setOriginalExpansionSetCode("BNG"); diff --git a/Mage/src/main/java/mage/game/permanent/token/CentaurToken.java b/Mage/src/main/java/mage/game/permanent/token/CentaurToken.java index 57f0be773b5..578ef677687 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CentaurToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CentaurToken.java @@ -32,6 +32,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.util.RandomUtil; @@ -52,7 +53,7 @@ public class CentaurToken extends Token { cardType.add(CardType.CREATURE); setTokenType(RandomUtil.nextInt(2) +1); // randomly take image 1 or 2 color.setGreen(true); - subtype.add("Centaur"); + subtype.add(SubType.CENTAUR); power = new MageInt(3); toughness = new MageInt(3); } diff --git a/Mage/src/main/java/mage/game/permanent/token/ChasmSkulkerSquidToken.java b/Mage/src/main/java/mage/game/permanent/token/ChasmSkulkerSquidToken.java index 29fd4f40e29..9cd1ee70c25 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ChasmSkulkerSquidToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ChasmSkulkerSquidToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.IslandwalkAbility; @@ -42,7 +43,7 @@ public class ChasmSkulkerSquidToken extends Token { this.setOriginalExpansionSetCode("M15"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Squid"); + subtype.add(SubType.SQUID); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/CitizenToken.java b/Mage/src/main/java/mage/game/permanent/token/CitizenToken.java index 938036389cd..b1bc366b6f0 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CitizenToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CitizenToken.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class CitizenToken extends Token { cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Citizen"); + subtype.add(SubType.CITIZEN); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/CloudSpriteToken.java b/Mage/src/main/java/mage/game/permanent/token/CloudSpriteToken.java index 370d543b6b2..8e6323301fe 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CloudSpriteToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CloudSpriteToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.common.CanBlockOnlyFlyingAbility; import mage.abilities.keyword.FlyingAbility; @@ -43,7 +44,7 @@ public class CloudSpriteToken extends Token { this.setOriginalExpansionSetCode("FUT"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Faerie"); + subtype.add(SubType.FAERIE); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/ConstructToken.java b/Mage/src/main/java/mage/game/permanent/token/ConstructToken.java index a746701226c..6c4d51096fe 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ConstructToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ConstructToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.DefenderAbility; @@ -46,7 +47,7 @@ public class ConstructToken extends Token { this.setOriginalExpansionSetCode(setCode); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Construct"); + subtype.add(SubType.CONSTRUCT); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/CoralBarrierSquidToken.java b/Mage/src/main/java/mage/game/permanent/token/CoralBarrierSquidToken.java index 5d05d69246b..a78c9d8056a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CoralBarrierSquidToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CoralBarrierSquidToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.IslandwalkAbility; @@ -42,7 +43,7 @@ public class CoralBarrierSquidToken extends Token { this.setOriginalExpansionSetCode("M15"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Squid"); + subtype.add(SubType.SQUID); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/CorpseweftZombieToken.java b/Mage/src/main/java/mage/game/permanent/token/CorpseweftZombieToken.java index 4aa0a161267..188493fda95 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CorpseweftZombieToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CorpseweftZombieToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -43,8 +44,8 @@ public class CorpseweftZombieToken extends Token { public CorpseweftZombieToken(int power, int toughness) { super("Zombie Horror", "X/X black Zombie Horror creature token, where X is twice the number of cards exiled this way"); cardType.add(CardType.CREATURE); - subtype.add("Zombie"); - subtype.add("Horror"); + subtype.add(SubType.ZOMBIE); + subtype.add(SubType.HORROR); color.setBlack(true); this.power = new MageInt(power); this.toughness = new MageInt(toughness); diff --git a/Mage/src/main/java/mage/game/permanent/token/CorruptedZendikonOozeToken.java b/Mage/src/main/java/mage/game/permanent/token/CorruptedZendikonOozeToken.java index 4f6f355fa0c..6df769b69de 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CorruptedZendikonOozeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CorruptedZendikonOozeToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class CorruptedZendikonOozeToken extends Token { super("Ooze", "3/3 black Ooze creature"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Ooze"); + subtype.add(SubType.OOZE); this.power = new MageInt(3); this.toughness = new MageInt(3); } diff --git a/Mage/src/main/java/mage/game/permanent/token/CreakwoodLiegeToken.java b/Mage/src/main/java/mage/game/permanent/token/CreakwoodLiegeToken.java index 9bf1f3a611d..11699a7019d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CreakwoodLiegeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CreakwoodLiegeToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,7 +42,7 @@ public class CreakwoodLiegeToken extends Token { cardType.add(CardType.CREATURE); color.setBlack(true); color.setGreen(true); - subtype.add("Worm"); + subtype.add(SubType.WORM); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/CrestedSunmareToken.java b/Mage/src/main/java/mage/game/permanent/token/CrestedSunmareToken.java index 5c102cd8aeb..4bcb2777516 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CrestedSunmareToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CrestedSunmareToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,7 +42,7 @@ public class CrestedSunmareToken extends Token { power = new MageInt(5); toughness = new MageInt(5); color.setWhite(true); - subtype.add("Horse"); + subtype.add(SubType.HORSE); cardType.add(CardType.CREATURE); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/CribSwapShapeshifterWhiteToken.java b/Mage/src/main/java/mage/game/permanent/token/CribSwapShapeshifterWhiteToken.java index 7aa0150ecb9..9058f6c6311 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CribSwapShapeshifterWhiteToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CribSwapShapeshifterWhiteToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.ChangelingAbility; @@ -41,7 +42,7 @@ public class CribSwapShapeshifterWhiteToken extends Token { super("Shapeshifter", "1/1 colorless Shapeshifter creature token with changeling"); this.setOriginalExpansionSetCode("LRW"); cardType.add(CardType.CREATURE); - subtype.add("Shapeshifter"); + subtype.add(SubType.SHAPESHIFTER); power = new MageInt(1); toughness = new MageInt(1); addAbility(ChangelingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/CrushOfTentaclesToken.java b/Mage/src/main/java/mage/game/permanent/token/CrushOfTentaclesToken.java index fb9c5973724..68b84ac6102 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CrushOfTentaclesToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CrushOfTentaclesToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,7 +42,7 @@ public class CrushOfTentaclesToken extends Token { this.setExpansionSetCodeForImage("BFZ"); this.cardType.add(CardType.CREATURE); this.color.setBlue(true); - this.subtype.add("Octopus"); + this.subtype.add(SubType.OCTOPUS); this.power = new MageInt(8); this.toughness = new MageInt(8); } diff --git a/Mage/src/main/java/mage/game/permanent/token/CurseOfTheSwineBoarToken.java b/Mage/src/main/java/mage/game/permanent/token/CurseOfTheSwineBoarToken.java index 6c1afdf6ba2..48794ab47a2 100644 --- a/Mage/src/main/java/mage/game/permanent/token/CurseOfTheSwineBoarToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/CurseOfTheSwineBoarToken.java @@ -32,6 +32,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -44,7 +45,7 @@ public class CurseOfTheSwineBoarToken extends Token { super("Boar", "2/2 green Boar creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Boar"); + subtype.add(SubType.BOAR); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/DarettiConstructToken.java b/Mage/src/main/java/mage/game/permanent/token/DarettiConstructToken.java index a0a5fe4db24..5cda40be04e 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DarettiConstructToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DarettiConstructToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.DefenderAbility; @@ -46,7 +47,7 @@ public class DarettiConstructToken extends Token { this.setOriginalExpansionSetCode(setCode); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Construct"); + subtype.add(SubType.CONSTRUCT); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/DaxosSpiritToken.java b/Mage/src/main/java/mage/game/permanent/token/DaxosSpiritToken.java index 4403dd058bc..51192985f84 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DaxosSpiritToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DaxosSpiritToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.MageObjectReference; import mage.abilities.Ability; @@ -57,7 +58,7 @@ public class DaxosSpiritToken extends Token { cardType.add(CardType.CREATURE); color.setWhite(true); color.setBlack(true); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(0); toughness = new MageInt(0); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new DaxosSpiritSetPTEffect())); diff --git a/Mage/src/main/java/mage/game/permanent/token/DeadlyGrubToken.java b/Mage/src/main/java/mage/game/permanent/token/DeadlyGrubToken.java index 8def318f676..979359d9b31 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DeadlyGrubToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DeadlyGrubToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.ShroudAbility; @@ -41,7 +42,7 @@ public class DeadlyGrubToken extends Token { super("Insect", "6/1 green Insect creature token with shroud"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Insect"); + subtype.add(SubType.INSECT); power = new MageInt(6); toughness = new MageInt(1); this.addAbility(ShroudAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/DeathpactAngelToken.java b/Mage/src/main/java/mage/game/permanent/token/DeathpactAngelToken.java index de9f456f915..afec4f66e45 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DeathpactAngelToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DeathpactAngelToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -59,7 +60,7 @@ public class DeathpactAngelToken extends Token { color.setWhite(true); color.setBlack(true); - subtype.add("Cleric"); + subtype.add(SubType.CLERIC); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/DeathtouchSnakeToken.java b/Mage/src/main/java/mage/game/permanent/token/DeathtouchSnakeToken.java index e5486d6437e..a9c5e452558 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DeathtouchSnakeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DeathtouchSnakeToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.DeathtouchAbility; @@ -41,7 +42,7 @@ public class DeathtouchSnakeToken extends Token { super("Snake", "1/1 green Snake creature token with deathtouch"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Snake"); + subtype.add(SubType.SNAKE); power = new MageInt(1); toughness = new MageInt(1); addAbility(DeathtouchAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/DemonToken.java b/Mage/src/main/java/mage/game/permanent/token/DemonToken.java index e1079b741bb..ea7fc60f5b2 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DemonToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DemonToken.java @@ -32,6 +32,7 @@ import java.util.Arrays; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class DemonToken extends Token { super("Demon", "5/5 black Demon creature token with flying"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Demon"); + subtype.add(SubType.DEMON); power = new MageInt(5); toughness = new MageInt(5); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/DevastatingSummonsElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/DevastatingSummonsElementalToken.java index 2668ffe5120..8529088e4e9 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DevastatingSummonsElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DevastatingSummonsElementalToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -39,6 +40,6 @@ public class DevastatingSummonsElementalToken extends Token { super("Elemental", "X/X red Elemental creature"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/DevilToken.java b/Mage/src/main/java/mage/game/permanent/token/DevilToken.java index 4b67258340a..47dcf6d93f6 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DevilToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DevilToken.java @@ -35,6 +35,7 @@ import mage.abilities.common.DiesTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.DamageTargetEffect; import mage.constants.CardType; +import mage.constants.SubType; import mage.target.common.TargetCreatureOrPlayer; /** @@ -47,7 +48,7 @@ public class DevilToken extends Token { super("Devil", "1/1 red Devil creature with \"When this creature dies, it deals 1 damage to target creature or player.\""); availableImageSetCodes.addAll(Collections.singletonList("SOI")); cardType.add(CardType.CREATURE); - subtype.add("Devil"); + subtype.add(SubType.DEVIL); color.setRed(true); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/DinOfTheFireherdToken.java b/Mage/src/main/java/mage/game/permanent/token/DinOfTheFireherdToken.java index 84f096daf8a..1e38c8c1bb9 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DinOfTheFireherdToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DinOfTheFireherdToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -39,7 +40,7 @@ public class DinOfTheFireherdToken extends Token { public DinOfTheFireherdToken() { super("Elemental", "5/5 black and red Elemental creature"); cardType.add(CardType.CREATURE); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); color.setBlack(true); color.setRed(true); power = new MageInt(5); diff --git a/Mage/src/main/java/mage/game/permanent/token/DjinnMonkToken.java b/Mage/src/main/java/mage/game/permanent/token/DjinnMonkToken.java index c595f9ab0da..3cb23cc235a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DjinnMonkToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DjinnMonkToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,8 +42,8 @@ public class DjinnMonkToken extends Token { super("Djinn Monk", "2/2 blue Djinn Monk creature token with flying"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Djinn"); - subtype.add("Monk"); + subtype.add(SubType.DJINN); + subtype.add(SubType.MONK); power = new MageInt(2); toughness = new MageInt(2); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/DjinnToken.java b/Mage/src/main/java/mage/game/permanent/token/DjinnToken.java index c254a424812..dcfa3bda344 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DjinnToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DjinnToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,7 +42,7 @@ public class DjinnToken extends Token { super("Djinn", "5/5 colorless Djinn artifact creature token with flying"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Djinn"); + subtype.add(SubType.DJINN); power = new MageInt(5); toughness = new MageInt(5); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/DokaiWeaverofLifeToken.java b/Mage/src/main/java/mage/game/permanent/token/DokaiWeaverofLifeToken.java index f79a1ff8440..5d74281ff38 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DokaiWeaverofLifeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DokaiWeaverofLifeToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.DynamicValue; @@ -50,7 +51,7 @@ public class DokaiWeaverofLifeToken extends Token { super("Elemental", "X/X green Elemental creature token, where X is the number of lands you control"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(0); toughness = new MageInt(0); DynamicValue controlledLands = new PermanentsOnBattlefieldCount(filterLands); diff --git a/Mage/src/main/java/mage/game/permanent/token/DovescapeToken.java b/Mage/src/main/java/mage/game/permanent/token/DovescapeToken.java index 33c8652a101..3cd64164d67 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DovescapeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DovescapeToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -42,7 +43,7 @@ public class DovescapeToken extends Token { cardType.add(CardType.CREATURE); color.setWhite(true); color.setBlue(true); - subtype.add("Bird"); + subtype.add(SubType.BIRD); power = new MageInt(1); toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/DragonBroodmotherDragonToken.java b/Mage/src/main/java/mage/game/permanent/token/DragonBroodmotherDragonToken.java index 04c28f886a5..dbd0e12b1c2 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DragonBroodmotherDragonToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DragonBroodmotherDragonToken.java @@ -32,6 +32,7 @@ import mage.abilities.effects.common.DevourEffect; import mage.abilities.keyword.DevourAbility; import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class DragonBroodmotherDragonToken extends Token { cardType.add(CardType.CREATURE); color.setGreen(true); color.setRed(true); - subtype.add("Dragon"); + subtype.add(SubType.DRAGON); power = new MageInt(1); toughness = new MageInt(1); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/DragonEggDragonToken.java b/Mage/src/main/java/mage/game/permanent/token/DragonEggDragonToken.java index 716c0ee2c63..fd9ceca27c6 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DragonEggDragonToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DragonEggDragonToken.java @@ -33,6 +33,7 @@ import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.effects.common.continuous.BoostSourceEffect; import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Duration; import mage.constants.Zone; @@ -47,7 +48,7 @@ public class DragonEggDragonToken extends Token { this.setOriginalExpansionSetCode("M14"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Dragon"); + subtype.add(SubType.DRAGON); power = new MageInt(2); toughness = new MageInt(2); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/DragonToken.java b/Mage/src/main/java/mage/game/permanent/token/DragonToken.java index 579c9c89c77..8ac9bd92e98 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DragonToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DragonToken.java @@ -34,6 +34,7 @@ import java.util.List; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -61,7 +62,7 @@ public class DragonToken extends Token { setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Dragon"); + subtype.add(SubType.DRAGON); power = new MageInt(4); toughness = new MageInt(4); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/DragonToken2.java b/Mage/src/main/java/mage/game/permanent/token/DragonToken2.java index 0b7e7342d97..ca5a62ed0ee 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DragonToken2.java +++ b/Mage/src/main/java/mage/game/permanent/token/DragonToken2.java @@ -33,6 +33,7 @@ import java.util.List; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -60,7 +61,7 @@ public class DragonToken2 extends Token { setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Dragon"); + subtype.add(SubType.DRAGON); power = new MageInt(5); toughness = new MageInt(5); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/DragonTokenGold.java b/Mage/src/main/java/mage/game/permanent/token/DragonTokenGold.java index 7d6ab86563b..b2e3f69fd3e 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DragonTokenGold.java +++ b/Mage/src/main/java/mage/game/permanent/token/DragonTokenGold.java @@ -34,6 +34,7 @@ import java.util.List; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -61,7 +62,7 @@ public class DragonTokenGold extends Token { setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); color.setGold(true); - subtype.add("Dragon"); + subtype.add(SubType.DRAGON); power = new MageInt(4); toughness = new MageInt(4); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/DrakeToken.java b/Mage/src/main/java/mage/game/permanent/token/DrakeToken.java index 50238dd2566..7791224ffab 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DrakeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DrakeToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.ObjectColor; import mage.abilities.keyword.FlyingAbility; @@ -41,7 +42,7 @@ public class DrakeToken extends Token { public DrakeToken() { super("Drake", "2/2 blue Drake creature token with flying"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Drake"); + this.subtype.add(SubType.DRAKE); this.color = ObjectColor.BLUE; this.power = new MageInt(2); diff --git a/Mage/src/main/java/mage/game/permanent/token/DroidToken.java b/Mage/src/main/java/mage/game/permanent/token/DroidToken.java index bf94743f5cb..3d641d44ffa 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DroidToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DroidToken.java @@ -31,6 +31,7 @@ import java.util.Collections; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class DroidToken extends Token { cardType.add(CardType.CREATURE); cardType.add(CardType.ARTIFACT); - subtype.add("Droid"); + subtype.add(SubType.DROID); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/DuneBroodNephilimToken.java b/Mage/src/main/java/mage/game/permanent/token/DuneBroodNephilimToken.java index 6857258cf2c..042bb3076c3 100644 --- a/Mage/src/main/java/mage/game/permanent/token/DuneBroodNephilimToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/DuneBroodNephilimToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -39,7 +40,7 @@ public class DuneBroodNephilimToken extends Token { public DuneBroodNephilimToken() { super("Sand", "1/1 colorless Sand creature token"); cardType.add(CardType.CREATURE); - subtype.add("Sand"); + subtype.add(SubType.SAND); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/EdgarMarkovToken.java b/Mage/src/main/java/mage/game/permanent/token/EdgarMarkovToken.java index 0488941cf20..363237897ab 100644 --- a/Mage/src/main/java/mage/game/permanent/token/EdgarMarkovToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/EdgarMarkovToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class EdgarMarkovToken extends Token { super("Vampire", "1/1 black Vampire creature token"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Vampire"); + subtype.add(SubType.VAMPIRE); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/EldraziHorrorToken.java b/Mage/src/main/java/mage/game/permanent/token/EldraziHorrorToken.java index 15dd2d04b0e..c0b47cb077c 100644 --- a/Mage/src/main/java/mage/game/permanent/token/EldraziHorrorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/EldraziHorrorToken.java @@ -32,6 +32,7 @@ import java.util.Collections; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -48,8 +49,8 @@ public class EldraziHorrorToken extends Token { public EldraziHorrorToken() { super("Eldrazi Horror", "3/2 colorless Eldrazi Horror creature"); cardType.add(CardType.CREATURE); - subtype.add("Eldrazi"); - subtype.add("Horror"); + subtype.add(SubType.ELDRAZI); + subtype.add(SubType.HORROR); power = new MageInt(3); toughness = new MageInt(2); availableImageSetCodes = tokenImageSets; diff --git a/Mage/src/main/java/mage/game/permanent/token/EldraziScionToken.java b/Mage/src/main/java/mage/game/permanent/token/EldraziScionToken.java index 550e915f116..4b9f85e8b6f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/EldraziScionToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/EldraziScionToken.java @@ -36,6 +36,7 @@ import mage.Mana; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.mana.SimpleManaAbility; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.util.RandomUtil; @@ -54,8 +55,8 @@ public class EldraziScionToken extends Token { public EldraziScionToken() { super("Eldrazi Scion", "1/1 colorless Eldrazi Scion creature token with \"Sacrifice this creature: Add {C} to your mana pool.\""); cardType.add(CardType.CREATURE); - subtype.add("Eldrazi"); - subtype.add("Scion"); + subtype.add(SubType.ELDRAZI); + subtype.add(SubType.SCION); power = new MageInt(1); toughness = new MageInt(1); addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.GenericMana(1), new SacrificeSourceCost())); diff --git a/Mage/src/main/java/mage/game/permanent/token/EldraziSpawnToken.java b/Mage/src/main/java/mage/game/permanent/token/EldraziSpawnToken.java index e7fab3ffbe3..25bdb78ae30 100644 --- a/Mage/src/main/java/mage/game/permanent/token/EldraziSpawnToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/EldraziSpawnToken.java @@ -36,6 +36,7 @@ import mage.Mana; import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.mana.SimpleManaAbility; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.Zone; import mage.util.RandomUtil; @@ -54,8 +55,8 @@ public class EldraziSpawnToken extends Token { public EldraziSpawnToken() { super("Eldrazi Spawn", "0/1 colorless Eldrazi Spawn creature with \"Sacrifice this creature: Add {C} to your mana pool.\""); cardType.add(CardType.CREATURE); - subtype.add("Eldrazi"); - subtype.add("Spawn"); + subtype.add(SubType.ELDRAZI); + subtype.add(SubType.SPAWN); power = new MageInt(0); toughness = new MageInt(1); addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.ColorlessMana(1), new SacrificeSourceCost())); diff --git a/Mage/src/main/java/mage/game/permanent/token/EldraziToken.java b/Mage/src/main/java/mage/game/permanent/token/EldraziToken.java index d999f565583..9207580b52f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/EldraziToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/EldraziToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -39,7 +40,7 @@ public class EldraziToken extends Token { public EldraziToken() { super("Eldrazi", "10/10 colorless Eldrazi creature token"); cardType.add(CardType.CREATURE); - subtype.add("Eldrazi"); + subtype.add(SubType.ELDRAZI); power = new MageInt(10); toughness = new MageInt(10); } diff --git a/Mage/src/main/java/mage/game/permanent/token/ElementalAppealElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/ElementalAppealElementalToken.java index d0a755825df..16bc84a54b8 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ElementalAppealElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ElementalAppealElementalToken.java @@ -31,6 +31,7 @@ import mage.MageInt; import mage.abilities.keyword.HasteAbility; import mage.abilities.keyword.TrampleAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ElementalAppealElementalToken extends Token { super("Elemental", "7/1 red Elemental creature token with trample and haste"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(7); toughness = new MageInt(1); addAbility(TrampleAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/ElementalCatToken.java b/Mage/src/main/java/mage/game/permanent/token/ElementalCatToken.java index 56bf2cd052d..7b4e39878ac 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ElementalCatToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ElementalCatToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.HasteAbility; @@ -41,8 +42,8 @@ public class ElementalCatToken extends Token { super("Elemental Cat", "1/1 red Elemental Cat creature token"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Elemental"); - subtype.add("Cat"); + subtype.add(SubType.ELEMENTAL); + subtype.add(SubType.CAT); addAbility(HasteAbility.getInstance()); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/ElementalMasteryElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/ElementalMasteryElementalToken.java index 343e54f558d..2e667b58d81 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ElementalMasteryElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ElementalMasteryElementalToken.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.abilities.keyword.HasteAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -40,7 +41,7 @@ public class ElementalMasteryElementalToken extends Token { public ElementalMasteryElementalToken() { super("Elemental", "1/1 red Elemental creature token with haste"); cardType.add(CardType.CREATURE); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); color.setRed(true); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/ElementalShamanToken.java b/Mage/src/main/java/mage/game/permanent/token/ElementalShamanToken.java index 33c3b46e54f..81543e2e124 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ElementalShamanToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ElementalShamanToken.java @@ -32,6 +32,7 @@ import java.util.Arrays; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -55,8 +56,8 @@ public class ElementalShamanToken extends Token { setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Elemental"); - subtype.add("Shaman"); + subtype.add(SubType.ELEMENTAL); + subtype.add(SubType.SHAMAN); power = new MageInt(3); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/ElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/ElementalToken.java index 303f68c2fa1..05b7cbbb023 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ElementalToken.java @@ -34,6 +34,7 @@ import java.util.List; import mage.MageInt; import mage.abilities.keyword.HasteAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -57,7 +58,7 @@ public class ElementalToken extends Token { setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(3); toughness = new MageInt(1); @@ -71,7 +72,7 @@ public class ElementalToken extends Token { setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(3); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java b/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java index 1d4ce38168f..853d3e9b559 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ElephantToken.java @@ -33,6 +33,7 @@ import java.util.Arrays; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -60,7 +61,7 @@ public class ElephantToken extends Token { setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Elephant"); + subtype.add(SubType.ELEPHANT); power = new MageInt(3); toughness = new MageInt(3); } diff --git a/Mage/src/main/java/mage/game/permanent/token/ElfToken.java b/Mage/src/main/java/mage/game/permanent/token/ElfToken.java index bc357bd7c15..2df96973925 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ElfToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ElfToken.java @@ -32,6 +32,7 @@ import java.util.Arrays; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -50,8 +51,8 @@ public class ElfToken extends Token { availableImageSetCodes = tokenImageSets; cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Elf"); - subtype.add("Warrior"); + subtype.add(SubType.ELF); + subtype.add(SubType.WARRIOR); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/EwokToken.java b/Mage/src/main/java/mage/game/permanent/token/EwokToken.java index 6e1e7d06c6d..651f96d1964 100644 --- a/Mage/src/main/java/mage/game/permanent/token/EwokToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/EwokToken.java @@ -1,48 +1,49 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ - -package mage.game.permanent.token; -import java.util.Collections; - -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class EwokToken extends Token { - - public EwokToken() { - super("Ewok", "1/1 green Ewok creature tokens", 1, 1); - availableImageSetCodes.addAll(Collections.singletonList("SWS")); - - cardType.add(CardType.CREATURE); - subtype.add("Ewok"); - color.setGreen(true); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ + +package mage.game.permanent.token; +import java.util.Collections; + +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author Styxo + */ +public class EwokToken extends Token { + + public EwokToken() { + super("Ewok", "1/1 green Ewok creature tokens", 1, 1); + availableImageSetCodes.addAll(Collections.singletonList("SWS")); + + cardType.add(CardType.CREATURE); + subtype.add(SubType.EWOK); + color.setGreen(true); + } +} diff --git a/Mage/src/main/java/mage/game/permanent/token/EyesOfTheWisentElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/EyesOfTheWisentElementalToken.java index 6459e908a27..e3816179f51 100644 --- a/Mage/src/main/java/mage/game/permanent/token/EyesOfTheWisentElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/EyesOfTheWisentElementalToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,7 +42,7 @@ public class EyesOfTheWisentElementalToken extends Token { this.setOriginalExpansionSetCode("MMA"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(4); toughness = new MageInt(4); setTokenType(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/FaerieRogueToken.java b/Mage/src/main/java/mage/game/permanent/token/FaerieRogueToken.java index d4c111c3243..b48d23fd009 100644 --- a/Mage/src/main/java/mage/game/permanent/token/FaerieRogueToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/FaerieRogueToken.java @@ -33,6 +33,7 @@ import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -52,8 +53,8 @@ public class FaerieRogueToken extends Token { super("Faerie Rogue", "1/1 black Faerie Rogue creature token with flying"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Faerie"); - subtype.add("Rogue"); + subtype.add(SubType.FAERIE); + subtype.add(SubType.ROGUE); power = new MageInt(1); toughness = new MageInt(1); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/FaerieToken.java b/Mage/src/main/java/mage/game/permanent/token/FaerieToken.java index 5a99d3efa27..9f7a163329b 100644 --- a/Mage/src/main/java/mage/game/permanent/token/FaerieToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/FaerieToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,7 +42,7 @@ public class FaerieToken extends Token { super("Faerie", "1/1 blue Faerie creature tokens with flying"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Faerie"); + subtype.add(SubType.FAERIE); power = new MageInt(1); toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/FesteringGoblinToken.java b/Mage/src/main/java/mage/game/permanent/token/FesteringGoblinToken.java index d535e123e8e..24170449a13 100644 --- a/Mage/src/main/java/mage/game/permanent/token/FesteringGoblinToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/FesteringGoblinToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.DiesTriggeredAbility; @@ -46,8 +47,8 @@ public class FesteringGoblinToken extends Token { this.setOriginalExpansionSetCode("FUT"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Zombie"); - subtype.add("Goblin"); + subtype.add(SubType.ZOMBIE); + subtype.add(SubType.GOBLIN); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/FleshCarverHorrorToken.java b/Mage/src/main/java/mage/game/permanent/token/FleshCarverHorrorToken.java index bc4f45b5680..f67d197ce56 100644 --- a/Mage/src/main/java/mage/game/permanent/token/FleshCarverHorrorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/FleshCarverHorrorToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -45,7 +46,7 @@ public class FleshCarverHorrorToken extends Token { setOriginalExpansionSetCode("C14"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Horror"); + subtype.add(SubType.HORROR); power = new MageInt(xValue); toughness = new MageInt(xValue); diff --git a/Mage/src/main/java/mage/game/permanent/token/FlurryOfHornsMinotaurToken.java b/Mage/src/main/java/mage/game/permanent/token/FlurryOfHornsMinotaurToken.java index 2b456bf73ae..4369dfa8b46 100644 --- a/Mage/src/main/java/mage/game/permanent/token/FlurryOfHornsMinotaurToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/FlurryOfHornsMinotaurToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.ObjectColor; import mage.abilities.keyword.HasteAbility; @@ -43,7 +44,7 @@ public class FlurryOfHornsMinotaurToken extends Token { this.setOriginalExpansionSetCode("JOU"); cardType.add(CardType.CREATURE); color.setColor(ObjectColor.RED); - subtype.add("Minotaur"); + subtype.add(SubType.MINOTAUR); power = new MageInt(2); toughness = new MageInt(3); addAbility(HasteAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/ForlornPseudammaZombieToken.java b/Mage/src/main/java/mage/game/permanent/token/ForlornPseudammaZombieToken.java index fb1f6575244..8bbea73b005 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ForlornPseudammaZombieToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ForlornPseudammaZombieToken.java @@ -32,6 +32,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -45,7 +46,7 @@ public class ForlornPseudammaZombieToken extends Token { cardType.add(CardType.ENCHANTMENT); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Zombie"); + subtype.add(SubType.ZOMBIE); power = new MageInt(2); toughness = new MageInt(2); this.setOriginalExpansionSetCode("BNG"); diff --git a/Mage/src/main/java/mage/game/permanent/token/FreyaliseLlanowarsFuryToken.java b/Mage/src/main/java/mage/game/permanent/token/FreyaliseLlanowarsFuryToken.java index cc7c6312a61..61c18f4cf12 100644 --- a/Mage/src/main/java/mage/game/permanent/token/FreyaliseLlanowarsFuryToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/FreyaliseLlanowarsFuryToken.java @@ -31,6 +31,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.ObjectColor; import mage.abilities.mana.GreenManaAbility; @@ -61,8 +62,8 @@ public class FreyaliseLlanowarsFuryToken extends Token { setOriginalExpansionSetCode(setCode); this.cardType.add(CardType.CREATURE); this.color = ObjectColor.GREEN; - this.subtype.add("Elf"); - this.subtype.add("Druid"); + this.subtype.add(SubType.ELF); + this.subtype.add(SubType.DRUID); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/FrogToken.java b/Mage/src/main/java/mage/game/permanent/token/FrogToken.java index 031440d5300..1ce60811c55 100644 --- a/Mage/src/main/java/mage/game/permanent/token/FrogToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/FrogToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,7 +42,7 @@ public class FrogToken extends Token { super("Frog", "1/1 blue Frog creature token"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Frog"); + subtype.add(SubType.FROG); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/GargoyleToken.java b/Mage/src/main/java/mage/game/permanent/token/GargoyleToken.java index a00e94837ac..8afaa674f1b 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GargoyleToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GargoyleToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,7 +42,7 @@ public class GargoyleToken extends Token { super("Gargoyle", "3/4 colorless Gargoyle artifact creature token with flying"); cardType.add(CardType.CREATURE); cardType.add(CardType.ARTIFACT); - subtype.add("Gargoyle"); + subtype.add(SubType.GARGOYLE); power = new MageInt(3); toughness = new MageInt(4); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/GarrukApexPredatorBeastToken.java b/Mage/src/main/java/mage/game/permanent/token/GarrukApexPredatorBeastToken.java index 5de2f7ff4d7..8dc0703d343 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GarrukApexPredatorBeastToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GarrukApexPredatorBeastToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.DeathtouchAbility; @@ -43,7 +44,7 @@ public class GarrukApexPredatorBeastToken extends Token { setTokenType(1); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Beast"); + subtype.add(SubType.BEAST); power = new MageInt(3); toughness = new MageInt(3); diff --git a/Mage/src/main/java/mage/game/permanent/token/GermToken.java b/Mage/src/main/java/mage/game/permanent/token/GermToken.java index 39af80aa80c..a81b8d1a987 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GermToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GermToken.java @@ -32,6 +32,7 @@ import java.util.Arrays; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @author spjspj @@ -58,7 +59,7 @@ public class GermToken extends Token { setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Germ"); + subtype.add(SubType.GERM); power = new MageInt(0); toughness = new MageInt(0); } diff --git a/Mage/src/main/java/mage/game/permanent/token/GiantBaitingGiantWarriorToken.java b/Mage/src/main/java/mage/game/permanent/token/GiantBaitingGiantWarriorToken.java index dcd57edfd0f..ea1c123e94b 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GiantBaitingGiantWarriorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GiantBaitingGiantWarriorToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.HasteAbility; @@ -42,8 +43,8 @@ public class GiantBaitingGiantWarriorToken extends Token { cardType.add(CardType.CREATURE); color.setRed(true); color.setGreen(true); - subtype.add("Giant"); - subtype.add("Warrior"); + subtype.add(SubType.GIANT); + subtype.add(SubType.WARRIOR); power = new MageInt(4); toughness = new MageInt(4); this.addAbility(HasteAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/GiantToken.java b/Mage/src/main/java/mage/game/permanent/token/GiantToken.java index dd5e9831641..b7906df4705 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GiantToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GiantToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -39,7 +40,7 @@ public class GiantToken extends Token { public GiantToken() { super("Giant", "4/4 red Giant creature token"); cardType.add(CardType.CREATURE); - subtype.add("Giant"); + subtype.add(SubType.GIANT); color.setRed(true); power = new MageInt(4); toughness = new MageInt(4); diff --git a/Mage/src/main/java/mage/game/permanent/token/GiantWarriorToken.java b/Mage/src/main/java/mage/game/permanent/token/GiantWarriorToken.java index 2fdd315bc5e..40d5e06ac1b 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GiantWarriorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GiantWarriorToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,8 +41,8 @@ public class GiantWarriorToken extends Token { super("Giant Warrior", "5/5 white Giant Warrior creature token"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Giant"); - subtype.add("Warrior"); + subtype.add(SubType.GIANT); + subtype.add(SubType.WARRIOR); power = new MageInt(5); toughness = new MageInt(5); } diff --git a/Mage/src/main/java/mage/game/permanent/token/GnomeToken.java b/Mage/src/main/java/mage/game/permanent/token/GnomeToken.java index 626a2196662..d7cc93d7267 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GnomeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GnomeToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class GnomeToken extends Token { super("Gnome", "1/1 colorless Gnome artifact creature token"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Gnome"); + subtype.add(SubType.GNOME); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/GoatToken.java b/Mage/src/main/java/mage/game/permanent/token/GoatToken.java index 09cc808a466..1a4392885f1 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GoatToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GoatToken.java @@ -33,6 +33,7 @@ import java.util.Arrays; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -60,7 +61,7 @@ public class GoatToken extends Token { setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Goat"); + subtype.add(SubType.GOAT); power = new MageInt(0); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/GoblinRogueToken.java b/Mage/src/main/java/mage/game/permanent/token/GoblinRogueToken.java index b7839593c22..b2f5c52f25d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GoblinRogueToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GoblinRogueToken.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import java.util.Arrays; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -42,8 +43,8 @@ public class GoblinRogueToken extends Token { super("Goblin Rogue", "1/1 black Goblin Rogue creature token"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Goblin"); - subtype.add("Rogue"); + subtype.add(SubType.GOBLIN); + subtype.add(SubType.ROGUE); power = new MageInt(1); toughness = new MageInt(1); availableImageSetCodes.addAll(Arrays.asList("LRW", "MMA")); diff --git a/Mage/src/main/java/mage/game/permanent/token/GoblinScoutsToken.java b/Mage/src/main/java/mage/game/permanent/token/GoblinScoutsToken.java index 629f8aaf1fa..781ec5e7e62 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GoblinScoutsToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GoblinScoutsToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.MountainwalkAbility; @@ -41,8 +42,8 @@ public class GoblinScoutsToken extends Token { super("Goblin Scout", "1/1 red Goblin Scout creature tokens with mountainwalk"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Goblin"); - subtype.add("Scout"); + subtype.add(SubType.GOBLIN); + subtype.add(SubType.SCOUT); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/GoblinSoldierToken.java b/Mage/src/main/java/mage/game/permanent/token/GoblinSoldierToken.java index d30081a9ae1..3f8fbd3feda 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GoblinSoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GoblinSoldierToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,8 +42,8 @@ public class GoblinSoldierToken extends Token { cardType.add(CardType.CREATURE); color.setRed(true); color.setWhite(true); - subtype.add("Goblin"); - subtype.add("Soldier"); + subtype.add(SubType.GOBLIN); + subtype.add(SubType.SOLDIER); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/GoblinToken.java b/Mage/src/main/java/mage/game/permanent/token/GoblinToken.java index 89cd0247c7b..94751395ade 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GoblinToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GoblinToken.java @@ -32,6 +32,7 @@ import java.util.Arrays; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -59,7 +60,7 @@ public class GoblinToken extends Token { availableImageSetCodes = tokenImageSets; setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); - subtype.add("Goblin"); + subtype.add(SubType.GOBLIN); color.setRed(true); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/GoblinTrenchesToken.java b/Mage/src/main/java/mage/game/permanent/token/GoblinTrenchesToken.java index 9aa34f7a903..601ea5a6868 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GoblinTrenchesToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GoblinTrenchesToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,8 +42,8 @@ public class GoblinTrenchesToken extends Token { cardType.add(CardType.CREATURE); color.setRed(true); color.setWhite(true); - subtype.add("Goblin"); - subtype.add("Soldier"); + subtype.add(SubType.GOBLIN); + subtype.add(SubType.SOLDIER); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/GodFavoredGeneralSoldierToken.java b/Mage/src/main/java/mage/game/permanent/token/GodFavoredGeneralSoldierToken.java index 70297b03123..4b3a6275bd1 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GodFavoredGeneralSoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GodFavoredGeneralSoldierToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -42,7 +43,7 @@ public class GodFavoredGeneralSoldierToken extends Token { cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Soldier"); + subtype.add(SubType.SOLDIER); power = new MageInt(1); toughness = new MageInt(1); this.setOriginalExpansionSetCode("BNG"); diff --git a/Mage/src/main/java/mage/game/permanent/token/GodSireBeastToken.java b/Mage/src/main/java/mage/game/permanent/token/GodSireBeastToken.java index f7528ad9e20..d5afbb5f710 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GodSireBeastToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GodSireBeastToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -42,7 +43,7 @@ public class GodSireBeastToken extends Token { color.setGreen(true); color.setWhite(true); color.setRed(true); - subtype.add("Beast"); + subtype.add(SubType.BEAST); power = new MageInt(8); toughness = new MageInt(8); } diff --git a/Mage/src/main/java/mage/game/permanent/token/GoldmeadowHarrierToken.java b/Mage/src/main/java/mage/game/permanent/token/GoldmeadowHarrierToken.java index 6d4dfbbea53..d66c630ea04 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GoldmeadowHarrierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GoldmeadowHarrierToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -48,8 +49,8 @@ public class GoldmeadowHarrierToken extends Token { this.setOriginalExpansionSetCode("FUT"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Kithkin"); - subtype.add("Soldier"); + subtype.add(SubType.KITHKIN); + subtype.add(SubType.SOLDIER); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/GolemToken.java b/Mage/src/main/java/mage/game/permanent/token/GolemToken.java index 83fcd2913de..2f9e97af1da 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GolemToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GolemToken.java @@ -32,6 +32,7 @@ import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -55,7 +56,7 @@ public class GolemToken extends Token { setOriginalExpansionSetCode(setCode); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Golem"); + subtype.add(SubType.GOLEM); power = new MageInt(3); toughness = new MageInt(3); diff --git a/Mage/src/main/java/mage/game/permanent/token/GremlinToken.java b/Mage/src/main/java/mage/game/permanent/token/GremlinToken.java index 9a47d9a9a8d..57aa68d1f7a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GremlinToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GremlinToken.java @@ -1,48 +1,49 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.game.permanent.token; - -import mage.MageInt; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class GremlinToken extends Token { - - public GremlinToken() { - super("Gremlin", "2/2 red Gremlin creature token"); - cardType.add(CardType.CREATURE); - this.setOriginalExpansionSetCode("AER"); - subtype.add("Gremlin"); - color.setRed(true); - power = new MageInt(2); - toughness = new MageInt(2); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.game.permanent.token; + +import mage.MageInt; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author Styxo + */ +public class GremlinToken extends Token { + + public GremlinToken() { + super("Gremlin", "2/2 red Gremlin creature token"); + cardType.add(CardType.CREATURE); + this.setOriginalExpansionSetCode("AER"); + subtype.add(SubType.GREMLIN); + color.setRed(true); + power = new MageInt(2); + toughness = new MageInt(2); + } +} diff --git a/Mage/src/main/java/mage/game/permanent/token/GriffinToken.java b/Mage/src/main/java/mage/game/permanent/token/GriffinToken.java index 6d978e8f360..b71d93dbb6e 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GriffinToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GriffinToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -42,7 +43,7 @@ public class GriffinToken extends Token { cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Griffin"); + subtype.add(SubType.GRIFFIN); power = new MageInt(2); toughness = new MageInt(2); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/GrovetenderDruidsPlantToken.java b/Mage/src/main/java/mage/game/permanent/token/GrovetenderDruidsPlantToken.java index 9fd5cfca2b0..7d963d96b1a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GrovetenderDruidsPlantToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GrovetenderDruidsPlantToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class GrovetenderDruidsPlantToken extends Token { super("Plant", "1/1 green Plant creature"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Plant"); + subtype.add(SubType.PLANT); power = new MageInt(1); toughness = new MageInt(1); this.setOriginalExpansionSetCode("BFZ"); diff --git a/Mage/src/main/java/mage/game/permanent/token/GuardianIdolGolemToken.java b/Mage/src/main/java/mage/game/permanent/token/GuardianIdolGolemToken.java index fbe99a5acb4..0459807fb7d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GuardianIdolGolemToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GuardianIdolGolemToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class GuardianIdolGolemToken extends Token { super("Golem", "2/2 Golem artifact creature token"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Golem"); + subtype.add(SubType.GOLEM); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/GutterGrimeToken.java b/Mage/src/main/java/mage/game/permanent/token/GutterGrimeToken.java index a53903d1c5e..3b2cdcdf225 100644 --- a/Mage/src/main/java/mage/game/permanent/token/GutterGrimeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/GutterGrimeToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import java.util.UUID; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; @@ -57,7 +58,7 @@ public class GutterGrimeToken extends Token { public GutterGrimeToken(UUID sourceId) { super("Ooze", "green Ooze creature token with \"This creature's power and toughness are each equal to the number of slime counters on Gutter Grime.\""); cardType.add(CardType.CREATURE); - subtype.add("Ooze"); + subtype.add(SubType.OOZE); color.setGreen(true); power = new MageInt(0); toughness = new MageInt(0); diff --git a/Mage/src/main/java/mage/game/permanent/token/HammerOfPurphorosGolemToken.java b/Mage/src/main/java/mage/game/permanent/token/HammerOfPurphorosGolemToken.java index 52308b7b365..e8d76eaa5df 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HammerOfPurphorosGolemToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HammerOfPurphorosGolemToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -42,7 +43,7 @@ public class HammerOfPurphorosGolemToken extends Token { cardType.add(CardType.ENCHANTMENT); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Golem"); + subtype.add(SubType.GOLEM); power = new MageInt(3); toughness = new MageInt(3); } diff --git a/Mage/src/main/java/mage/game/permanent/token/HauntedAngelToken.java b/Mage/src/main/java/mage/game/permanent/token/HauntedAngelToken.java index 6a2efff0e30..a6dde5dd441 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HauntedAngelToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HauntedAngelToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,7 +42,7 @@ public class HauntedAngelToken extends Token { super("Angel", "3/3 black Angel creature token with flying"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Angel"); + subtype.add(SubType.ANGEL); power = new MageInt(3); toughness = new MageInt(3); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/HazezonTamarSandWarriorToken.java b/Mage/src/main/java/mage/game/permanent/token/HazezonTamarSandWarriorToken.java index 82d1961fd10..e544e5d0039 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HazezonTamarSandWarriorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HazezonTamarSandWarriorToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,8 +43,8 @@ public class HazezonTamarSandWarriorToken extends Token { color.setRed(true); color.setGreen(true); color.setWhite(true); - subtype.add("Sand"); - subtype.add("Warrior"); + subtype.add(SubType.SAND); + subtype.add(SubType.WARRIOR); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/HeliodGodOfTheSunToken.java b/Mage/src/main/java/mage/game/permanent/token/HeliodGodOfTheSunToken.java index f870375f261..a6ccc85b75d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HeliodGodOfTheSunToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HeliodGodOfTheSunToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,7 +42,7 @@ public class HeliodGodOfTheSunToken extends Token { this.cardType.add(CardType.CREATURE); this.cardType.add(CardType.ENCHANTMENT); - this.subtype.add("Cleric"); + this.subtype.add(SubType.CLERIC); this.color.setWhite(true); this.power = new MageInt(2); diff --git a/Mage/src/main/java/mage/game/permanent/token/HellionHasteToken.java b/Mage/src/main/java/mage/game/permanent/token/HellionHasteToken.java index e746a497f54..06b3ed4b39a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HellionHasteToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HellionHasteToken.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.abilities.keyword.HasteAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class HellionHasteToken extends Token { super("Hellion", "4/4 red Hellion creature token with haste"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Hellion"); + subtype.add(SubType.HELLION); power = new MageInt(4); toughness = new MageInt(4); addAbility(HasteAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/HellionToken.java b/Mage/src/main/java/mage/game/permanent/token/HellionToken.java index a4672fb64ef..31eed72112b 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HellionToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HellionToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -40,7 +41,7 @@ public class HellionToken extends Token { super("Hellion", "4/4 red Hellion creature token"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Hellion"); + subtype.add(SubType.HELLION); power = new MageInt(4); toughness = new MageInt(4); } diff --git a/Mage/src/main/java/mage/game/permanent/token/HippoToken.java b/Mage/src/main/java/mage/game/permanent/token/HippoToken.java index 957c61254ca..814140d9808 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HippoToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HippoToken.java @@ -1,49 +1,50 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.game.permanent.token; - -import mage.MageInt; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class HippoToken extends Token { - - public HippoToken() { - super("Hippo", "1/1 green Hippo creature token"); - - cardType.add(CardType.CREATURE); - color.setGreen(true); - subtype.add("Hippo"); - - power = new MageInt(1); - toughness = new MageInt(1); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.game.permanent.token; + +import mage.MageInt; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author Styxo + */ +public class HippoToken extends Token { + + public HippoToken() { + super("Hippo", "1/1 green Hippo creature token"); + + cardType.add(CardType.CREATURE); + color.setGreen(true); + subtype.add(SubType.HIPPO); + + power = new MageInt(1); + toughness = new MageInt(1); + } +} diff --git a/Mage/src/main/java/mage/game/permanent/token/HippoToken2.java b/Mage/src/main/java/mage/game/permanent/token/HippoToken2.java index 2a820febe35..9a3a043ca35 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HippoToken2.java +++ b/Mage/src/main/java/mage/game/permanent/token/HippoToken2.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; import mage.util.RandomUtil; import java.util.ArrayList; @@ -45,7 +46,7 @@ public class HippoToken2 extends Token { super("Hippo", "3/3 green Hippo creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Hippo"); + subtype.add(SubType.HIPPO); power = new MageInt(3); toughness = new MageInt(3); } diff --git a/Mage/src/main/java/mage/game/permanent/token/HomunculusToken.java b/Mage/src/main/java/mage/game/permanent/token/HomunculusToken.java index 71b9217ebfc..4485b36b4f3 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HomunculusToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HomunculusToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,7 +42,7 @@ public class HomunculusToken extends Token { cardType.add(CardType.CREATURE); cardType.add(CardType.ARTIFACT); color.setBlue(true); - subtype.add("Homunculus"); + subtype.add(SubType.HOMUNCULUS); power = new MageInt(0); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/HornetNestInsectToken.java b/Mage/src/main/java/mage/game/permanent/token/HornetNestInsectToken.java index 1384db11d6d..fc4267e7d20 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HornetNestInsectToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HornetNestInsectToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.DeathtouchAbility; import mage.abilities.keyword.FlyingAbility; @@ -43,7 +44,7 @@ public class HornetNestInsectToken extends Token { setOriginalExpansionSetCode("M15"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Insect"); + subtype.add(SubType.INSECT); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/HornetQueenInsectToken.java b/Mage/src/main/java/mage/game/permanent/token/HornetQueenInsectToken.java index cb89725f0da..be57d6d360d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HornetQueenInsectToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HornetQueenInsectToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.DeathtouchAbility; import mage.abilities.keyword.FlyingAbility; @@ -43,7 +44,7 @@ public class HornetQueenInsectToken extends Token { setOriginalExpansionSetCode("M15"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Insect"); + subtype.add(SubType.INSECT); power = new MageInt(1); toughness = new MageInt(1); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/HornetToken.java b/Mage/src/main/java/mage/game/permanent/token/HornetToken.java index 12332fdfe1f..6f050255e40 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HornetToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HornetToken.java @@ -32,6 +32,7 @@ import mage.MageInt; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.HasteAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -48,7 +49,7 @@ public class HornetToken extends Token { this.setOriginalExpansionSetCode(setCode); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Insect"); + subtype.add(SubType.INSECT); power = new MageInt(1); toughness = new MageInt(1); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/HorrorToken.java b/Mage/src/main/java/mage/game/permanent/token/HorrorToken.java index 7fed898d0d4..42798c5b6d0 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HorrorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HorrorToken.java @@ -31,6 +31,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -43,7 +44,7 @@ public class HorrorToken extends Token { super("Horror", "4/4 black Horror creature token"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Horror"); + subtype.add(SubType.HORROR); power = new MageInt(4); toughness = new MageInt(4); } diff --git a/Mage/src/main/java/mage/game/permanent/token/HoundToken.java b/Mage/src/main/java/mage/game/permanent/token/HoundToken.java index 1dad3e03c9e..992b197439d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HoundToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HoundToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -39,7 +40,7 @@ public class HoundToken extends Token { public HoundToken() { super("Hound", "1/1 green Hound creature token"); cardType.add(CardType.CREATURE); - subtype.add("Hound"); + subtype.add(SubType.HOUND); color.setGreen(true); power = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/HourOfNeedSphinxToken.java b/Mage/src/main/java/mage/game/permanent/token/HourOfNeedSphinxToken.java index 28cf0ee1461..64ec7246a23 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HourOfNeedSphinxToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HourOfNeedSphinxToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -42,7 +43,7 @@ public class HourOfNeedSphinxToken extends Token { this.setOriginalExpansionSetCode("JOU"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Sphinx"); + subtype.add(SubType.SPHINX); power = new MageInt(4); toughness = new MageInt(4); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/HumanClericToken.java b/Mage/src/main/java/mage/game/permanent/token/HumanClericToken.java index ff9f89465d7..969938731eb 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HumanClericToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HumanClericToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -39,8 +40,8 @@ public class HumanClericToken extends Token { public HumanClericToken() { super("Human Cleric", "1/1 white and black Human Cleric creature token"); cardType.add(CardType.CREATURE); - subtype.add("Human"); - subtype.add("Cleric"); + subtype.add(SubType.HUMAN); + subtype.add(SubType.CLERIC); color.setWhite(true); color.setBlack(true); power = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/HumanSoldierToken.java b/Mage/src/main/java/mage/game/permanent/token/HumanSoldierToken.java index fe7be2c48aa..2b2fbe7fc34 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HumanSoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HumanSoldierToken.java @@ -2,14 +2,15 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; public class HumanSoldierToken extends Token { public HumanSoldierToken() { super("Human Soldier", "1/1 white Human Soldier creature token"); cardType.add(CardType.CREATURE); - subtype.add("Human"); - subtype.add("Soldier"); + subtype.add(SubType.HUMAN); + subtype.add(SubType.SOLDIER); color.setWhite(true); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/HumanToken.java b/Mage/src/main/java/mage/game/permanent/token/HumanToken.java index 6e580a5642f..e846da968bf 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HumanToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HumanToken.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import java.util.Arrays; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -42,7 +43,7 @@ public class HumanToken extends Token { super("Human", "1/1 white Human creature token"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Human"); + subtype.add(SubType.HUMAN); power = new MageInt(1); toughness = new MageInt(1); availableImageSetCodes.addAll(Arrays.asList("DKA", "AVR", "FNMP")); diff --git a/Mage/src/main/java/mage/game/permanent/token/HumanWizardToken.java b/Mage/src/main/java/mage/game/permanent/token/HumanWizardToken.java index 1932f71adcb..3725ae716f5 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HumanWizardToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HumanWizardToken.java @@ -2,14 +2,15 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; public class HumanWizardToken extends Token { public HumanWizardToken() { super("Human Wizard", "1/1 blue Human Wizard creature token"); cardType.add(CardType.CREATURE); - subtype.add("Human"); - subtype.add("Wizard"); + subtype.add(SubType.HUMAN); + subtype.add(SubType.WIZARD); color.setBlue(true); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/HuntedCentaurToken.java b/Mage/src/main/java/mage/game/permanent/token/HuntedCentaurToken.java index 3ba3a48d1b6..373a928d2f2 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HuntedCentaurToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HuntedCentaurToken.java @@ -31,6 +31,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.ObjectColor; import mage.abilities.keyword.ProtectionAbility; @@ -51,7 +52,7 @@ public class HuntedCentaurToken extends Token { super("Centaur", "3/3 green Centaur creature tokens with protection from black"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Centaur"); + subtype.add(SubType.CENTAUR); power = new MageInt(3); toughness = new MageInt(3); this.addAbility(ProtectionAbility.from(ObjectColor.BLACK)); diff --git a/Mage/src/main/java/mage/game/permanent/token/HuntedDragonKnightToken.java b/Mage/src/main/java/mage/game/permanent/token/HuntedDragonKnightToken.java index 52dde71d3f0..7b77bc2f377 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HuntedDragonKnightToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HuntedDragonKnightToken.java @@ -6,6 +6,7 @@ import java.util.List; import mage.MageInt; import mage.abilities.keyword.FirstStrikeAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -24,7 +25,7 @@ public class HuntedDragonKnightToken extends Token { cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Knight"); + subtype.add(SubType.KNIGHT); power = new MageInt(2); toughness = new MageInt(2); this.addAbility(FirstStrikeAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/HunterToken.java b/Mage/src/main/java/mage/game/permanent/token/HunterToken.java index 9d48b56936b..a98d6e1b047 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HunterToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HunterToken.java @@ -32,6 +32,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -45,7 +46,7 @@ public class HunterToken extends Token { this.setOriginalExpansionSetCode("SWS"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Hunter"); + subtype.add(SubType.HUNTER); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/HydraBroodmasterToken.java b/Mage/src/main/java/mage/game/permanent/token/HydraBroodmasterToken.java index 0082d444cdc..0f280f16c12 100644 --- a/Mage/src/main/java/mage/game/permanent/token/HydraBroodmasterToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/HydraBroodmasterToken.java @@ -32,6 +32,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -49,7 +50,7 @@ public class HydraBroodmasterToken extends Token { this.setOriginalExpansionSetCode("JOU"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Hydra"); + subtype.add(SubType.HYDRA); this.power = new MageInt(power); this.toughness = new MageInt(toughness); } diff --git a/Mage/src/main/java/mage/game/permanent/token/IllusionToken.java b/Mage/src/main/java/mage/game/permanent/token/IllusionToken.java index 280639a1ef8..6915af088c4 100644 --- a/Mage/src/main/java/mage/game/permanent/token/IllusionToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/IllusionToken.java @@ -27,6 +27,7 @@ */ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class IllusionToken extends Token { cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Illusion"); + subtype.add(SubType.ILLUSION); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/InexorableBlobOozeToken.java b/Mage/src/main/java/mage/game/permanent/token/InexorableBlobOozeToken.java index f15027f5ac6..cd3e0e58313 100644 --- a/Mage/src/main/java/mage/game/permanent/token/InexorableBlobOozeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/InexorableBlobOozeToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -39,7 +40,7 @@ public class InexorableBlobOozeToken extends Token { public InexorableBlobOozeToken() { super("Ooze", "3/3 green Ooze creature token"); cardType.add(CardType.CREATURE); - subtype.add("Ooze"); + subtype.add(SubType.OOZE); color.setGreen(true); power = new MageInt(3); toughness = new MageInt(3); diff --git a/Mage/src/main/java/mage/game/permanent/token/InsectInfectToken.java b/Mage/src/main/java/mage/game/permanent/token/InsectInfectToken.java index 8f33b8f1766..87d6641bc13 100644 --- a/Mage/src/main/java/mage/game/permanent/token/InsectInfectToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/InsectInfectToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.InfectAbility; @@ -42,7 +43,7 @@ public class InsectInfectToken extends Token { super("Insect", "1/1 green Insect creature token with infect"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Insect"); + subtype.add(SubType.INSECT); power = new MageInt(1); toughness = new MageInt(1); addAbility(InfectAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/InsectToken.java b/Mage/src/main/java/mage/game/permanent/token/InsectToken.java index f9c0ce97dc9..43b7b21de13 100644 --- a/Mage/src/main/java/mage/game/permanent/token/InsectToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/InsectToken.java @@ -33,6 +33,7 @@ import java.util.Arrays; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -55,7 +56,7 @@ public class InsectToken extends Token { setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Insect"); + subtype.add(SubType.INSECT); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/IxalanVampireToken.java b/Mage/src/main/java/mage/game/permanent/token/IxalanVampireToken.java index acaa977a89c..82d97a44391 100644 --- a/Mage/src/main/java/mage/game/permanent/token/IxalanVampireToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/IxalanVampireToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.LifelinkAbility; @@ -41,7 +42,7 @@ public class IxalanVampireToken extends Token { super("Vampire", "1/1 white Vampire creature token with lifelink"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Vampire"); + subtype.add(SubType.VAMPIRE); power = new MageInt(1); toughness = new MageInt(1); addAbility(LifelinkAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/JaceCunningCastawayIllusionToken.java b/Mage/src/main/java/mage/game/permanent/token/JaceCunningCastawayIllusionToken.java index fee62abba18..54b1a6700fd 100644 --- a/Mage/src/main/java/mage/game/permanent/token/JaceCunningCastawayIllusionToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/JaceCunningCastawayIllusionToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.MageObject; import mage.abilities.TriggeredAbilityImpl; @@ -49,7 +50,7 @@ public class JaceCunningCastawayIllusionToken extends Token { cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Illusion"); + subtype.add(SubType.ILLUSION); power = new MageInt(2); toughness = new MageInt(2); diff --git a/Mage/src/main/java/mage/game/permanent/token/JoinTheRanksSoldierToken.java b/Mage/src/main/java/mage/game/permanent/token/JoinTheRanksSoldierToken.java index fd480f44bb6..0e8e5e6b58d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/JoinTheRanksSoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/JoinTheRanksSoldierToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,8 +42,8 @@ public class JoinTheRanksSoldierToken extends Token { this.setOriginalExpansionSetCode("WWK"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Soldier"); - subtype.add("Ally"); + subtype.add(SubType.SOLDIER); + subtype.add(SubType.ALLY); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/KaldraToken.java b/Mage/src/main/java/mage/game/permanent/token/KaldraToken.java index 50543720ddf..79d8942b9b0 100644 --- a/Mage/src/main/java/mage/game/permanent/token/KaldraToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/KaldraToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.constants.SuperType; @@ -41,7 +42,7 @@ public class KaldraToken extends Token { super("Kaldra", "legendary 4/4 colorless Avatar creature token named Kaldra"); addSuperType(SuperType.LEGENDARY); cardType.add(CardType.CREATURE); - subtype.add("Avatar"); + subtype.add(SubType.AVATAR); power = new MageInt(4); toughness = new MageInt(4); } diff --git a/Mage/src/main/java/mage/game/permanent/token/KalitasVampireToken.java b/Mage/src/main/java/mage/game/permanent/token/KalitasVampireToken.java index be89d7f7393..c28435c2393 100644 --- a/Mage/src/main/java/mage/game/permanent/token/KalitasVampireToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/KalitasVampireToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -44,7 +45,7 @@ public class KalitasVampireToken extends Token { super("Vampire", new StringBuilder(tokenPower).append('/').append(tokenToughness).append(" black Vampire creature token").toString()); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Vampire"); + subtype.add(SubType.VAMPIRE); power = new MageInt(tokenPower); toughness = new MageInt(tokenToughness); } diff --git a/Mage/src/main/java/mage/game/permanent/token/KalonianTwingroveTreefolkWarriorToken.java b/Mage/src/main/java/mage/game/permanent/token/KalonianTwingroveTreefolkWarriorToken.java index 559dadd5848..45a6bfa663c 100644 --- a/Mage/src/main/java/mage/game/permanent/token/KalonianTwingroveTreefolkWarriorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/KalonianTwingroveTreefolkWarriorToken.java @@ -55,8 +55,8 @@ public class KalonianTwingroveTreefolkWarriorToken extends Token { this.setOriginalExpansionSetCode("M15"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Treefolk"); - subtype.add("Warrior"); + subtype.add(SubType.TREEFOLK); + subtype.add(SubType.WARRIOR); power = new MageInt(0); toughness = new MageInt(0); diff --git a/Mage/src/main/java/mage/game/permanent/token/KelpToken.java b/Mage/src/main/java/mage/game/permanent/token/KelpToken.java index c908d153a1d..0b09164d4fe 100644 --- a/Mage/src/main/java/mage/game/permanent/token/KelpToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/KelpToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.DefenderAbility; @@ -42,8 +43,8 @@ public class KelpToken extends Token { this.setOriginalExpansionSetCode("MIR"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Plant"); - subtype.add("Wall"); + subtype.add(SubType.PLANT); + subtype.add(SubType.WALL); power = new MageInt(0); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/KherKeepKoboldToken.java b/Mage/src/main/java/mage/game/permanent/token/KherKeepKoboldToken.java index 8f4a95ecb31..f851b8d33fa 100644 --- a/Mage/src/main/java/mage/game/permanent/token/KherKeepKoboldToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/KherKeepKoboldToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class KherKeepKoboldToken extends Token { super("Kobolds of Kher Keep", "0/1 red Kobold creature token named Kobolds of Kher Keep"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Kobold"); + subtype.add(SubType.KOBOLD); power = new MageInt(0); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/KioraKrakenToken.java b/Mage/src/main/java/mage/game/permanent/token/KioraKrakenToken.java index 57957791473..8787ceadbd6 100644 --- a/Mage/src/main/java/mage/game/permanent/token/KioraKrakenToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/KioraKrakenToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class KioraKrakenToken extends Token { super("Kraken", "9/9 blue Kraken creature token"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Kraken"); + subtype.add(SubType.KRAKEN); power = new MageInt(9); toughness = new MageInt(9); this.setOriginalExpansionSetCode("BNG"); diff --git a/Mage/src/main/java/mage/game/permanent/token/KithkinToken.java b/Mage/src/main/java/mage/game/permanent/token/KithkinToken.java index 2a6ce0c4854..45e66445867 100644 --- a/Mage/src/main/java/mage/game/permanent/token/KithkinToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/KithkinToken.java @@ -3,6 +3,7 @@ package mage.game.permanent.token; import java.util.Arrays; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -14,8 +15,8 @@ public class KithkinToken extends Token { super("Kithkin Soldier", "1/1 white Kithkin Soldier creature token"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Kithkin"); - subtype.add("Soldier"); + subtype.add(SubType.KITHKIN); + subtype.add(SubType.SOLDIER); power = new MageInt(1); toughness = new MageInt(1); availableImageSetCodes.addAll(Arrays.asList("LRW", "SHM", "MMA")); diff --git a/Mage/src/main/java/mage/game/permanent/token/KnightAllyToken.java b/Mage/src/main/java/mage/game/permanent/token/KnightAllyToken.java index 5964d9b230d..57e353f063f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/KnightAllyToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/KnightAllyToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,8 +42,8 @@ public class KnightAllyToken extends Token { this.setExpansionSetCodeForImage("BFZ"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Knight"); - subtype.add("Ally"); + subtype.add(SubType.KNIGHT); + subtype.add(SubType.ALLY); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/KnightToken.java b/Mage/src/main/java/mage/game/permanent/token/KnightToken.java index 7f2b2f8b9ba..d649fd78fec 100644 --- a/Mage/src/main/java/mage/game/permanent/token/KnightToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/KnightToken.java @@ -6,6 +6,7 @@ import java.util.List; import mage.MageInt; import mage.abilities.keyword.VigilanceAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -26,7 +27,7 @@ public class KnightToken extends Token { } cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Knight"); + subtype.add(SubType.KNIGHT); power = new MageInt(2); toughness = new MageInt(2); this.addAbility(VigilanceAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/KorAllyToken.java b/Mage/src/main/java/mage/game/permanent/token/KorAllyToken.java index c8a39ccb32b..4aae5603922 100644 --- a/Mage/src/main/java/mage/game/permanent/token/KorAllyToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/KorAllyToken.java @@ -2,6 +2,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; public class KorAllyToken extends Token { @@ -9,8 +10,8 @@ public class KorAllyToken extends Token { super("Kor Ally", "1/1 white Kor Ally creature token"); this.setExpansionSetCodeForImage("BFZ"); cardType.add(CardType.CREATURE); - subtype.add("Kor"); - subtype.add("Ally"); + subtype.add(SubType.KOR); + subtype.add(SubType.ALLY); color.setWhite(true); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/KorSoldierToken.java b/Mage/src/main/java/mage/game/permanent/token/KorSoldierToken.java index 8f6b41c93bd..b477c69eb5e 100644 --- a/Mage/src/main/java/mage/game/permanent/token/KorSoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/KorSoldierToken.java @@ -31,6 +31,7 @@ package mage.game.permanent.token; import java.util.Arrays; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -43,8 +44,8 @@ public class KorSoldierToken extends Token { super("Kor Soldier", "1/1 white Kor Soldier creature token"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Kor"); - subtype.add("Soldier"); + subtype.add(SubType.KOR); + subtype.add(SubType.SOLDIER); power = new MageInt(1); toughness = new MageInt(1); availableImageSetCodes.addAll(Arrays.asList("C14", "ZEN")); } diff --git a/Mage/src/main/java/mage/game/permanent/token/LeafdrakeRoostDrakeToken.java b/Mage/src/main/java/mage/game/permanent/token/LeafdrakeRoostDrakeToken.java index 0baa767d452..09cf615aca6 100644 --- a/Mage/src/main/java/mage/game/permanent/token/LeafdrakeRoostDrakeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/LeafdrakeRoostDrakeToken.java @@ -31,6 +31,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -61,7 +62,7 @@ public class LeafdrakeRoostDrakeToken extends Token { cardType.add(CardType.CREATURE); color.setGreen(true); color.setBlue(true); - subtype.add("Drake"); + subtype.add(SubType.DRAKE); power = new MageInt(2); toughness = new MageInt(2); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/LightningRagerToken.java b/Mage/src/main/java/mage/game/permanent/token/LightningRagerToken.java index 5de5d26cff4..dcdf510f5fb 100644 --- a/Mage/src/main/java/mage/game/permanent/token/LightningRagerToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/LightningRagerToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; import mage.abilities.effects.common.SacrificeSourceEffect; @@ -47,7 +48,7 @@ public class LightningRagerToken extends Token { this.setOriginalExpansionSetCode("C15"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(5); toughness = new MageInt(1); addAbility(TrampleAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/LinvalaAngelToken.java b/Mage/src/main/java/mage/game/permanent/token/LinvalaAngelToken.java index 7aebab1cf9d..aebcc9af26a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/LinvalaAngelToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/LinvalaAngelToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -42,7 +43,7 @@ public class LinvalaAngelToken extends Token { setOriginalExpansionSetCode("OGW"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Angel"); + subtype.add(SubType.ANGEL); power = new MageInt(3); toughness = new MageInt(3); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/LizardToken.java b/Mage/src/main/java/mage/game/permanent/token/LizardToken.java index 4eb7a901d19..b83686ed81f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/LizardToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/LizardToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class LizardToken extends Token { super("Lizard", "2/2 green Lizard creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Lizard"); + subtype.add(SubType.LIZARD); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/LlanowarElvesToken.java b/Mage/src/main/java/mage/game/permanent/token/LlanowarElvesToken.java index 56db49cd844..f67026c12aa 100644 --- a/Mage/src/main/java/mage/game/permanent/token/LlanowarElvesToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/LlanowarElvesToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.mana.GreenManaAbility; @@ -42,8 +43,8 @@ public class LlanowarElvesToken extends Token { this.setOriginalExpansionSetCode("FUT"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Elf"); - subtype.add("Druid"); + subtype.add(SubType.ELF); + subtype.add(SubType.DRUID); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/MarathWillOfTheWildElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/MarathWillOfTheWildElementalToken.java index 4b6797dea49..325d3fc4a47 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MarathWillOfTheWildElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MarathWillOfTheWildElementalToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -39,7 +40,7 @@ public class MarathWillOfTheWildElementalToken extends Token { public MarathWillOfTheWildElementalToken() { super("Elemental", "X/X green Elemental creature token"); cardType.add(CardType.CREATURE); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); color.setGreen(true); power = new MageInt(0); toughness = new MageInt(0); diff --git a/Mage/src/main/java/mage/game/permanent/token/MarduStrikeLeaderWarriorToken.java b/Mage/src/main/java/mage/game/permanent/token/MarduStrikeLeaderWarriorToken.java index 15c79d23497..d75085fcd9a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MarduStrikeLeaderWarriorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MarduStrikeLeaderWarriorToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class MarduStrikeLeaderWarriorToken extends Token { super("Warrior", "2/1 black Warrior creature token"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Warrior"); + subtype.add(SubType.WARRIOR); power = new MageInt(2); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/MaritLageToken.java b/Mage/src/main/java/mage/game/permanent/token/MaritLageToken.java index 3c8223014f1..ad00e117970 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MaritLageToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MaritLageToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.IndestructibleAbility; @@ -43,7 +44,7 @@ public class MaritLageToken extends Token { super("Marit Lage", "legendary 20/20 black Avatar creature token with flying and indestructible named Marit Lage"); this.setOriginalExpansionSetCode("CSP"); cardType.add(CardType.CREATURE); - subtype.add("Avatar"); + subtype.add(SubType.AVATAR); addSuperType(SuperType.LEGENDARY); color.setBlack(true); diff --git a/Mage/src/main/java/mage/game/permanent/token/MasterOfWavesElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/MasterOfWavesElementalToken.java index b3d6e20e62b..213155bbeb6 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MasterOfWavesElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MasterOfWavesElementalToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -39,7 +40,7 @@ public class MasterOfWavesElementalToken extends Token { public MasterOfWavesElementalToken() { super("Elemental", "1/0 blue Elemental creature"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.color.setBlue(true); diff --git a/Mage/src/main/java/mage/game/permanent/token/MelokuTheCloudedMirrorToken.java b/Mage/src/main/java/mage/game/permanent/token/MelokuTheCloudedMirrorToken.java index e2be2f90a69..245023dd239 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MelokuTheCloudedMirrorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MelokuTheCloudedMirrorToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,7 +42,7 @@ public class MelokuTheCloudedMirrorToken extends Token { super("Illusion", "1/1 blue Illusion creature token with flying"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Illusion"); + subtype.add(SubType.ILLUSION); power = new MageInt(1); toughness = new MageInt(1); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/MercyKillingToken.java b/Mage/src/main/java/mage/game/permanent/token/MercyKillingToken.java index 6f87dc55205..8eee24b0dc4 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MercyKillingToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MercyKillingToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,8 +42,8 @@ public class MercyKillingToken extends Token { cardType.add(CardType.CREATURE); color.setGreen(true); color.setWhite(true); - subtype.add("Elf"); - subtype.add("Warrior"); + subtype.add(SubType.ELF); + subtype.add(SubType.WARRIOR); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/MerfolkHexproofToken.java b/Mage/src/main/java/mage/game/permanent/token/MerfolkHexproofToken.java index 84503c437e7..53a6a704035 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MerfolkHexproofToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MerfolkHexproofToken.java @@ -9,6 +9,7 @@ import mage.MageInt; import mage.ObjectColor; import mage.abilities.keyword.HexproofAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -22,7 +23,7 @@ public class MerfolkHexproofToken extends Token { public MerfolkHexproofToken() { super("Merfolk", "1/1 blue Merfolk creature token with hexproof"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Merfolk"); + this.subtype.add(SubType.MERFOLK); this.color = ObjectColor.BLUE; this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/MerfolkToken.java b/Mage/src/main/java/mage/game/permanent/token/MerfolkToken.java index b0676675cf9..83eab8422ce 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MerfolkToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MerfolkToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class MerfolkToken extends Token { super("Merfolk", "1/1 blue Merfolk creature token"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Merfolk"); + subtype.add(SubType.MERFOLK); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/MerfolkWizardToken.java b/Mage/src/main/java/mage/game/permanent/token/MerfolkWizardToken.java index ad83a93e282..c9d8e835d00 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MerfolkWizardToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MerfolkWizardToken.java @@ -2,6 +2,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -13,8 +14,8 @@ public class MerfolkWizardToken extends Token { super("Merfolk Wizard", "1/1 blue Merfolk Wizard creature token"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Merfolk"); - subtype.add("Wizard"); + subtype.add(SubType.MERFOLK); + subtype.add(SubType.WIZARD); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/MetallurgicSummoningsConstructToken.java b/Mage/src/main/java/mage/game/permanent/token/MetallurgicSummoningsConstructToken.java index 901ddfb8d1f..e148918ef74 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MetallurgicSummoningsConstructToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MetallurgicSummoningsConstructToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.util.RandomUtil; @@ -46,7 +47,7 @@ public class MetallurgicSummoningsConstructToken extends Token { setTokenType(RandomUtil.nextInt(2) + 1); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Construct"); + subtype.add(SubType.CONSTRUCT); power = new MageInt(xValue); toughness = new MageInt(xValue); } diff --git a/Mage/src/main/java/mage/game/permanent/token/MinionToken.java b/Mage/src/main/java/mage/game/permanent/token/MinionToken.java index b00ee22ce6a..c885889f5ff 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MinionToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MinionToken.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -45,7 +46,7 @@ public class MinionToken extends Token { super("Minion", "X/X black Minion creature token"); this.setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); - subtype.add("Minion"); + subtype.add(SubType.MINION); color.setBlack(true); power = new MageInt(0); toughness = new MageInt(0); diff --git a/Mage/src/main/java/mage/game/permanent/token/MinorDemonToken.java b/Mage/src/main/java/mage/game/permanent/token/MinorDemonToken.java index 97dca7a84c7..6d136c01d4f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MinorDemonToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MinorDemonToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,7 +42,7 @@ public class MinorDemonToken extends Token { cardType.add(CardType.CREATURE); color.setBlack(true); color.setRed(true); - subtype.add("Demon"); + subtype.add(SubType.DEMON); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/MoltenBirthElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/MoltenBirthElementalToken.java index 1aa59de1cd2..f0ae482dd88 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MoltenBirthElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MoltenBirthElementalToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; import mage.util.RandomUtil; /** @@ -43,7 +44,7 @@ public class MoltenBirthElementalToken extends Token { this.setTokenType(RandomUtil.nextInt(2) + 1); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/MonasteryMentorToken.java b/Mage/src/main/java/mage/game/permanent/token/MonasteryMentorToken.java index 14bf959e3c5..bcec81664d2 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MonasteryMentorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MonasteryMentorToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.ProwessAbility; @@ -41,7 +42,7 @@ public class MonasteryMentorToken extends Token { super("Monk", "1/1 white Monk creature token with prowess"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Monk"); + subtype.add(SubType.MONK); power = new MageInt(1); toughness = new MageInt(1); this.addAbility(new ProwessAbility()); diff --git a/Mage/src/main/java/mage/game/permanent/token/MyrToken.java b/Mage/src/main/java/mage/game/permanent/token/MyrToken.java index 9a3e10220c6..11b46d905ff 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MyrToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MyrToken.java @@ -6,6 +6,7 @@ import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; public class MyrToken extends Token { @@ -24,7 +25,7 @@ public class MyrToken extends Token { this.setOriginalExpansionSetCode(expansionSetCode); cardType.add(CardType.CREATURE); cardType.add(CardType.ARTIFACT); - subtype.add("Myr"); + subtype.add(SubType.MYR); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/MysticGenesisOozeToken.java b/Mage/src/main/java/mage/game/permanent/token/MysticGenesisOozeToken.java index 7a4ecdb145f..8af9bf8fcc3 100644 --- a/Mage/src/main/java/mage/game/permanent/token/MysticGenesisOozeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/MysticGenesisOozeToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -43,7 +44,7 @@ public class MysticGenesisOozeToken extends Token { super("Ooze", "X/X green Ooze creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Ooze"); + subtype.add(SubType.OOZE); power = new MageInt(xValue); toughness = new MageInt(xValue); setOriginalExpansionSetCode("RTR"); diff --git a/Mage/src/main/java/mage/game/permanent/token/NahiriTheLithomancerEquipmentToken.java b/Mage/src/main/java/mage/game/permanent/token/NahiriTheLithomancerEquipmentToken.java index cb26e2870b1..c2c0ac2822a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/NahiriTheLithomancerEquipmentToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/NahiriTheLithomancerEquipmentToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.costs.mana.GenericManaCost; @@ -50,7 +51,7 @@ public class NahiriTheLithomancerEquipmentToken extends Token { public NahiriTheLithomancerEquipmentToken() { super("Stoneforged Blade", "colorless Equipment artifact token named Stoneforged Blade with indestructible, \"Equipped creature gets +5/+5 and has double strike,\" and equip {0}"); cardType.add(CardType.ARTIFACT); - subtype.add("Equipment"); + subtype.add(SubType.EQUIPMENT); this.addAbility(IndestructibleAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/NestOfScarabsBlackInsectToken.java b/Mage/src/main/java/mage/game/permanent/token/NestOfScarabsBlackInsectToken.java index 565e0863049..6655e1fc44f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/NestOfScarabsBlackInsectToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/NestOfScarabsBlackInsectToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class NestOfScarabsBlackInsectToken extends Token { super("Insect", "1/1 black Insect creature token"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Insect"); + subtype.add(SubType.INSECT); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/NighteyesTheDesecratorToken.java b/Mage/src/main/java/mage/game/permanent/token/NighteyesTheDesecratorToken.java index ec293c599f7..49efc5c50c3 100644 --- a/Mage/src/main/java/mage/game/permanent/token/NighteyesTheDesecratorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/NighteyesTheDesecratorToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -49,8 +50,8 @@ public class NighteyesTheDesecratorToken extends Token { addSuperType(SuperType.LEGENDARY); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Rat"); - subtype.add("Wizard"); + subtype.add(SubType.RAT); + subtype.add(SubType.WIZARD); power = new MageInt(4); toughness = new MageInt(2); // {4}{B}: Put target creature card from a graveyard onto the battlefield under your control. diff --git a/Mage/src/main/java/mage/game/permanent/token/NightwingHorrorToken.java b/Mage/src/main/java/mage/game/permanent/token/NightwingHorrorToken.java index 024625a8bb0..d51bdf0a37c 100644 --- a/Mage/src/main/java/mage/game/permanent/token/NightwingHorrorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/NightwingHorrorToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -42,7 +43,7 @@ public class NightwingHorrorToken extends Token { cardType.add(CardType.CREATURE); this.color.setBlue(true); this.color.setBlack(true); - this.subtype.add("Horror"); + this.subtype.add(SubType.HORROR); this.power = new MageInt(1); this.toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/OctopusToken.java b/Mage/src/main/java/mage/game/permanent/token/OctopusToken.java index 590c25e35ff..63c39904682 100644 --- a/Mage/src/main/java/mage/game/permanent/token/OctopusToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/OctopusToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class OctopusToken extends Token { super("Octopus", "8/8 blue Octopus creature token"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Octopus"); + subtype.add(SubType.OCTOPUS); power = new MageInt(8); toughness = new MageInt(8); this.setOriginalExpansionSetCode("BFZ"); diff --git a/Mage/src/main/java/mage/game/permanent/token/OgreToken.java b/Mage/src/main/java/mage/game/permanent/token/OgreToken.java index b76a68fcc10..a32e6075e0c 100644 --- a/Mage/src/main/java/mage/game/permanent/token/OgreToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/OgreToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class OgreToken extends Token { super("Ogre", "3/3 red Ogre creature"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Ogre"); + subtype.add(SubType.OGRE); power = new MageInt(3); toughness = new MageInt(3); } diff --git a/Mage/src/main/java/mage/game/permanent/token/OmnathElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/OmnathElementalToken.java index 6f9b1ac0249..d6c55c9cbe6 100644 --- a/Mage/src/main/java/mage/game/permanent/token/OmnathElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/OmnathElementalToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,7 +42,7 @@ public class OmnathElementalToken extends Token { setTokenType(2); setOriginalExpansionSetCode("BFZ"); cardType.add(CardType.CREATURE); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); color.setRed(true); color.setGreen(true); diff --git a/Mage/src/main/java/mage/game/permanent/token/OneDozenEyesBeastToken.java b/Mage/src/main/java/mage/game/permanent/token/OneDozenEyesBeastToken.java index 39d703f1e7a..9aebc235cf4 100644 --- a/Mage/src/main/java/mage/game/permanent/token/OneDozenEyesBeastToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/OneDozenEyesBeastToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class OneDozenEyesBeastToken extends Token { super("Beast", "5/5 green Beast creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Beast"); + subtype.add(SubType.BEAST); power = new MageInt(5); toughness = new MageInt(5); } diff --git a/Mage/src/main/java/mage/game/permanent/token/OonaQueenFaerieToken.java b/Mage/src/main/java/mage/game/permanent/token/OonaQueenFaerieToken.java index bcbd37611a4..cd68f66ad0d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/OonaQueenFaerieToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/OonaQueenFaerieToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -42,8 +43,8 @@ public class OonaQueenFaerieToken extends Token { cardType.add(CardType.CREATURE); color.setBlue(true); color.setBlack(true); - subtype.add("Faerie"); - subtype.add("Rogue"); + subtype.add(SubType.FAERIE); + subtype.add(SubType.ROGUE); power = new MageInt(1); toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/Ooze2Token.java b/Mage/src/main/java/mage/game/permanent/token/Ooze2Token.java index b6026fab82a..93fefc3e373 100644 --- a/Mage/src/main/java/mage/game/permanent/token/Ooze2Token.java +++ b/Mage/src/main/java/mage/game/permanent/token/Ooze2Token.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.common.DiesTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; @@ -41,7 +42,7 @@ public class Ooze2Token extends Token { public Ooze2Token() { super("Ooze", "2/2 green Ooze creature tokens with \"When this creature is put into a graveyard, create two 1/1 green Ooze creature tokens.\""); cardType.add(CardType.CREATURE); - subtype.add("Ooze"); + subtype.add(SubType.OOZE); color.setGreen(true); power = new MageInt(2); toughness = new MageInt(2); diff --git a/Mage/src/main/java/mage/game/permanent/token/OozeToken.java b/Mage/src/main/java/mage/game/permanent/token/OozeToken.java index 319f00dc585..cf5c18d6d98 100644 --- a/Mage/src/main/java/mage/game/permanent/token/OozeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/OozeToken.java @@ -2,6 +2,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; public class OozeToken extends Token { @@ -9,7 +10,7 @@ public class OozeToken extends Token { super("Ooze", power + "/" + toughness + " green ooze creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Ooze"); + subtype.add(SubType.OOZE); this.power = new MageInt(power); this.toughness = new MageInt(toughness); } @@ -18,7 +19,7 @@ public class OozeToken extends Token { super("Ooze", "X/X green ooze creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Ooze"); + subtype.add(SubType.OOZE); power = new MageInt(0); toughness = new MageInt(0); } diff --git a/Mage/src/main/java/mage/game/permanent/token/OphiomancerSnakeToken.java b/Mage/src/main/java/mage/game/permanent/token/OphiomancerSnakeToken.java index 004c3e85a21..0e6d7ca0f64 100644 --- a/Mage/src/main/java/mage/game/permanent/token/OphiomancerSnakeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/OphiomancerSnakeToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.DeathtouchAbility; @@ -41,7 +42,7 @@ public class OphiomancerSnakeToken extends Token { super("Snake", "1/1 black Snake creature token with deathtouch"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Snake"); + subtype.add(SubType.SNAKE); power = new MageInt(1); toughness = new MageInt(1); this.addAbility(DeathtouchAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/OrderedMigrationBirdToken.java b/Mage/src/main/java/mage/game/permanent/token/OrderedMigrationBirdToken.java index 8ac9e9fa5b5..12c7878011c 100644 --- a/Mage/src/main/java/mage/game/permanent/token/OrderedMigrationBirdToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/OrderedMigrationBirdToken.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class OrderedMigrationBirdToken extends Token { super("Bird", "1/1 blue Bird creature token with flying"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Bird"); + subtype.add(SubType.BIRD); power = new MageInt(1); toughness = new MageInt(1); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/OviyaPashiriSageLifecrafterToken.java b/Mage/src/main/java/mage/game/permanent/token/OviyaPashiriSageLifecrafterToken.java index 9d8517320e5..6a6ba3d58e3 100644 --- a/Mage/src/main/java/mage/game/permanent/token/OviyaPashiriSageLifecrafterToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/OviyaPashiriSageLifecrafterToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.filter.common.FilterControlledCreaturePermanent; import mage.util.RandomUtil; @@ -48,7 +49,7 @@ public class OviyaPashiriSageLifecrafterToken extends Token { super("Construct", "an X/X colorless Construct artifact creature token, where X is the number of creatures you control"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Construct"); + subtype.add(SubType.CONSTRUCT); setOriginalExpansionSetCode("KLD"); setTokenType(RandomUtil.nextInt(2) + 1); power = new MageInt(number); diff --git a/Mage/src/main/java/mage/game/permanent/token/OwlToken.java b/Mage/src/main/java/mage/game/permanent/token/OwlToken.java index 8534f57e3fc..417e12c2450 100644 --- a/Mage/src/main/java/mage/game/permanent/token/OwlToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/OwlToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,7 +42,7 @@ public class OwlToken extends Token { super("Bird", "1/1 blue Bird creature token with flying"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Bird"); + subtype.add(SubType.BIRD); power = new MageInt(1); toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/PatagiaViperSnakeToken.java b/Mage/src/main/java/mage/game/permanent/token/PatagiaViperSnakeToken.java index 81efe8f80cf..48d10553b6f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PatagiaViperSnakeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PatagiaViperSnakeToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,7 +42,7 @@ public class PatagiaViperSnakeToken extends Token { cardType.add(CardType.CREATURE); color.setGreen(true); color.setBlue(true); - subtype.add("Snake"); + subtype.add(SubType.SNAKE); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/PegasusToken.java b/Mage/src/main/java/mage/game/permanent/token/PegasusToken.java index 12e90966ac0..1733333a9fc 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PegasusToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PegasusToken.java @@ -30,6 +30,7 @@ R package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -43,7 +44,7 @@ public class PegasusToken extends Token { super("Pegasus", "1/1 white Pegasus creature token with flying"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Pegasus"); + subtype.add(SubType.PEGASUS); power = new MageInt(1); toughness = new MageInt(1); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/PentaviteToken.java b/Mage/src/main/java/mage/game/permanent/token/PentaviteToken.java index 8159f18c694..e53ed248819 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PentaviteToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PentaviteToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,7 +42,7 @@ public class PentaviteToken extends Token { super("Pentavite", "1/1 colorless Pentavite artifact creature token with flying"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Pentavite"); + subtype.add(SubType.PENTAVITE); power = new MageInt(1); toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/PenumbraBobcatToken.java b/Mage/src/main/java/mage/game/permanent/token/PenumbraBobcatToken.java index 737d1a4cd0e..9890e8b1244 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PenumbraBobcatToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PenumbraBobcatToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class PenumbraBobcatToken extends Token { super("Cat", "2/1 black Cat creature token"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Cat"); + subtype.add(SubType.CAT); power = new MageInt(2); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/PenumbraKavuToken.java b/Mage/src/main/java/mage/game/permanent/token/PenumbraKavuToken.java index 15c5d9d4e0c..a68d76f9316 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PenumbraKavuToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PenumbraKavuToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class PenumbraKavuToken extends Token { super("Kavu", "3/3 black Kavu creature token"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Kavu"); + subtype.add(SubType.KAVU); power = new MageInt(3); toughness = new MageInt(3); } diff --git a/Mage/src/main/java/mage/game/permanent/token/PenumbraSpiderToken.java b/Mage/src/main/java/mage/game/permanent/token/PenumbraSpiderToken.java index 234cd39899a..bed37460930 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PenumbraSpiderToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PenumbraSpiderToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.ReachAbility; @@ -42,7 +43,7 @@ public class PenumbraSpiderToken extends Token { super("Spider", "2/4 black Spider creature token with reach"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Spider"); + subtype.add(SubType.SPIDER); power = new MageInt(2); toughness = new MageInt(4); addAbility(ReachAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/PenumbraWurmToken.java b/Mage/src/main/java/mage/game/permanent/token/PenumbraWurmToken.java index 39d36774d04..7ed681f5182 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PenumbraWurmToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PenumbraWurmToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.TrampleAbility; @@ -41,7 +42,7 @@ public class PenumbraWurmToken extends Token { super("Wurm", "6/6 black Wurm creature token with trample"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Wurm"); + subtype.add(SubType.WURM); power = new MageInt(6); toughness = new MageInt(6); diff --git a/Mage/src/main/java/mage/game/permanent/token/PestToken.java b/Mage/src/main/java/mage/game/permanent/token/PestToken.java index 1d35449e688..3fc141f1994 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PestToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PestToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class PestToken extends Token { super("Pest", "0/1 colorless Pest artifact creature token"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Pest"); + subtype.add(SubType.PEST); power = new MageInt(0); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/PharikaSnakeToken.java b/Mage/src/main/java/mage/game/permanent/token/PharikaSnakeToken.java index e692208ccbe..ae279bf7753 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PharikaSnakeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PharikaSnakeToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.abilities.keyword.DeathtouchAbility; /** @@ -41,7 +42,7 @@ public class PharikaSnakeToken extends Token { this.setOriginalExpansionSetCode("JOU"); cardType.add(CardType.ENCHANTMENT); cardType.add(CardType.CREATURE); - subtype.add("Snake"); + subtype.add(SubType.SNAKE); color.setBlack(true); color.setGreen(true); this.addAbility(DeathtouchAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/PhyrexianRebirthHorrorToken.java b/Mage/src/main/java/mage/game/permanent/token/PhyrexianRebirthHorrorToken.java index 5fc615a7b9f..c7f05e98624 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PhyrexianRebirthHorrorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PhyrexianRebirthHorrorToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class PhyrexianRebirthHorrorToken extends Token { super("Horror", "X/X colorless Horror artifact creature token"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Horror"); + subtype.add(SubType.HORROR); power = new MageInt(0); toughness = new MageInt(0); } diff --git a/Mage/src/main/java/mage/game/permanent/token/PincherToken.java b/Mage/src/main/java/mage/game/permanent/token/PincherToken.java index fe0e505b9ae..35c7e807b67 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PincherToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PincherToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class PincherToken extends Token { super("Pincher", "2/2 colorless Pincher creature token"); setOriginalExpansionSetCode("5ND"); cardType.add(CardType.CREATURE); - subtype.add("Pincher"); + subtype.add(SubType.PINCHER); power = new MageInt(2); toughness = new MageInt(2); diff --git a/Mage/src/main/java/mage/game/permanent/token/PlantToken.java b/Mage/src/main/java/mage/game/permanent/token/PlantToken.java index c6151c93155..b6399a6f574 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PlantToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PlantToken.java @@ -33,6 +33,7 @@ import java.util.Arrays; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; public class PlantToken extends Token { @@ -46,7 +47,7 @@ public class PlantToken extends Token { super("Plant", "0/1 green Plant creature"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Plant"); + subtype.add(SubType.PLANT); power = new MageInt(0); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/PongifyApeToken.java b/Mage/src/main/java/mage/game/permanent/token/PongifyApeToken.java index fb6b3313001..e88c758ef06 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PongifyApeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PongifyApeToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class PongifyApeToken extends Token { super("Ape", "3/3 green Ape creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Ape"); + subtype.add(SubType.APE); power = new MageInt(3); toughness = new MageInt(3); } diff --git a/Mage/src/main/java/mage/game/permanent/token/PrismToken.java b/Mage/src/main/java/mage/game/permanent/token/PrismToken.java index cb9f56b4485..814082f49a7 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PrismToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PrismToken.java @@ -32,6 +32,7 @@ import java.util.Collections; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -50,7 +51,7 @@ public class PrismToken extends Token { availableImageSetCodes = tokenImageSets; cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Prism"); + subtype.add(SubType.PRISM); power = new MageInt(0); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/PromiseOfPowerDemonToken.java b/Mage/src/main/java/mage/game/permanent/token/PromiseOfPowerDemonToken.java index fbbcceb2be4..cd5fa9d0648 100644 --- a/Mage/src/main/java/mage/game/permanent/token/PromiseOfPowerDemonToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/PromiseOfPowerDemonToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -46,7 +47,7 @@ public class PromiseOfPowerDemonToken extends Token { setTokenType(2); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Demon"); + subtype.add(SubType.DEMON); power = new MageInt(xValue); toughness = new MageInt(xValue); diff --git a/Mage/src/main/java/mage/game/permanent/token/ProsshKoboldToken.java b/Mage/src/main/java/mage/game/permanent/token/ProsshKoboldToken.java index cc3a19aa1c0..cbc506185f1 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ProsshKoboldToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ProsshKoboldToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class ProsshKoboldToken extends Token { super("Kobolds of Kher Keep", "0/1 red Kobold creature tokens"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Kobold"); + subtype.add(SubType.KOBOLD); power = new MageInt(0); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/QueenMarchesaAssassinToken.java b/Mage/src/main/java/mage/game/permanent/token/QueenMarchesaAssassinToken.java index 1bde202df42..44247fafd67 100644 --- a/Mage/src/main/java/mage/game/permanent/token/QueenMarchesaAssassinToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/QueenMarchesaAssassinToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.DeathtouchAbility; import mage.abilities.keyword.HasteAbility; @@ -42,7 +43,7 @@ public class QueenMarchesaAssassinToken extends Token { super("Assassin", "1/1 black Assassin creature tokens with deathtouch and haste"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Assassin"); + subtype.add(SubType.ASSASSIN); power = new MageInt(1); toughness = new MageInt(1); addAbility(DeathtouchAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/QuestForTheGravelordZombieToken.java b/Mage/src/main/java/mage/game/permanent/token/QuestForTheGravelordZombieToken.java index 4090d51a072..a061e45feea 100644 --- a/Mage/src/main/java/mage/game/permanent/token/QuestForTheGravelordZombieToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/QuestForTheGravelordZombieToken.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -40,8 +41,8 @@ public class QuestForTheGravelordZombieToken extends Token { public QuestForTheGravelordZombieToken() { super("Zombie Giant", "5/5 black Zombie Giant creature token"); cardType.add(CardType.CREATURE); - subtype.add("Zombie"); - subtype.add("Giant"); + subtype.add(SubType.ZOMBIE); + subtype.add(SubType.GIANT); color.setBlack(true); power = new MageInt(5); diff --git a/Mage/src/main/java/mage/game/permanent/token/RakdosGuildmageGoblinToken.java b/Mage/src/main/java/mage/game/permanent/token/RakdosGuildmageGoblinToken.java index 4373ef988d2..df5137bb057 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RakdosGuildmageGoblinToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RakdosGuildmageGoblinToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.HasteAbility; @@ -41,7 +42,7 @@ public class RakdosGuildmageGoblinToken extends Token { super("Goblin", "2/1 red Goblin creature token with haste"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Goblin"); + subtype.add(SubType.GOBLIN); power = new MageInt(2); toughness = new MageInt(1); this.addAbility(HasteAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/RakkaMarElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/RakkaMarElementalToken.java index 443391fd33f..e4a372f11f9 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RakkaMarElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RakkaMarElementalToken.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.abilities.keyword.HasteAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class RakkaMarElementalToken extends Token { super("Elemental", "3/1 red Elemental creature with Haste"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(3); toughness = new MageInt(1); addAbility(HasteAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/RallyTheHordeWarriorToken.java b/Mage/src/main/java/mage/game/permanent/token/RallyTheHordeWarriorToken.java index 9e782a71886..b529fd14170 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RallyTheHordeWarriorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RallyTheHordeWarriorToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class RallyTheHordeWarriorToken extends Token { super("Warrior", "1/1 red Warrior creature token"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Warrior"); + subtype.add(SubType.WARRIOR); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/RapidHybridizationToken.java b/Mage/src/main/java/mage/game/permanent/token/RapidHybridizationToken.java index d22e593f701..92a1cfb8dbd 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RapidHybridizationToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RapidHybridizationToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -43,8 +44,8 @@ public class RapidHybridizationToken extends Token { color.setGreen(true); - subtype.add("Frog"); - subtype.add("Lizard"); + subtype.add(SubType.FROG); + subtype.add(SubType.LIZARD); power = new MageInt(3); toughness = new MageInt(3); diff --git a/Mage/src/main/java/mage/game/permanent/token/RatToken.java b/Mage/src/main/java/mage/game/permanent/token/RatToken.java index d1a004f4ce9..264a4d686c5 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RatToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RatToken.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -46,7 +47,7 @@ public class RatToken extends Token { this.setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Rat"); + subtype.add(SubType.RAT); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/RebelStarshipToken.java b/Mage/src/main/java/mage/game/permanent/token/RebelStarshipToken.java index b35e418a8ea..4cdc4265b80 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RebelStarshipToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RebelStarshipToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.abilities.keyword.SpaceflightAbility; /** @@ -43,7 +44,7 @@ public class RebelStarshipToken extends Token { cardType.add(CardType.ARTIFACT); abilities.add(SpaceflightAbility.getInstance()); color.setBlue(true); - subtype.add("Rebel"); - subtype.add("Starship"); + subtype.add(SubType.REBEL); + subtype.add(SubType.STARSHIP); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/RebelToken.java b/Mage/src/main/java/mage/game/permanent/token/RebelToken.java index 50699ac436b..bb0d4162c2f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RebelToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RebelToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -40,6 +41,6 @@ public class RebelToken extends Token { this.setOriginalExpansionSetCode("SWS"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Rebel"); + subtype.add(SubType.REBEL); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/RedHumanToken.java b/Mage/src/main/java/mage/game/permanent/token/RedHumanToken.java index 28348c44713..72e40b74f28 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RedHumanToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RedHumanToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.ObjectColor; @@ -40,7 +41,7 @@ public class RedHumanToken extends Token { public RedHumanToken() { super("Human", "1/1 red Human creature token"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); this.color = ObjectColor.RED; this.power = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/ReefWormFishToken.java b/Mage/src/main/java/mage/game/permanent/token/ReefWormFishToken.java index cd00acba9c5..6e59edda2c7 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ReefWormFishToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ReefWormFishToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.common.DiesTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; @@ -43,7 +44,7 @@ public class ReefWormFishToken extends Token { setOriginalExpansionSetCode("C14"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Fish"); + subtype.add(SubType.FISH); power = new MageInt(3); toughness = new MageInt(3); diff --git a/Mage/src/main/java/mage/game/permanent/token/ReefWormKrakenToken.java b/Mage/src/main/java/mage/game/permanent/token/ReefWormKrakenToken.java index 625c23900ba..9eac5544936 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ReefWormKrakenToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ReefWormKrakenToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,7 +42,7 @@ public class ReefWormKrakenToken extends Token { setOriginalExpansionSetCode("C14"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Kraken"); + subtype.add(SubType.KRAKEN); power = new MageInt(9); toughness = new MageInt(9); } diff --git a/Mage/src/main/java/mage/game/permanent/token/ReefWormWhaleToken.java b/Mage/src/main/java/mage/game/permanent/token/ReefWormWhaleToken.java index 5cde984b63e..65cd3a7bf3b 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ReefWormWhaleToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ReefWormWhaleToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.common.DiesTriggeredAbility; import mage.abilities.effects.common.CreateTokenEffect; @@ -43,7 +44,7 @@ public class ReefWormWhaleToken extends Token { setOriginalExpansionSetCode("C14"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Whale"); + subtype.add(SubType.WHALE); power = new MageInt(6); toughness = new MageInt(6); diff --git a/Mage/src/main/java/mage/game/permanent/token/ReflectionToken.java b/Mage/src/main/java/mage/game/permanent/token/ReflectionToken.java index 8c50d67b098..e40da5e375b 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ReflectionToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ReflectionToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,7 +42,7 @@ public class ReflectionToken extends Token { this.setOriginalExpansionSetCode("TMP"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Reflection"); + subtype.add(SubType.REFLECTION); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/ReignOfThePitToken.java b/Mage/src/main/java/mage/game/permanent/token/ReignOfThePitToken.java index 2830ea3ec2b..21e11c90715 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ReignOfThePitToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ReignOfThePitToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -45,7 +46,7 @@ public class ReignOfThePitToken extends Token { power = new MageInt(xValue); toughness = new MageInt(xValue); color.setBlack(true); - subtype.add("Demon"); + subtype.add(SubType.DEMON); cardType.add(CardType.CREATURE); this.addAbility(FlyingAbility.getInstance()); } diff --git a/Mage/src/main/java/mage/game/permanent/token/RenownedWeaverSpiderToken.java b/Mage/src/main/java/mage/game/permanent/token/RenownedWeaverSpiderToken.java index 4a9d2957484..05c27e63c99 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RenownedWeaverSpiderToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RenownedWeaverSpiderToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.ObjectColor; import mage.abilities.keyword.ReachAbility; @@ -44,7 +45,7 @@ public class RenownedWeaverSpiderToken extends Token { cardType.add(CardType.ENCHANTMENT); cardType.add(CardType.CREATURE); color.setColor(ObjectColor.GREEN); - subtype.add("Spider"); + subtype.add(SubType.SPIDER); power = new MageInt(1); toughness = new MageInt(3); this.addAbility(ReachAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/RevelOfTheFallenGodSatyrToken.java b/Mage/src/main/java/mage/game/permanent/token/RevelOfTheFallenGodSatyrToken.java index 9701a858ff5..14da9697bf4 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RevelOfTheFallenGodSatyrToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RevelOfTheFallenGodSatyrToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.ObjectColor; import mage.abilities.keyword.HasteAbility; @@ -44,7 +45,7 @@ public class RevelOfTheFallenGodSatyrToken extends Token { cardType.add(CardType.CREATURE); color.setColor(ObjectColor.RED); color.setColor(ObjectColor.GREEN); - subtype.add("Satyr"); + subtype.add(SubType.SATYR); power = new MageInt(2); toughness = new MageInt(2); addAbility(HasteAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/RhinoToken.java b/Mage/src/main/java/mage/game/permanent/token/RhinoToken.java index 36a93b14ce4..fbad63dec30 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RhinoToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RhinoToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.TrampleAbility; @@ -41,7 +42,7 @@ public class RhinoToken extends Token { super("Rhino", "4/4 green Rhino creature token with trample"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Rhino"); + subtype.add(SubType.RHINO); power = new MageInt(4); toughness = new MageInt(4); addAbility(TrampleAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/RhonassLastStandToken.java b/Mage/src/main/java/mage/game/permanent/token/RhonassLastStandToken.java index 204344b824b..bd64e604bb1 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RhonassLastStandToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RhonassLastStandToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.TrampleAbility; @@ -41,7 +42,7 @@ public class RhonassLastStandToken extends Token { super("Snake", "5/4 green Snake creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Snake"); + subtype.add(SubType.SNAKE); power = new MageInt(5); toughness = new MageInt(4); } diff --git a/Mage/src/main/java/mage/game/permanent/token/RhysTheRedeemedToken.java b/Mage/src/main/java/mage/game/permanent/token/RhysTheRedeemedToken.java index 300e7a359fd..41149d7759d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RhysTheRedeemedToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RhysTheRedeemedToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,8 +42,8 @@ public class RhysTheRedeemedToken extends Token { cardType.add(CardType.CREATURE); color.setGreen(true); color.setWhite(true); - subtype.add("Elf"); - subtype.add("Warrior"); + subtype.add(SubType.ELF); + subtype.add(SubType.WARRIOR); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/RiftmarkedKnightToken.java b/Mage/src/main/java/mage/game/permanent/token/RiftmarkedKnightToken.java index 10b4de59aae..8fa987ca0c1 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RiftmarkedKnightToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RiftmarkedKnightToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.ObjectColor; import mage.abilities.keyword.FlankingAbility; @@ -44,7 +45,7 @@ public class RiftmarkedKnightToken extends Token { super("Knight", "2/2 black Knight creature token with flanking, protection from white, and haste"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Knight"); + subtype.add(SubType.KNIGHT); power = new MageInt(2); toughness = new MageInt(2); this.addAbility(ProtectionAbility.from(ObjectColor.WHITE)); diff --git a/Mage/src/main/java/mage/game/permanent/token/RiseOfEaglesBirdToken.java b/Mage/src/main/java/mage/game/permanent/token/RiseOfEaglesBirdToken.java index ac6a182ddb9..e739b77b40c 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RiseOfEaglesBirdToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RiseOfEaglesBirdToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.ObjectColor; import mage.abilities.keyword.FlyingAbility; @@ -45,7 +46,7 @@ public class RiseOfEaglesBirdToken extends Token { cardType.add(CardType.ENCHANTMENT); cardType.add(CardType.CREATURE); color.setColor(ObjectColor.BLUE); - subtype.add("Bird"); + subtype.add(SubType.BIRD); power = new MageInt(2); toughness = new MageInt(2); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/RitualOfTheReturnedZombieToken.java b/Mage/src/main/java/mage/game/permanent/token/RitualOfTheReturnedZombieToken.java index 5f682368f92..d03b104efe9 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RitualOfTheReturnedZombieToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RitualOfTheReturnedZombieToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -44,7 +45,7 @@ public class RitualOfTheReturnedZombieToken extends Token { this.setOriginalExpansionSetCode("JOU"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Zombie"); + subtype.add(SubType.ZOMBIE); this.power = new MageInt(power); this.toughness = new MageInt(toughness); } diff --git a/Mage/src/main/java/mage/game/permanent/token/RocEggToken.java b/Mage/src/main/java/mage/game/permanent/token/RocEggToken.java index 2c4ee5efde7..450bc9bcb99 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RocEggToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RocEggToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -40,7 +41,7 @@ public class RocEggToken extends Token { public RocEggToken() { super("Bird", "3/3 white Bird creature token with flying"); cardType.add(CardType.CREATURE); - subtype.add("Bird"); + subtype.add(SubType.BIRD); color.setWhite(true); power = new MageInt(3); toughness = new MageInt(3); diff --git a/Mage/src/main/java/mage/game/permanent/token/RoyalGuardToken.java b/Mage/src/main/java/mage/game/permanent/token/RoyalGuardToken.java index a50123ee9cb..c479d10c8aa 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RoyalGuardToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RoyalGuardToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.abilities.keyword.FirstStrikeAbility; /** @@ -42,6 +43,6 @@ public class RoyalGuardToken extends Token { cardType.add(CardType.CREATURE); color.setRed(true); addAbility(FirstStrikeAbility.getInstance()); - subtype.add("Soldier"); + subtype.add(SubType.SOLDIER); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/RukhEggBirdToken.java b/Mage/src/main/java/mage/game/permanent/token/RukhEggBirdToken.java index fbfa9422cc9..491932ee757 100644 --- a/Mage/src/main/java/mage/game/permanent/token/RukhEggBirdToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/RukhEggBirdToken.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -47,7 +48,7 @@ public class RukhEggBirdToken extends Token { cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Bird"); + subtype.add(SubType.BIRD); power = new MageInt(4); toughness = new MageInt(4); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/SaprolingBurstToken.java b/Mage/src/main/java/mage/game/permanent/token/SaprolingBurstToken.java index e3eeebc51eb..754351ddb94 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SaprolingBurstToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SaprolingBurstToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageObjectReference; import mage.abilities.Ability; import mage.abilities.common.SimpleStaticAbility; @@ -56,7 +57,7 @@ public class SaprolingBurstToken extends Token { public SaprolingBurstToken(MageObjectReference saprolingBurstMOR) { super("Saproling", "green Saproling creature token with \"This creature's power and toughness are each equal to the number of fade counters on Saproling Burst.\""); this.color.setGreen(true); - this.subtype.add("Saproling"); + this.subtype.add(SubType.SAPROLING); this.cardType.add(CardType.CREATURE); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new SetPowerToughnessSourceEffect(new SaprolingBurstTokenDynamicValue(saprolingBurstMOR), Duration.WhileOnBattlefield))); } diff --git a/Mage/src/main/java/mage/game/permanent/token/SaprolingToken.java b/Mage/src/main/java/mage/game/permanent/token/SaprolingToken.java index 4c7f7b70a10..bb3befdd9ba 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SaprolingToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SaprolingToken.java @@ -33,6 +33,7 @@ import java.util.Arrays; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; import mage.util.RandomUtil; /** @@ -64,7 +65,7 @@ public class SaprolingToken extends Token { } cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Saproling"); + subtype.add(SubType.SAPROLING); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/SatyrNyxSmithElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/SatyrNyxSmithElementalToken.java index f18d31d1839..1557111c73d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SatyrNyxSmithElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SatyrNyxSmithElementalToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.HasteAbility; @@ -42,7 +43,7 @@ public class SatyrNyxSmithElementalToken extends Token { cardType.add(CardType.ENCHANTMENT); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(3); toughness = new MageInt(1); this.addAbility(HasteAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/SeedGuardianToken.java b/Mage/src/main/java/mage/game/permanent/token/SeedGuardianToken.java index 3b8147f55ef..298202922dc 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SeedGuardianToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SeedGuardianToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -45,7 +46,7 @@ public class SeedGuardianToken extends Token { setOriginalExpansionSetCode("OGW"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(xValue); toughness = new MageInt(xValue); diff --git a/Mage/src/main/java/mage/game/permanent/token/SekKuarDeathkeeperGravebornToken.java b/Mage/src/main/java/mage/game/permanent/token/SekKuarDeathkeeperGravebornToken.java index 7a1e075b3b0..89a8864a73d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SekKuarDeathkeeperGravebornToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SekKuarDeathkeeperGravebornToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.HasteAbility; @@ -42,7 +43,7 @@ public class SekKuarDeathkeeperGravebornToken extends Token { cardType.add(CardType.CREATURE); color.setBlack(true); color.setRed(true); - subtype.add("Graveborn"); + subtype.add(SubType.GRAVEBORN); power = new MageInt(3); toughness = new MageInt(1); this.addAbility(HasteAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/SengirNosferatuBatToken.java b/Mage/src/main/java/mage/game/permanent/token/SengirNosferatuBatToken.java index 688b77e2cc5..5b099b10c8e 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SengirNosferatuBatToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SengirNosferatuBatToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import java.util.UUID; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -56,7 +57,7 @@ public class SengirNosferatuBatToken extends Token { super("Bat", "1/2 black Bat creature token with flying"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Bat"); + subtype.add(SubType.BAT); power = new MageInt(1); toughness = new MageInt(2); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/SerfToken.java b/Mage/src/main/java/mage/game/permanent/token/SerfToken.java index 40d8fb8f799..f083151c076 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SerfToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SerfToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class SerfToken extends Token { super("Serf", "0/1 black Serf creature token"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Serf"); + subtype.add(SubType.SERF); power = new MageInt(0); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/SerpentGeneratorSnakeToken.java b/Mage/src/main/java/mage/game/permanent/token/SerpentGeneratorSnakeToken.java index 84576d8f31d..feb2f0d85f3 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SerpentGeneratorSnakeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SerpentGeneratorSnakeToken.java @@ -32,6 +32,7 @@ import mage.abilities.common.DealsDamageToAPlayerTriggeredAbility; import mage.abilities.effects.Effect; import mage.abilities.effects.common.counter.AddPoisonCounterTargetEffect; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -43,7 +44,7 @@ public class SerpentGeneratorSnakeToken extends Token { super("Snake", "1/1 colorless Snake artifact creature token with \"Whenever this creature deals damage to a player, that player gets a poison counter.\""); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Snake"); + subtype.add(SubType.SNAKE); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/ServoToken.java b/Mage/src/main/java/mage/game/permanent/token/ServoToken.java index 6be5dc0bde3..09f37cf2d43 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ServoToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ServoToken.java @@ -32,6 +32,7 @@ import java.util.Collections; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; import mage.util.RandomUtil; /** @@ -51,7 +52,7 @@ public class ServoToken extends Token { availableImageSetCodes = tokenImageSets; cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Servo"); + subtype.add(SubType.SERVO); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/SkeletonToken.java b/Mage/src/main/java/mage/game/permanent/token/SkeletonToken.java index f821ae81f1f..846d28fe701 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SkeletonToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SkeletonToken.java @@ -5,6 +5,7 @@ import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.costs.mana.ColoredManaCost; import mage.abilities.effects.common.RegenerateSourceEffect; import mage.constants.CardType; +import mage.constants.SubType; import mage.constants.ColoredManaSymbol; import mage.constants.Zone; @@ -12,7 +13,7 @@ public class SkeletonToken extends Token { public SkeletonToken() { super("Skeleton", "1/1 black Skeleton creature with \"{B}: Regenerate this creature\""); cardType.add(CardType.CREATURE); - this.subtype.add("Skeleton"); + this.subtype.add(SubType.SKELETON); color.setBlack(true); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/SkywiseTeachingsToken.java b/Mage/src/main/java/mage/game/permanent/token/SkywiseTeachingsToken.java index 5fb58a7465c..1240e07edd6 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SkywiseTeachingsToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SkywiseTeachingsToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,8 +42,8 @@ public class SkywiseTeachingsToken extends Token { super("Djinn Monk", "2/2 blue Djinn Monk creature token with flying"); cardType.add(CardType.CREATURE); color.setBlue(true); - this.subtype.add("Djinn"); - this.subtype.add("Monk"); + this.subtype.add(SubType.DJINN); + this.subtype.add(SubType.MONK); power = new MageInt(2); toughness = new MageInt(2); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/SliverToken.java b/Mage/src/main/java/mage/game/permanent/token/SliverToken.java index 1c95852bfe0..837edf322cf 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SliverToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SliverToken.java @@ -30,6 +30,7 @@ package mage.game.permanent.token; import java.util.Arrays; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,7 +42,7 @@ public class SliverToken extends Token { public SliverToken() { super("Sliver", "1/1 colorless Sliver creature token"); cardType.add(CardType.CREATURE); - subtype.add("Sliver"); + subtype.add(SubType.SLIVER); power = new MageInt(1); toughness = new MageInt(1); availableImageSetCodes.addAll(Arrays.asList("M14", "M15")); diff --git a/Mage/src/main/java/mage/game/permanent/token/SliversmithToken.java b/Mage/src/main/java/mage/game/permanent/token/SliversmithToken.java index 3f9bb18771f..93bb22f1d21 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SliversmithToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SliversmithToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class SliversmithToken extends Token { super("Metallic Sliver", "1/1 colorless Sliver creature token named Metallic Sliver"); cardType.add(CardType.CREATURE); cardType.add(CardType.ARTIFACT); - subtype.add("Sliver"); + subtype.add(SubType.SLIVER); power = new MageInt(1); toughness = new MageInt(1); this.setOriginalExpansionSetCode("FUT"); diff --git a/Mage/src/main/java/mage/game/permanent/token/SnakeToken.java b/Mage/src/main/java/mage/game/permanent/token/SnakeToken.java index 401e2cea7c5..922f3f57ef1 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SnakeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SnakeToken.java @@ -33,6 +33,7 @@ import java.util.Arrays; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -59,7 +60,7 @@ public class SnakeToken extends Token { } cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Snake"); + subtype.add(SubType.SNAKE); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/SoldierToken.java b/Mage/src/main/java/mage/game/permanent/token/SoldierToken.java index 08a1ddb3cb4..eec6d47f31f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SoldierToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SoldierToken.java @@ -32,6 +32,7 @@ import java.util.Arrays; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; import mage.util.RandomUtil; /** @@ -53,7 +54,7 @@ public class SoldierToken extends Token { cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Soldier"); + subtype.add(SubType.SOLDIER); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/SoldierTokenWithHaste.java b/Mage/src/main/java/mage/game/permanent/token/SoldierTokenWithHaste.java index 7db5eb6c50e..0dfc964681f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SoldierTokenWithHaste.java +++ b/Mage/src/main/java/mage/game/permanent/token/SoldierTokenWithHaste.java @@ -32,6 +32,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.HasteAbility; @@ -52,7 +53,7 @@ public class SoldierTokenWithHaste extends Token { cardType.add(CardType.CREATURE); color.setWhite(true); color.setRed(true); - subtype.add("Soldier"); + subtype.add(SubType.SOLDIER); power = new MageInt(1); toughness = new MageInt(1); addAbility(HasteAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/SorinLordOfInnistradVampireToken.java b/Mage/src/main/java/mage/game/permanent/token/SorinLordOfInnistradVampireToken.java index 1ec1623d1de..ae50cc90aea 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SorinLordOfInnistradVampireToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SorinLordOfInnistradVampireToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.LifelinkAbility; @@ -41,7 +42,7 @@ public class SorinLordOfInnistradVampireToken extends Token { super("Vampire", "1/1 black Vampire creature token with lifelink"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Vampire"); + subtype.add(SubType.VAMPIRE); power = new MageInt(1); toughness = new MageInt(1); addAbility(LifelinkAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/SorinSolemnVisitorVampireToken.java b/Mage/src/main/java/mage/game/permanent/token/SorinSolemnVisitorVampireToken.java index 88411de49db..84db3b5a1cf 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SorinSolemnVisitorVampireToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SorinSolemnVisitorVampireToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -42,7 +43,7 @@ public class SorinSolemnVisitorVampireToken extends Token { setOriginalExpansionSetCode("KTK"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Vampire"); + subtype.add(SubType.VAMPIRE); power = new MageInt(2); toughness = new MageInt(2); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/SparkElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/SparkElementalToken.java index 6c36b99a511..048877dc25f 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SparkElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SparkElementalToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.common.BeginningOfEndStepTriggeredAbility; import mage.abilities.effects.common.SacrificeSourceEffect; @@ -46,7 +47,7 @@ public class SparkElementalToken extends Token { this.setOriginalExpansionSetCode("FUT"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(3); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/SpawningGroundsBeastToken.java b/Mage/src/main/java/mage/game/permanent/token/SpawningGroundsBeastToken.java index f403933e838..23bf83262e2 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpawningGroundsBeastToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpawningGroundsBeastToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.TrampleAbility; @@ -41,7 +42,7 @@ public class SpawningGroundsBeastToken extends Token { super("Beast", "5/5 green Beast creature token with trample"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Beast"); + subtype.add(SubType.BEAST); power = new MageInt(5); toughness = new MageInt(5); this.addAbility(TrampleAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/SpawningPitToken.java b/Mage/src/main/java/mage/game/permanent/token/SpawningPitToken.java index 28611d33ca4..94745eded55 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpawningPitToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpawningPitToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class SpawningPitToken extends Token { super("Spawn", "2/2 colorless Spawn artifact creature token"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - this.subtype.add("Spawn"); + this.subtype.add(SubType.SPAWN); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/SpiderToken.java b/Mage/src/main/java/mage/game/permanent/token/SpiderToken.java index f2b09b9bdf3..b91873fa8d2 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpiderToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpiderToken.java @@ -11,6 +11,7 @@ import java.util.List; import mage.MageInt; import mage.abilities.keyword.ReachAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -38,7 +39,7 @@ public class SpiderToken extends Token { setOriginalExpansionSetCode(setCode); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Spider"); + subtype.add(SubType.SPIDER); power = new MageInt(1); toughness = new MageInt(2); addAbility(ReachAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/SpikeToken.java b/Mage/src/main/java/mage/game/permanent/token/SpikeToken.java index 520fec75341..853aa3efa76 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpikeToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpikeToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class SpikeToken extends Token { super("Spike", "1/1 green Spike creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Spike"); + subtype.add(SubType.SPIKE); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/SpiritBlueToken.java b/Mage/src/main/java/mage/game/permanent/token/SpiritBlueToken.java index f0d35ea44d5..3a08f1a1b44 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpiritBlueToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpiritBlueToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -40,7 +41,7 @@ public class SpiritBlueToken extends Token { public SpiritBlueToken() { super("Spirit", "1/1 blue Spirit creature token with flying"); cardType.add(CardType.CREATURE); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); color.setBlue(true); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/SpiritToken.java b/Mage/src/main/java/mage/game/permanent/token/SpiritToken.java index e6c42da745a..2cc4737d866 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpiritToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpiritToken.java @@ -32,6 +32,7 @@ import java.util.Arrays; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @author Loki @@ -60,7 +61,7 @@ public class SpiritToken extends Token { setTokenType(tokenType); } cardType.add(CardType.CREATURE); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/SpiritWhiteToken.java b/Mage/src/main/java/mage/game/permanent/token/SpiritWhiteToken.java index 80509c2e7ea..d6f16e234e7 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpiritWhiteToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpiritWhiteToken.java @@ -33,6 +33,7 @@ import java.util.List; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @author nantuko @@ -61,7 +62,7 @@ public class SpiritWhiteToken extends Token { setTokenType(tokenType); } cardType.add(CardType.CREATURE); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); color.setWhite(true); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/SpoilsOfBloodHorrorToken.java b/Mage/src/main/java/mage/game/permanent/token/SpoilsOfBloodHorrorToken.java index 6a8761563a7..87a868b96df 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpoilsOfBloodHorrorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpoilsOfBloodHorrorToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -44,7 +45,7 @@ public class SpoilsOfBloodHorrorToken extends Token { setOriginalExpansionSetCode("C14"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Horror"); + subtype.add(SubType.HORROR); power = new MageInt(xValue); toughness = new MageInt(xValue); } diff --git a/Mage/src/main/java/mage/game/permanent/token/SpyMasterGoblinToken.java b/Mage/src/main/java/mage/game/permanent/token/SpyMasterGoblinToken.java index 3c2d3aca43e..1f717fe8573 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SpyMasterGoblinToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SpyMasterGoblinToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.effects.Effect; @@ -54,7 +55,7 @@ public class SpyMasterGoblinToken extends Token { super("Goblin", "1/1 red Goblin creature token with \"Creatures you control attack each combat if able.\""); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Goblin"); + subtype.add(SubType.GOBLIN); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/SquirrelToken.java b/Mage/src/main/java/mage/game/permanent/token/SquirrelToken.java index 347546b0d64..1f3234464e4 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SquirrelToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SquirrelToken.java @@ -32,6 +32,7 @@ import java.util.Collections; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -49,7 +50,7 @@ public class SquirrelToken extends Token { super("Squirrel", "1/1 green Squirrel creature token"); availableImageSetCodes = tokenImageSets; cardType.add(CardType.CREATURE); - subtype.add("Squirrel"); + subtype.add(SubType.SQUIRREL); color.setGreen(true); power = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/StitcherGeralfZombieToken.java b/Mage/src/main/java/mage/game/permanent/token/StitcherGeralfZombieToken.java index 6b0318cacc0..a3d75a57be3 100644 --- a/Mage/src/main/java/mage/game/permanent/token/StitcherGeralfZombieToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/StitcherGeralfZombieToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -45,7 +46,7 @@ public class StitcherGeralfZombieToken extends Token { setTokenType(1); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Zombie"); + subtype.add(SubType.ZOMBIE); power = new MageInt(xValue); toughness = new MageInt(xValue); } diff --git a/Mage/src/main/java/mage/game/permanent/token/StitchersApprenticeHomunculusToken.java b/Mage/src/main/java/mage/game/permanent/token/StitchersApprenticeHomunculusToken.java index c7d255ebee6..b6eeb7f6875 100644 --- a/Mage/src/main/java/mage/game/permanent/token/StitchersApprenticeHomunculusToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/StitchersApprenticeHomunculusToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class StitchersApprenticeHomunculusToken extends Token { super("Homunculus", "2/2 blue Homunculus creature"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Homunculus"); + subtype.add(SubType.HOMUNCULUS); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/StoneTrapIdolToken.java b/Mage/src/main/java/mage/game/permanent/token/StoneTrapIdolToken.java index 40d56412f98..22780997229 100644 --- a/Mage/src/main/java/mage/game/permanent/token/StoneTrapIdolToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/StoneTrapIdolToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.TrampleAbility; @@ -41,7 +42,7 @@ public class StoneTrapIdolToken extends Token { super("Construct", "6/12 colorless Construct artifact creature token with trample"); cardType.add(CardType.CREATURE); cardType.add(CardType.ARTIFACT); - subtype.add("Construct"); + subtype.add(SubType.CONSTRUCT); power = new MageInt(6); toughness = new MageInt(12); addAbility(TrampleAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/SubterraneanTremorsLizardToken.java b/Mage/src/main/java/mage/game/permanent/token/SubterraneanTremorsLizardToken.java index 6ffe45639ca..73a4386a586 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SubterraneanTremorsLizardToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SubterraneanTremorsLizardToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class SubterraneanTremorsLizardToken extends Token { super("Lizard", "an 8/8 red Lizard creature token"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Lizard"); + subtype.add(SubType.LIZARD); power = new MageInt(8); toughness = new MageInt(8); } diff --git a/Mage/src/main/java/mage/game/permanent/token/SwanSongBirdToken.java b/Mage/src/main/java/mage/game/permanent/token/SwanSongBirdToken.java index adbff44b4ec..714b6b3c341 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SwanSongBirdToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SwanSongBirdToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,7 +42,7 @@ public class SwanSongBirdToken extends Token { super("Bird", "2/2 blue Bird creature token with flying"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Bird"); + subtype.add(SubType.BIRD); if (getOriginalExpansionSetCode() != null && getOriginalExpansionSetCode().equals("C16")) { setTokenType(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/SylvanOfferingTreefolkToken.java b/Mage/src/main/java/mage/game/permanent/token/SylvanOfferingTreefolkToken.java index 729f3562b52..04dbf88aee9 100644 --- a/Mage/src/main/java/mage/game/permanent/token/SylvanOfferingTreefolkToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/SylvanOfferingTreefolkToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -43,7 +44,7 @@ public class SylvanOfferingTreefolkToken extends Token { super("Treefolk", "X/X green Treefolk creature token"); setOriginalExpansionSetCode("C14"); cardType.add(CardType.CREATURE); - subtype.add("Treefolk"); + subtype.add(SubType.TREEFOLK); color.setGreen(true); power = new MageInt(xValue); toughness = new MageInt(xValue); diff --git a/Mage/src/main/java/mage/game/permanent/token/TIEFighterToken.java b/Mage/src/main/java/mage/game/permanent/token/TIEFighterToken.java index 2d091f6f154..7d24c106a1b 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TIEFighterToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TIEFighterToken.java @@ -1,26 +1,27 @@ -/* - * To change this license header, choose License Headers in Project Properties. - * To change this template file, choose Tools | Templates - * and open the template in the editor. - */ -package mage.game.permanent.token; - -import mage.abilities.keyword.SpaceflightAbility; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class TIEFighterToken extends Token { - - public TIEFighterToken() { - super("TIE Fighter", "1/1 black Starship artifact creature tokens with Spaceflight named TIE Fighter", 1, 1); - this.setOriginalExpansionSetCode("SWS"); - cardType.add(CardType.CREATURE); - cardType.add(CardType.ARTIFACT); - color.setBlack(true); - addAbility(SpaceflightAbility.getInstance()); - subtype.add("Starship"); - } -} +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package mage.game.permanent.token; + +import mage.abilities.keyword.SpaceflightAbility; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author Styxo + */ +public class TIEFighterToken extends Token { + + public TIEFighterToken() { + super("TIE Fighter", "1/1 black Starship artifact creature tokens with Spaceflight named TIE Fighter", 1, 1); + this.setOriginalExpansionSetCode("SWS"); + cardType.add(CardType.CREATURE); + cardType.add(CardType.ARTIFACT); + color.setBlack(true); + addAbility(SpaceflightAbility.getInstance()); + subtype.add(SubType.STARSHIP); + } +} diff --git a/Mage/src/main/java/mage/game/permanent/token/TatsumaDragonToken.java b/Mage/src/main/java/mage/game/permanent/token/TatsumaDragonToken.java index ca12f178217..6663ccec938 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TatsumaDragonToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TatsumaDragonToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,8 +42,8 @@ public class TatsumaDragonToken extends Token { super("Dragon Spirit", "5/5 blue Dragon Spirit creature token with flying"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Dragon"); - subtype.add("Spirit"); + subtype.add(SubType.DRAGON); + subtype.add(SubType.SPIRIT); power = new MageInt(5); toughness = new MageInt(5); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/TemptWithVengeanceElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/TemptWithVengeanceElementalToken.java index f3a633e7de2..91557241f09 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TemptWithVengeanceElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TemptWithVengeanceElementalToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.HasteAbility; @@ -40,7 +41,7 @@ public class TemptWithVengeanceElementalToken extends Token { public TemptWithVengeanceElementalToken() { super("Elemental", "1/1 red Elemental creature tokens with haste"); cardType.add(CardType.CREATURE); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); color.setRed(true); power = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/TetraviteToken.java b/Mage/src/main/java/mage/game/permanent/token/TetraviteToken.java index 4cf1dea7a50..2345916ce26 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TetraviteToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TetraviteToken.java @@ -46,7 +46,7 @@ public class TetraviteToken extends Token { super("Tetravite", "1/1 colorless Tetravite artifact creature token"); cardType.add(CardType.CREATURE); cardType.add(CardType.ARTIFACT); - subtype.add("Tetravite"); + subtype.add(SubType.TETRAVITE); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/TeysaEnvoyOfGhostsToken.java b/Mage/src/main/java/mage/game/permanent/token/TeysaEnvoyOfGhostsToken.java index 9cce86a93f1..4dd3ca65e39 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TeysaEnvoyOfGhostsToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TeysaEnvoyOfGhostsToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -42,7 +43,7 @@ public class TeysaEnvoyOfGhostsToken extends Token { cardType.add(CardType.CREATURE); color.setWhite(true); color.setBlack(true); - subtype.add("Spirit"); + subtype.add(SubType.SPIRIT); power = new MageInt(1); toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/ThatcherHumanToken.java b/Mage/src/main/java/mage/game/permanent/token/ThatcherHumanToken.java index 9b174bee7f6..b3c16d64caf 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ThatcherHumanToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ThatcherHumanToken.java @@ -31,6 +31,7 @@ import mage.MageInt; import mage.ObjectColor; import mage.abilities.keyword.HasteAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -41,7 +42,7 @@ public class ThatcherHumanToken extends Token { public ThatcherHumanToken() { super("Human", "1/1 red Human creature token with haste"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Human"); + this.subtype.add(SubType.HUMAN); addAbility(HasteAbility.getInstance()); this.color = ObjectColor.RED; diff --git a/Mage/src/main/java/mage/game/permanent/token/TheLocustGodInsectToken.java b/Mage/src/main/java/mage/game/permanent/token/TheLocustGodInsectToken.java index 11cb7370360..2f772fa8740 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TheLocustGodInsectToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TheLocustGodInsectToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.HasteAbility; import mage.abilities.keyword.FlyingAbility; @@ -44,7 +45,7 @@ public class TheLocustGodInsectToken extends Token { cardType.add(CardType.CREATURE); color.setBlue(true); color.setRed(true); - subtype.add("Insect"); + subtype.add(SubType.INSECT); power = new MageInt(1); toughness = new MageInt(1); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/ThopterColorlessToken.java b/Mage/src/main/java/mage/game/permanent/token/ThopterColorlessToken.java index c5d6eaeac58..b0162d264fa 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ThopterColorlessToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ThopterColorlessToken.java @@ -33,6 +33,7 @@ import java.util.List; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; import mage.constants.CardType; +import mage.constants.SubType; import mage.util.RandomUtil; /** @@ -52,7 +53,7 @@ public class ThopterColorlessToken extends Token { availableImageSetCodes = tokenImageSets; cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Thopter"); + subtype.add(SubType.THOPTER); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/ThopterToken.java b/Mage/src/main/java/mage/game/permanent/token/ThopterToken.java index 2f8b852b1d1..de0d5753e7d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ThopterToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ThopterToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -42,7 +43,7 @@ public class ThopterToken extends Token { cardType.add(CardType.CREATURE); cardType.add(CardType.ARTIFACT); color.setBlue(true); - subtype.add("Thopter"); + subtype.add(SubType.THOPTER); power = new MageInt(1); toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/ThrullToken.java b/Mage/src/main/java/mage/game/permanent/token/ThrullToken.java index ca6bd3b3e38..144249e8d15 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ThrullToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ThrullToken.java @@ -33,6 +33,7 @@ import java.util.Collections; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -49,7 +50,7 @@ public class ThrullToken extends Token { public ThrullToken() { super("Thrull", "1/1 black Thrull creature token"); cardType.add(CardType.CREATURE); - subtype.add("Thrull"); + subtype.add(SubType.THRULL); color.setBlack(true); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/TidalWaveWallToken.java b/Mage/src/main/java/mage/game/permanent/token/TidalWaveWallToken.java index 75248c19fd4..248b0b255c7 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TidalWaveWallToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TidalWaveWallToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.DefenderAbility; @@ -41,7 +42,7 @@ public class TidalWaveWallToken extends Token { super("Wall", "5/5 blue Wall creature token with defender"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Wall"); + subtype.add(SubType.WALL); power = new MageInt(5); toughness = new MageInt(5); this.addAbility(DefenderAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/TitanForgeGolemToken.java b/Mage/src/main/java/mage/game/permanent/token/TitanForgeGolemToken.java index 9256c43ee8a..5a2a2e15941 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TitanForgeGolemToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TitanForgeGolemToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class TitanForgeGolemToken extends Token { super("Golem", "9/9 colorless Golem artifact creature token"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Golem"); + subtype.add(SubType.GOLEM); power = new MageInt(9); toughness = new MageInt(9); } diff --git a/Mage/src/main/java/mage/game/permanent/token/TitaniaProtectorOfArgothElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/TitaniaProtectorOfArgothElementalToken.java index cdaf8466746..dc7570c55ed 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TitaniaProtectorOfArgothElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TitaniaProtectorOfArgothElementalToken.java @@ -31,6 +31,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.ObjectColor; @@ -60,7 +61,7 @@ public class TitaniaProtectorOfArgothElementalToken extends Token { this.setOriginalExpansionSetCode(setCode); this.cardType.add(CardType.CREATURE); this.color = ObjectColor.GREEN; - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(5); this.toughness = new MageInt(3); } diff --git a/Mage/src/main/java/mage/game/permanent/token/TreefolkShamanToken.java b/Mage/src/main/java/mage/game/permanent/token/TreefolkShamanToken.java index 611c016adee..acfd5fd20af 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TreefolkShamanToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TreefolkShamanToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,8 +41,8 @@ public class TreefolkShamanToken extends Token { super("Treefolk Shaman", "2/5 green Treefolk Shaman creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Treefolk"); - subtype.add("Shaman"); + subtype.add(SubType.TREEFOLK); + subtype.add(SubType.SHAMAN); power = new MageInt(2); toughness = new MageInt(5); } diff --git a/Mage/src/main/java/mage/game/permanent/token/TriskelaviteToken.java b/Mage/src/main/java/mage/game/permanent/token/TriskelaviteToken.java index eeb361288d1..b8ff7bd1835 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TriskelaviteToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TriskelaviteToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.Ability; import mage.abilities.common.SimpleActivatedAbility; @@ -48,7 +49,7 @@ public class TriskelaviteToken extends Token { this.setOriginalExpansionSetCode("TSP"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Triskelavite"); + subtype.add(SubType.TRISKELAVITE); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/TrooperToken.java b/Mage/src/main/java/mage/game/permanent/token/TrooperToken.java index 3270d6b0b71..049be8c6c47 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TrooperToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TrooperToken.java @@ -1,52 +1,53 @@ -/* - * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON - * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * The views and conclusions contained in the software and documentation are those of the - * authors and should not be interpreted as representing official policies, either expressed - * or implied, of BetaSteward_at_googlemail.com. - */ -package mage.game.permanent.token; - -import java.util.Collections; - -import mage.MageInt; -import mage.constants.CardType; - -/** - * - * @author Styxo - */ -public class TrooperToken extends Token { - - public TrooperToken() { - super("Trooper", "1/1 white Trooper creature token"); - availableImageSetCodes.addAll(Collections.singletonList("SWS")); - - cardType.add(CardType.CREATURE); - subtype.add("Trooper"); - - color.setWhite(true); - power = new MageInt(1); - toughness = new MageInt(1); - } -} +/* + * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * The views and conclusions contained in the software and documentation are those of the + * authors and should not be interpreted as representing official policies, either expressed + * or implied, of BetaSteward_at_googlemail.com. + */ +package mage.game.permanent.token; + +import java.util.Collections; + +import mage.MageInt; +import mage.constants.CardType; +import mage.constants.SubType; + +/** + * + * @author Styxo + */ +public class TrooperToken extends Token { + + public TrooperToken() { + super("Trooper", "1/1 white Trooper creature token"); + availableImageSetCodes.addAll(Collections.singletonList("SWS")); + + cardType.add(CardType.CREATURE); + subtype.add(SubType.TROOPER); + + color.setWhite(true); + power = new MageInt(1); + toughness = new MageInt(1); + } +} diff --git a/Mage/src/main/java/mage/game/permanent/token/TuktukTheReturnedToken.java b/Mage/src/main/java/mage/game/permanent/token/TuktukTheReturnedToken.java index 1310ad5bd26..619b3ca85f5 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TuktukTheReturnedToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TuktukTheReturnedToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.constants.SuperType; @@ -47,7 +48,7 @@ public class TuktukTheReturnedToken extends Token { cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); addSuperType(SuperType.LEGENDARY); - subtype.add("Goblin"); + subtype.add(SubType.GOBLIN); power = new MageInt(5); toughness = new MageInt(5); } diff --git a/Mage/src/main/java/mage/game/permanent/token/TuskenRaiderToken.java b/Mage/src/main/java/mage/game/permanent/token/TuskenRaiderToken.java index 2b97409929a..53007199028 100644 --- a/Mage/src/main/java/mage/game/permanent/token/TuskenRaiderToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/TuskenRaiderToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -40,7 +41,7 @@ public class TuskenRaiderToken extends Token { this.setOriginalExpansionSetCode("SWS"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Tusken"); - subtype.add("Raider"); + subtype.add(SubType.TUSKEN); + subtype.add(SubType.RAIDER); } } diff --git a/Mage/src/main/java/mage/game/permanent/token/UramiToken.java b/Mage/src/main/java/mage/game/permanent/token/UramiToken.java index ba6f678aeb4..870acaceea9 100644 --- a/Mage/src/main/java/mage/game/permanent/token/UramiToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/UramiToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; import mage.constants.SuperType; @@ -41,8 +42,8 @@ public class UramiToken extends Token { public UramiToken() { super("Urami", "legendary 5/5 black Demon Spirit creature token with flying named Urami"); cardType.add(CardType.CREATURE); - subtype.add("Demon"); - subtype.add("Spirit"); + subtype.add(SubType.DEMON); + subtype.add(SubType.SPIRIT); addSuperType(SuperType.LEGENDARY); color.setBlack(true); diff --git a/Mage/src/main/java/mage/game/permanent/token/UtvaraHellkiteDragonToken.java b/Mage/src/main/java/mage/game/permanent/token/UtvaraHellkiteDragonToken.java index 24add4555bc..043918910f7 100644 --- a/Mage/src/main/java/mage/game/permanent/token/UtvaraHellkiteDragonToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/UtvaraHellkiteDragonToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,7 +42,7 @@ public class UtvaraHellkiteDragonToken extends Token { super("Dragon", "6/6 red Dragon creature token with flying"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Dragon"); + subtype.add(SubType.DRAGON); power = new MageInt(6); toughness = new MageInt(6); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/VampireKnightToken.java b/Mage/src/main/java/mage/game/permanent/token/VampireKnightToken.java index 90a87244db7..e5966689f2a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/VampireKnightToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/VampireKnightToken.java @@ -3,14 +3,15 @@ package mage.game.permanent.token; import mage.MageInt; import mage.abilities.keyword.LifelinkAbility; import mage.constants.CardType; +import mage.constants.SubType; public class VampireKnightToken extends Token { public VampireKnightToken() { super("Vampire Knight", "1/1 black Vampire Knight creature token with lifelink"); cardType.add(CardType.CREATURE); - subtype.add("Vampire"); - subtype.add("Knight"); + subtype.add(SubType.VAMPIRE); + subtype.add(SubType.KNIGHT); color.setBlack(true); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/VampireToken.java b/Mage/src/main/java/mage/game/permanent/token/VampireToken.java index d415b9a969b..f2afef969bd 100644 --- a/Mage/src/main/java/mage/game/permanent/token/VampireToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/VampireToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,7 +42,7 @@ public class VampireToken extends Token { super("Vampire", "2/2 black Vampire creature token with flying"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Vampire"); + subtype.add(SubType.VAMPIRE); power = new MageInt(2); toughness = new MageInt(2); addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/VoiceOfResurgenceToken.java b/Mage/src/main/java/mage/game/permanent/token/VoiceOfResurgenceToken.java index 98bce08dafe..c18613f92c7 100644 --- a/Mage/src/main/java/mage/game/permanent/token/VoiceOfResurgenceToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/VoiceOfResurgenceToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.common.SimpleStaticAbility; import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount; @@ -48,7 +49,7 @@ public class VoiceOfResurgenceToken extends Token { cardType.add(CardType.CREATURE); color.setGreen(true); color.setWhite(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(0); toughness = new MageInt(0); diff --git a/Mage/src/main/java/mage/game/permanent/token/VoiceOfTheWoodsElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/VoiceOfTheWoodsElementalToken.java index a6f02b781d0..1ad400f91e5 100644 --- a/Mage/src/main/java/mage/game/permanent/token/VoiceOfTheWoodsElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/VoiceOfTheWoodsElementalToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.TrampleAbility; @@ -41,7 +42,7 @@ public class VoiceOfTheWoodsElementalToken extends Token { super("Elemental", "7/7 green Elemental creature token with trample"); this.setOriginalExpansionSetCode("EVG"); cardType.add(CardType.CREATURE); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); color.setGreen(true); power = new MageInt(7); diff --git a/Mage/src/main/java/mage/game/permanent/token/VojaToken.java b/Mage/src/main/java/mage/game/permanent/token/VojaToken.java index 32d81c47de7..f587e77b5d8 100644 --- a/Mage/src/main/java/mage/game/permanent/token/VojaToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/VojaToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.constants.SuperType; @@ -41,7 +42,7 @@ public class VojaToken extends Token { super("Voja", "legendary 2/2 green and white Wolf creature token named Voja"); this.cardType.add(CardType.CREATURE); addSuperType(SuperType.LEGENDARY); - this.subtype.add("Wolf"); + this.subtype.add(SubType.WOLF); this.color.setGreen(true); this.color.setWhite(true); diff --git a/Mage/src/main/java/mage/game/permanent/token/WaitingInTheWeedsCatToken.java b/Mage/src/main/java/mage/game/permanent/token/WaitingInTheWeedsCatToken.java index 940e0b913bc..85e176e9bcd 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WaitingInTheWeedsCatToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WaitingInTheWeedsCatToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -40,7 +41,7 @@ public class WaitingInTheWeedsCatToken extends Token { super("Cat", "1/1 green Cat creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Cat"); + subtype.add(SubType.CAT); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/WalkerOfTheGroveToken.java b/Mage/src/main/java/mage/game/permanent/token/WalkerOfTheGroveToken.java index 58273ff4d08..fc8f85bf8e5 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WalkerOfTheGroveToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WalkerOfTheGroveToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -39,7 +40,7 @@ public class WalkerOfTheGroveToken extends Token { public WalkerOfTheGroveToken() { super("Elemental", "4/4 green Elemental creature token"); cardType.add(CardType.CREATURE); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.color.setGreen(true); power = new MageInt(4); toughness = new MageInt(4); diff --git a/Mage/src/main/java/mage/game/permanent/token/WallOfResurgenceToken.java b/Mage/src/main/java/mage/game/permanent/token/WallOfResurgenceToken.java index 84bb4b9cc93..f182cd8eb57 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WallOfResurgenceToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WallOfResurgenceToken.java @@ -3,6 +3,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.abilities.keyword.HasteAbility; import mage.constants.CardType; +import mage.constants.SubType; public class WallOfResurgenceToken extends Token { @@ -10,7 +11,7 @@ public class WallOfResurgenceToken extends Token { super("", "0/0 Elemental creature with haste"); this.cardType.add(CardType.CREATURE); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(0); this.toughness = new MageInt(0); diff --git a/Mage/src/main/java/mage/game/permanent/token/WallToken.java b/Mage/src/main/java/mage/game/permanent/token/WallToken.java index 97c11904d6a..ed35d98309d 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WallToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WallToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.DefenderAbility; @@ -41,7 +42,7 @@ public class WallToken extends Token { super("", "2/6 white wall creature with defender"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Wall"); + subtype.add(SubType.WALL); power = new MageInt(2); toughness = new MageInt(6); this.addAbility(DefenderAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/WandOfTheElementsFirstToken.java b/Mage/src/main/java/mage/game/permanent/token/WandOfTheElementsFirstToken.java index c89f41b77dc..b309c314696 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WandOfTheElementsFirstToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WandOfTheElementsFirstToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -40,7 +41,7 @@ public class WandOfTheElementsFirstToken extends Token { public WandOfTheElementsFirstToken() { super("Elemental", "2/2 blue Elemental creature token with flying"); cardType.add(CardType.CREATURE); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.color.setBlue(true); power = new MageInt(2); toughness = new MageInt(2); diff --git a/Mage/src/main/java/mage/game/permanent/token/WandOfTheElementsSecondToken.java b/Mage/src/main/java/mage/game/permanent/token/WandOfTheElementsSecondToken.java index d897d79aa33..a4ba68b3110 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WandOfTheElementsSecondToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WandOfTheElementsSecondToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -39,7 +40,7 @@ public class WandOfTheElementsSecondToken extends Token { public WandOfTheElementsSecondToken() { super("Elemental", "3/3 red Elemental creature token"); cardType.add(CardType.CREATURE); - this.subtype.add("Elemental"); + this.subtype.add(SubType.ELEMENTAL); this.color.setRed(true); power = new MageInt(3); toughness = new MageInt(3); diff --git a/Mage/src/main/java/mage/game/permanent/token/WarriorToken.java b/Mage/src/main/java/mage/game/permanent/token/WarriorToken.java index f976c9fba01..8b39a35d627 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WarriorToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WarriorToken.java @@ -32,6 +32,7 @@ import java.util.Arrays; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; import mage.util.RandomUtil; /** @@ -44,7 +45,7 @@ public class WarriorToken extends Token { super("Warrior", "1/1 white Warrior creature token"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Warrior"); + subtype.add(SubType.WARRIOR); power = new MageInt(1); toughness = new MageInt(1); availableImageSetCodes.addAll(Arrays.asList("KTK", "DTK")); diff --git a/Mage/src/main/java/mage/game/permanent/token/WarriorVigilantToken.java b/Mage/src/main/java/mage/game/permanent/token/WarriorVigilantToken.java index c3e00a228f2..6a09017f744 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WarriorVigilantToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WarriorVigilantToken.java @@ -33,6 +33,7 @@ import java.util.Arrays; import mage.MageInt; import mage.abilities.keyword.VigilanceAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class WarriorVigilantToken extends Token { super("Warrior", "1/1 white Warrior creature token with vigilance"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Warrior"); + subtype.add(SubType.WARRIOR); power = new MageInt(1); toughness = new MageInt(1); addAbility(VigilanceAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/WasitoraCatDragonToken.java b/Mage/src/main/java/mage/game/permanent/token/WasitoraCatDragonToken.java index 8d60f3916a3..1f3c90efe2b 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WasitoraCatDragonToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WasitoraCatDragonToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,8 +42,8 @@ public class WasitoraCatDragonToken extends Token { super("Cat Dragon", "3/3 black, red, and green Cat Dragon creature token with flying"); cardType.add(CardType.CREATURE); - this.subtype.add("Cat"); - this.subtype.add("Dragon"); + this.subtype.add(SubType.CAT); + this.subtype.add(SubType.DRAGON); color.setBlack(true); color.setRed(true); color.setGreen(true); diff --git a/Mage/src/main/java/mage/game/permanent/token/WaspToken.java b/Mage/src/main/java/mage/game/permanent/token/WaspToken.java index 97c1e42c1db..10933c26d1a 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WaspToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WaspToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,7 +42,7 @@ public class WaspToken extends Token { super("Wasp", "1/1 colorless Insect artifact creature token with flying"); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - this.subtype.add("Insect"); + this.subtype.add(SubType.INSECT); power = new MageInt(1); toughness = new MageInt(1); this.addAbility(FlyingAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/WeirdToken.java b/Mage/src/main/java/mage/game/permanent/token/WeirdToken.java index fe86f0e12e7..a3b269a6fd0 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WeirdToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WeirdToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.DefenderAbility; import mage.abilities.keyword.FlyingAbility; @@ -42,7 +43,7 @@ public class WeirdToken extends Token { super("Weird", "3/3 blue Weird create token with defender and flying"); cardType.add(CardType.CREATURE); color.setBlue(true); - subtype.add("Weird"); + subtype.add(SubType.WEIRD); power = new MageInt(3); toughness = new MageInt(3); this.addAbility(DefenderAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/WhiteElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/WhiteElementalToken.java index 307216bc780..5c41093b7ab 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WhiteElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WhiteElementalToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -41,7 +42,7 @@ public class WhiteElementalToken extends Token { super("Elemental", "4/4 white Elemental creature token with flying"); cardType.add(CardType.CREATURE); color.setWhite(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(4); toughness = new MageInt(4); setTokenType(2); diff --git a/Mage/src/main/java/mage/game/permanent/token/WingmateRocToken.java b/Mage/src/main/java/mage/game/permanent/token/WingmateRocToken.java index 35160cc87c0..6c4198dde53 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WingmateRocToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WingmateRocToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.FlyingAbility; @@ -40,7 +41,7 @@ public class WingmateRocToken extends Token { public WingmateRocToken() { super("Bird", "3/4 white Bird creature token with flying"); cardType.add(CardType.CREATURE); - subtype.add("Bird"); + subtype.add(SubType.BIRD); color.setWhite(true); power = new MageInt(3); toughness = new MageInt(4); diff --git a/Mage/src/main/java/mage/game/permanent/token/WolfToken.java b/Mage/src/main/java/mage/game/permanent/token/WolfToken.java index 127572df13b..b5b5898d907 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WolfToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WolfToken.java @@ -33,6 +33,7 @@ import java.util.Arrays; import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -61,7 +62,7 @@ public class WolfToken extends Token { cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Wolf"); + subtype.add(SubType.WOLF); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/WolfTokenWithDeathtouch.java b/Mage/src/main/java/mage/game/permanent/token/WolfTokenWithDeathtouch.java index 6bef3bcdcd0..3fe8fbb9a00 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WolfTokenWithDeathtouch.java +++ b/Mage/src/main/java/mage/game/permanent/token/WolfTokenWithDeathtouch.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.DeathtouchAbility; @@ -42,7 +43,7 @@ public class WolfTokenWithDeathtouch extends Token { super("Wolf", "1/1 black Wolf creature token with deathtouch"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Wolf"); + subtype.add(SubType.WOLF); power = new MageInt(1); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/WoodToken.java b/Mage/src/main/java/mage/game/permanent/token/WoodToken.java index 30a94db9f1d..4c82960fb8e 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WoodToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WoodToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.DefenderAbility; @@ -42,7 +43,7 @@ public class WoodToken extends Token { this.setOriginalExpansionSetCode("MIR"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Wall"); + subtype.add(SubType.WALL); power = new MageInt(0); toughness = new MageInt(1); diff --git a/Mage/src/main/java/mage/game/permanent/token/WormHarvestToken.java b/Mage/src/main/java/mage/game/permanent/token/WormHarvestToken.java index 9a8758f6b33..efcf25e90e3 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WormHarvestToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WormHarvestToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,7 +42,7 @@ public class WormHarvestToken extends Token { cardType.add(CardType.CREATURE); color.setBlack(true); color.setGreen(true); - subtype.add("Worm"); + subtype.add(SubType.WORM); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/WortTheRaidmotherToken.java b/Mage/src/main/java/mage/game/permanent/token/WortTheRaidmotherToken.java index 9da6bc318b5..73a8f18fd50 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WortTheRaidmotherToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WortTheRaidmotherToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -41,8 +42,8 @@ public class WortTheRaidmotherToken extends Token { cardType.add(CardType.CREATURE); color.setRed(true); color.setGreen(true); - subtype.add("Goblin"); - subtype.add("Warrior"); + subtype.add(SubType.GOBLIN); + subtype.add(SubType.WARRIOR); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/Wurm1Token.java b/Mage/src/main/java/mage/game/permanent/token/Wurm1Token.java index 537a2658a9a..d2ca7a4a4c1 100644 --- a/Mage/src/main/java/mage/game/permanent/token/Wurm1Token.java +++ b/Mage/src/main/java/mage/game/permanent/token/Wurm1Token.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.DeathtouchAbility; @@ -45,7 +46,7 @@ public class Wurm1Token extends Token { setOriginalExpansionSetCode(setCode); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Wurm"); + subtype.add(SubType.WURM); power = new MageInt(3); toughness = new MageInt(3); this.addAbility(DeathtouchAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/Wurm2Token.java b/Mage/src/main/java/mage/game/permanent/token/Wurm2Token.java index 67c919be21f..44413a9e170 100644 --- a/Mage/src/main/java/mage/game/permanent/token/Wurm2Token.java +++ b/Mage/src/main/java/mage/game/permanent/token/Wurm2Token.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.LifelinkAbility; @@ -46,7 +47,7 @@ public class Wurm2Token extends Token { setOriginalExpansionSetCode(setCode); cardType.add(CardType.ARTIFACT); cardType.add(CardType.CREATURE); - subtype.add("Wurm"); + subtype.add(SubType.WURM); power = new MageInt(3); toughness = new MageInt(3); this.addAbility(LifelinkAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/WurmCallingWurmToken.java b/Mage/src/main/java/mage/game/permanent/token/WurmCallingWurmToken.java index 94dbd14c33c..9aff3b45e8e 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WurmCallingWurmToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WurmCallingWurmToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @author spjspj @@ -39,7 +40,7 @@ public class WurmCallingWurmToken extends Token { super("Wurm", "X/X green Wurm creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Wurm"); + subtype.add(SubType.WURM); power = new MageInt(0); toughness = new MageInt(0); } diff --git a/Mage/src/main/java/mage/game/permanent/token/WurmToken.java b/Mage/src/main/java/mage/game/permanent/token/WurmToken.java index 679e554298b..4e76813a0de 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WurmToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/WurmToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @author magenoxx_at_gmail.com @@ -39,7 +40,7 @@ public class WurmToken extends Token { super("Wurm", "6/6 green Wurm creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Wurm"); + subtype.add(SubType.WURM); power = new MageInt(6); toughness = new MageInt(6); } diff --git a/Mage/src/main/java/mage/game/permanent/token/WurmToken2.java b/Mage/src/main/java/mage/game/permanent/token/WurmToken2.java index 43fcceceb16..b9228f156c4 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WurmToken2.java +++ b/Mage/src/main/java/mage/game/permanent/token/WurmToken2.java @@ -32,6 +32,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.TrampleAbility; @@ -51,7 +52,7 @@ public class WurmToken2 extends Token { super("Wurm", "5/5 green Wurm creature token with trample"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Wurm"); + subtype.add(SubType.WURM); power = new MageInt(5); toughness = new MageInt(5); addAbility(TrampleAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/WurmToken3.java b/Mage/src/main/java/mage/game/permanent/token/WurmToken3.java index aa8d61ab09c..39628ace8ee 100644 --- a/Mage/src/main/java/mage/game/permanent/token/WurmToken3.java +++ b/Mage/src/main/java/mage/game/permanent/token/WurmToken3.java @@ -32,6 +32,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -50,7 +51,7 @@ public class WurmToken3 extends Token { super("Wurm", "5/5 green Wurm creature token"); cardType.add(CardType.CREATURE); color.setGreen(true); - subtype.add("Wurm"); + subtype.add(SubType.WURM); power = new MageInt(5); toughness = new MageInt(5); } diff --git a/Mage/src/main/java/mage/game/permanent/token/XenagosSatyrToken.java b/Mage/src/main/java/mage/game/permanent/token/XenagosSatyrToken.java index 19dc537d35b..578c23c2ce4 100644 --- a/Mage/src/main/java/mage/game/permanent/token/XenagosSatyrToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/XenagosSatyrToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; import mage.abilities.keyword.HasteAbility; @@ -42,7 +43,7 @@ public class XenagosSatyrToken extends Token { cardType.add(CardType.CREATURE); color.setRed(true); color.setGreen(true); - subtype.add("Satyr"); + subtype.add(SubType.SATYR); power = new MageInt(2); toughness = new MageInt(2); diff --git a/Mage/src/main/java/mage/game/permanent/token/YoungPyromancerElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/YoungPyromancerElementalToken.java index 745e9e54247..bdd0531b070 100644 --- a/Mage/src/main/java/mage/game/permanent/token/YoungPyromancerElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/YoungPyromancerElementalToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; import mage.util.RandomUtil; /** @@ -47,7 +48,7 @@ public class YoungPyromancerElementalToken extends Token { } cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(1); toughness = new MageInt(1); } diff --git a/Mage/src/main/java/mage/game/permanent/token/ZektarShrineElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/ZektarShrineElementalToken.java index 3d1edf8f816..cabbb5e5e6e 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ZektarShrineElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ZektarShrineElementalToken.java @@ -31,6 +31,7 @@ import mage.MageInt; import mage.abilities.keyword.HasteAbility; import mage.abilities.keyword.TrampleAbility; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -42,7 +43,7 @@ public class ZektarShrineElementalToken extends Token { super("Elemental", "7/1 red Elemental creature token with trample and haste"); cardType.add(CardType.CREATURE); color.setRed(true); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); power = new MageInt(7); toughness = new MageInt(1); addAbility(TrampleAbility.getInstance()); diff --git a/Mage/src/main/java/mage/game/permanent/token/ZendikarsRoilElementalToken.java b/Mage/src/main/java/mage/game/permanent/token/ZendikarsRoilElementalToken.java index aae4360cf8c..39ba7e9a3a8 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ZendikarsRoilElementalToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ZendikarsRoilElementalToken.java @@ -28,6 +28,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -40,7 +41,7 @@ public class ZendikarsRoilElementalToken extends Token { super("Elemental", "2/2 green Elemental creature token"); cardType.add(CardType.CREATURE); setOriginalExpansionSetCode("ORI"); - subtype.add("Elemental"); + subtype.add(SubType.ELEMENTAL); color.setGreen(true); power = new MageInt(2); toughness = new MageInt(2); diff --git a/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java b/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java index e3aea20a7a5..ddc955b60e6 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ZombieToken.java @@ -33,6 +33,7 @@ import java.util.List; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; import mage.util.RandomUtil; /** @@ -53,7 +54,7 @@ public class ZombieToken extends Token { availableImageSetCodes = tokenImageSets; cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Zombie"); + subtype.add(SubType.ZOMBIE); power = new MageInt(2); toughness = new MageInt(2); } diff --git a/Mage/src/main/java/mage/game/permanent/token/ZombieToken2.java b/Mage/src/main/java/mage/game/permanent/token/ZombieToken2.java index efc8cdda7c1..87b5ce1aba6 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ZombieToken2.java +++ b/Mage/src/main/java/mage/game/permanent/token/ZombieToken2.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.MageInt; import mage.constants.CardType; +import mage.constants.SubType; /** * @@ -44,7 +45,7 @@ public class ZombieToken2 extends Token { super("Zombie", String.valueOf(zPower) + '/' + String.valueOf(zToughness) + " black Zombie creature token"); cardType.add(CardType.CREATURE); color.setBlack(true); - subtype.add("Zombie"); + subtype.add(SubType.ZOMBIE); power = new MageInt(zPower); toughness = new MageInt(zToughness); setOriginalExpansionSetCode("EMN"); diff --git a/Mage/src/main/java/mage/game/permanent/token/ZombieWizardToken.java b/Mage/src/main/java/mage/game/permanent/token/ZombieWizardToken.java index cd568078171..25333f1a924 100644 --- a/Mage/src/main/java/mage/game/permanent/token/ZombieWizardToken.java +++ b/Mage/src/main/java/mage/game/permanent/token/ZombieWizardToken.java @@ -29,6 +29,7 @@ package mage.game.permanent.token; import mage.constants.CardType; +import mage.constants.SubType; import mage.MageInt; /** @@ -42,8 +43,8 @@ public class ZombieWizardToken extends Token { cardType.add(CardType.CREATURE); color.setBlue(true); color.setBlack(true); - subtype.add("Zombie"); - subtype.add("Wizard"); + subtype.add(SubType.ZOMBIE); + subtype.add(SubType.WIZARD); power = new MageInt(1); toughness = new MageInt(1); }